Die Installation von pd-admin ist simple, kann aber durchaus die Eine oder andere Tücke bieten. Daher zeige ich hier die Installation von pd-admin auf einer VirtualBox Maschine analog zu meinem Server von cajus.name auf.
Update 2016-08-08
kleinere Änderungen, Hinweis für Pakete von 32-bit und 64-bit Systemen, Hinweis auf pdadmin-forum.de
Inhalt
Verwendete Software
Pre-Installation
Partitionierung
pd-admin bietet eine eigene Serverumgebung (kurz SE) mit an. Auch wenn diese Optional ist, so empfehle ich die SE mit zu installieren. Die SE wird regelmäßig mit Updates versorgt und ist somit immer aktuell.
Die SE wird unter /usr/local/pd-admin2
installiert. Es sollte also darauf geachtet werden, dass die Partition ausreichen Platz bietet. Auf cajus.name ist der Ordner aktuell rund 1.7 GB groß.
pd-admin wird unter /opt/pd-admin
installiert. Hier beträgt die Ordnergröße rund 275 MB.
Die Nutzerdaten, Mailboxen, sowie die Daten von MySQL werden unter /home
gespeichert. Auch hier sollte die Partition entsprechend groß dimensioniert werden.
Netzwerkkonfiguration
Der Hostname ist vorher zu konfigurieren und auf muss die IP des Servers auflösen. Der Hostnamen sollte ein FQHN (Fully-Qualified Host Name) sein und kann mit folgendem Befehl gesetzt werden
[root@server01 ~]# hostnamectl set-hostname server01.example.net
Als Hostname sollte kein Domainname verwendet werden, welcher später noch für Webseiten verwendet werden soll. Nimmt man z.B. www.example.net,
so würde man immer zu pd-admin gelangen und nicht zur angelegten Webseite. Dies hat damit zu tun, dass in der httpd.conf
die Konfiguration für pd-admin immer VOR den vHosts kommt.
Das System
Tipp:
Auf frischen CentOS Installationen sollte man ruhig das EPEL Repository hinzufügen
[root@server01 ~]# yum install epel-release
Dies ist für pd-admin aber nicht zwingend notwendig ;-)
Als Erstes sollte man die Aktualisierung des Systems vornehmen
[root@server01 ~]# yum update
Da hierbei oft auch der Kernel ein Update bekommt, führe ich im Anschluss ein Reboot durch damit der aktuelle Kernel geladen wird. Als nächstes werden dann die Pakete installiert, welche für die Installation von pd-admin benötigt werden
[root@server01 ~]# yum -y install wget patch groff make gcc gcc-c++ glibc-devel psmisc libstdc++-devel zlib-devel zlib.i686 libgcc.i686 ncurses-libs.i686 glibc.i686 ImageMagick rrdtool net-tools iptables-services
Hinweis: Bei 64-bit Systemen werden die 32-bit Librarieslibgcc.i686
undzlib.i686
für die Installation benötigt. Bei 32-bit Systemen sollten diese automatisch als Abhängigkeiten der übrigen Pakete mitinstalliert werden.
Die Pakete werden auch im pdadmin-forum.de empfohlen.
Zu guter Letzt muss noch die /etc/my.cnf
verschoben werden.
[root@server01 ~]# mv /etc/my.cnf /etc/my.cnf.bk
Dies ist notwendig, da sonst der Installer mit folgendem Fehler abbricht
ERROR: Please rename /etc/my.cnf!
exiting ...
INSTALLATION
Legen wir nun mit der Installation los! Zunächst laden wir uns pd-admin herunter, entpacken die Datei und wechseln in das Verzeichnis. Unter dem angegeben Link erhält man immer die aktuellste Version von pd-admin
[root@server01 ~]# wget http://www.pd-admin.de/download/pdadmin_v4.tar.gz
[root@server01 ~]# tar xzf pdadmin_v4.tar.gz
[root@server01 ~]# cd pdadmin
Nun können wir den Installer starten
[root@server01 pdadmin]# ./install-all.sh
Der Vollständigkeit halber sei hier erwähnt, dass man verschiedene Reihen auswählen kann mit install-all.sh [ -s Reihe ] Folgende Reihen werden angeboten 1 - für i686, mit MySQL 4.1 2 - für i686, mit MySQL 5.0 3 - für i686, mit MySQL 5.1 4 - für x86_64, mit MySQL 5.5 Gibt man nichts an wird Reihe 4 per default gewählt.
Nach Ausführung von install-all.sh
werden zwei Dinge abgefragt. Ob wir die Lizenzbedingungen von providerdienste.de akzeptieren und ob wir die SE installieren möchten.
Da wir schließlich pd-admin installieren und nutzen möchten, akzeptieren wir die Lizenzbedingungen mit einem „j“. Die Installation der SE kann mit „Enter“ bestätigt werden.
####################################################### # # # Willkommen bei der Installation von pd-Admin 4.27 # # # ####################################################### Build: 2460 Installer: $Revision: 1.25 $ Erkennen Sie die Providerdienste.de Lizenzbedingungen fuer den Betrieb der Software pd-Admin an (j/n) [N]? j Möchten Sie die Server-Umgebung (SE) installieren? (j/n) [j]? Enter
Nun wird die Serverumgebung Reihe 4 herunter geladen. Ist dies geschafft beginnt die Konfiguration mit Abfrage einiger Konfigurationsparameter
100%[====================================================================>] 535,623,512 4.40MB/s in 3m 18s 2016-07-18 20:59:39 (2.58 MB/s) - 'se-4-0.272.tar.gz' saved [535623512/535623512] Entpacke Server-Umgebung. Bitte haben Sie etwas Geduld. USERADD=useradd -M ** Eigentümer ändern auf root ** ** user mysql einrichten ** ** Eigentümer ändern auf mysql für var/mysql ** ** PostgreSQL vorbereiten ** ** user dovecot und dovenull einrichten ** ** DocumentRoot einrichten ** ** phpMyAdmin vorbereiten ** ** phpPgAdmin vorbereiten ** ** Gruppe/Benutzer squirrel anlegen** ** Eigentümer/Berechtigungen von squirrelmail anpassen** ** Gruppe/Benutzer rndcbml anlegen** ** Eigentümer/Berechtigungen von roundcubemail anpassen** ** Gruppe/Benutzer rcm11 (Roundcube 1.1.x) anlegen ** ** Eigentümer/Berechtigungen von roundcubemail anpassen ** ** Berechtigung für share/clamav ändern ** ** user/group simscan/simscan einrichten ** ** Eigentümer ändern auf clamav für share/clamav ** ** suidperl wird erzeugt ** ** cgiwrap setuid ** ** Berechtigungen für Apache-Logfile-Verzeichnis ** ** Berechtigungen für Apache-Conf-Verzeichnis ** ** Berechtigungen für UPDATE.INF-Verzeichnis ** ** Berechtigungen für awstats-Verzeichnis ** ** Verzeichnisse für mod-pagespeed ** ** Ausführungsberechtigung zurückgesetzt ** ** User/Gruppen für qmail ** ** Berechtigungen für /var/qmail/owners/... ** MySQL wird angefahren ... Konfiguration des Webservers ---------------------------- Hostname [server01.example.net]: Enter verwende server01.example.net IP-Adresse [192.168.2.190]: Enter Bitte geben Sie eine E-mail-Adresse an, an die alle Nachrichten für den Postmaster und den Superuser (root) zugestellt werden sollen. Eingabe : info@example.net Wiederholung: info@example.net
Wurde anfangs alles richtig konfiguriert, muss hier nur noch mit Enter bestätigt werden. Man kann aber auch einen anderen Hostnamen angeben. Hat der Server mehrere IPs, kann hier auch eine bestimmte IP angegeben werden. Nachdem man die Mailadresse eingegeben und bestätigt hat, fängt das Skript an die Serverumgebung auf dem System zu kompilieren. Hier muss man nicht alles mitlesen, es sollte nur auf mögliche Fehlermeldungen geachtet werden. Aber an und für sich sollte alles problemlos durch laufen.
Interessant wird es dann wieder nach dem Kompilieren. Denn nun kommen einige Zeilen mit generierten Passwörtern, welche man sich notieren sollte. Das MySQL Root Passwort kann unter /opt/pdadmin/etc/mysql_rootpw.conf
nachgeschaut werden. Es muss dazu ein wenig in der Konsole gescrollt werden
[...] Teste Verbindung zur MySQL-Datenbank...Erfolgreich. Setze root-Passwort fuer MySQL-Datenbankserver auf 'abcdefgh'. Speichere MySQL root-Passwort in /opt/pdadmin/etc/mysql_rootpw.conf Setze Passwort fuer Datenbank-Benutzer vadmin: 'abcdefgh' [...] phpMyAdmin wird eingerichtet ... Kanonischer ServerName server01.example.net für phpMyAdmin Richte MySQL-Benutzer 'abcdefgh' als Control-User ein. Fertig. [...] RoundCube Webmail wird eingerichtet ... Richte MySQL-Benutzer 'abcdefgh' als DB-User fuer roundcubemail ein. [...]
Am Ende muss man noch zwei Befehle auszuführen
Bitte führen Sie nun einmalig das script /opt/pdadmin/bin/create_reseller.pl und anschließend das script //opt/pdadmin/bin/httpd_vhosts.pl aus.
[root@rt pdadmin]# /opt/pdadmin/bin/create_reseller.pl "Ein Reseller"
LoginID: reselebe, Password: abcdefgh
[root@rt pdadmin]# /opt/pdadmin/bin/httpd_vhosts.pl
Writing /usr/local/pd-admin2/conf/httpd.conf
Geschafft! Jetzt besitzt man eine lauffähige pd-admin Instanz und kann sich mit dem Reseller Account anmelden
http://server01.example.net/administrator
Fragen, Anregungen oder Kritik gerne in die Kommentare.