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.
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
Download the latest package files:
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.
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
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:
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.
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.
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.
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.
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
- Click “Packages” in the menu and then select the “Search” tab.
- 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.
- Type “php5” to the text field and click “Search”. Find “php5:all” on the list and click the tick icon.
- Type “mysql-server” to the text field and click “Search”. Find “mysql-server:all” on the list and click the tick icon.
- 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.
- 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.
- Once the installation is complete, the terminal tab will be automatically closed.
- Your website is now live and may be accessed by using your IP or domain on a web browser.
The web server is now installed, but not shown by Ajenti, as the plugins are updated upon restart.
- Click “Configure” on the menu
- 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.
- Connect to sftp://your-ip, and enter the username and password of the root user when asked.
- Navigate to folder /var/www
- Delete index.html from the directory
- 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.
Once the file is created and the editor opens up, paste the php code shown above, pressctrl + 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.