Welitso.de

Samstag, 19. Mai 2012

Debian 6.0 vServer mit ISPConfig installieren

In diesem Tutorial möchte ich euch zeigen, wie man einen vServer unter Debian 6 Squeeze mit ISPConfig und ohne Virenscanner und Anti-Spammtools installiert. Die Tools werden absichtlich nicht in diesem Tutorial berücksichtigt, da sich dieses Tutorial auch an vServer richtet, die im Allgemeinen wenig RAM zur Verfügung haben.

Bevor wir loslegen, sollte noch erwähnt werden, dass gewisse Kenntnisse in der Linux sowie Server Administration vorausgesetzt werden müssen. Denn es bringt nichts, nur zu kopieren und nachher nicht zu wissen, wie man denn den vServer jetzt noch aufsetzt.

Ihr wollt Debian 5 Lenny installieren? Im Zuge der Veröffentlichung von Debian 6 Squeeze habe ich dieses Tutorial für Debian 6 umgeschrieben, verbessert und erneuert. Ich empfehle euch ebenfalls Debian 6, anstatt 5 zu installieren.

Was brauchen wir?!

  • Grundkenntnisse in der Linux bzw. Server Administration
  • SSH Root Zugang sowie den SSH Client Putty
  • Frisch Installierter unkonfigurierter vServer
  • Zeit, geduld und Kaffee



Los geht’s:

Als Erstes, fügen wir die Updatequellen hinzu und Updaten unser System.

echo "# squeeze packages." >> /etc/apt/sources.list
echo "deb ftp://ftp2.de.debian.org/debian/ squeeze main contrib non-free" >> /etc/apt/sources.list
echo "deb http://security.debian.org/ squeeze/updates main contrib non-free" >> /etc/apt/sources.list
echo "# source packages." >> /etc/apt/sources.list
echo "deb-src ftp://ftp2.de.debian.org/debian/ squeeze main contrib non-free" >> /etc/apt/sources.list
echo "deb-src http://security.debian.org/ squeeze/updates main contrib non-free" >> /etc/apt/sources.list

apt-get update && apt-get dist-upgrade

Jetzt richten die Hostdatei passend ein. Hier fügen wir unter der Ersten, noch eine zweite Zeile, mit eurer IP und dem Hostnamen ein. „Server“ kann hierbei jeweils frei ersetzt werden. Example.com bitte durch eure Domain ersetzen.

Sollten bei euch in der letzten Zeile noch einmal eure IP und ein Hostname stehen, dann löscht diese Bitte, da wir Sie nicht brauchen. Die Hostdatei sollte nun wie folgt aussehen:

nano /etc/hosts/

# IP-Address  Full-Qualified-Hostname  Short-Hostname
127.0.0.1       localhost.localdomain   localhost
12.345.678.90       server.example.com            server
# special IPv6 addresses
::1             localhost ipv6-localhost ipv6-loopback
fe00::0         ipv6-localnet
ff00::0         ipv6-mcastprefix
ff02::1         ipv6-allnodes
ff02::2         ipv6-allrouters
ff02::3         ipv6-allhosts

Als Nächstes, setzen wir noch unseren Hostnamen und Updaten dann kurz unser System. Nachfolgend Installieren wir dann “Postfix, Courier, Saslauthd, MySQL, phpMyAdmin und binutils”:

echo server.example.com > /etc/hostname
/etc/init.d/hostname.sh start
apt-get update && apt-get upgrade
apt-get install postfix postfix-mysql postfix-doc mysql-client  mysql-server courier-authdaemon courier-authlib-mysql courier-pop  courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2  libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl  courier-maildrop getmail4 binutils

Es werden dabei die folgenden Fragen gestellt:


New password for the MySQL “root” user: MySQL Root Passwort eingeben, Tab und Enter.
Repeat password for the MySQL “root” user: Passwort erneut eingeben, Tab und Enter.
Create directories for web-based administration?: No, Tab und Enter.
General type of mail configuration: Internet Site, Tab und Enter.
System mail name: www.example.com
SSL certificate required: Ok

Wir müssen Postfix jetzt mitteilen, dass wir den Spamfilter amavis nicht installieren werden. Sonst ist der Empfang von E-Mails später nicht möglich. Wir ändern dazu in der main.cf einfach einige Zeilen ab, in dem wir einfach vor den Zeilen eine Raute setzen. Anschließend starten wir Postfix noch kurz neu.

nano /etc/postfix/main.cf
#content_filter = amavis:[127.0.0.1]:10024
#receive_override_options = no_address_mappings
/etc/init.d/postfix restart

Als Nächstes lassen wir unsere MySQL Konfiguration einmal durch den durchaus nützlichen MySQL Tuner überprüfen. Einfach MySQL Login Daten eingeben, und schauen was MySQL Tuner zur Verbessrung vorschlägt. Dies dann ggf. in der my.cnf übernehmen.

