{"id":2930,"date":"2018-06-27T07:00:50","date_gmt":"2018-06-27T07:00:50","guid":{"rendered":"https:\/\/blog.ssdnodes.com\/blog\/?p=2141"},"modified":"2025-05-18T18:59:08","modified_gmt":"2025-05-18T18:59:08","slug":"install-ajenti","status":"publish","type":"post","link":"https:\/\/www.ssdnodes.com\/blog\/install-ajenti\/","title":{"rendered":"How to install Ajenti (cPanel alternative) in Ubuntu 16.04"},"content":{"rendered":"<div id=\"preview1\" class=\"g-b g-b--t1of2 split split-preview\">\n<div id=\"preview\" class=\"preview-html\">\n<p><a href=\"http:\/\/ajenti.org\/\" target=\"_blank\" rel=\"noopener\">Ajenti<\/a> is a modern, lightweight, open source, web-based control panel for managing virtual private servers (VPS). In this article, we will install Ajenti Server Admin Panel in Ubuntu 16.04, followed by the Ajenti V plug-in for managing websites, emails, domains, and more from the panel.<\/p>\n<p>Using Ajenti, an administrator can control a Linux server from a browser with its responsive web interface, which otherwise requires the use of a terminal. Optionally, one can extend the functionalities of Ajenti using few existing plug-ins or develop a custom plugin from scratch using Python.<\/p>\n<h2><a id=\"Prerequisites_6\"><\/a>Prerequisites:<\/h2>\n<ul>\n<li>You will require a new Ubuntu 16.04 machine with at least 1 GB of RAM.<\/li>\n<li>A valid DNS name pointing its A record to the IP address of your Ubuntu machine. For example, an A record named test would point to test.DOMAIN.TLD.<\/li>\n<\/ul>\n<h2><a id=\"Notes_12\"><\/a>Notes<\/h2>\n<p>This tutorial uses variables to represent user-specific configurations, such as server IP addresses, passwords, domain names, and more. Whenever you see one of these variables, you should replace them with your specific details.<br \/>\nThe following variables are used in this tutorial: <code>SUBDOMAIN<\/code>, <code>DOMAIN<\/code>, <code>TLD<\/code>.<br \/>\nIn <code>example.ssdnodes.com<\/code>, <code>example<\/code> is the <code>SUBDOMAIN<\/code>, <code>ssdnodes<\/code> is the <code>DOMAIN<\/code>, and <code>.com<\/code> is the <code>TLD<\/code>.<\/p>\n<div class=\"cta-inline\"><\/div>\n<h2><a id=\"Step_1_Configure_the_FQDN_of_the_host_19\"><\/a>Step 1. Configure the FQDN of the host<\/h2>\n<p>To change the hostname of your system, use the <code>hostnamectl<\/code> command. <code>hostnamectl<\/code> will directly update the kernel about the change in the hostname, and you don\u2019t need to reboot the machine afterward. We\u2019re going to choose the hostname based on the subdomain we\u2019ll use to access the control panel later.<\/p>\n<pre><code>$ sudo hostnamectl set-hostname SUBDOMAIN\n<\/code><\/pre>\n<p>Next, edit the file \/etc\/hosts and add the following line at the end.<\/p>\n<pre><code>$ sudo vi \/etc\/hosts\nIP-ADDRESS SUBDOMAIN.DOMAIN.TLD SUBDOMAIN\n<\/code><\/pre>\n<p>Here\u2019s an example using a fake IP, <code>panel<\/code> as the subdomain\/hostname, and <code>example<\/code> as the domain name, and <code>com<\/code> as the TLD.<\/p>\n<pre><code>$ sudo vi \/etc\/hosts\n123.456.78.9 panel.example.com panel\n<\/code><\/pre>\n<p>Run the command below to restart network manager to apply above changes:<\/p>\n<pre><code>$ sudo systemctl restart NetworkManager.service\n<\/code><\/pre>\n<p>Check the hostname and FQDN of the host:<\/p>\n<pre><code>$ hostname\npanel\n$ hostname -f\npanel.example.com<\/code><\/pre>\n<p>Your result will be different based on your <code>SUBDOMAIN<\/code>, <code>DOMAIN<\/code>, and <code>TLD<\/code>.<\/p>\n<h1><a id=\"Step_2_Install_Ajenti_23\"><\/a>Step 2. Install Ajenti<\/h1>\n<p>The installation of Ajenti is simple and straightforward. The first step is to add the repository key from Ajenti so that the package manager can recognize the sources of Ajenti during installation.<\/p>\n<pre><code>$ wget http:\/\/repo.ajenti.org\/debian\/key -O- | apt-key add -\n<\/code><\/pre>\n<p>Next, add the Ajenti\u2019s repository data to the sources list and update\/upgrade packages in the system to make sure that you always get the latest software packages.<\/p>\n<pre><code>$ sudo echo \"deb http:\/\/repo.ajenti.org\/ng\/debian main main ubuntu\" &gt;&gt; \/etc\/apt\/sources.list\n$ sudo apt-get update &amp;&amp; sudo apt-get upgrade\n<\/code><\/pre>\n<p>Finally, install Ajenti by issuing following command from the terminal. It will take few minutes to complete the installation of Ajenti.<\/p>\n<pre><code>$ sudo apt-get install ajenti\n....\n....\n------------------------------------------------\nNow start Ajenti with 'service ajenti restart'\nAjenti will listen on HTTPS port 8000 by default\n\nDefault username : root\nDefault password : admin\n------------------------------------------------\n....\n....\n<\/code><\/pre>\n<p>Once the installation is complete, Restart Ajenti:<\/p>\n<pre><code>$ sudo service ajenti restart\n<\/code><\/pre>\n<p>The installation of Ajenti is complete! Let\u2019s access Ajenti and configure a few of its settings.<\/p>\n<h2><a id=\"Step_3_Access_Ajenti_63\"><\/a>Step 3. Access Ajenti<\/h2>\n<p>To access Ajenti, open your favorite browser and point it to the URL <code>https:\/\/SUBDOMAIN.DOMAIN.TLD:8000<\/code>. If you have not configured the domain name, then access it using IP address like <code>https:\/\/IP_ADDRESS:8000<\/code> You will be warned about an unsigned certificate, but you can add it to the exception list to continue with login to the Ajenti panel.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2142 size-full\" src=\"https:\/\/www.ssdnodes.com\/wp-content\/uploads\/2018\/06\/201806_ajenti-01.png\" alt=\"Install Ajenti: the login screen\" width=\"512\" height=\"302\" srcset=\"https:\/\/www.ssdnodes.com\/wp-content\/uploads\/2018\/06\/201806_ajenti-01.png 512w, https:\/\/www.ssdnodes.com\/wp-content\/uploads\/2018\/06\/201806_ajenti-01-300x177.png 300w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/p>\n<p>Login with user <code>root<\/code> and password as <code>admin<\/code>, and you will be redirected to the Ajenti dashboard.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2143 size-full\" src=\"https:\/\/www.ssdnodes.com\/wp-content\/uploads\/2018\/06\/201806_ajenti-02.jpg\" alt=\"Install Ajenti: the administrative dashboard\" width=\"512\" height=\"251\" \/><\/p>\n<p>Browse Ajenti\u2019s dashboard and other options from the left sidebar. You can also restart, pause, and stop Ajenti from the main page.<\/p>\n<h1><a id=\"Step_4_Using_Ajenti_76\"><\/a>Step 4. Using Ajenti<\/h1>\n<p>Once you have logged in successfully, configure few settings of Ajenti. You can try out changing the following parameters:<\/p>\n<ul>\n<li>To change the password for <code>admin<\/code>, Choose the <code>password<\/code> option from the left sidebar and then provide the values for old password, new password, and password confirmation parameters, and click <code>Save<\/code>.<\/li>\n<li>Ajenti\u2019s dashboard uses a few default widgets like memory usage, CPU usage, and so on. To add more such widgets click the <code>Add widgets<\/code> button in the top right corner of the page to have better control of what Ajenti displays by default.<\/li>\n<li>To extend the default functionalities of Ajenti, choose <code>Plugins<\/code> from the left sidebar and then click on a disabled plug-in. Install it by clicking the button in the <code>Status<\/code> column.<\/li>\n<li>Choose <code>Configure<\/code> from the left sidebar to edit your language, host, HTTPS server port, or to generate a self-signed certificate.<\/li>\n<li>Choose <code>Nameserver<\/code> from the left sidebar and click the plus symbol at the bottom of the page to add a new nameserver. Select <code>Type<\/code> as DNS Nameserver and the value as IP address of the nameserver.<\/li>\n<li>To view processes running in the system, choose <code>Processes<\/code> from the left sidebar. Don\u2019t kill or terminate a process through this interface unless you know what you are doing.<\/li>\n<li>To create new users or groups, choose <code>Users<\/code> from the left sidebar and then click either <code>+User<\/code> or <code>+Group<\/code> from the main page.<\/li>\n<li>Use <code>File manager<\/code> in the left sidebar to browse through the file system. Assign new permissions for files through this file manager. To edit a file, click the <code>edit<\/code> button. The file will open in an editor inside the panel. Make changes to the file and save it using the button at the top of the page. There are other options as well to create a new file or save it as a new name.<\/li>\n<li>Choose <code>Services<\/code> from the left sidebar to start, restart, or stop a service.<\/li>\n<\/ul>\n<h1><a id=\"Step_5_Install_Ajenti_V_90\"><\/a>Step 5. Install Ajenti V<\/h1>\n<p>Ajenti V is an add-on package to extend the functionalities of Ajenti core. As of now, it consists of packages from gunicorn, mail, MySQL, NodeJS, php-fpm, puma, pureftpd, unicorn, and NGINX. You can retain legacy PHP 5.6 support to Ajenti V by adding <code>ppa:ondrej\/php<\/code> repository to your sources list. We will keep PHP 5.6 support by adding it to the repository list.<\/p>\n<pre><code>$ sudo apt-get install -y software-properties-common\n$ sudo add-apt-repository ppa:ondrej\/php\n$ sudo apt-get update\n<\/code><\/pre>\n<p>Now install Ajenti V packages by issuing following command from the terminal:<\/p>\n<pre><code>$ sudo  apt-get install ajenti-v ajenti-v-ftp-pureftpd  ajenti-v-mail ajenti-v-mysql ajenti-v-nginx ajenti-v-nodejs ajenti-v-php5.6-fpm ajenti-v-php7-fpm ajenti-v-php7.1-fpm ajenti-v-php7.2-fpm ajenti-v-python-gunicorn ajenti-v-ruby-puma ajenti-v-ruby-unicorn\n<\/code><\/pre>\n<p>During the installation process, the package manager will prompt you to provide a MySQL root password and a confirmation for creating directories for the courier web admin. Choose <code>Yes<\/code> to create directories for the courier web admin.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2144 size-full\" src=\"https:\/\/www.ssdnodes.com\/wp-content\/uploads\/2018\/06\/201806_ajenti-03.jpg\" alt=\"Install Ajenti: configuring courier base\" width=\"512\" height=\"231\" \/><\/p>\n<p>Next, the package manager will inform you that a certificate is required for courier mail service. Press <code>Ok<\/code> to continue.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2145 size-full\" src=\"https:\/\/www.ssdnodes.com\/wp-content\/uploads\/2018\/06\/201806_ajenti-04.jpg\" alt=\"Install Ajenti: configure SSL\" width=\"512\" height=\"231\" srcset=\"https:\/\/www.ssdnodes.com\/wp-content\/uploads\/2018\/06\/201806_ajenti-04.jpg 512w, https:\/\/www.ssdnodes.com\/wp-content\/uploads\/2018\/06\/201806_ajenti-04-300x135.jpg 300w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/p>\n<p>The installation of Ajenti V will be complete within few minutes. Once done, choose <code>Services<\/code> option from the left sidebar and then click <code>Restart<\/code> icon at the end of the <code>Ajenti<\/code> row. Once the system reboots, you should log in to the panel again. You will see the newly added <code>Web<\/code> section in the left sidebar. Enable Ajenti V by clicking the <code>Enable<\/code> button.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2146 size-full\" src=\"https:\/\/www.ssdnodes.com\/wp-content\/uploads\/2018\/06\/201806_ajenti-05.jpg\" alt=\"Install Ajenti: enable the Ajenti V plugin\" width=\"512\" height=\"127\" srcset=\"https:\/\/www.ssdnodes.com\/wp-content\/uploads\/2018\/06\/201806_ajenti-05.jpg 512w, https:\/\/www.ssdnodes.com\/wp-content\/uploads\/2018\/06\/201806_ajenti-05-300x74.jpg 300w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/p>\n<p>Now that Ajenti V is installed and enabled, your admin panel suddenly has a lot more power! You can add websites, enable webmail (be sure to send in a support ticket to have us enable port 25), among many other tasks. Enjoy your newly-empowered VPS!<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>With Ajenti, you can control a Linux server from a browser instead of the terminal. This tutorial shows you how to install Ajenti in a few simple steps.<\/p>\n","protected":false},"author":20,"featured_media":2947,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[18,30],"tags":[267,246,185],"class_list":["post-2930","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops","category-tutorials","tag-ajenti","tag-cpanel","tag-ubuntu"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ssdnodes.com\/wp-json\/wp\/v2\/posts\/2930","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ssdnodes.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ssdnodes.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ssdnodes.com\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ssdnodes.com\/wp-json\/wp\/v2\/comments?post=2930"}],"version-history":[{"count":2,"href":"https:\/\/www.ssdnodes.com\/wp-json\/wp\/v2\/posts\/2930\/revisions"}],"predecessor-version":[{"id":13038,"href":"https:\/\/www.ssdnodes.com\/wp-json\/wp\/v2\/posts\/2930\/revisions\/13038"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ssdnodes.com\/wp-json\/wp\/v2\/media\/2947"}],"wp:attachment":[{"href":"https:\/\/www.ssdnodes.com\/wp-json\/wp\/v2\/media?parent=2930"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ssdnodes.com\/wp-json\/wp\/v2\/categories?post=2930"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ssdnodes.com\/wp-json\/wp\/v2\/tags?post=2930"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}