Web server configuration combines elements of both systems administration and network management. In web hosting this is done both by the technicians employed by the company in the data center and by remote clients, primarily the administrator of a registered customer account. Most web hosting companies provide an account management panel (AMP) or a control panel for accessing and changing web server settings. However, on a shared hosting framework, only the network administrators actually have the root access to the server that includes the authority to install the operating system, server software, and other stack extensions. Under most web hosting platform standards, there is a division between a “Superuser” with administration powers over the configuration or installation of software on the web server and the sub-users established under registered accounts who only receive limited management authority. A similar delegation of administration powers is established on VPS networks or on dedicated server plans. Therefore, it is important to recognize the difference between the Superuser account in data center management and the systems administration that occurs in web hosting or web development on a registered client account.
One of the main advantages to upgrading from a shared hosting account to a VPS or dedicated server plan is to have more ability in systems administration to configure the development environment of a web server. This is important in web programming when projects require the use of tools such as programming languages or databases that are not available on a shared hosting account. Many custom coded projects also require the installation of additional modules, extensions, or libraries for the specialized use of programming languages that are not found in a default shared hosting software stack. Other aspects of system administration can involve installing alternative server software like Nginx, LiteSpeed, or Lighttpd and changing the primary settings on Apache. Many VPS and dedicated server plans offer users complete control over web server configurations, which includes the choice of operating system which can be changed at any time. Other aspects are managed through the .htaccess file and php.ini. Some shared hosting plans do not offer SSH access at all, requiring all server administration on an account to take place through a browser-based control panel. In summary, it is mostly the requirements of a development project and the particular interests of the user which determine the need for limited or advanced systems administration powers and tools in web hosting.
Most professional systems administrators and network server managers are experts at using command line tools. Command line tools accomplish most of what is done using a mouse, “drag and drop” functionality, and a graphic user interface on a desktop computer or web browser. This includes software installation, file management, permission changes, security updates, database administration, and web server configuration management. Shared web hosting plans may provide the Secure Shell access (SSH connections) required to manage a web server via the command line, or they may require the use of cPanel, Plesk, vDesk, etc. as an alternative. For most web hosting customers, cPanel and other GUI AMP panels greatly simplify the process of server administration in web hosting, which is why they are popular and in widespread use in the retail sector. With cPanel and similar GUI-based server management software, registered users can manage domains, create databases, establish email accounts, set-up FTP access, manage files on a server through a web browser, change the version of a programming language used on the platform, set-up CDN integration, access web traffic statistics, as well performing many other tasks related to server and account management without needing to use any command line tools.
The main software applications used for server administration in web hosting are:
- cPanel: The cPanel interface is the most popular software tool used in web hosting for server management, and it is used as part of WHM for web hosting companies to deploy an entire web server network with shared user account isolation. cPanel is basically a programmed layer of application support that operates through a Graphic User Interface (GUI) to simplify a wide variety of tasks related to web hosting which include: domain management, server settings, email accounts, FTP connections, script installation, programming language extensions, file management, CDN integration, etc. cPanel requires a license to use which may be borne by the web hosting company or paid by the individual user of a VPS / dedicated server plan.
- Plesk: Plesk is an alternative to cPanel from a different company which basically replicates the majority of the server and account administration functionality of cPanel with a less expensive pricing structure. The platform has arguably a less robust variety of third-party plugins available for platform integration. Plesk offers users the ability to manage server settings, email accounts, databases, file transfers, etc. through a GUI and web browser. Because it is not tied to a particular operating system (CentOS) or platform software (WHM) like cPanel, it can be installed on any Linux or Windows server for multi-account management.
- vDeck: The vDeck platform is another third-party alternative to cPanel and Plesk. The company was acquired by EIG and is mostly used by EIG companies or resellers. The software has all of the main features for server management that cPanel and Plesk offer, though with less polish and fewer third-party utilities integrated in the platform. In most aspects, vDeck is little different from Webmin, Virtualmin, and other open source control panels for Linux servers.
- Webmin: Webmin is one of the most popular open source tools which replicate the core functionality of cPanel for server and account management on Linux. It can be installed on any server distribution without the payment of any licensing fees, making it popular with users who run Ubuntu, Debian, Slackware, etc. on a VPS or dedicated server as an alternative to command line systems administration.
- Virtualmin: Virtualmin is basically identical to Webmin in functionality, appearance, and features. It is another free, open source alternative to cPanel that can be installed on any Linux server for administration of configuration settings and account management. Technically, Virtualmin runs on top of Webmin to add an extra layer of functionality for non-root users to manage domains without having all of the powers of a Superuser.
- Open Source: There are a wide number of control panel projects for server administration that have been released on open source licenses and provide similar functionality to Webmin and Virtualmin. Some of these are:
- BlueOnyx: https://www.blueonyx.it/
- i-MSCP: https://i-mscp.net/
- ISPConfig: http://www.ispconfig.org/
- Kloxo: https://en.wikipedia.org/wiki/Kloxo
- OpenPanel: https://sourceforge.net/projects/openpanel/
- Sentora: http://www.sentora.org/
- The Hosting Tool: https://thehostingtool.com/
- Vesta: https://vestacp.com/
- Zpanel: http://www.zpanelcp.com/
- Proprietary: Many web hosting companies program their own account management panel (AMP) software as an alternative to cPanel. Use of these applications is limited to customers who sign up with the company for web hosting. Additionally, there are a number of control panels with similar functionality to cPanel, Plesk, vDeck, etc. that are available for purchase and use in server administration. Some of these are:
- Ajenti: http://ajenti.org/
- Core-Admin: https://www.core-admin.com/portal/
- DirectAdmin: https://www.directadmin.com/
- Froxlor: https://froxlor.org/
- InterWorx: http://www.interworx.com/
- ISPmanager: https://www.ispsystem.com/software/ispmanager
- Command Line: The main command line tools for systems administration on Windows web servers are PowerShell and Server Manager. For Linux a SSH client is required such as PuTTY, Bitvise SSH, Cygwin, DameWare SSH, MobaXterm, or SmarTTY.
The choice of which tool to use for systems administration on web servers largely depends on the specifications of the web hosting plan. Shared hosting customers are largely restricted to the use of cPanel, Plesk, and vDeck, though many companies now also offer the ability to use SSH clients on their platforms. The choice of a managed or unmanaged VPS / dedicated server plan can also include cPanel or a proprietary AMP for settings configuration, but generally these accounts open up more possibilities for the use of different server configuration tools on the hardware. Professional systems administrators generally need to be familiar with as many different software utilities as possible and then choose the right application depending on the use case scenario under which the hardware is made accessible to be managed. While GUI-based control panels make it easy for users to manage web servers without knowing command line protocols, the use of SSH clients is an essential aspect of advanced systems administration.