wget http://mysqltuner.com/mysqltuner.pl
chmod +x mysqltuner.pl
./mysqltuner.pl
nano /etc/mysql/my.cnf

Alles erledigt? Dann starten wir jetzt erst mal MySQL neu. Vielleicht hat es euch ja etwas gebracht.

/etc/init.d/mysql restart

Als Nächstes müssen wir die SSL-Zertifikate von IMAP-SSL und POP3-SSL auf unseren Hostnamen anpassen. Dazu löschen wir erst mal die alten Zertifikate und ändern die Zwei Dateien: “imapd.cnf” und pop3d.cnf”. Die Zertifikate erstellen wir im Anschluss neu und starten Courier-IMAP-SSL und Courier-POP3-SSL neu.

cd /etc/courier
rm -f /etc/courier/imapd.pem
rm -f /etc/courier/pop3d.pem
nano /etc/courier/imapd.cnf
CN=server.example.com
nano /etc/courier/pop3d.cnf
CN=server.example.com
mkimapdcert
mkpop3dcert
/etc/init.d/courier-imap-ssl restart
/etc/init.d/courier-pop-ssl restart

Jetzt installieren wir noch kurz einige Grundlegende dinge und anschließend daran dann: Apache2, PHP, FCGI, suExec, Pear, und mcrypt gleich hinterher.


Die Abfrage „Web server to reconfigure automatically“ bitte mit: apache2 beantworten.

apt-get install spamassassin zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl
apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp
a2enmod suexec rewrite ssl actions include deflate

Wir installieren nun die MySQL Verwaltungssoftware PHPMyAdmin:

