Installation von ispCP auf einem Debian Etch Webserver 1. Aktualität des Systems ---------- Zuerst sollte man mittels apt-get update && apt-get upgrade sein System auf den aktuellsten Stand der Dinge bringen. Da ich hier von einer Grundinstallation ausgehe (Minimal-Installation), sollte der Vorgang je nach Netzwerk schnell vonstatten gegangen sein. Wenn die Installation oder das Recovery-Image aktuell ist, sollte das dann so aussehen: 2. Installation des favorisierten Editors ---------- Ich bevorzuge den Midnight Commander, daher muß ich diesen erst noch mittels apt-get install mc nachinstallieren. Je nach Favorit dies ggf. an den eigenen Editor seines Vertrauens anpassen. 2.1 Anpassung der Sources ---------- Unter Debian müssen je nach Image die Sources in /etc/apt/sources.list angepaßt werden: mcedit /etc/apt/sources.list # Sources für die Installation allgemeiner Pakete, diese sollten um “non-free” ergänzt warden! deb http://ftp.uni-bayreuth.de/linux/Debian/debian/ etch main non-free contrib deb-src http://ftp.uni-bayreuth.de/linux/Debian/debian/ etch main non-free contrib # Sources für wichtige Updates deb http://security.debian.org/ etch/updates main contrib non-free deb-src http://security.debian.org/ etch/updates main contrib non-free dann mit F2 speichern, mit F10 schließen. Anschließend ein apt-get update && apt-get upgrade , und alles sollte im Lot sein. 3. Hostname des Systems prüfen ---------- Jetzt sollte man noch prüfen, welcher Hostname für das System verfügbar ist, denn z.B. bei Hetzner ist dieser alles andere als ausreichend für eine Installation von ispCP. mcedit /etc/hostname Hier sollte dann ein Name mit mindestens einem Punkt drin stehen (etch.local, debian.loc, oder irgendetwas Ähnliches). Bei Hetzner ist das Image leider etwas schlechter präpariert; hier müssen wir folgende Eintragung machen, um ispCP ohne Fehlermeldung installieren zu können: deine-ip-adresse-rootserver.clients.your-server.de Mittels F2 weisen wir mc an, zu speichern, und mit F10 schließen wir ihn wieder. Alternativ geht das auch mit einem Mausklick auf die entsprechenden Schaltflächen am unteren Rand. Das Ganze müssen wir dann auch für die Datei /etc/hosts nachholen. mcedit /etc/hosts Hier sollte dann gleich in der ersten Zeile so etwas in der Art zu finden sein: 127.0.0.1 localhost [hier der Eintrag von /etc/hostname] Wenn nicht, ausbessern, und mittels reboot das System zur Übernahme der neuen Daten bewegen. Nach dem Reboot sollte auch der angezeigte Name auf der Konsole dem Eintrag in /etc/hostname entsprechen! 4. Installation der nötigen Komponenten mittels Paket-Manager ---------- Um ispCP reibungslos installieren zu können, sind folgende Pakete nötig, welche mittels apt-get install apache2 apache2-mpm-worker apache2.2-common apache2-utils bind9 bzip2 courier-authdaemon courier-base courier-imap courier-maildrop courier-pop diff dnsutils gcc postgrey gzip iptables libapache2-mod-fastcgi libberkeleydb-perl libc6-dev libcrypt-blowfish-perl libcrypt-cbc-perl libcrypt-passwdmd5-perl libdate-calc-perl libdate-manip-perl libdbd-mysql-perl libdbi-perl libio-stringy-perl libmail-sendmail-perl libmailtools-perl libmcrypt4 libmd5-perl libmime-perl libnet-dns-perl libnet-netmask-perl libnet-perl libnet-smtp-server-perl libperl5.8 libsasl2 libsasl2-modules libsnmp-session-perl libterm-readkey-perl libterm-readpassword-perl libtimedate-perl libmysqlclient15off make mc mysql-client mysql-common mysql-server original-awk patch perl perl-base perl-modules php4 php4-cgi php4-gd php4-mcrypt php4-mysql php4-pear php5-cgi php5-gd php5-imap php5-mcrypt php5-mhash php5-mysql postfix postfix-tls postgrey procmail proftpd-mysql rar rkhunter sasl2-bin ssh tar unrar unzip wget zip installiert werden. Weitere Pakete, um Abhängigkeiten aufzulösen, werden automatisch mitselektiert/installiert. Zugegeben, das sind nicht alle zwingend, jedoch sind manche für einen Betrieb als Webserver für Webhosting mit Kunden mittlerweile nötig geworden (besonders zip und unzip, habe ich festgestellt). Weitere Pakete einfach ergänzen. 5. Konfiguration bei der Installation ---------- Während der Installation treten nur X Fragen auf, die eine manuelle Beantwortung benötigen. Das Springen in den einzelnen Dialogen erfolgt mit der Tabulator-Taste, die Auswahl/Bestätigung selbst mit der Enter/Return-Taste. a) die Frage nach Ordner für webbasierter Administration, diese ist mit nein/no zu beantworten b) für welchen Verwendungszweck Postfix installiert wird, hier mit Internet Site antworten. c) der Mailname, hier bitte alles löschen, und root eingeben d) libc-client, hier yes/ja auswählen e) ProFTPd, hier standalone wählen 6. MySQL Passwort setzen ---------- Bei der Installation werden noch einige Passwörter gefragt; zugegeben, besser wäre es, für alle Sachen ein anderes Pwd zu verwenden, und diese dann irgendwo zu notieren. (wenn Ihr das wollt, nur zu) Da ich meinen Server aber später absichern werde, lasse ich hier die Sicherheits-Policy ein wenig schleifen... /usr/bin/mysqladmin -u root password XXXXXX wobei XXXXXX für ein relativ gutes Passwort stehen sollte. 7. Laden der Sources von ispCP ---------- Das aktuellste Paket ist unter: http://www.isp-control.net/download.html zu finden; da dieses Tutorial hier noch keine FINAL-Version hatte, greifen wir auf den letzten daily snapshot zurück. wget http://www.isp-control.net/downloads/snapshots/ispcp-omega-trunk-20070609.tar.bz2 Bitte den Link anpassen, da daily snapshot; ergo das ist/war am 09.06.2007. Jetzt entpacken wir das Archiv mittels tar -xjvf ispcp-omega-trunk-20070609.tar.bz2 Bitte auch hier wieder die aktuelle Version anpassen! 8. Installation ---------- Nun in das Verzeichnis wechseln mittels: cd web/svn/nightly Mit einem make install sollte man dann alles soweit für eine Installation bekommen. Hier dürften nach der oben genannten Step-by-Step-Anleitung keine Fehlermeldungen kommen; falls doch, mal ins Forum gucken, vielleicht hat sich ein bereits gemeldetder Bug eingeschlichen. Alternativ versuchen, die Fehlermeldungen selbst aufzudröseln, oder komplett von vorne beginnen. 9. Verschieben der Dateien in die entsprechenden Verzeichnisse ---------- Mit einem cp -Rv /tmp/ispcp-1.0.0/* / kopieren wir die Dateien aus dem temporären Verzeichnis nach /. Der Inhalt von /tmp/ispcp-1.0.0 ist schon entsprechend vorbereitet: Ich bevorzuge es, jetzt schon ein wenig aufzuräumen; mittels rm -R web rm ispcp-* kann man jetzt schon Archiv und seinen entpackten Inhalt löschen. Dies hat einen Vor- als auch Nachteil. Vorteil: - System ist sauber, kein "Müll" im Root-Verzeichnis Nachteil: - wenn mal was schief geht, hat man keine Original-Dateien mehr, um nachzusehen, woran es lag. Ich denke aber, der Vorteil überwiegt hier, da ich Ordnung liebe. 10. Setup von ispCP ---------- So, jetzt in das Verzeichnis /var/www/ispcp/engine/setup mittels cd /var/www/ispcp/engine/setup wechseln, und dann mit ./ispcp-setup die eigentliche Installations-Routine starten. 11. Fragen, die bei der Installation auftreten ---------- Nun, wie bereits oben geschrieben, je nach dem, welche Sicherheitslinie (sehr stark bis moderat) man verwendet, sollte man hier entweder immer ein anderes Passwort verwenden, oder das vorher beim MySQL-Server verwendete. a) Die erste Frage ist der Domain-Name. Hier sollte schon das passende vorgegeben sein, wenn nicht, wurde oben bei /etc/hostname wohl ein Fehler gemacht... Wenn hier der richtige Name drin steht, einfach mit Enter/Return bestätigen; dies gilt im Übrigen für alle Fragen. Standardmäßig sollte immer schon der richtige Wert angezeigt werden. b) Als zweites wird die IP-Adresse abgefragt, entweder okay, oder korrigieren. (wie schon mal geschrieben, ispCP sollte immer den korrekten Wert anzeigen) c) Drittens wird das Verzeichnis abgefragt, welches zur Administrations-Oberfläche zeigt. Entweder so lassen, empfohlen, weil einfach zu merken, oder anpassen. d) Viertens wird der MySQL-Server gefragt, localhost sollte drinstehen, und wenn man die DB nicht woanders auslagern will, so sollte das auch gut sein. e) Fünftens wird der Datenbank-Name gefragt. f) Sechstens der Username für die Datenbank; hier sollte root stehen. g) Siebtens wird das Passwort gefragt, welches hier in der Installations-Anleitung unter Punkt 6. vergeben wurde. h) Achtens wird ein User zur Ftp-Verwaltung in der Datenbank angelegt, anpassen oder Return/Enter. i) Neuntens wird dessen Pwd verlangt. Entweder das Standard-Passwort eingeben, oder ein Neues, und dieses dann für alle Fälle notieren... j) Danach wird ein phpMyAdmin-User angelegt k) Hierzu wird selbstverständlich auch ein Passwort benötigt. Entweder wieder das vorher verwendete von MySQL, oder neues wählen. l) Jetzt wird der Login-Name für den ispCP-Weblogin festgelegt. Per Default wird hier admin vorgeschlagen; ich denke, dies sollte man aber auf jeden Fall anders wählen. m) Wie üblich, braucht ein User auch ein Passwort. Hier sollte man aber wirklich ein starkes wählen, welches nicht in einem Wörterbuch zu finden ist. n) Anschließend wird die Email-Adresse des Administrators verlangt. Hierzu empfehle ich, eine Mail-Adresse zu verwenden, die es verkraftet, daß auch mal 100 Mails die Minute eintrudeln, denn ich hatte vorher die Firmen-Adresse drin, welche einen sehr restriktiven Spam-Filter hatte, den ich im Anschluß neu konfigurieren mußte. Am besten auch ein nett großes Postfach. Grund ist der, daß ispCP für alle Vorgänge eine Email versendet. Vorteil: man kann lückenlos nachweisen, wer wann was wo gemacht hat Nachteil: ziemlich hohes Email-Aufkommen o) Zum Zeitpunkt dieses Tutorials war ispCP leider noch etwas buggy im Umgang mit AWStats, daher sollte hier no gewählt werden bzw. einfach Return/Enter drücken. So, nun hat ispCP genug Informationen für das Einrichten gesammelt, und es werden viele Zeilen über die Konsole huschen. Wenn Ihr alles richtig gemacht habt, solltet Ihr folgende Meldung (oder so ähnlich, je nach Version) sehen: Ihr werdet aufgefordert, Euch unter der angezeigten Adresse mit den unter 11. l/m angegebenen Daten einzuloggen. Dann viel Spaß mit ispCP. Sollten Fragen oder Probleme auftauchen, mal im Bugtracker oder Forum vorbeigucken. Bugtracker: http://www.isp-control.net/ispcp/report Forum (deutsch): http://www.isp-control.net/forum/german-corner-f-13.html