Quantcast
Channel: ServerMom
Viewing all 159 articles
Browse latest View live

[Quick Tip] How to Find Out Vesta CP MySQL Root Password

$
0
0

mysql-root-feat

This is how you can find out default VestaCP MySQL root password and how the correct safe way to change it – The password is generated randomly and stored at mysql.conf file. As you may already knew it that Vesta CP is by default not directly show you Mysql root password right after the installation. So many users are still confused when they are in need to login to mysql server as root.

What’s your VestaCP MySQL root password?

The password is stored at:
/usr/local/vesta/conf/mysql.conf

So to find out what’s the password you can simply open up that file using your favorite text editor like Nano or vi:

nano /usr/local/vesta/conf/mysql.conf

It will appear like this:

mysql-vesta-password

the password is the one shown in PASSWORD=’randompassword. Note down that password or copy-paste it to Notepad.

Changing MySQL root password in VestaCP

Basically you can simply use usual way when you need too change mysql root password but that’s not the case with Vesta CP. There are another files you have to alter so Vesta CP can still run properly after password changing. Here’s how:

Step 1 – Use this usual mysql command to change password:

mysqladmin -u root -pOLDPASSWORD password 'NEWPASSWORD'

Replace OLDPASSWORD with the real mysql root password you get from mysql.conf file above. Also replace NEWPASSWORD with the new password you wish, just make sure you can remember it or noted in down.

Step 2 – Once done, try login back to mysql server as root using the new password you’ve just defined:

mysql -u root -pNEWPASSWORD

Step 3 – Open up mysql.conf file once again and replace your old password (the one generated by Vesta) with your new password:

nano /usr/local/vesta/conf/mysql.conf

Save changes and exit the editor which in Nano it is Control+O then Control+X.

Step 4 – Next, you have to change old mysql password stored in my.cnf:

nano /root/.my.cnf

my-cnf-password

replace that with the one you defined in step 1.

That’s all. You can now open PhpMyAdmin and login as root with password you’ve just created. Do not also forget to give it a test by creating new database via Vesta CP interface. I’m sure at some point you may need to know or change default Vesta CP mysql root password like what I did during Mysql Master – Slave replication setup. Subscribe to Servermom’s feed or follow me on Twitter to get faster update.

This post [Quick Tip] How to Find Out Vesta CP MySQL Root Password is part of ServerMom.


How to Configure MySecureShell FTP Server

$
0
0

MySecureShell is shortly a free FTP server you can install on your either VPS or Dedicated server to enable file transfer between your server and your local computer (or another server). It is a great alternative to vsFTPd or ProFTPd. MySecureShell or MSS for short, is claimed to be very secure, easy to use, easy to configure and highly configurable because it is based on the very secure protocol called OpenSSH. Yet, the installation is also pretty easy which can be done within seconds on any Linux Distro.

With MSS FTP server you can:

Control of FTP bandwidth.
Security rights information.
Administration of the server with a graphical interface.
Management of activity of the server with logs.
Restrictions of users by ip, groups…
No certificate problems non-certified (for paying for it is authenticated) or certificate generation.
– Support public and private keys for secure authentication without password.

So are your ready to switch your old FTP server to MSS? Follow steps below and you’ll how easy it is to setup and configure MySecureShell on your VPS.

What You Need

  1. A VPS running your favorite Linux Distro. In this example I use a 512MB cloud VPS from Atlantic.net (a test server of Servermom). Need recommendation? If you need a test server with hourly billing then Atlantic.net, DigitalOcean and few other cloud providers will come in handy.
  2. SSH client to access your server. Putty or terminal will help you.
  3. Basic knowledge of top common shell command.
  4. A cup of coffee or tea
  5. About 15 minutes of your time

How To

Step 1 – Login to your server as root or as a user with root privilege (sudo):

2015-07-03_221847

Step 2Install MySecureShell FTP server on your VPS following my previous guide.

2015-07-03_221820

Step 3 – Find out in which directory MSS is installed, this is important because youu should specify that path while creating new FTP users or assign exiting users to access the SFTP server. Simply issue this magic command:

whereis mysecureshell

It will then give you an output similar to this:

2015-07-03_221922

Step 4 – In my example above, the MSS was installed at /usr/bin/mysecureshell. Next you can create new user with this command:

useradd -m -s /usr/bin/mysecureshell servermom

change the MSS path and servermom with your own. Also define new password for that newly created user:

passwd servermom

example:

2015-07-03_222023

Step 5 – Once the user created, you have to assign that user to MSS

usermod -s /bin/mysecureshell servermom

again, replace MSS path and servermom with your own.

2015-07-03_222837

Step 6 – You can now use your favorite FTP Client to access your server.

2015-07-03_220759

or, if you access your FTP server using another Unix server or Linux local computer, issue this command:

sftp servermom@xxx.xxx.xxx.xxx

change servermom with your own username and xxx.xxx.xxx.xxx is your server IP:

2015-07-03_222145

That’s it.

MySecureShell Configuration

Default MSS config file is located at /etc/ssh/sftp_config which you can edit it using your favorite editor like Nano or vi.

nano /etc/ssh/sftp_config

I looks like this by default:

mysecureshell-configuration

The good news is every line of configuration has its own explanation so you can easily understand what each line is for.

2015-07-03_223408

Common Adjustments

1. Limit the download or upload speed for the FTP users.

2015-07-03_223927

2. Make users to have access ONLY to their own home directory

<Default>
    # For all users, they will have access to their own home directory
    Home        /home/$USER
</Default>

3. Force users to stay in their home directory, limit their download speed to (any)k and limit their upload speed to (any)k

<Group users>
    # Force users to stay in their home directory
    StayAtHome  true
    # Limit their download speed to 128k
    Download    128k
    # Limit their upload speed to 16k
    Upload      16k
</Group>

4. Common MySecureShell setting for multiple websites:

– Give clients full rights to manage their website content
– Limit the bandwidth
– Force rights creation
– Limit the number of connexions and idle time
– Restrict their rights on files and folders

can be done with these lines:

<Default>
    # For all users, they will have access to their own home directory
    Home                    /home/$USER
    # Force users to stay in their home directory
    VirtualChroot           true
    # Set global download for the server to 100m
    GlobalDownload          100m
    # Set global upload for the server to 100m
    GlobalUpload            100m
    # Limit user download speed to 1m
    Download                1m
    # Limit user upload speed to 1m
    Upload                  1m
    # Limit 6 users per IP
    LimitConnectionByIP     6
    # We limit a user up to 2 simultaneous connections
    LimitConnectionByUser   2
    # We do not want users to keep forever their idle connection
    IdleTimeOut             10m
    # Force user and group to apache daemon username
    # to avoid rights issues
    ForceUser               www-data
    ForceGroup              www-data
    # We do not want users to be able to set execution files
    MaximumRights           0640 0750
    # We do not want users to be able to change file attributes
    DisableSetAttribute     true
</Default>

<VirtualHost www.example.com>
    # Set home directory for this virtualhost
    Home                    /var/www/sites/www.example.com
    # Set dedicated log file
    LogFile                 /var/log/sftp/www.example.com
</Group>

<VirtualHost www.exemple.fr>
    # Set home directory for this virtualhost
    Home                    /var/www/sites/www.exemple.fr
    # Set dedicated log file
    LogFile                 /var/log/sftp/www.example.com
    # Override the maximum number of connection per user
    LimitConnectionByUser   4
</Group>

5. Common command: Adding new user

New ftp user can be added using command below:

sftp-user create username

This example I created a new FTP user called servermom2:

2015-07-03_224344

6. Common command: Check FTP server status, stop or restart it

# check the current status (up/down)
service mysecureshell status

# Allow new SFTP connections
service mysecureshell start

# Deny new SFTP connections and keep current connected users
service mysecureshell stop

# Deny new SFTP connexions and kill current running (clean memory as well)
service mysecureshell fullstop

# Make a fullstop and start
service mysecureshell restart

example:

2015-07-03_225632

7. Common command: Check MySecureShell installation / config

sftp-verif

sample output:

2015-07-03_225942

Conclusion

MySecureShell is really great alternative to vsFTP or ProFTP considering how easy it is to use and to configure. It is also supported with complete straight forward documentation make it easy to learn. So if you want an easy solution to build, setup and have a working FTP server in no time, MySecureShell is the answer.

This post How to Configure MySecureShell FTP Server is part of ServerMom.

Atlantic.net Cloud VPS 1 Month Review

$
0
0

So it’s been a month Servermom.org is hosted at Atlantic.net cloud server. As promised, here I am posting an update about how this blog performs and what issue this blog been faced during 1 month period. As a refresh, Atlantic.net is another cloud server provider powered with fast SSD, solid hardware and flexible per second billing. The company itself has been established in 1994 based in Florida, US so it means they are not an amateur in hosting industry.

My Server Setup

Hosted at Atlantic.net cloud vps with following specs: 4GB RAM, 100GB SSD, 2 vCPU and 5TB bandwidth transfer, this blog is using full Vesta CP stack (Nginx, Apache, MySQL, PHP5) minus its DNS server because I’m using Cloudflare to handling DNS tasks. On top of that, since June 25, I put Varnish Cache server in front of main Vesta CP server. I also am using Ramnode but for backup purpose only and not serving traffic directly. You can preview my detailed configuration here.

Performance Review

To simplify things, I’ve been using Nixstats to monitor this blog’s uptime and server performance. Below I show you the results taken directly from my Nixstats dashboard.

Preview:

2015-07-05_164125
click on image to view larger version

Network

Average ping response time was 1.5 ms and highest response time ever was 3.8 ms. That’s pretty impressive.

2015-07-05_161348

and this is highest traffic speed:

2015-07-05_161544

Memory

Average memory usage is around 3.8 GB with average processes commited at RAM is 2.2GB

