For some quite years I have been managing WEB servers for hosting with the command line. It was driving me crazy, but I haven't found yet a friendly solution. Later, in one of my past jobs, I was introduced to cPanel. It was not a good experience. I can tell that cPanel, first it is not free, it has an easy installer but the way it is though it is not the best for a Linux guy. cPanel (when I tested) bundles its own Apache and other software, so security fixes rely on cPanel guys, not on your distro updates. cPanel web interface is awful, too many ports opened! To find a single option you need to go into many menus as possible.
After a while, I discovered ISPConfig and while testing I started liking it. It uses system RPM's, it can run on a VPS or bare metal box and configurations are very easy to follow. As any management software, installing is not a short or easy task. You can look and you will find long documents on how to configure ISPConfig, you may need to download some source tarballs and compile manually; in order to make this easier for everyone, I have developed these RPMs for Centos 6 and 7, and I have published them for your happiness in the OKay repository. Please read my short guide on how to configure it fast.
And yes, It works in CentOS 6 and 7. Some people still use CentOS 6 for an unknown reason.
Following my guide, you can install ISPConfig in 5 minutes.
Why use my RPM's?
If you read the many guides on the Internet, you will find you need to download many sources and manually compile it. You would need to manually compile suphp and mod_python.
Also, my RPM repository contains Apache 2.4.35 which it is HTTP/2 ready. You just need to turn on an ISPConfig3 flag and voila! Your server will have HTTP/2 out of the box.
here it is a single RPM's to rule them all.
Directions to Install ISPConfig3 under CentOS
Follow these steps:
- Install EPEL and OKay RPM repositories.
- Disable the SELinux, edit the /etc/selinux/config file and edit or add this line
- Type yum install task-ispconfig3 and wait, this will install many dependencies. The RPM will try to do as many tasks for you, just be patient.
- Secure your MySQL/MariaDB installation, type mysql_secure_installation as root. Take note of the values you entered, you will need them later.
- Apply some manual patches, they are in /usr/share/task-ispconfig3 directory. Use the command patch of it, or read them and do modifications manually. You can do something like cd /; patch -p0 < file.patch. I prefer to deliver this in a patch because you can read the changes. These patches change some little Apache apps behaviour such as the webmail and the MySQL frontend ones.
- Edit /etc/php.ini and set the date.timezone parameter to your own. You can read the list of supported timezones in the PHP project page.
- Optionally, if you will need Mailman, execute /usr/lib/mailman/bin/newlist mailman. Take note of values entered.
- Create a database to use by RoundCube
CREATE DATABASE roundcubedb;
CREATE USER roundcubeuser@localhost IDENTIFIED BY 'roundcubepassword';
GRANT ALL PRIVILEGES on roundcubedb.* to roundcubeuser@localhost ;
- Go to http://YOUR_IP/roundcubemail/installer and finish the installation. Don't forget to disable the installer directory when you finish. In this specific case, this is optional as the config.inc.php file is not owned by apache user, there is no way someone could overwrite it.
- Remember to enable and start the following services with systemctl enable and systemctl start:
- mariadb or mysql
- Download ISPConfig3 from the official web page or you can try this direct link http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz. Untar it, and then go into the ispconfig3_install/install directory and execute php -q install.php. When you finish this step, you will have your ISPConfig3 working.
Enjoy!blog comments powered by Disqus