// Tutorial //

How To Install Ajenti Control Panel on Ubuntu 13.04

Published on November 12, 2013
Default avatar
By Lassi Ruonavaara
Developer and author at DigitalOcean.
How To Install Ajenti Control Panel on Ubuntu 13.04

Introduction

Ajenti is an open source web based control panel for Linux servers. It offers a graphical user interface to perform most of the actions required to configure and keep your server up to date. If you are familiar with Webmin, Ajenti is designed for the same purpose, but is simpler and easier to use. Then again, due to the fact it's simpler, it does not offer as many features. If you prefer to have a simple yet solid control panel with some eye candy, Ajenti is definitely worth checking out.

Ajenti Control Panel - Dashboard

1. Connecting To Your VPS

Establish a SSH connection to your virtual server and authenticate as root. If you prefer not to use root, you may also use "sudo su" to create a root shell

ssh root@your-ip

Download the latest package files:

apt-get update

2. Import Keys/Add Ajenti Repository

2.1. Importing the repository key

The repository key is used to validate that the package originates from the legitimate source, thus preventing the installation of possibly infected packages.

The following command downloads the key and automatically adds it to your system.

wget http://repo.ajenti.org/debian/key -O- | apt-key add -

2.2. Adding the APT repository

The following command can be used to add the repository to your sources.list

echo "deb http://repo.ajenti.org/ng/debian main main ubuntu" >> /etc/apt/sources.list

OR, if you prefer, you can also open /etc/apt/sources.list with your favourite text editor, and paste the repository url there.

nano /etc/apt/sources.list

Navigate to the end of the file and paste the following line

deb http://repo.ajenti.org/debian main main debian

Save the changes (ctrl+o) and exit (ctrl+x).

3. Installing Ajenti

Update the package sources and install ajenti package.

apt-get update && apt-get install ajenti -y

Start Ajenti by executing the following command

service ajenti restart

If you are using a firewall, please open port 8000 to enable access to the control panel.

4. Login to Ajenti

Open your web browser and navigate to https://yourdomain.com:8000 or https://your-ip:8000

You will most likely receive a warning indicating that there is an issue with the server's certificate. This is not dangerous, it just means that the certificate used was not issued by a reliable party, as it was self-generated. If you already have a trusted certificate, you may use it instead. That is, however, outside the scope of this tutorial. You are also offered an option to disable SSL, but it is recommended to keep it enabled, as with SSL your traffic will be encrypted and login credentials are not submitted in plan text.

The default login credentials:

Username: root

Password: admin

5. Configuring Ajenti

Once you have logged in, the first step is to change the root user's password. To do this, navigate to the "Configure" menu.

Click "Change password" on root account and write a new password.

Change password

You may also create a new user and select which features you would like to grant the user access to. To do this, first click "Create", then set the name by clicking "unnamed" and writing the new name, and lasty click the icon on the left from the name to set the permissions.

Create user

Once done, click "SAVE" on the top of the page.

If you altered any other settings, also remember to apply the changes by restarting the control panel.

Customising Ajenti

Dashboard can be used to display a lot of useful information at once. By default, only a welcome widget is shown. You may remove widgets by grabbing from the dotted area and dragging them down.

You can add new widgets by clicking "Add widget", and drag them to the position you would like them to be.

Ajenti Control Panel - Dashboard

Plugins

Most of Ajenti's functionality is offered by the plugins. There are already many plugins available, and the number of plugins available increases as time passes.

You can view and install more plugins on the "Plugins" page. Some of the plugins are disabled by default, most likely because the application they are used to control is not installed. If you later install an application which Ajenti has a plugin for, restart the Ajenti control panel and it should be enabled.

Setting Up a Website

Ajenti control panel can be used to install and configure your web server, and finally upload the website.

LAMP (Linux Apachhe MySQL PHP) is the most common web server setup for Linux at the moment. There are other alternatives, such as Nginx and Lighttpd, but only Apache will be covered in this tutorial.

