In this post, we are going to guide you through the DirectAdmin installation on a Dedicated server or a VPS. If you prefer the auto-installation, read the “DirectAdmin Control Panel Auto-Installation” post.
As you might know, DirectAdmin is the second most famous web control panel for Linux. It means that, in the web control panels rating, DirectAdmin comes right after Cpanel which is the most famous web control panel for Linux.
Type of Server’s IP matters…
Please note that DirectAdmin installation can vary depending on the IP you have set on the server. In this post, we are explaining the installation on servers with regular IPs. In future posts, we are going to explain about servers with NAT IPs.
- The operating system should be correctly installed on your server and there shouldn’t be any other Control panels installed on it.
- You need at least one external IP.
- SSH should be installed and you must be able to log in as root.
Check your DirectAdmin License
Go to the client area on Directadmin.com and check your license information and status. This is because your license should be active and verified.
Install these services via the following commands: (Make sure that you are copying the correct command that matches your OS)
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
pkg_add -r gmake perl
To start the DirectAdmin installation, Connect to your server using SSH and log in as root. Now download the setup.sh file using the following command:
Change the permissions of the setup.sh file:
chmod 755 setup.sh
Install and run the script:
Enter the required information such as license, hostname and client ID in the following command.
Attention! Your hostname should actually be a fully qualified domain name (FQDN) is the complete domain name for a specific computer, or host, on the internet. The FQDN consists of two parts: the hostname and the domain name. For example, the hostname can be something like this: anything.airoserver.com
(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
After the DirectAdmin installation is complete, you can check which device is using your IP.
Please note that the default device name on a VPS is eth0. So, if your device name is eth0 there are no further needed actions from you. but if it is something else, follow these steps:
Add ethernet_dev=devicename. You can usually set a number as the device name for a VPS. For example: ethernet_dev=eth0:1 or ethernet_dev=eth1
In case you are using OPENVZ virtualizer, set venet0:0 as your device name.
In this step, Direct admin suggests some packages to you and you can choose the one that matches your needs.
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
If your answer to the following question (would you like the default setting of apache 2.2?) is No (“N”), you can do the configuration manually.
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):
DirectAdmin can be accessed at http://server’saddress:2222.
The default port for DirectAdmin is 2222. So, in case you couldn’t connect to DirectAdmin, it might be the firewall is preventing the connection. To solve this, you can disable the firewall:
Use the username and the password which are created in setup.txt file in the script directory.
You can use these commands to update your DirectAdmin:
RPM Installation and Troubleshooting:
The first step of the RPM installation is making sure that apache and Sendmail are not previously installed. If either one of these is already installed, you will see this error:
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 ...
If the error is because Sendmail has been installed, use the following command:
rpm -e --nodeps sendmail
You can also use the command above for other services such as MySQL, PHP, wu-ftp, apache-devel, and apache. At last, you can check your service installation, using the command below:
rpm -q servicename
rpm -qa | grep substring
As an example, if you replace the words “substring” and “service name” with “apache” if the apache installation is complete, you will see this message:
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 enjoyed this post, you can visit our Blog for more!