Artikel mit Tag adminpanel

Admin Panels Part1: Ajenti - Mit Python zur einfachen Serververwaltung

Für eine einfache und übersichtliche Linux Server Verwaltung greifen viele zu Admin Oberflächen. 
Diese erleichtern Administratoren den Überblick und ermöglichen anderen Nutzer beispielsweise Leistungsdaten abzufragen, Dienste zu starten oder Skripte auszuführen.
Auf dem Markt existieren viele solcher Tools, einige davon möchte ich hier in einer fortlaufenden Serie vorstellen. Den Anfang macht

Ajenti

ajenti

Das Tool ist in Python geschrieben und in einer freien und professionellen Version verfügbar. Wobei die freie Version von jedem gentutzt werden kann, lediglich für das Einbetten in Hardware wird eine Lizenz fällig.

Das Admin Panel bietet dank API und Plugins viele Erweiterungsmöglichkeiten. Neuester Streich ist Ajenti V, welches sich als Webhosting Modul präsentiert, momentan aber noch in einer Beta Phase steckt.

ajenti-funktionen

Ajenti selbst stellt in einer übersichtlichen Menüleiste Systemdaten, Software. Werkzeuge und Tools zur Verfügung, welche sich individuell für Nutzer zusammenstellen lassen. Diese werden dann auf dem Dashboard eingeblendet (siehe Screenshot).

Die Bedienung ist selbsterklärend. Verpflichtend sollte aber im ersten Schritt das Standardpasswort angepasst werden. Wer keine anonymen Daten senden möchte, sollte auch diesen Punkt in der Benutzerverwaltung deaktivieren.

Ajenti in Ubuntu installieren

Das Admin Werkzeug ist für die bekannten Linux Distributionen (Debian, CentOS, FreeBDS) erhältlich und lässt sich relativ leicht installieren.

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

echo "deb http://repo.ajenti.org/ng/debian main main ubuntu" | sudo tee -a /etc/apt/sources.list

sudo apt-get update && sudo apt-get install ajenti

Ajenti kommt von Haus aus mit HTTPS auf Port 8000, darum muss während der Installation ein Zertifikat generiert werden.

:: Generating key

Generating RSA private key, 2048 bit long modulus
..............................................................................................+++
...........................................+++
e is 65537 (0x10001)

:: Generating certificate request


:: Removing passphrase

writing RSA key

:: Generating certificate

Signature ok
subject=/C=US/ST=NA/L=Nowhere/O=Acme Inc/OU=IT/CN=ajenti.example.de
Getting Private key
:: SSL configured!
------------------------------------------------
Now start Ajenti with 'service ajenti restart'
Ajenti will listen on HTTPS port 8000 by default

Default username : root
Default password : admin

Nun noch ein Neustart und fertig ist die frisch gebackene Admin Oberfläche, welche unter https://ajenti.example.de:8000 erreichbar ist.


sudo service ajenti restart

Stopping Ajenti:
 * stopped
Starting Ajenti:
17.06.2015 14:54 INFO  Using config file /etc/ajenti/config.json
 * started

Wie der Ausgabe oben zu entnehmen ist können in der Datei config.json weitere Konfigurationen vorgenommen werden.


Ajenti lässt sich ebenfalls hinter einem Apache oder Nginx betreiben.

Apache und Ajenti

Folgende Module samt Konfiguration werden auf einem Apache benötigt.

sudo a2enmod proxy proxy_connect proxy_http headers

Durch den absoluten Ajenti Pfad, stellt die Apache Konfiguration keine große Herausforderung dar.

RequestHeader set Origin http://localhost:8000
ProxyPass /ajenti http://localhost:8000/
ProxyPassMatch ^/(ajenti:.*)$ http://localhost:8000/$1
ProxyPassReverse /ajenti /

Nginx und Ajenti

Gleiches gilt für für die Server Konkurrenz Nginx, auch hier ist ein Betrieb einfach umzusetzen

server {
    client_max_body_size 20m;

    location ~ /ajenti.* {
        rewrite (/ajenti)$ / break;
        rewrite /ajenti/(.*) /$1 break;
        proxy_pass http://127.0.0.1:8000;
        proxy_redirect / /ajenti/;
        proxy_set_header Host $host;
        proxy_set_header Origin http://$host; 
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $http_connection;
    }
}

Weitere Installations und Arbeitstipps lassen sich in der Dokumentation finden.

Fazit

Ajenti wirkt aufgeräumt und bringt dank seines Python Backend keinen unnötigen Balast mit auf den Server. Es ist zwar nicht ganz so schlank, wie das im Frühjahr vorgestellte Linux Dash, beherrscht dafür aber den direkten Eingriff aufs System und bietet somit um ein vielfaches mehr Möglichkeiten.Wer nur auf Performance Daten aus ist, der sollte auf das bereits erwähnte Linux Dash zurückgreifen.

 

ajenti


Das könnte dich auch interessieren

Linux Dash - Schlanke Server Überwachung auf Ubuntu installieren