In this guide I will be explaining how to install Direct Admin on a clean installation of CentOS 5, 6 and 7. The procedure is exactly the same on all three of these operating systems and with both 32-bit and 64-bit versions. It is very important to start off with a clean installation, as the DirectAdmin installer will take care of all software components you need.
Note: This guide assumes you are familiar with SSH and basic command line navigation. These instructions apply primarily to customers who have Virtual Private Servers or Dedicated servers. If you do not have root-level access you will not be able to make these changes.
Do you meet the system requirements?
- A clean and compatible OS install: check the installation requirements to ensure your OS is supported.
- At least one external IP address is required (NAT/LAN-based systems will NOT work)
- SSH installed, gcc, g++, openssl-devel installed. Common pre-install commands
2. Installation Procedure
If you have purchased your license directly from DirectAdmin.com, sign into your client account at https://www.directadmin.com/clients and click the "view" link next to your license. Verify that the server IP address and operating system is correct. Also make sure that the license is Active and Verified (if it isn't, you need to contact Direct Admin support). If you have problems with a license obtained through Woktron Web Hosting, please contact Woktron Support.
2.1 Update CentOS
2.2 install DirectAdmin
Begin by installing the required dependencies for Directadmin:
CentOS 5 and 6
yum install wget gcc gcc-c++ flex bison make bind bind-libs bind-utils openssl openssl-devel perl quota libaio libcom_err-devel libcurl-devel gd zlib-devel zip unzip libcap-devel cronie bzip2 cyrus-sasl-devel perl-ExtUtils-Embed autoconf automake libtool which patch mailx db4-devel
yum install wget gcc gcc-c++ flex bison make bind bind-libs bind-utils openssl openssl-devel perl quota libaio libcom_err-devel libcurl-devel gd zlib-devel zip unzip libcap-devel cronie bzip2 cyrus-sasl-devel perl-ExtUtils-Embed autoconf automake libtool which patch mailx psmisc net-tools systemd-devel libdb-devel
Continue by downloading the DirectAdmin setup routine using wget, set file permissions to writable with chmod and finally startup the setup routine by issuing the ./setup.sh command:
wget http://www.directadmin.com/setup.sh chmod 755 setup.sh ./setup.sh
After the setup routine starts you will be presented with a number of options:
1. Enter your license details (Client ID and License ID).
2. Enter your hostname
(start installation routine:)
***************************************************** * * Have you run the pre-install commands? CTRL-C if not. * http://help.directadmin.com/item.php?id=354 * ***************************************************** Please enter your Client ID : xxxxx Please enter your License ID : xxxxx Please enter your hostname \(server.domain.com\) It must be a Fully Qualified Domain Name Do *not* use a domain you plan on using for the hostname: eg. don't use domain.com. Use server.domain.com instead. Do not enter http:// or www Enter your hostname (FQDN) : xxxxx.xxxxx.com Client ID: xxxxx License ID: xxxxx Hostname: xxxxx.xxxxx.com Is this correct? (y,n) : y The following ethernet devices/IPs were found. Please enter the name of the device you wish to use: eth0 xxx.xxx.xxx.xxx eth1
3. Enter your network interface (usually ETH0). When using a Virtual Private Server (VPS) you should select the respective virtual network port:
venet0:0 (the usual option)
If you are unsure open a new window and enter the following in commandline to see which ETH adapter is using your public IP address:
Custombuild is a tool used to automatically install, configure and update the major software components of your DirectAdmin web server. The most current version of Custombuild is version 2.0, which is in a beta state. Custombuild 2.0 is currently stable enough to be used in a production environment. It adds the ability to automatically configure 2 PHP versions to be used simultaneously with support for PHP 7.x, Apache 2.4 and mod_ruid2. More Information here
(installation routine continued:)
Enter the device name: xxx Is xxx.xxx.xxx.xxx the IP in your license? (y,n) : y DirectAdmin will now be installed on: Enterprise 5.7 Is this correct? (must match license) (y,n) : y You now have 4 options for your apache/php setup. 1: customapache: end-of-life software. Includes Apache 1.3, php 4 and frontpage. 2: custombuild 1.1:end-of-life software. Apache 2.x, php 4, 5 or both in cli and/or suphp. Defaults to php 5.2 3: custombuild 1.2:Production version: Apache 2.x, php 5, 6, or both in cli and/or suphp. defaults to php 5.3 4: custombuild 2.0 BETA: Apache 2.4, mod_ruid2, php 5.5. Can be set to use php-FPM or fastcgi. Post any issues with custombuild to the forum: http://www.directadmin.com/forum/forumdisplay.php?f=61 Enter your choice (1, 2, 3 or 4): 4 You have chosen custombuild 1.2. 2011-11-11 14:47:00 http://files.directadmin.com/services/custombuild/1.1/custombuild/build Resolving files.directadmin.com Connecting to files.directadmin.com|:80 connected. HTTP request sent, awaiting response 200 OK Length: 289046 (282K) [text/plain] Saving to: `/usr/local/directadmin/custombuild/build' 100%[===========================================================================>] 289,046 855K/s in 0.3s 2011-11-11 14:47:01 (855 KB/s) `/usr/local/directadmin/custombuild/build' saved [289046/289046] Would you like the default settings of apache 2.2 and php 5 cli? (y/n): y * Using the default settings for custombuild. Would you like to search for the fastest download mirror? (y/n): y
* For a basic webserver installation selecting "Would you like the default settings of apache 2.2 and php 5 cli?" to yes works with no problem. If you'd like to have more control over what should or should not be installed set this option to N
Below you will find what options you have when setting this option to N, thus selecting a custom setup of DirectAdmin:
Would you like the default settings of apache 2.2 and php 5 cli? (y/n): N Would you like to have PHP5 or PHP6 as default? (5/6): Would you like to have PHP5? (yes/no): Would you like to have PHP5 as CLI or CGI? (cli/cgi): Would you like to have ionCube? (yes/no): Would you like to have Zend Optimizer? (yes/no): Would you like to have an ability to update/instal MySQL using CustomBuild? (yes/no): Which version of MySQL you would like to have? (5.0/5.1): Which version of Apache you would like to have? (1.3/2.0/2.2): Would you like to have an ability to update/instal Exim using CustomBuild? (yes/no): Would you like to have an ability to install Dovecot? (yes/no): Would you like to have an ability to install/update phpMyAdmin using CustomBuild? (yes/no): Would you like to have an ability to install/update SquirrelMail webmail using CustomBuild? (yes/no): Would you like to have an ability to install/update RoundCube webmail using CustomBuild? (yes/no): Would you like to have an ability to install/update UebiMiau webmail using CustomBuild (not recommended)? (yes/no): Would you like to have an ability to install/update Atmail Open webmail using CustomBuild? (yes/no): Would you like to search for the fastest download mirror? (y/n):
When the installation routine has completed, you should be ready to login to your newly installed control panel via: http://xx.xx.xx.xx:2222 (where xx.xx.xx.xx is your IP address or domain name). 2222 is the port DirectAdmin normally communicates on. It is important to keep this port open in your firewall
2.3 User Credentials
You will receive your default password at the end of the installation routine. Make sure to write it down. In case you forgot your admin password enter the following:
Alternatively, you can open the log file that was created after the installation completed. This file can be found at the following location:
3. Securing DirectAdmin
After having DirectAdmin succesfully installed it is now time to secure your server. Securing your DirectAdmin based server is outside the scope of this article. However, we recommend you read the following articles at a bare minimum:
- Setup Configserver Firewall (CSF)
- Setup ClamAV Antivirus
- Setup Spamassasin
- Setup Rootkit Hunter
- Setup Malware Detect (Maldet)
4. Updating DirectAdmin
It is very important to periodically update your server. Keeping your server updated ensures you are not affected by the various vulnerabilities that may affect your server and its users. You can update your server by issuing the following commands:
5. Custombuild Plugin
The custombuild plugin allows for easy configuration of your Directadmin server by means of a GUI.
Plugins can be easily installed by logging in to DirectAdmin as an Administrator. Head to Extra Features > Plugin Manager. New plugins can be installed by uploading a file or pointing to the correct URL in the Add Plugin section. When done press the install button.
The custombuild plugin can be downloaded here:
Dealing with RPM errors
When installing RPMs, errors can sometimes occur. Don't panic, solving them is usually easy. If you didn't know what to install during your RedHat installation, you might have installed a few services, such as apache and sendmail. These services must be removed before the rpm will be able to be installed.
For example, lets say you are trying to install exim and you get the following:
rpm -ivh exim-3.36-2.i386.rpm Preparing... ########################################### [100%] file /somefile from install of exim-3.36-2 conflicts with file from package sendmail-8.1 ...
This would mean that sendmail is already installed on your server and you must remove it. This can easily be accomplished by running the following:
rpm -e --nodeps sendmail
Then you will be able to install your rpm. This follows for other services such as apache, apache-devel, wu-ftp, php, MySQL and so forth. If you need to figure out if you already have a service installed, you can run
rpm -q servicename
rpm -qa | grep substring
Where substring is just a word. For example, using "apache" might return:
rpm -qa | grep apache apache-fp-1.3.27-2 apache-fp-devel-1.3.27-2 apache-fp-manual-1.3.27-2
If you are having trouble with RPMs hanging, please take a look at:
7. Need Help?
Should you require any further assistance or in case you have any questions about DirectAdmin, please open a ticket with our support team by logging in to your Client Account, or you can visit the DirectAdmin support forum, where you can find further documentation and FAQs.