cd /var/www/
wget <a href="http://mesh.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.3.5/phpMyAdmin-3.3.5-all-languages.tar.bz2">http://mesh.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.3.5/phpMyAdmin-3.3.5-all-languages.tar.bz2</a>
tar jfx phpMyAdmin-3.*-all-languages.tar.bz2
mkdir phpMyAdmin
cp -R  phpMyAdmin-3.*/* phpMyAdmin/
rm -R phpMyAdmin-3.*

Wir ändern als Nächstes die php.ini-Datei ab und setzen dort einige Einstellungen wie z.B die Zeitzone. Bitte beachtet, dass bei “memory_limit” immer der Wert eures Arbeitsspeichers eingetragen werden sollte. Im Anschluss daran starten wir den Apache noch kurz neu.

nano /etc/php5/apache2/php.ini
date.timezone = "Europe/Berlin"
post_max_size = 450M
memory_limit = 200M
upload_max_filesize = 450M
/etc/init.d/apache2 restart

Jetzt installieren wir PureFTPd und Quota. Dabei werden auch wieder einige Fragen gestellt.

apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatool
Standalone or Inetd = Standalone wählen
Virtuelle Verzeichnisse (Virtual CH Root) = Yes wählen

Nun bearbeiten wir noch die inet.d-Konfiguration und fügen dort unter „#:STANDARD: These are standard services.
„folgende Zeile ein:

nano /etc/inetd.conf
#ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper

Die Konfiguraton wieder mit Strg-O speichern.

Da PureFTPd standardmäßig .htaccess Dateien nicht anzeigt müssen wir noch folgende Option aktivieren. Dann werden auch die .htaccess Dateien richtig angezeigt. Danach starten wir den inetd Service sowie auch PureFTPd kurz neu.

echo "yes" > /etc/pure-ftpd/conf/DisplayDotFiles
/etc/init.d/pure-ftpd-mysql restart
/etc/init.d/openbsd-inetd restart
/etc/init.d/pure-ftpd-mysql start</pre>
Wir bearbeiten jetzt als Nächstes die Datei /etc/fstab.

1nano /etc/fstab

Und fügen hier einfach Folgendes ein:

# /etc/fstab: static file system information.
#
#
proc            /proc           proc    defaults        0       0
/dev/sda1       /               ext3    errors=remount-ro,usrquota,grpquota 0       1
/dev/sda5       none            swap    sw              0       0
/dev/hda        /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0

..Und speichern wieder mit Strg + O.

Als Nächstes werden wir kurz einen Kleinen reboot durchführen. Nach ca. 5 Minuten ist der vServer neu gestartet, dann könnt ihr einfach mit einem Rechtsklick auf das Fenster von “Putty” eine neue Session starten.

reboot

Bevor wir nun ISPConfig installieren, schmeißen wir noch schnell die Tools “Vlogger, webalizer und fail2ban” auf unsere Kiste. Es werden wieder einige Abfragen gestellt, die aber im Allgemeinen nicht sehr relevant sind. Diese können dann einfach mit Ok bestätigt werden.

apt-get install vlogger webalizer fail2ban

Jetzt machen wir uns an die installation von ISPConfig. Wichtig ist hier, dass ihr bei „Select Language“ DE eingibt. Während der installation werdet ihr außerdem nach eurem MySQL Root Passwort gefragt, und ihr müsst einige Daten wie z.B. euren Wohnort, Land, Domain und E-Mail-Adresse eingeben. Ich gehe aber mal davon ihr wisst, was dort einzugeben ist.

Den Rest kann man ruhig immer mit Enter bestätigen.

cd /tmp
wget <a href="http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz">http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz</a>
tar xvzf ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install
php -q install.php

So, geschafft! ISPConfig ist installiert. Jetzt löschen wir noch eben die temporären Installationsdateien.

cd /tmp
rm ISPConfig-3-stable.tar.gz
rm -rf ispconfig3_install/

Zum Schluss synchronisieren wir noch die Zeit auf unserem vServer, setzen einen ersten Cronjob und Installieren das nützliche Tool htop welches die vServer Auslastung anzeigen kann bzw. als Taskmanager dient und eventuell leidige Prozesse zu beenden.

apt-get install ntp update htop

Die Zeit sollte jetzt aktualisiert sein und htop ist nun mit dem Befehl “htop” verfügbar. Jetzt setzen wir wie oben schon erwähnt unseren ersten Cronjob. Der folgende Befehl sagt, dass nun die Crontab Datei zum Editieren geöffnet werden soll.

crontab -e

Wir wollen nun, dass unser vServer am 1.1 jedes neuen Jahres, die Zeit automatisch aktualisiert. Dazu fügen wir folgende Zeile in die Datei ein:

0 1 1 1 * /usr/sbin/ntpdate zeit.fu-berlin.de

Die 01 steht dabei für 1:00 Uhr und die 11 steht für 1.1. nachfolgend einfach nur der Befehl, der ausgeführt werden soll. In unserem falle also die Aktualisierung der Zeit. Ihr seht, eigentlich sehr einfach oder?

So, das war’s! Wir sind schon am ende der Installation angelangt. Ihr könnt euch jetzt in eurem ISPConfig mit dem Benutzernamen: admin und dem Passwort: admin einloggen. Bitte denkt aber daran, das Passwort so schnell wie möglich zu, ändern.

Da wir mydns nicht installiert haben, ISPConfig dies aber als Standard Service ansieht, wird euch der Monitor ein rotes Bild ausspucken. Diesen Hinweis kann man aber vergessen. Dieser hat keine besondere Bedeutung. Wenn es einem dennoch stört, der kann den Service wie folgt abstellen: System —>  Server Services, dort auf euren Servernamen klicken und dann dort das Häckchen bei “DNS-Server” entfernen.

Wenn ihr Lob, Kritik oder Anregungen habt, würde ich mich freuen, wenn Ihr mir das mitteilt! :)

8 Kommentare zu “Debian 6.0 vServer mit ISPConfig installieren”

  1. GeCk0 sagt:

    suexec muss auch noch gestartet werden, sonst gibts Fehlermeldungen ;)
    ansonsten gutes Tut
    und zwar nachdem apache2 und deren mods installiert wurden folgendes ausführen:

    a2enmod suexec rewrite ssl actions include

    damit werden alle nötigen apache-mods gestartet

  2. Fritschie sagt:

    Habe alles hier ordentlich durchgearbeitet aber eine Fehlermeldung bringt mir ISPconfig
    und zwar der DNS Server ist offline.

    Ist das korrekt so oder muss der auch online sein

    Danke für die Hilfe

  3. Manni sagt:

    Also Danke erst einmal für das Tut.
    Da fühlt man sich direkt in die Steinzeit versetzt.
    Ich habe mich sogar dabei erwischt wie ich die Datasette starten wollte.
    Was hier nicht steht ist wie man ispconfig Installiert.
    Das wird im installaton´s Ordner mit: php -q install.php gestartet.
    Der installation´s Ordner ist das Verzeichniss wo man die zigfach komprimierte Datei entpackt hat.
    ;-)
    mfg.
    Manni

    • Florian sagt:

      Hallo Manni,

      danke für dein Feedback. Das Tutorial ist ja zwischenzeitlich auch schon was älter. :) Ich werde es demnächst aber Updaten bzw. ein neues Tutorial veröffentlichen. Dieses Mal auf Basis von Lighttpd.

  4. [...] Diese Anleitung gehört zum Content von weltiso.de [...]

  5. Patrick sagt:

    DANKE!
    Ohne diessen Beitrag hätte ich es Niemals geschafft, Das Panel zu installieren..

Hinterlasse eine Antwort