This document is an older, unmaintained guide. There may be a new guide available for this software.
ISPConfig is an open-source control panel similar to proprietary software like CPanel or Plesk. It features a wide variety of options to help you control your server and allow other users to maintain their websites.
Before beginning to follow this guide we assume that you have completed the getting started guide. If you are new to Linux systems administration you may wish to consider the guides in our using Linux series, particularly the administration basics guide.
This guide assumes you are installing this on a clean system. If you feel that you will not need certain features that are mentioned in this document, please feel free to exclude them from your setup.
Ensure your package lists and packages are up to date by issuing the following commands:
Before you can install some components for ISPConfig, you will need to install some development packages. Issue the following commands:
yum groupinstall 'Development Tools' yum groupinstall 'Development Libraries'
In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. More information on Postfix and Courier can be found in our documentation, and you are encouraged to read it to gain a better understanding of this software. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the MySQL documentation. You will need to read the documentation for detailed installation instructions.
Issue the following command:
yum install gcc postfix mysql-server getmail mysql-devel
Issue the following commands to ensure MySQL runs when your Linode boots and start the MySQL service:
/sbin/chkconfig --levels 235 mysqld on service mysqld start
Issue the following commands to start saslauthd when your Linode boots and start the saslauth daemon:
/sbin/chkconfig --levels 235 saslauthd on service saslauthd start
After installing MySQL, it's recommended that you run mysql_secure_installation, a program that helps secure MySQL. While running mysql_secure_installation, you will be presented with the opportunity to change the MySQL root password, remove anonymous user accounts, disable root logins outside of localhost, and remove test databases. It is recommended that you answer yes to these options. If you are prompted to reload the privilege tables, select yes. Run the following command to execute the program:
The following command will install spam protection for your email server. Please be advised that using SpamAssassin by itself may consume a vast amount of system resources depending on your configuration. You will want to tune this application according to the low memory settings. Using amavisd-new should help alleviate some of these potential issues.
yum install amavisd-new spamassassin unzip bzip2 perl-DBD-mysql
The following command will install the Apache web server and some other applications and their dependencies. If you have already installed the LAMP stack, you will not need to install Apache again. However, you will need the other packages for other aspects of the ISPConfig installation.
yum install ntp httpd php php-mysql php-devel php-mbstring rpm-build openssl-devel cyrus-sasl-devel pkgconfig zlib-devel phpMyAdmin pcre-devel openldap-devel postgresql-devel expect libtool-ltdl-devel openldap-servers libtool gdbm-devel pam-devel gamin-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel
Make sure Apache starts on boot:
/sbin/chkconfig --levels 235 httpd on
Vlogger is a tool that logs information regarding Apache. Webalizer can then be used to analyze these logs and generate statistics. This step is completely optional, but you may find these tools useful for seeing website traffic.
yum install webalizer perl-DateTime-Format-HTTP perl-DateTime-Format-Builder cd /tmp wget http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz tar xvfz vlogger-1.3.tar.gz mv vlogger-1.3/vlogger /usr/sbin/ rm -rf vlogger*
More information on Webalizer can be found in our Webalizer documentation.
Installing fail2ban is entirely optional, however ISPConfig can manage this service and show you the log output from it:
yum install fail2ban
More information regarding fail2ban can be found in our fail2ban guide.
You are now ready to extract and install ISPConfig. To do this, issue the following commands:
cd /tmp wget http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.3.tar.gz?use_mirror= tar -xvf ISPConfig-3.0.3.tar.gz cd ispconfig3_install/install
You may now start the installation process by issuing:
php -q install.php
This script will configure services that you installed above to be monitored and controlled by ISPConfig. You will be asked a series of questions; in most cases the default answers will suffice. If you have configured services on your system in a manner that differs from the default, edit the answers accordingly.
You will now need to restart Apache. Issue the following command:
Once it has completed, you may login to the control panel. By default, ISPConfig runs on port 8080, so you may find it at http://126.96.36.199:8080/. Replace 188.8.131.52 with your Linode's IP. The default login uses "admin" as the username and "admin" as the password. You will want to change these to prevent someone from accessing your system.
Congratulations! You now have ISPConfig installed on your Fedora 13 VPS. You are highly encouraged to see the links in the "More Information" section to help you install extra applications that may help you manage your system better.
When running software compiled or installed directly from sources provided by upstream developers, you are responsible for monitoring updates, bug fixes, and security issues. After becoming aware of releases and potential issues, update your software to resolve flaws and prevent possible system compromise. Monitoring releases and maintaining up to date versions of all software is crucial for the security and integrity of a system.
Please monitor the ISPConfig Newsletter and project forums to ensure that you are aware of all updates to the software and can upgrade appropriately or apply patches and recompile as needed:
When upstream sources offer new releases, repeat the instructions for installing the ISPConfig software as needed. These practices are crucial for the ongoing security and functioning of your system.
You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.
This guide is licensed under a Creative Commons Attribution-NoDerivs 3.0 United States License.
Last edited by Matthew Cone on Monday, October 8th, 2012 (r3110).