If you build websites, you're familiar with hosting control panels such as cPanel, Plesk and others. These control panels allow you to create sub domains, manage FTP users and perform many other tasks.
However, many of the newer cloud hosting platforms don’t provide such a control panel and require users to know command line tools. This makes managing the server extremely difficult, if not impossible, for most end users.
Now that the cost of cloud servers have dropped, there is a huge market for solutions that make it easier to manage cloud servers. Companies such as CloudWays and ServerPilot are trying to offer solutions.
Last week, we reviewed Cloudways. Today we'll review ServerPilot; a simple control panel to manage your VPS.
Founded by Justin Samuel and Kevin Luikens, ServerPilot promises to be a great optimized platform to run PHP websites on cloud infrastructure such as DigitalOcean and Amazon Web Services.
Unlike Cloudways, ServerPilot only offers a centralized control panel to manage and perform basic tasks on your server.
#1. Signup with ServerPilot
- Visit ServerPilot.io and click on the green button labelled "Get Started Free" to sign up.
#2. Create a New Server
Before you are able to use any of the ServerPilot’s features, you'll have to create a new server with the provider of your choice. For testing purpose we created a server on DigitalOcean.com with 512MB ram which costs $5 USD per month. You can choose other options such as Amazon Web Services, Linode, RackSpace Cloud, etc.
After successfully creating your new server, don’t forget to save the root login details as we will require them in the next step.
Note: Currently ServerPilot only supports 64 bit Ubuntu servers running on version 12.04 or 14.04. When creating your server, make sure to select either of these versions.
#3. Connecting your server with ServerPilot
To be able to access our server from ServerPilot’s control panel, we first have to connect our server to ServerPilot.
- Head over to the ServerPilot website.
- Click on the "Connect Server" button to proceed to the next step.
- Enter a name for your server.
- After entering the name of your server click on the "Continue with Setup" button.
- You will now be shown a command that you need to run on your server. Login to your server through a terminal and run the command provided by ServerPilot.
- If there are no errors, you will be able to see a confirmation within your terminal and the page on ServerPilot’s website will also be automatically refreshed showing stats for your server.
#4. Creating an App
After connecting your server, you can now create apps on your server.
- Click on the "App" tab.
- Click on the "+ Add App" link.
- You will see with a form to create an "App".
- Enter a name for your app.
- Enter your domain name.
- Choose the server. ServerPilot installs multiple versions of PHP on a single server and allows us the ability to choose from any of these PHP versions for our Apps. With this feature, individual sites running on a single server can use different PHP versions. You can also change later on the PHP version from the Apps "Edit" screen.
- After entering your details click on the "Create App" button.
- If the app was successfully created, you can now use the Server IP to set an "A" record in your domains DNS and access your website.
- You'll now be able to see all the details about your APP and through this screen, you can install SSL, create databases and change the PHP version.
#5. SSH / SFTP User
ServerPilot creates a system user "serverpilot" for all your apps. You can use this user’s details to connect to your server via SSH or to using SFTP to upload your website files.
To change the user’s password, go to your server’s setting page and click on the "Users" tab. You'll be shown 1 single system user "serverpilot" as of now. Click on it see more details about this user and to change the password.
Features in Paid Plans
Paid ServerPilot plans offer better support and more features:
- Ability to create more system users: In free plans, all apps you created are assigned under the system user "serverpilot". In "Coach" and "Business" plan you can create more users specific to each application.
- SSL installation: While you can install SSL certificate directly using SSH, having a simple interface to do it is definitely a time saver. ServerPilot uses SNI to allow us to host multiple certificates for your domains on a single IP.
- Real Time Analytics
- Log Viewer: While all plans allow you to create and store log files, the "Business" plan offers the ability to directly see the contents of the log file from your server dashboard.
- Slow Request Stats
Advantages of ServerPilot
- Light footprint: The software does not install anything resource intensive on the server. On our Digital Ocean’s server with 512MB ram, only 39% memory was used unlike Cloudways which used more than 75% of the memory. A major reason is because it only installs the most essential software and not anything else such as Varnish, Memcache or Monit.
- Automated Updates: Automated updates are enabled by default but can be disabled from the control panel if you wish to do it manually. All installed packages are kept up to date with the latest stable release. Recently after the Shellshock bash bug was discovered, the test server was updated automatically within 24 hours and an email was sent to notify about the updates.
- Simpler Interface: ServerPilot’s dashboard is easy to use. The interface is uncluttered and displays only the essential details.
- Free Option: The free plans provides just the right amount of features required to run and maintain a server.
- Full Server Access: The biggest advantage of ServerPilot would be that it does not restrict us to buy the Cloud Server from them. We are free to use any cloud infrastructure we prefer and manage billing directly with the server company. We also have access to the root user if we need to perform any customizations directly.
Disadvantages of ServerPilot
- Additional steps for upgrading/downgrading server: While ServerPilot allows us to control our Cloud server directly, the drawback is that if you ever need to upgrade or downgrade your server you can only do so from the Cloud Server’s website.
- Missing One Click Application Deployment: Till now there is no option to easily install applications such as WordPress, Joomla, etc. One click installation will really save time and also make it easier for us to quickly deploy test sites.
- App / Site Cloning: The ability to clone a test environment such as a WordPress site with all the standard plugins and themes installed when starting a new project would also be another helpful feature.
- No option to edit server settings: To change the basic server configuration details such as Upload Limit, Memory Limit, etc. You will have to manually create and upload a .user.ini files.
- Expensive advanced plan: The cost of "Business" plan is on higher side compared to the cost of Cloud (VPS) servers. This plan does come with priority support, but due to lack of many essential features the cost does not justify what it offers.
- Basic SSH knowledge required: While you can create new database, create new apps through their control panel, initially connecting your server to ServerPilot does require us to login to our server using SSH.
If you are a developer with limited experience of server configuration, and want to host your own websites on a cloud server but without the hassle of setup and configuration, than I definitely would recommend ServerPilot.
They currently offer 3 plans: "Free", "Coach" and "Business". Their free account would be sufficient for most users, however if you plan to install SSL certificates, than their "Coach" plan at $10 USD per month would be a better option because along with an interface to easily install SSL certificates, it also provides the ability to create more SSH/SFTP users, and the option to see the real time resource usage on your server.