2015-07-05_161629

CPU

This part is pretty interesting as my server experienced few CPU usage spikes on June 24, 2015. The highest usage ever is 97% which if I recall that time it was 4.x 4.x 4.x at 2 CPU. That was then down to normal after I installed and put Varnish Cache server running in front of it on June 25, 2015.

2015-07-05_161706

Disk

Highest transaction at disk was 202 operations with I/O speed between 400 – 600k which is not even a half of its (SSD) true performance.

2015-07-05_161814

Processes

The top process consumes my server resource is obviously httpd (Apache). It ever reaches 89.3% of system resource including CPU and RAM.

2015-07-05_161917

Uptime

Server uptime is outstandingly 100% but my website uptime is 99.99% with 1 incident. It was on June 19, 2015. This blog was inaccessible for about 2 – 3 minutes caused by network maintenance at ISP-level (bandwidth provider) doing BGP re-convergence. Except that, everything is running smoothly. That 2 min downtime is not even detected by Uptimerobot’s 5 min monitoring.

Fastest response:
DNS: 6 ms, Connect: 19 ms, Time to first byte: 233 ms, Total: 258 ms.

Slowest response:
DNS: 660 ms, Connect: 690 ms, Time to first byte: 925 ms, Total: 981 ms.

2015-07-05_162135

Response time Uptimerobot’s version

Fastest: 78 ms and Slowest: 265 ms (last 24 hours stats). Latest 3 minutes downtime recorded was on April 9, 2015 which was not hosted at Atlantic.net yet.

2015-07-05_172015

Conclusion

So far so good with nothing major happened. I am so happy about how it performs serving and hosting this blog. You can always preview this blog performance at uptime.servermom.org. Please stay tuned for my 3 months review!

This post Atlantic.net Cloud VPS 1 Month Review is part of ServerMom.

$20/yr 1GB RAM VPS @ BoltVM

$
0
0

boltvm

Another great deal is now coming from BoltVM with their $20/year for a VPS powered with 1GB of RAM. More specs below:

Plan: Thunder 1024
– 1 GB of RAM
– 1 Core (E5-2620 v1/v2)
100 GB SSD-Cached RAID 10 Storage
– 1,000 GB of Bandwidth
– 1 IPv4 Address
– OpenVZ
– Price: $20/year
– Order Link: New JerseyLos Angeles

Plan: Lightning 1024
– 1 GB of RAM
– 2 Cores (E3-1240 v3)
– 50 GB SSD RAID 10 Storage
– 1,000 GB of Bandwidth
– 1 IPv4 Address
– OpenVZ
– Price: $20/year
– Order Link: New Jersey

About BoltVM

BoltVM is a child brand of DediCube LLC,  a premier provider of affordable dedicated servers founded in April of 2014 and is a registered company Wyoming, USA. BoltVM accepts payments via PayPal and Bitcoin via Bitpay. Lightning nodes have a single E3-1240v3 CPU, 32GB of RAM, and 4x 1TB SSDs in RAID10. Thunder nodes have dual E5-2620s, 128GB of RAM, and at least 8 HDD drives in RAID10 with at least a 256GB SSD for caching.

As what I can recall, they already run several promotions before this one. The same (or similar) plan is also available cheaper at their promo page which you can get Thunder 1GB plan for only $15/year (link).

Have experience with this provider? Go ahead share it with us in the comment section below. Thanks

This post $20/yr 1GB RAM VPS @ BoltVM is part of ServerMom.

$5.95/yr 128MB RAM OpenVZ VPS @ Tragic Servers

$
0
0

TragicServers.com is actually focusing as game server provider. The company is said established since 2012 and they only use OWNED enterprise grade hardware / servers powered by multicore Intel processors, RAID-10 arrays for drive safety and much more. Currently they are offering 2 (two) different locations: Dallas, TX and Los Angeles, CA. The virtualization used is OpenVZ.

tragic-serv

Test IPs:

  • Dallas IP: 96.44.142.22
  • Los Angeles IP: 198.55.111.5

They currently are running special promotion event offering 128MB RAM VPS for only $5.95/year with following specs:

  • 128MB Guaranteed RAM
  • 128MB VSwap
  • 1 CPU Cores
  • 10GB HD space
  • 500GB Bandwidth
  • 1 IPv4
  • 3 IPv6
  • 1Gbps
  • Order Link

They are also several higher plans available like the $14.99/year for 512MB RAM VPS. Anyway, in case if you have experience with them, so do not hesitate to drop a comment below letting know all other readers.

This post $5.95/yr 128MB RAM OpenVZ VPS @ Tragic Servers is part of ServerMom.

What OS My VPS is Running On? Here’s How to Check It

$
0
0

Some times you just forgot what Linux Distribution (OS) is installed and running on your VPS or may be you’ve just received your VPS with no information about what OS is running on it. If you are somehow in that situation on what to check it, here it is a list of useful Unix command to check what Linux Distribution is running on your server plsu some more information about version number, release codename, and kernel version.

Check Distribution Name & Version Details

There are several command you can use.

First magic command:

cat /etc/*-release

And here’s sample output:

CentOS:

2015-07-10_143954

Ubuntu:

2015-07-10_145220

Debian:

2015-07-10_145833

Second magic command:

cat /etc/issue

Sample output (screenshot)

CentOS:

2015-07-10_144852

Ubuntu:

2015-07-10_145302

Debian:

2015-07-10_145904

Check Linux VPS Kernel Version

There are two magic command you can use.

First command is:

cat /proc/version

Sample output (screenshot)

CentOS:

2015-07-10_144208

Ubuntu:

2015-07-10_145410

Debian:

2015-07-10_145934

Second command is:

uname -a

Sample output (screenshot)

CentOS:

2015-07-10_144540

Ubuntu:

2015-07-10_145553

Debian:

2015-07-10_150013

That’s all. You may need to bookmark this page as probably you may need it later.

This post What OS My VPS is Running On? Here’s How to Check It is part of ServerMom.

How to Build Working Debian Server with Apache, PHP and MySQL

$
0
0

As what I can remember that most tutorials I posted are covering Ubuntu and CentOS so then I decided to write few guide to build a working Debian server. This time I will show you a step by step guide to install Apache, PHP and MySQL on Debian server / VPS covering all SSH commands with screenshot pics so even newbie can easily understand. Yet, my purpose on writing this guide is especially for newbie. So here it is the article, just read and follow each step and you’ll be success to build your own web hosting server on Debian OS.

Prerequisites

  1. A SSH client like Putty and basic knowledge about how to use it.
  2. Basic knowledge about common Unix command to SSH to your server.
  3. A server or VPS with at least 512MB of RAM (in OpenVZ you can use 256MB but not really recommended). If you not already have one then you can read my list of recommended VPS providers or this top low end cloud server providers. Quick recommendation: Atlantic.net, Digital Ocean and RamNode.
  4. Have one already? Now install Debian OS on it. In this tutorial I use Debian 8 32-bit on Atlantic’s 512MB cloud server.
  5. About 20 minutes of your time
  6. a cup of coffee or tea.

How to Install Apache Web Server

Step 1 – Open up Putty or Terminal then login to your server as root or as a user with root privilege (sudo):

2015-07-11_131612

Step 2 – To make sure all packages are up to date you can firstly do apt-get update and upgrade:

apt-get update && apt-get upgrade -y

Please note, I run all commands in this article as root. However if you logged in as another user then you have to add sudo prefix on each command.

2015-07-11_132508

Step 3 – Now install Apache web server using this magic command:

apt-get install apache2 -y

illustration:

2015-07-11_132942

Step 4 – Make sure it was successfully installed, up and running. Issue command below:

service apache2 status

sample output:

2015-07-11_133141

or you can simply open up your favorite web browser like Firefox or Chrome then access your VPS via its IP address:
http://x.x.x.x/ – replace x.x.x.x with actual IP. You should see default Apache web page:

2015-07-11_133449

How to Install PHP5

Step 1 – Basically PHP5 can be installed using simple apt-get install php5 command but we are going to install other common php modules as well. So the command will be:

apt-get install php5 php5-mysql libapache2-mod-php5 -y

or, even more complete with this:

apt-get install php5-cgi php5-cli php5-common php5-curl php5-dev php5-gd php5-tidy php5-xmlrpc php5-xsl php5-mcrypt php5-imap php5-imagick php5-json php5-intl php5-mcrypt libapache2-mod-php5 -y

It should be finished in seconds:

2015-07-11_220017

Step 2 –  You can now check if PHP is installed correctly and which version it is running:

php -v

screenshot:

2015-07-11_220147

In my example it is PHP 5.6.9

Step 3 – Restart Apache web server:

service apache2 restart

pic:

2015-07-11_220411

How to Install MariaDB

Installing MariaDB mysql server is pretty much as easy as original MySQL. However in this tutorial I choose to use MariaDB because it is faster and more lightweight than MySQL but it has similar functions as what in MySQL. Here’s how to install and set it up:

Step 1 – Issue following command:

apt-get install mariadb-server -y

it will give an output similar to this:

2015-07-11_220932

Step 2 – In the middle of progress you’ll be asked to enter new password for mysql root password. Please note that mysql root user is not the same as server root account.

2015-07-11_220833

define one and repeat it once more:

2015-07-11_220853

Step 3 – Check if MariaDB mysql server is installed and running. Issue following command:

# on Debian 8
systemctl status mysql

# on Debian 7 or 8
service mysql status

It will look similar to this:

2015-07-11_221436

That’s it.

Now your Debian server / vps is ready to host your websites or blog. It is now compatible with most blogging platform and modern CMS like Joomla. Up next: how to host your website on it. Stay tuned! Follow me on Twitter for faster update.

This post How to Build Working Debian Server with Apache, PHP and MySQL is part of ServerMom.

phpMyAdmin Setup on LAMP Ubuntu and Debian Server

$
0
0

Being one of popular web-based app to manage MySQL databases, phpMyAdmin has already been installed on thousands servers and is included in various hosting control panel like WHM/cPanel and Vesta CP. This article will show you in step by step about how to install and setup phpMyAdmin on either Ubuntu or Debian server running LAMP stack which in this case is Linux, Apache, MariaDB and PHP (this guide also works if you are using original MySQL server).

Prerequisites

  1. A SSH client like Putty and basic knowledge about how to use it.
  2. Basic knowledge about common Unix command to SSH to your server.
  3. A server or VPS with at least 512MB of RAM (in OpenVZ you can use 256MB but not really recommended). If you not already have one then you can read my list of recommended VPS providers or this top low end cloud server providers. Quick recommendation: Atlantic.net, Digital Ocean and RamNode.
  4. Have one already? Now install Ubuntu or Debian OS on it. In this tutorial I use Debian 8 32-bit on Atlantic’s 512MB cloud server.
  5. Install Apache, MySQL / MariaDB and PHP on it. How to install LAMP on Debian and Ubuntu.
  6. About 20 minutes of your time
  7. a cup of coffee or tea.

The Steps

Step 1 – Login to your server as root or as user with root / sudo privilege. In this article I simply login as root so I ditch sudo, however if you logged in as user, then do not hesitate to add sudo prefix to each command.

2015-07-12_132849

Step 2 – Being a popular software, phpMyAdmin package is available by default at Debian / Ubuntu repository so you can simply make use of apt-get to install it.

apt-get install phpmyadmin -y

sample output:

2015-07-12_133100

Step 3 – During the process, it will ask you series of questions so answer it accordingly. First, choose what web server is running on your server:

2015-07-12_133132

use arrow to navigate and use Enter to select.

Step 4 – phpMyAdmin will then ask whether to execute common configuration task or not. Because phpMyAdmin must have a database installed and configured before it can be used, so you better to execute it. Select Yes.

2015-07-12_133205

Step 5 – Enter password for administrative user:

2015-07-12_133236

Step 6 – Now define MySQL application password phpmyadmin:

2015-07-12_134216

enter that password once again to confirm:

2015-07-12_133319

Step 7 – That’s it. Once done you’ll see something like thiis:

2015-07-12_133343

Step 8 – Open up your browser and access your newly installed phpMyAdmin using this address:

http://x.x.x.x/phpmyadmin

and if you see 404 not found page, then do this: Edit apache2.conf file using either vi or Nano

nano /etc/apache2/apache2.conf

scrolldown the page and add this at the very bottom:

Include /etc/phpmyadmin/apache.conf

It should look similar to this:

2015-07-12_134839

Now save changes and exit the editor. In Nano it is Control+O then Control+X.

Step 9 – Finally restart Apache and reload it on your browser again:

service apache2 restart

## or in newer OS (e.g: Debian 8) use:
systemctl restart apache2

It should now display phpMyAdmin login page:

2015-07-12_135724

Step 10 – Login for the very first time using root as username and the password you defined earlier. Once logged in, you can then create new database, new database user and assign proper privilege of that user to the database. Well, there are many mysql management tasks you can do via phpMyAdmin.

2015-07-12_140222

Done!

Congratulation you can now manage your MySQL databases via world’s well-known phpMyAdmin, a web interface to manage and organize all your mysql databases. Follow me on twitter for faster update.

This post phpMyAdmin Setup on LAMP Ubuntu and Debian Server is part of ServerMom.


How To Add New Site Into Your Apache-based Debian Server

$
0
0

Alright so you installed Apache web server on your VPS running Debian OS on top of it. But then how can you host your websites in it and how to add new website on it? The answer is Apache Virtual Host file. It is a configuration file where you can put necessary configuration regarding websites you want to host it on your server / vps. In Debian (and Ubuntu) you can simply create a specific Virtual Hosts file for each domain or subdomain then enable or disable it using simple command. Curious? Let’s move on to the steps.

Prerequisites

  1. A SSH client like Putty and basic knowledge about how to use it.
  2. Basic knowledge about common Unix command to SSH to your server.
  3. A server or VPS with at least 512MB of RAM (in OpenVZ you can use 256MB but not really recommended). If you not already have one then you can read my list of recommended VPS providers or this top low end cloud server providers. Quick recommendation: Atlantic.net, Digital Ocean and RamNode.
  4. Have one already? Now install Ubuntu or Debian OS on it. In this tutorial I use Debian 8 32-bit on Atlantic’s 512MB cloud server.
  5. Install Apache, MySQL / MariaDB and PHP on it. How to install LAMP on Debian and Ubuntu.
  6. About 20 minutes of your time
  7. a cup of coffee or tea.

The Steps

Step 1 – Login to your server as root or as user with root / sudo privilege. In this article I simply login as root so I ditch sudo, however if you logged in as user, then do not hesitate to add sudo prefix to each command.

2015-07-12_132849

Step 2 – Now you have to firstly create the directory where you will put all your site’s files on it (html, php, jpg, png, css, js, etc). This is being main directory of your websites.

mkdir -p /var/www/domain.com/public_html

# or you can also name it htdocs
mkdir -p /var/www/domain.com/htdocs

change domain.com with your own domain name. Structuring web directories to each domain name will come handy in the future. Here’s an example:

2015-07-15_144616

Step 2 – Now you will also need to grant ownership of that directory to a user and group you wish. Use command below:

chown -R $USER:$USER /var/www/domain.com/public_html

However if you are using WordPress and you want for Auto update to work within Admin page, you can simply chown that directory to the webserver:

chown -R www-data:www-data /var/www/domain.com/public_html

example:

2015-07-15_145704

Step 3 – Make sure everyone can read files to the Apache web root directory, so chmod it to 755:

chmod -R 755 /var/www/

screenshot:

2015-07-15_145848

Step 4 – Now you can upload all your web files to that directory using your favorite FTP client. In this example, for the test purpose you can simply create a new .html file, name it index.html

nano /var/www/domain.com/public_html/index.html

then enter this in that new file:

<html>
 <head>
 <title>Test Page for Domain.com</title>
 </head>
 <body>
 <h1>Welcome To Domain.com website</h1>
 </body>
</html>

example:

2015-07-15_150350

inside Nano editor:

2015-07-15_150332

Save that file and exit (In Nano it is Control+O then Control+X)

Step 5 – Now it is time to create Virtual Hosts file for that website.

nano /etc/apache2/sites-available/domain.com.conf

pic:

2015-07-15_151631

do not forget to always replace domain.com with your own domain name:

<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

        ServerAdmin your@email.com
        ServerName domain.com
        ServerAlias www.domain.com
        DocumentRoot /var/www/domain.com/public_html

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

change with your real email and domain name. Example:

2015-07-15_151335

Save changes and exit the editor which in Nano it is Control+O then Control+X.

Step 6 – The Virtual Hosts file has been created and now you can enable it using following command:

a2ensite domain.com.conf

You can understand the command as acronym of “apache 2 enable site“. Also, you need to reload apache service after that:

service apache2 reload

example:

2015-07-15_152120

Step 7 – Now give it a test. Open up your browser and type your domain name in it. You’ll then see the test page we created earlier:

2015-07-15_152504

That’s all.

FAQ

Q: I can’t use the command with Nano part in it?
A: You have to firstly install it:

apt-get install nano -y

Q: I open up my browser but I can’t open my website?
A: You have to firstly setup a proper DNS entry for your domain name. For this, you can use third-party free DNS manager or use your own DNS server if you have it installed. As per my example above, I just use dummy domain name and simply edit my local hosts file (on Windows). Useful tutorial:

Q: I want to add another website or domain, how can I do that?
A: Simply repeat steps above for your another domain.

Enjoy! Do not hesitate to drop comment below.. Have a nice day!

This post How To Add New Site Into Your Apache-based Debian Server is part of ServerMom.

Configuring Varnish Cache to Run With Vesta Control Panel

$
0
0

A guide with screenshot pics on how to setup Varnish Cache server and get it running together with full Vesta CP which by default comes with LAMP and Nginx as frontend proxy. This article is a follow up of my previous article and here I come with it as promised. I tagged this article as advanced because you have to firstly read previous tutorials on how to install VestaCP and Varnish Cache.

Before we start, you may wondering does we have to really do this? Is installing Varnish on Vesta really necessary? Well, the answer depends whether you really need it or not. Some people say that installing Varnish in front of Nginx is not quite necessary because Nginx itself is pretty good handling static web files. My personal opinion, if you use Varnish setup to store caches in Disk (even it is SSD) then you better ditch it. Varnish with Nginx will be great only if you use RAM-based caching because theoretically it is slightly faster than having to pass the process to disk.

Prerequisites

So, here’s what you gonna need:

  1. A SSH client like Putty and basic knowledge about how to use it.
  2. Basic knowledge about common Unix command to SSH to your server.
  3. A server or VPS with at least 512MB of RAM (1GB recommended). If you not already have one then you can read my list of recommended VPS providers or this top low end cloud server providers. Quick recommendation: Atlantic.net, Digital Ocean and RamNode.
  4. Make sure your server is running one of VestaCP’s supported OS: RHEL 5/6, CentOS 5/6, Debian 7 or Ubuntu 12.04/12.10/13.04/13.10/14.04. Using minimal template is recommended.
  5. About 20 minutes of your time
  6. a cup of coffee or tea.

Stage 1 – Installing VestaCP

Before we continue, I should tell you that the tutorial below done in a VPS with 512MB RAM running CentOS 6.6 32-bit. It is recommended to use higher RAM. You have to adjust the command if your server is running other than CentOS.

Step 1 – Login to your server as root

Step 2 – Install Vesta CP using command below:

curl -O http://vestacp.com/pub/vst-install.sh
bash vst-install.sh

2015-07-19_210455

Step 3 – It will then ask you with series of questions. Just answer it accordingly:

2015-07-19_210718

Step 4 – Once done you’ll see something like this which you can see your login URL along with admin username and some random password (you can change that later).

2015-07-19_211209

More explanation and screenshots:

Stage 2 – VestaCP Basic Configuration

Some tasks you have to firstly proceed are:

  1. Changing default admin password
  2. Adjust hosting package configuration
  3. Add new website on it (DNS entries will be generated automatically via this task)
  4. Add new database on it (if your website need it)
  5. Uploading / migrating your website on it

I don’t explain it again because it is explanatory or you can simply refer to my previous guides:

Configuration I use for the purpose of this tutorial:

  • VestaCP user: admin
  • Domain: servermomtest.org (doesn’t exist, test purpose only)
  • Package: Default (httpd, nginx and named – all default)
  • App: WordPress installed.
  • Web directory: /home/admin/web/servermomtest.org/public_html

Stage 3 – Installing Varnish Cache

In this article I use Varnish Cache v3.x simply because some syntax on its configuration file has been changed in version 4.x – which I don’t quite familiar yet. However feel free to use version 4.x if you wish and I wrote a tutorial about it as well:

Steps below are the short version of my previous guide to install Varnish Cache 3 on CentOS:

Step 1 – Go to Varnish website to see stable version available at
https://www.varnish-cache.org/releases

2015-07-19_221127

In my situation the current stable release is Varnish Cache 4.0.3 while its v3 is Varnish Cache 3.0.7. Click on the Instructions link to see where you can get its package.

Step 2 – Add Varnish repository for the version you want. Command below will add Varnish 3.0.7:

rpm -Uvh https://repo.varnish-cache.org/redhat/varnish-3.0.el5.rpm

pic:

2015-07-19_221539

Step 3 – Now you can install Varnish using yum:

yum install varnish -y

pic:

2015-07-19_221720

Done. Varnish is now installed (but not running yet)

Stage 4 – Varnish Configuration

Step 1 – We have to setup Varnish so it will run on port 80. The scenario will be like this: Varnish listen on port 80, Nginx on port 8082, then Apache on port 8080.

Web request = Varnish (80) -> Nginx (8082) -> Apache (8080)

Now use your favorite text editor to edit Varnish configuration. For me Nano will come in handy:

nano /etc/sysconfig/varnish

The file contains 4 alternative configurations and only 1 is active which is the one with no comment mark (#) which in my situation it is Alternative 3.

2015-07-19_222618

2015-07-19_222702

Step 2 – Change few important lines started with VARNISH_LISTEN_PORT. Change it to 80

2015-07-19_223011

Step 3 – Scroll down the page then find and change VARNISH_STORAGE_SIZE to reasonable amount of RAM you want to allocate it as storage for the cache files made by Varnish. As my VPS has only 512MB of RAM so I will allocate 256MB of it.

Step 4 – Also change

VARNISH_STORAGE="file,${VARNISH_STORAGE_FILE},${VARNISH_STORAGE_SIZE}"

to this:

VARNISH_STORAGE="malloc,${VARNISH_STORAGE_SIZE}"

so it will look like this:

2015-07-19_223713

Now save changes and exit text editor. In Nano it is Control+O then Control+X.

Step 5 – Next, configure Varnish default VCL file located in /etc/varnish/. That VCL file holds configuration to tell varnish where to look for the webserver content:

nano /etc/varnish/default.vcl

Here what you gonna do:

  1. change .host ip from 127.0.0.1 to your server public IP
  2. change .port 80 to .port 8082 which where nginx should listening.
  3. uncomment (remove the # symbol) at sub vcl_recv section
  4. add one } symbol at the end of that section

make sure it looks similar to this

2015-07-19_235715

Save changes and exit the editor (Control+O then Control+X)

That’s it for now. Coming up in the Part 2 of this tutorial: Stage 5 and Stage 6 (Vesta CP configuration) – scheduled tomorrow.

This post Configuring Varnish Cache to Run With Vesta Control Panel is part of ServerMom.

VestaCP Configuration for Varnish Cache [Part 2]

$
0
0

This is the Part 2 article of my previous guide (Part 1) on how to setup Varnish Cache server to run with VestaCP. So if you have not read the Part 1, you better read that first.

Now let’s continue, shall we?

Stage 5 – Nginx Configuration

Step 1 – Go to /etc/nginx/conf.d/ directory and see if there is configuration file of your public IP:

cd /etc/nginx/conf.d
ls

2015-07-19_230500

Step 2 – Edit that .conf file. Replace xxx.xxx.xxx.xxx with your own actual public IP:

nano xxx.xxx.xxx.xxx.conf

You’ll see something like this:

2015-07-19_230820

Step 3 – Now change port :80 to :8082 as example below:

2015-07-19_230921

Save changes and exit the editor which in Nano it is Control+O then Control+X.

Step 4 – Also edit vesta.conf file located at /usr/local/vesta/conf/. Use your favorite text editor or in my situation I use Nano:

nano /usr/local/vesta/conf/vesta.conf

change PROXY_PORT from 80 to 8082

2015-07-19_231405

Save changes and exit (Control+O then Control+X).

Step 5 – Edit nginx.conf file for each Vesta CP user located at /home/user/conf/web. This step is quite not efficient if you have several Vesta CP users as you have to edit them all. In my example I will edit nginx.conf file for user admin:

nano /home/admin/conf/web/nginx.conf

Again, change port 80 to 8082 at the listen line. See example below:

2015-07-19_232126

Save changes and exit the editor (Control+O then Control+X).

Stage 6 – VestaCP Firewall Configuration

Open up your favorite web browser, login to your Vesta CP dashboard as admin then click the Firewall menu on top of the page.

2015-07-19_232534

Edit the /WEB section of the firewall

2015-07-19_232648

Now ad 8082 in the Port field and hit the green Save button.

2015-07-19_232813

Stage 7 – Give it a test

Step 1 – Before you are running for a test drive, you have to firstly restart Nginx and start Varnish Cache server:

service nginx restart
service varnish start

2015-07-19_233019

Step 2 – Next, you have to setup your domain to point to your server or you can simply edit your local hosts file in your PC.

Useful posts:

Step 3 – Now you can open up your favorite web browser (like Mozilla Firefox or Chrome) and access your website using your domain. Your website should now be displayed.

2015-07-19_233551

Stage 8 – More Varnish Configuration

I can see this stage is optional but you may also need this especially if you want to host complex scripts / CMS on production environment. What I’m talking here is tweaking Varnish. What I told you in Part 1 of this article is just editing default.vcl file defining where the backend is, plus there is also necessary config to forward real visitor’s IP addresses so your script and log files will record actual IP and not your server IP. For your information, there are several ready-to-use Varnish .vcl template to use with specific script like WordPress, Joomla or Drupal. Some what I can recommend are:

  1. https://github.com/pkhamre/wp-varnish
  2. https://github.com/mattiasgeniar/varnish-3.0-configuration-templates
  3. https://github.com/JohnMcLear/Wordpress-Varnish-VCL
  4. https://github.com/mattiasgeniar/varnish-4.0-configuration-templates

Feel free to Googling for more or come with your own configuration.

You can make sure if Varnish is really working on the right port (80) by doing curl:

curl -I http://domain.com

2015-07-20_004743

or by using web app like isvarnishworking.com:

2015-07-20_004905

if you see the X-Varnish line in the header respond that meaning Varnish is working correctly. With some advanced config in .vcl you can also get cache HIT or Missed status.

That’s all. Do not hesitate to leave comment below. Want to get faster update? Follow me on Twitter or subscribe using your email.

This post VestaCP Configuration for Varnish Cache [Part 2] is part of ServerMom.

Short Review of HostSailor OpenVZ VPS

$
0
0

It’s been a while since my last post about review and today I have a special opportunity to try an OpenVZ VPS from HostSailor. But first I have to tell you a short –some kind of– disclaimer that even I didn’t buy the VPS but my review will be objective and as it is.

About HostSailor

hostsailor-web What is HostSailor and who are they? HostSailor is one of many providers out there offering VPS hosting, Dedicated Servers, Domains, SSL certificates, and more. They are a registered company at Dubai (UAE) and they are very transparent about it so you can see their company address clearly mentioned in the footer of their website.

Datacenter

Their main datacenter is located at Amsterdam (NL) connected with about 300-400Gbit of Internet capacity with a blend of peering and transit providers are utilized. Yet, they also recently expand to Romania so users will have a unique distinctive experience. Read more about their datacenter here.

VPS Plans

They currently have a wide range array of VPS plans from 4 virtualizations: OpenVZ, Xen, KVM Linux and KVM Windows. OpenVZ plans start from $2.99/month while Xen plans from $3.99, KVM Linux $3.99 and KVM Windows $8.99.

The VPS I use

For this short review I use their Sailor OpenVZ plan that gives me 512MB RAM, 512MB SWAP, 50GB RAID10 storage, 1 CPU core access, 1 IPv4, 512GB bandwidth @1Gbps, and it is located at their Romania DC. I installed CentOS 7 x86_64 on it.

2015-07-24_054243

FreeVPS.us Test Script

2015-07-24_054605

As what we can see from above screenshot that the server is fast enough. Considering its location at Romania so those download speed results are understandable. But take a look at the I/O speed, hey! it is 1.2 GB/s which is way faster from many providers around. Even on RamNode I usually get 600 – 700 GB/s on their SSD plans.

vHWINFO Test

2015-07-24_054745

This test shows some basic information about the VPS including hostname, OS, kernel, virtualization, CPU type and speed, etc. which in my situation it is Intel Xeon E3-1231 v3. Even the VPS I use has access to only 1 CPU core but it is at full speed @3.4GHz. See again to its Disk speed, it is even now showing 2.0 GB/s. So much wow!

I/O Test via DD

2015-07-24_054952

Still don’t even believe it so I did another I/O speed test via DD command and the result speaks itself.

Speedtest.net Test

2015-07-24_060813

Speedtest.net conducts download and upload speed always from nearest location by default (it can customized though) and the result is pretty impressive.

Conclusion

With its low price, their OpenVZ vps plans are really rock! You can see it from the test results above. Yet, their Customer Support is also fast answering ticket.

2015-07-24_061720

Final word: Recommended!

What about you? Have a service with them? Any experience? Do not hesitate to share it with me and other readers in the comment section below.

This post Short Review of HostSailor OpenVZ VPS is part of ServerMom.

How to Add Domain Redirection in Vesta CP

$
0
0

Well I think this topic is pretty interesting: how to create domain / web redirection using VestaCP. The solution is basically simple which I think if you are familiar enough with LAMP (or say Apache), but it is pretty confusing for some newbies. So here it is a short / quick Vesta Control Panel tutorial dedicated for newbie.

Unlike WHM/cPanel that provides certain menu to create Domain Redirection so a user will understand what is it and how to use it, VestaCP doesn’t have that feature so users will have to make use of and create Apache .htaccess Redirection manually.

This is in WHM/cPanel

2015-07-27_202008

2015-07-27_201934

And do this in VestaCP

Step 1 – Install VestaCP on your server. Follow step 1 till 4 (Stage 1) of this tutorial to get it done.

Step 2 – Now login to VestaCP dashboard and add new website. Click on WEB menu then click Add Web Domain.

2015-07-27_202809

Step 3 – Type in the domain name you want to forward / redirect then click the green Add button.

2015-07-27_203001

once done you’ll see this message:

2015-07-27_203150

In this example I will redirect servermomtest.com to servermomtest.org

Step 4 – Now launch Putty or Terminal up and login to your server via SSH as root or as user with sudo privilege (or as admin if you configured admin to have SSH access)

2015-07-27_203551

Step 5 – Now go to web directory of your newly added website/domain which it should be at this location:

cd /home/user/web/domain.tld/public_html

In my situation it is:

cd /home/admin/web/servermomtest.com/public_html

replace user and domain.tld with your own. Example:

2015-07-27_203914

Step 6 – Create new .htaccess file (or edit it if it’s created already):

nano .htaccess

Step 7 – Now put these lines in there:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ http://example.org/$1 [L,R=301,NC]

the htaccess redirection above does 301 redirect from example and www.example.com to http://example.org and so that old links to example.com carry over. Just replace example.com and example.net above with your own.

2015-07-27_204431

Now save changes and exit the editor. In Nano it is Control+O then Control+X.

That’s it. Now everytime anyone opens example.com or www.example.com will be forwarded to example.com. And so if anyone opens example.com/any-link or www.example.com/any-link will be redirected to example.org/any-link. Cool huh?

I really hope that helps.

This post How to Add Domain Redirection in Vesta CP is part of ServerMom.

Using Net2FTP as File Manager for VestaCP

$
0
0

Web based file manager is one of feature that many users are considering when choosing which hosting Control Panel to use. Let’s take WHM/cPanel for example, it is now being a popular paid control panel used by many web hosting company. And one of many factors made its users love cPanel is its File Manager feature. But that’s a paid control panel so users deserve all that awesomeness. Now what about free control panel like VestaCP? I posted about how to install Pydio file manager (It was Ajaxplorer for zPanel) on VestaCP but still it has some drawbacks and users are confused how to use it. So here it is I come with another tutorial for you to get a usable web based file manager to manage, organize and edit your web files right from your browser without having to open Putty or Filezilla.

Prerequisites

what you’ll need:

  1. A SSH client like Putty and basic knowledge about how to use it.
  2. Basic knowledge about common Unix command to SSH to your server.
  3. A server or VPS with at least 512MB of RAM (1GB recommended). If you not already have one then you can read my list of recommended VPS providers or this top low end cloud server providers. Quick recommendation: Atlantic.net, Digital Ocean and RamNode.
  4. Make sure your server is running one of VestaCP’s supported OS: RHEL 5/6, CentOS 5/6, Debian 7 or Ubuntu 12.04/12.10/13.04/13.10/14.04. Using minimal template is recommended.
  5. About 20 minutes of your time
  6. a cup of coffee or tea.

Stage 1 – Installing VestaCP

Before we continue, I should tell you that the tutorial below done in a VPS with 512MB RAM running CentOS 6.6 32-bit. It is recommended to use higher RAM. You have to adjust the command if your server is running other than CentOS.

Step 1 – Login to your server as root

Step 2 – Install Vesta CP using command below:

curl -O http://vestacp.com/pub/vst-install.sh
bash vst-install.sh

Step 3 – It will then ask you with series of questions. Just answer it accordingly:

2015-07-19_210718

Step 4 – Once done you’ll see something like this which you can see your login URL along with admin username and some random password (you can change that later).

2015-07-19_211209

More explanation and screenshots:

Stage 2 – VestaCP Basic Configuration

Some tasks you have to firstly proceed are:

  1. Changing default admin password
  2. Adjust hosting package configuration
  3. Add new website on it (DNS entries will be generated automatically via this task)
  4. Add new database on it (if your website need it)
  5. Uploading / migrating your website on it

I don’t explain it again because it is explanatory or you can simply refer to my previous guides:

Configuration I use for the purpose of this tutorial:

  • VestaCP user: admin
  • Domain: servermomtest.org (doesn’t exist, test purpose only)
  • Package: Default (httpd, nginx and named – all default)
  • App: WordPress installed.
  • Web directory: /home/admin/web/servermomtest.org/public_html

Stage 3 – Installing Net2FTP

About Net2FTP: It is basically a web-based FTP client but it has all common features a web based file manager also has but it use FTP as connection to connect you as user with your server so you can have access to all your web files and folders.

Main key features:

  • Browse your web directories
  • Upload and download files
  • Edit files via built-in file editor
  • Copy, delete, rename and move files and folders.
  • Source code editor (with syntax highlighting)
  • Zip and unzip files
  • Search files, etc.

How to install Net2FTP on Vestacp Server

Step 1 – Open up Putty or Terminal and SSH (login) to your server as root or user with root (sudo) privilege:

Step 2 – Navigate to one of your web directories (choose one website as main one). For example I use servermomtest.org and create new folder. Name that folder as filemanager:

cd /home/admin/web/servermomtest.org/public_html
mkdir filemanager
cd filemanager

Replace servermomtest.org with your own domain name. screenshot

2015-07-30_105623

Step 3 – Download latest stable version of Net2FTP and extract the package:

wget http://www.net2ftp.com/download/net2ftp_v1.0.zip
unzip net2ftp_v1.0.zip

2015-07-30_105856

Step 4 – It will create a new directory called net2ftp_v1.0, so go inside that folder, move all files and folders to upper directory then delete the empty folder:

cd net2ftp_v1.0
(shopt -s dotglob; mv -- * ..)
cd ..
rmdir net2ftp_v1.0

here’s the illustration:

2015-07-30_110359

Step 5 – Go to files_to_upload directory and move all the content to upper directory:

cd files_to_upload
(shopt -s dotglob; mv -- * ..)
cd ..
rmdir files_to_upload

2015-07-30_113454

Step 6 – Change permission of temp directory to 777:

chmod 777 temp

2015-07-30_113754

Step 7 – Next, edit the settings.inc.php file using your favorite text editor like Nano:

nano settings.inc.php

It will look like this:

2015-07-30_162420

There are few parameters you can adjust inside that setting file. All the basic but necessary things you have to edit are: email address, admin username, admin password, turn your logging on / off (MySQL database needed), choose if you want to set a daily consumption limit (requires a MySQL database).

If you want to use your server as web hosting providers than you should turn logging on and set daily consumption limit. But you can leave those off if you just plan to use it as personal hosting server.

Another important settings:

Allow or not large file uploads and transfers (set the limit coz by default is set to 10MB)

2015-07-30_163145

As for me, because I just want to use the server as personal hosting so what I did is just defining admin password.

Done adjusting settings? You can now save changes and exit the editor (in Nano it is Control+O then Control+X)

That’s it.

Stage 4 – Give it a run

Now you have installed Net2FTP on your server which is accessible at:

http://yourdomain.tld/filemanager

Open up your web browser and go that url (replacing it with your real domain)

2015-07-30_164436

If you’ve set up an A record for your ftp url in DNS manager then you can use ftp.yourdomain.tld or alternatively simply put your VPS IP address there.

For Username and password field, use the username and password you use to login to VestaCP which my example is admin. If you created another Vestacp user for your clients, then you can tell them to use their Vestacp username and password to access their website’s files and folders via the same url above.

Once you logged in, you’ll see something similar to this:

2015-07-30_164901

all files of your website(s) are located at /web/domain.tld/public_html

2015-07-30_165020

All menus explain clearly what task each of them is capable of, so do not hesitate to try them.

Enjoy,.. please do not hesitate to drop comment below.

This post Using Net2FTP as File Manager for VestaCP is part of ServerMom.

Securing CentOS 7 VPS with CSF for Newbie

$
0
0

Easy guide for newbie how to install or setup ConfigServer Security and Firewall package on CentOS 7 VPS. That’s why I always do my best to put screenshot pics on every tutorial / guide in this blog. And for this time, I will show you a step-by-step guide on CSF installation to secure your server running CentOS 7.

A Glance about CSF

Known as CSF for short, CSF stands for ConfigServer Security and Firewall which is an opensource software firewall application used widely on many Linux platform. The software is developed by Way to the Web Limited under Open Source license (read: Free).

How it works? CSF configures your server’s firewall to lock down any public access to services and only allow certain connections. You can allow or deny or block connections for specific ports you want.

Being so popular, even many hosting control panels are made compatible with it. Say it cPanel, Webmin, VestaCP and more.

CSF Key Features

Straight-forward SPI iptables firewall script
Daemon process that checks for login authentication failures for:
– Courier imap, Dovecot, uw-imap, Kerio
– openSSH
– cPanel, WHM, Webmail (cPanel servers only)
– Pure-ftpd, vsftpd, Proftpd
– Password protected web pages (htpasswd)
– Mod_security failures (v1 and v2)
– Suhosin failures
– Exim SMTP AUTH
– Custom login failures with separate log file and regular expression matching
POP3/IMAP login tracking to enforce logins per hour
SSH login notification
SU login notification
Excessive connection blocking
UI Integration for cPanel, DirectAdmin and Webmin
Easy upgrade between versions from shell
Auto-configures the SSH port if it’s non-standard on installation
Block traffic on unused server IP addresses
Alert when end-user scripts sending excessive emails per hour
Suspicious process reporting
Excessive user processes reporting
Excessive user process usage reporting and optional termination
Suspicious file reporting
Directory and file watching
Block traffic on the DShield Block List and the Spamhaus DROP List
BOGON packet protection
Works with multiple ethernet devices
Server Security Check
Allow Dynamic DNS IP addresses
and many more!

Prerequisites

  1. A SSH client like Putty and basic knowledge about how to use it.
  2. Basic knowledge about common Unix command to SSH to your server.
  3. A server or VPS with at least 256MB of RAM (512MB recommended). If you not already have one then you can read my list of recommended VPS providers or these top low end cloud server providers. Quick recommendation: Atlantic.net, Digital Ocean and RamNode.
  4. Make sure your server is running CentOS 7 or RHEL 7.
  5. About 15 minutes of your time
  6. a cup of coffee or tea.

How to Install CSF on CentOS 7

Step 1 – Login to your server as root or as a user with root privilege:

2015-08-04_183324

Step 2 – In case if firewall already comes built-in with your CentOS installation, then stop its service with this command:

systemctl disable firewalld
systemctl stop firewalld

The output will simply be like this:

2015-08-04_183611

Step 3 – Then install iptables via yum command:

yum -y install iptables-services

screenshot:

2015-08-04_183801

Step 4 – Create necessary files which are needed by ip-tables.

touch /etc/sysconfig/iptables
touch /etc/sysconfig/iptables6

sample output:

2015-08-04_184044

Step 5 – You can now safely start iptables service using sytemctl command:

systemctl start iptables
systemctl start ip6tables

sample output:

2015-08-04_184304

Step 6 – To make sure iptables service always runs each time your server reboot, then do this:

systemctl enable iptables
systemctl enable ip6tables

screenshot:

2015-08-04_184548

Step 7 – Install dependencies and/or modules needed by CSF. These modules are required for Statistical Graphs available from the csf UI.

yum install wget perl unzip net-tools perl-libwww-perl perl-LWP-Protocol-https perl-GDGraph -y

Once done, you’ll see something like this:

2015-08-04_184843

Step 8 – Then now download the latest CSF package from the official download link:

cd /opt
wget https://download.configserver.com/csf.tgz

pic:

2015-08-04_185128

Step 9 – Extract the newly downloaded CSF package:

tar -xzf csf.tgz
cd csf

pic:

2015-08-04_185312

Step 10 – Install CSF with this simple command:

sh install.sh

the process should take seconds and once done, it should look like this:

2015-08-04_185622

Step 11 – It is installed now and you can safely delete installation files and folders:

rm -rf /opt/csf
rm /opt/csf.tgz

pic:

2015-08-04_185837

Step 12 – Do not forget to firstly test if CSF can really work on your CentOS server:

perl /usr/local/csf/bin/csftest.pl

output should look like this:

2015-08-04_190102

CSF Configuration on CentOS 7

Step 1 – CSF puts all its configuration in a file located at /etc/csf/csf.conf. So edit that file using your favorite text editor (like Nano). Alter or configure the TCP_IN, TCP_OUT, UDP_IN and UDP_OUT options in the csf configuration to suite your server and your need:

nano /etc/csf/csf.conf

Once text editor opens, it will show configuration page like this:

2015-08-04_190522

Step 2 – Change this basic configuration:

2015-08-04_190719

You can see all allowed ports at TCP and UDP in / out. It means all other ports will be disallowed. For example, I changed default SSH port from 22 to 21500, then I have to add 21500 in TCP ports (in and out):

2015-08-04_191108

Step 3 – Go through the configuration file completely and make the changes as per your requirement. Once you made all changes, enable CSF, by changing the line TESTING=”1″ to TESTING=”0″ in the csf.conf file.

2015-08-04_191247

save changes and exit the editor which in Nano it is Control+O then Control+X.

Step 4 – Restart CSF service:

systemctl restart csf.service

That’s it.

Important files:

  1. csf.conf: The main configuration file, it has helpful comments explaining what each option does.
  2. csf.allow: A list of IP’s and CIDR addresses that should always be allowed through the firewall.
  3. csf.deny: A list of IP’s and CIDR addresses that should never be allowed through the firewall.
  4. csf.ignore: A list of IP’s and CIDR addresses that lfd should ignore and not not block if detected.
  5. csf.*ignore: Various ignore files that list files, users, IP’s that lfd should ignore. See each file for their specific purpose and tax.

Enjoy and be always safe!

This post Securing CentOS 7 VPS with CSF for Newbie is part of ServerMom.


Basic CSF Firewall Command to Secure Your Server

$
0
0

Here in this page I put a nice compilation of some common unix command to use CSF security tool providing basic and necessary security level on your VPS. Sawiyati has posted few days ago a nice tutorial on how to install / setup ConfigServer Security and Firewall (CSF) on VPS but she forgot to also mention some basic command on how to use that very popular firewall tool.

Obviously, before you go with these command examples, make sure you firstly install CSF on your server following what’s described on previous guide.

p.s:

  • Add sudo prefix if you are not logged in as root.
  • Change 123.123.123.123 with actual IP address you wish.

This is an example why you gonna need a firewall or at least a tool to block failed login attempts like Fail2ban.

2015-08-09_073512

Allow an IP Address

You can whitelist a specific IP so any connection from that IP will be allowed on CSF:

csf -a 123.123.123.123

That will add IP address 123.123.123.123 in /etc/csf/csf.allow. Do not forget to restart the firewall after whitelisting the IP address.

csf-a-command

Remove a blocked IP address

You can remove a specific IP from CSF blocked list without having to add it to your whitelist

csf -dr 123.123.123.123

That will remove 123.123.123.123 from CSF deny list.

csf-dr-command

Block an IP address

csf -d 123.123.123.123

That will add 123.123.123.123 to CSF list of denied IP address (blocked)

csf-d-command2

Check whether an IP is blocked by CSF or not

csf -g 123.123.123.123

That will show whether an IP is blocked by CSF service or not.

csf-g-command

if blocked:

csf-g-command2

Disable CSF and lfd completely

csf -x

That will disable CSF service completely from running.

csf-x-command

Enable CSF service

csf -e

That will enable CSF service.

csf-e-command2

Restart CSF service

csf -r

Flush CSF firewall

csf -f

csf-f-command

Remove an IP from CSF allow list

csf -ar 123.123.123.123

That will remove IP address from /etc/csf/csf.allow.

csf-ar-command

Thanks for reading. Please have no doubt to leave me comment for some more opinions or tips regarding basic command we can use to secure a VPS with CSF firewall.

This post Basic CSF Firewall Command to Secure Your Server is part of ServerMom.

EHCP Installation Guide On Ubuntu 14.04 VPS

$
0
0

A detailed guide (with pictures) for newbie on how to install and configure Easy Hosting Control Panel (EHCP) on a server / vps running Ubuntu 14.04. I believe this can be one of your alternatives in looking for free web based control panel to make your server hosts your websites or blog.

What is EHCP?

EHCP is an open-source and powerful hosting control panel which you can download, install and use it for free on your server. Just like many other control panels (Vesta CP, Kloxo, etc), EHCP allows its users to install full stack of web server, ftp server, dns server, and mail server. It means with EHCP you don’t need to install necessary software manually. Just install EHCP and you’ll have a ready to use web hosting server. Unlike VestaCP that is currently running Nginx as frontend proxy with Apache as backend, EHCP can and is also the first free hosting CP supporting native Nginx with PHP-fpm. How cool is that?

Some of its key features:

  • Full php, full opensource, easily modifiable, customazible, ehcp templates;
  • Unlimited “resellers, panel users, domains, ftp users, emails, mysql databases”;
  • Domains, subdomains, ftp, mysql, dns (automatic), email etc. management;
  • Password protected domains;
  • Email forwarding, autoreply, catch-all emails;
  • Web-stats (webalizer);
  • Web-ftp (net2ftp);
  • Easy Install Scripts/Programs (programs such as wordpress, durpal easily downloaded and copied by means of server; no need to deal with ftp etc. A total of 51 programs – just like Softaculous);
  • Add/setup domain & install wordpress in single ste ;
  • Add domain, easy add domain, add domain to existing ftp, (use sub-ftp accounts);
  • Add ftp in main ftp, add custom ftp space (custom location);
  • Disk quota control;
  • read more features here.

Prerequisites

What you need before installing:

  1. A SSH client like Putty and basic knowledge about how to use it.
  2. Basic knowledge about common Unix command to SSH to your server.
  3. A server or VPS with at least 512MB of RAM (1GB recommended). If you not already have one then you can read my list of recommended VPS providers or these top low end cloud server providers. Quick recommendation: Atlantic.net, Digital Ocean and RamNode.
  4. Make sure your server is running Ubuntu 14.04. In this article I use a 512Mb cloud server from Atlantic.net running Ubuntu 14.04 LTS Server 64-bit.
  5. About 1 hour and 15 minutes of your time
  6. a cup of coffee or tea.

How to install

Step 1 – Login to your server via SSH as root or as a user with root (sudo) privilege:

2015-08-18_204909

Step 2 – You can now download full EHCP package (latest version) using wget command:

wget http://www.ehcp.net/ehcp_latest.tgz

That command will always grab the latest version of EHCP. Feel free to always check its latest version here.

download-ehcp-package

Step 3 – Next, extract the package with this command:

tar -zxvf ehcp_latest.tgz

extract-ehcp-package

Step 4 – Now lets install EHCP with its simple magic command:

cd ehcp/
./install.sh

Step 5 – Once you issued above command, it will then shows you EHCP installation page with a bunch of information and instruction about what will happen next. All you need to do is to read it carefully and proceed by hitting Enter button. Please do remember that the install process will occur in approx 1 hour and it will ask you series of questions you have to answer (like defining your passwords for some services). So hold tight and make sure you have uninterrupted Internet connection.

install-ehcp-package

MySQL Setup

Step 6 – Enter the password for the MySQL root user and hit OK then re-enter the password again.

setup-mysql-ehcp-package

Step 7 – Next, EHCP will ask your name and your email. Enter it correctly:

enter-name-ehcp

Step 8 – Enter the password for MySQL root user which you’ve setup earlier. In my case, I use servermom as password for all what it asks.

Step 9 – Now enter password for mysql user of “ehcp” then you’ll also have to enter it again (twice for confirmation)

enter-password-ehcp

Step 10 – Enter your hostname, IP address, preferred language, etc. If you want to leave defaults, just hit Enter on your keyboard.

select-language-ehcp

Roundcube Setup

Step 11 – Next, you will be asked to configure database for roundcube with dbconfig-common. Select Yes and then press Enter.

Step 12 – In the next page, you have to select which database will be used by roundcube. It is recommended to simply use mysql.

Step 13 – Enter password of the database’s administrative user.

Step 14 – Enter MySQL application password for roundcube to register with database server. Enter it twice for confirmation.

setup-roundcube-ehcp

PhpMyAdmin Setup

Step 15 – Next, you’ll be asked whether to configure phpmyadmin using dbconfig-common setting or not. Simply select Yes.

Step 16 – Enter password of the database’s administrative user to proceed:

Step 17 – Enter MySQL application password for phpmyadmin to register with database server. Enter it twice for confirmation.

Step 18 – Next, the web server that should be automatically configured to run phpMyAdmin. Simply use Apache.

setup-phpmyadmin-ehcp

Postfix Setup

Step 19 – EHCP makes use of Postfix as its mail server so in the next page you have to configure its basic setting. Hit OK then choose Internet Site.

Step 20 – Now in the next page you’ll be asked to enter your mail server name. You can simply use your server’s FQDN or something like mail.domain.tld (ex: mail.servermom.org)

Step 21 – Create directories for web based administration? Answer it with Yes.

Step 22 – Next, simply choose OK to install necessary SSL certificates.

Step 23 – Now the installer will ask you to also install Nginx. This time you can select No because you’ve already choose to use Apache earlier.

install-process-ehcp

Done! The EHCP installation has been complete. It will display something like this (below), you can now launch your favorite web browser and open EHCP dashboard.

2015-08-22_103700

2015-08-22_103741

2015-08-22_104154

2015-08-22_104115

This post EHCP Installation Guide On Ubuntu 14.04 VPS is part of ServerMom.

Host Your Own Speedtest Server on CentOS 7 VPS

$
0
0

SpeedTest.net has been recently being a global standard for broadband speed test. Many users use their service to test how fast their internet connection is. Yet, you can also use Speedtest to test and find out how fast the up and down link speed of your VPS. But did you know that you can even host your own Speedtest webapp using its Mini version? Well, you can! Simply follow very easy steps below:

What you need:

  1. A VPS with at least 512MB of RAM. Check this list of best VPS providers.
  2. Install CentOS 7 one it.
  3. Putty or any of your favorite SSH client.
  4. About 15 minutes of your time.

that’s it.

Install Apache and PHP

Step 1 -Login to your VPS:

login-vps

Step 2 – You gonna need a webserver on it and Apache will be perfect for that job. So let’s start to install it. Issue this command:

yum install httpd -y

install-httpd

Step 3 – Next, install PHP and required PHP modules:

yum install php php-mysql php-gd php-mcrypt -y

install-php

Download and Install Speedtest Mini

Step 1 – Now grab Speedtest Mini package using wget:

wget http://c.speedtest.net/mini/mini.zip

download-speedtest-mini-pack

Step 2 – Unzip its package and move it to web directory. Simply follow command lines below. Copy-paste each line one by one, not all at once:

unzip mini.zip
mkdir -p /var/www/html
cp -rRfv mini /var/www/html/

p.s: If you not install unzip yet, you can install it with this command:

yum install unzip -y

unzip-speedtest-mini

create-webdir-copy

Step 3 – Next, go to the web directory and rename index-php.html to index.html:

cd /var/www/html/mini
mv index-php.html index.html

goto-webdir

Step 4 – Finally, start Apache with this classy CentOS 7 command:

systemctl start httpd

start-httpd

Finally, you can run it for the very first time. Open up your favorite web browser and give it a try. You can access it via this url:

http://x.x.x.x/mini

replace that x.x.x.x with your own VPS IP address.

speedtest-test

 

This post Host Your Own Speedtest Server on CentOS 7 VPS is part of ServerMom.

How to Install Froxlor on Debian or Ubuntu VPS

$
0
0

This will show you exactly how to setup Froxlor server management panel (or control panel) on your VPS. It will include screenshot pics on every step so newbies can simply follow without a doubt. But before we start, it will be helpful to firstly know what is it.

About Froxlor

Well honestly its name doesn’t sound familiar in may ears and my tongue is a little bit difficult to pronounce it but that doesn’t make me stop to find out more about what Froxlor is. Shortly describing, Forxlor is a server administration software developed by experienced server administrators with a purpose to help its users easily administer / manage their servers. Froxlor comes as Open Source (GPL) licensed software or in my language it is a “free control panel“. Unlike VestaCP, KloxoMR or CentOS Web Panel, Froxlor doesn’t come shipped with a complete LAMP or LEMP stack, but however it has so many key features you can enjoy as a free web hosting control panel like:

  • Multistack supported: ability to use both IPv4 and IPv6 or choose per domain which IPv4 and/or IPv6 addresses and which ports should be used.
  • Advanced SSL feature allowing users to determine which ports should use SSL and allow customers to store certificates per domain.
  • Save different PHP-configurations and choose per domain which php.ini should be used (FCGI/FPM only)
  • Support popular web servers: Apache, Lighttpd or Nginx.
  • Ability to manage reseller resources and limit what the customers may use in the dedicated customer panel.
  • Traffic Calculation: Store dedicated HTTP, FTP and Mail traffic and view it in interactive graphs
  • Support Ticket System: Allow your customers to create support tickets and reply directly within Froxlor – with online/offline indictator for the customers.
  • Built-in WebFTP: Enable users to up- and download their files over FTP directly in the browser.
  • Themeable UI: Style froxlor by overwriting the basis CSS or create your complete own theme
  • MySQL management
  • Directory protection & settings
  • Quota management
  • and more! See at https://www.froxlor.org/

Basic Requirements

As always, there are few prerequisites you have to or you better to complete:

  1. A SSH client like Putty and basic knowledge about how to use it.
  2. Basic knowledge about common Unix command to SSH to your server.
  3. A server or VPS with at least 512MB of RAM (1GB recommended). If you not already have one then you can read my list of recommended VPS providers or this top low end cloud server providers. Quick recommendation: Atlantic.net, Digital Ocean and RamNode.
  4. Make sure your server is running one of Froxlor’s supported OS: Debian Squeeze or Wheezy, Ubuntu 11.04 or 12.04. Using minimal template is recommended.
  5. Make sure your VPS already has valid FQDN hostname (hostname.domain.tld)
  6. About 20 minutes of your time
  7. a cup of coffee or tea.

For your information, currently Froxlor is released only for Debian and Gentoo but it also works well on equivalent Ubuntu versions. In this tutorial I use a 1GB cloud vps from Atlantic.net running Ubuntu 12.04 32-bit but the steps are similar for Debian Wheezy.

Pre-section: Logging in

The very first step: open up your favorite SSH client and login to your server as root or as a user with root privilege (sudo).

login-server

Section 1: Installing LAMP

Please just move to section 2 if you have LAMP running on your VPS already.

Step 1 – Install Apache 2 using this simple apt-get command:

apt-get update -y
apt-get install apache2 -y

install-apache-ubuntu-debian

Step 2 – Now we are going to install PHP on it. There are several custom builds of PHP but this time you can simply use the one I use and follow the steps like what I did. Use following command to install PHP5 on your Ubuntu server:

apt-get install php5 php5-cgi php5-cli php5-common php5-curl php5-dev php5-gd php5-tidy php5-xmlrpc php5-xsl php5-suhosin php5-mcrypt php5-imap php5-imagick libapache2-mod-php5 -y

screenshot:

install-php5

Step 3 – Next, install MySQL server:

apt-get install mysql-server php5-mysql -y

screenshot:

install-mysql

Step 4 – Do this for initial MySQL setup:

mysql_install_db
mysql_secure_installation

All you have to do is simply answering easy questions:

mysql-install-db

mysql-secure-installation

Section 2: Installing Froxlor

Froxlor can be installed easily using apt-get command but since it is not available in Ubuntu default repository so we have to add it manually:

Step 1 – Issue this command below to add Froxlor:

apt-get install python-software-properties -y
add-apt-repository "deb http://debian.froxlor.org wheezy main"

add-froxlor-repo

Step 2 – Next, we also need to add the software keys for Froxlor’s repository:

apt-key adv --keyserver pool.sks-keyservers.net --recv-key FD88018B6F2D5390D051343FF6B4A8704F9E9BBC

add-key-repo

Step 3 – Now we can use apt-get to install Froxlor:

apt-get update -y
apt-get install froxlor php5-curl -y

screenshot:

install-froxlor

Please pay close attention to the animated screenshot above. There are few questions you have to answer. Press the TAB key or arrow keys on our keyboard to navigate and press ENTER or RETURN to select an option.

Section3: Finishing Installation

Step 1 – Open up your favorite web browser and access Froxlor using your IP address:

http://x.x.x.x/froxlor

Note:
Change x.x.x.x with IP address of your VPS.

It will now display initial install page as below:

start-install

Click the Start Install link. Next, Froxlor will firstly check system requirements which if all requirements are satisfied, you can click the Click here to continue link

checking-requirements

In the next page, there are several fields you have to fill including Database Connection details, Administration Account, and Server Settings. You may also need to note down each username and password.

install-setup

As what you can see in that page, you are asked to choose which web server your server is currently running (Apache, Lighttpd or Nginx) but since in this tutorial we use Apache, so choose Apache.

Once done, click on the green Click here to continue button. Now Froxlor will once again test to make sure your settings are operational.

froxlor-setup-testing

If you see the Froxlor was installed successfully text, that means the installation process are done and you can now login to Froxlor dashboard as Admin account (use username and password you defined). Now click the Click here to login link.

froxlor-login

And here it is what Froxlor’s Dashboard page looks like:

froxlor-dashboard

That’s it for now. I believe the above step by step Froxlor installation guide are really easy-to-follow as I also put screenshot pic at every step. Do not hesitate to leave a comment below.

In the next tutorial: Basic Setup for Floxor Control Panel

Stay tuned and do not forget to follow me on twitter for faster notification. Thanks

This post How to Install Froxlor on Debian or Ubuntu VPS is part of ServerMom.

InMotion Hosting VPS – A Short Review

$
0
0

I’ve heard about InMotion Hosting a lot before, but then I finally get a chance to give it a try. Being one of well-known hosting provider, InMotion Hosting (or may I say IMH) is offering a wide-range services from Shared Hosting to Dedicated Server and something in between (Domain, Web Design, Managed Support, etc). Because I mostly talk and review about VPS so here I am to update you with a short and straightforward review if InMotion VPS Hosting.

About IMH

Visit: InMotion Hosting website.

IMH is an award winning hosting provider headquartered in Los Angeles, CA. They seems operating their own datacenter utilizing server grade equipment and has been adopting Go Green technology. If you ask Google some review about IMH, then you’ll see so many reviews already. With such good reputation, IMH has gained trust from their loyal customers.

Currently they operate services in two Datacenter locations: Los Angeles, CA and Washington, D.C. Each location makes use of following datacenter specs:

  • Servers housed in Category A, PCI compliant data centers. These include several controlled access points.
  • N+2 or N+1 power systems with multiple battery and diesel power sources in case of public utility failure.
  • BGP4 network to prevent downtime in case of loss of hardware.
  • N+1 Configurations on all servers using RAID 5.
  • 24x7x365 System Administrators on hand.
  • Backups created every 36 hours up to 10GB.
  • Max Speed Zone options (available to VPS and Business Class hosting clients only).

VPS Hosting Plans

Currently they only have 3 (three) VPS plans. Each with following specs:

VPS-1000S

  • RAM: 4GB (burstable RAM available during times of high traffic)
  • Storage 60GB
  • Bandwidth 2TB
  • IPv4: 2
  • Price: $30/month

VPS -2000S

  • RAM: 6GB (burstable RAM available during times of high traffic)
  • Storage 130GB
  • Bandwidth 3TB
  • IPv4: 2
  • Price: $45/month

VPS-3000S

  • RAM: 8GB (burstable RAM available during times of high traffic)
  • Storage 200GB
  • Bandwidth 4TB
  • IPv4: 3
  • Price: $75/month

All VPS plans come with: fast SSD drive in RAID 6 configuration, free WHM/cPanel license (if paid yearly), custom-made Firewall, free automated backup (up to 10GB) and free server management (managed vps).

Initial Review

I’m just curious of what’s behind their popular name? I couldn’t answer that when I first time went to their site registering and logging in. As what you may see that their official website looks like a little bit outdated. Uh come on, see DigitalOcean, Atlantic.net, or Linode, most of big players have their websites updated to modern design trend. Well there’s nothing wrong with that, especially if they are focusing on quality of services offered.

What then impressed me is custom hosting management panel they developed. Instead of using WHMCS, IMH developed and is using a custom user panel namely Account Management Panel (AMP). Users can manage every aspect of a hosting service purchased there. From AMP a user can: reset password, register/transfer domain, update contact info, pay bill, launch cPanel (auto login), reset cPanel password, launch WHM (auto login), restart VPS, CSR request, and a menu to open Account Technical Details.

2015-09-02_212631

Account Technical Details page is a section where all information about your hosting service (which in this case is VPS) from Plan name, Domain, cPanel username, server, IP address, etc.

2015-09-02_213014

Something missing? Yup, that time I couldn’t find what’s the default / initial root password, what port SSH is accessible at, basic VPS statistic like how much RAM is used, how much disk space is left, how high the CPU load and how much bandwidth has been used. Please IMH staff, if you read this and you thing I’ve missed something then please feel free to correct me.

How Can I Access My VPS from SSH?

That was my first question after my account had been activated. I couldn’t find the information from the very first time. I had to firstly browse to their Support Center section and yes I got it. All users of their VPS plans are allowed to have access to their server via SSH but with several conditions:

  1. SSH root access is not given directly. User has to request root access (the process is very easy and straight forward)
  2. They cannot support any changes users have made to the server or software after obtaining root access.
  3. Any time required by system administrator team to repair, troubleshoot or restore services due to changes made (as a result of having root access) may be billed at a rate of up to $75/hour.
  4. They can not guarantee compatibility or performance of third party software
  5. In order for root access to be relinquished, a server move or format may be necessary for security reasons. A system administration fee of up to $75/hour may apply for these situation.
  6. Users must understand those situations.

And once the root password is given, a user is still not able to access the vps directly. User have to go to AMP, open WHM, go to Firewall page and add his/her IP to white list.

2015-09-02_213610

Server Performance

Ok, who cares about their website design and UI right? So let’s go to the performance of their server. As usual, I did some quick test tasks to find out how the server performs.

FreeVPS.us Test Script

2015-09-03_211349

Wow, wow and wow! From that test I can see that my VPS performance is really slick. It is not good but it is great! Especially the Download Speed result. But there are two things I note: First, the number of cores and secondly is its amount of RAM. In their official page you can see that the VPS-1000s is advertised to have 4GB RAM but didn’t mention that about 2,5 GB of that advertised RAM is SWAP. But hey take a look at the number of cores! Not many VPS providers giving you access to those number of cores.

vHWINFO Test

2015-09-03_211425

Similar result but this time it show outstanding I/O speed.

DD Test

2015-09-03_211550

Not sure about I/O test result from two previous tests, I did a single DD test and the result is still amazing.

Network Speed Test

2015-09-03_212019

Here’s the graphical result:

4633731388

Pretty awesome huh?

Pros and Cons of InMotion VPS Hosting

Pros:

  • Server is responsive, fast and powerful
  • Bandwidth is fast
  • Generous CPU cores
  • Complete documentation to help any user with any question
  • Free WHM/cPanel included
  • It is a Managed VPS service, each plan comes with free server management service.
  • Custom-developed firewall
  • Free website migration
  • Hosted at Green DC
  • They own all equipment, hardware and DC
  • 90-day money-back guarantee
  • 24/7/365 U.S. based support
  • Free daily backups
  • ModSecurity installed by default
  • Very perfect for newbies or for developers who want to focusing on websites and not hassling with hosting

Cons:

  • It is not a lowend segment (price is competitive but you get what you pay for, it is worth it)
  • SSH root access is not given directly, yet users have to firstly whitelist their IP via WHM
  • No feature / option to rebuild the VPS or to reinstall with another OS
  • No direct viewable statistic of server’s resource usage (RAM, Disk, bandwidth, etc)
  • Amount of RAM advertised is true RAM + SWAP.
  • Login to Support Center needs separate account (not integrated with AMP)
  • No IPv6 at the moment.
  • Lack information about server specs.

Conclusion

I believe all of cons I wrote will never beat down the pros. Shortly saying, the services offered by IMH are seriously awesome. Each server crafted by hand and detail, It is powered with enough horse power to run your websites. The services they offer are really suitable for newbies to web developers. So if you are looking for VPS that’s ready to use and you don’t really want to get your hand dirty setting up LAMP, then I can ensure you that IMH is the perfect choice. IMH is the best managed VPS hosting provider.

Closest competitor of IMH is KnownHost, but IMH offers more power, more SSD space, and more RAM for cheaper price. So if you ask me: Inmotion Hosting vs KnownHost? My answer will absolutely IMH.

Some more information about their VPS:

  • Available Data Center locations: Los Angeles and Washington DC
  • They have their own IPs assigned: AS54641
  • Virtualization: Virtuozzo
  • Node specs: Intel Xeon CPU E5-2670 v3
  • VPS control panel: No Virtuozzo Power Panel
  • Complete Benchmark Report on Server Bear.

Seen enough? Go check it out yourself: http://www.inmotionhosting.com/vps-hosting

Disclaimer: The test server is provided for free but my review will always be objective.

This post InMotion Hosting VPS – A Short Review is part of ServerMom.

Viewing all 159 articles
Browse latest View live