Installing the web server

  1. Click "Packages" in the menu and then select the "Search" tab.
  2. Type "apache2" to the text field and click "Search". Find "apache2" on the list and click the tick icon to select the package. You should choose apache2:amd64 if your server is 64-bit, otherwise apache:i386.
  3. Type "php5" to the text field and click "Search". Find "php5:all" on the list and click the tick icon.
  4. Type "mysql-server" to the text field and click "Search". Find "mysql-server:all" on the list and click the tick icon.
  5. Install the packages by clicking the "Apply" button. This will open a new tab in the control panel, and you should write y and press enter when asked in the new tab.
  6. You will be asked to set the password for the root (admin) user of MySQL. Write a password and click enter, and do the same when you are asked to confirmed the password.
  7. Once the installation is complete, the terminal tab will be automatically closed.
  8. Your website is now live and may be accessed by using your IP or domain on a web browser.

Restart Ajenti

The web server is now installed, but not shown by Ajenti, as the plugins are updated upon restart.

  1. Click "Configure" on the menu
  2. Click "Restart" to restart Ajenti control panel and enable the plugin

You will have to log in again, and then Apache will appear on the menu, where you can start, stop, reload, restart and configure Apache.

Upload your website

Ajenti has a file browser, but it is much more effective and easier to use SFTP to upload your files. FileZilla is the most commonly used client, but you may use any SFTP client you like.

  1. Connect to sftp://your-ip, and enter the username and password of the root user when asked.
  2. Navigate to folder /var/www
  3. Delete index.html from the directory
  4. Drag the files from your local file browser (Explorer) to the remote folder on Filezilla, and wait for all upload to finish.

In this tutorial, we will upload a test file called info.php to check that both Apache and PHP are installed and working.

Contents of index.php:

<?php
phpinfo();
?>

You may use any text editor on your local computer, save it as info.php and upload it to the web root (/var/www), or alternatively you can use the command line like shown below.

nano /var/www/index.php

Once the file is created and the editor opens up, paste the php code shown above, press ctrl + x and when you are asked whether to save the file or not, press y to confirm.

Now that the file has been saved, navigate to http://your-ip, and you should see a white page with text "Yay, the web server works!". If this is the case, you have succeeded installing the web server. If the page does not respond, or the text is not shown, make sure you followed all the steps, and that the server firewall allows connections on port 80 and 443.

You may update the website by uploading new files or editing the existing ones at any times using SFTP or SSH client.

Screenshots

Filesystems

Filesystems

Cron jobs

Cron jobs

Package management

Package management

Services

Services

Processes

Processes
Submitted by: Lassi

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in our Questions & Answers section, find tutorials and tools that will help you grow as a developer and scale your project or business, and subscribe to topics of interest.

Sign up
About the authors
Default avatar
Developer and author at DigitalOcean.

Still looking for an answer?

Was this helpful?
10 Comments

Webmin link seems to be broken.

I want to install Ajenti but I am already running my ubuntu 14.04 LTS server (not a fresh install), how can I install it without compromising(losing) my data and databases. Can it manage my already running databases, websites, etc. Thanks.

I have successfully installed ajenti on Ubuntu server 14.04 by this manual.

http://support.ajenti.org/topic/349864-installing-on-debian/

TL;DR wget -O- https://raw.github.com/Eugeny/ajenti/master/scripts/install-debian.sh | sh

I searched all of digital ocean articles and couldn’t find something for installing ajenti on centos. Luckily i found this tutorial at RH. I appreciate the effort for this article.

I installed but when entering https https://mydomain.com:8000 or my-ip:8000 browser gives error:

The connection has been reset

The connection to the server was reset while the page was loading.

Any solution? I followed all the steps.

Are you able to see the login page but can’t go further?

There is currently a bug preventing Ajenti from loading in Safari. If that’s your problem, try with another browser like Chrome. They’re going to fix that bug soon.

https://github.com/Eugeny/ajenti/issues/378

<pre> ~# netstat -an | grep -P ‘:‘8000’’ tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN
</pre> Ajenti is not listening, I am using LEMP on ubuntu 14.04 Accesing through :8000, and nothing happens.

Help please :v

I see I can monitor, somehow, bandwidth with the “traffic” widget. For how much time does it display the stats? Last day? Week? Month? Forever? Can’t seem to find a proper answer anywhere…

You should update the tutorial so it says “sudo echo “deb http://repo.ajenti.org/ng/debian main main ubuntu” >> /etc/apt/sources.list” instead of “sudo echo “deb http://repo.ajenti.org/debian main main debian” >> /etc/apt/sources.list”

Same as @rbezarevic, everything installed fine, but when I go to https://localhost:8000 it just tries to connect forever and does not. Same when I try distant https://ip:8000. My install went fine and the service is running, no idea why it’s not working.