When we think about a web panel to control a server, we usually think about Webmin, cPanel or Plesk. But many more exists.
Ajenti is an open source web control panel that provides through a responsive and elegant web interface, several features to manage your server.
It comes with several plugins (built-in) to control several important services of your server such as Apache oor Nginx, MySQL, FTP, but also Cron, Samba, Squid, firewall, etc… and many more.The installation is very simple (Thanks to their script) and adapted for your own distribution.Here is how to install it on Debian. (If you wish to install it on another distribution, I suggest you to check with Download page and their support page.
Lucky for us, everything is available on their repository and their installation script will do everything in fact!
1) Run the script
So simply download and run their Debian installation script (Any where you want, in your /home/user for example).
In root (or with sudo), run:
cd /home/user wget -O- https://raw.github.com/Eugeny/ajenti/master/scripts/install-debian.sh | sh
2) Restart the instance
Still in root:
service ajenti restart
3) Access the admin page
Point your web browser to https://YourIP:8000
The default admin user/password is root///admin
You can now customized your dashboard with additional widgets.
How about now to set up a sub-domain instead of using the port 8000? Here is how to do it.
What you will need:
1) Create a A redirection in your DNS server/registrar with aj.domain.tld to your IP
2) Install mod proxy html
You will need to install the following packages in root:
apt-get install libapache2-mod-proxy-html
3) Have SSL certificate ready. If not you can read this tutorial. (Optional)
4) Create your virtualhost as following:
In /etc/apache2/sites-enabled/, create a file called ajenti (In root):
and paste the following content:
<VirtualHost *:80> ServerAdmin email@example.com ServerName aj.domain.tld Redirect / https://aj.domain.tld </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> SSLEngine on SSLCertificateFile /etc/ssl/certs/myblog.pem SSLCertificateKeyFile /etc/ssl/private/myblog.key ServerAdmin firstname.lastname@example.org ServerName aj.domain.tld ProxyRequests Off Order deny,allow Allow from all ProxyPass / https://localhost:8000 ProxyPassReverse / https://localhost:8000 </VirtualHost> </IfModule>
Adapt the content (Servername, webmaster email, SSL certificate,…)
When done, save the file (CTRL+X then Yes) and reload apache: (In root)
If no issue (If there is, let me know), you should be able to access to your Ajenti instance through aj.domain.tld that will redirect it to HTTPS connection and 8000 port.