de:installation:ubuntu-11.04

Hosting Server mit Ubuntu 11.04

Inhalt

Dieser Artikel beschreibt die Installation eines Hosting-Servers mit der Linux-Distribution Ubuntu 11.04 („Natty Narwhal“) und dem Hosting Control Panel LiveConfig. Folgende Dienste werden hierzu eingerichtet:

  • Webserver: Apache httpd 2.2.17
  • PHP 5.3.5 (mit suPHP 0.7.1)
  • Mailserver: Postfix 2.8.5
  • POP3/IMAP-Server: Dovecot 1.2.15
  • Datenbank: MySQL 5.1.54
  • FTP-Server: vsftpd 1.3.3

Die Anleitung erhebt keinen Anspruch auf Vollständigkeit.

Voraussetzungen

Es wird davon ausgegangen, dass eine Minimal-Installation von Ubuntu Linux (Server) bereits erfolgt ist.

Außerdem sollte das System auf dem neuesten Stand sein (führen Sie dazu ggf. sudo aptitude update / sudo aptitude upgrade aus).

Quota

Damit der Speicherplatz für die einzelnen Webspaces begrenzt werden kann, muss das Quota aktiviert werden. Installieren Sie hierzu das Paket quota:

user@ubuntu:~$ sudo aptitude install quota

Anschließend muss Quota für das Dateisystem aktiviert werden, auf dem später die Webspaces eingerichtet werden (/srv/www/). Fügen Sie hierzu in der Datei /etc/fstab beim entsprechenden Eintrag die Mount-Optionen grpjquota=aquota.group,jqfmt=vfsv0 hinzu, z.B. so:

UUID=[...]  /   ext4   errors=remount-ro,grpjquota=aquota.group,jqfmt=vfsv0   1 1

Mounten Sie anschließend das Dateisystem neu:

user@ubuntu:~$ sudo mount -vo remount /
/dev/sda1 on / type ext4 (rw,errors=remount-ro,grpjquota=aquota.group,jqfmt=vfsv0)

Danach muss das aktuelle Quota berechnet werden:

user@ubuntu:~$ sudo quotacheck -vgm /
quotacheck: Scanning /dev/disk/by-uuid/[...] [/] done
quotacheck: Old user file not found. Usage will not be substracted.
quotacheck: Cannot stat old group quota file: No such file or directory
quotacheck: Checked 7521 directories and 49315 files
quotacheck: Old file not found.

Schließlich kann das Quota-System aktiviert werden:

user@ubuntu:~$ sudo quotaon -vg /
/dev/disk/by-uuid/[...] [/]: group quotas turned on

Variante 1: Installation über das LiveConfig-Repository

Wir empfehlen LiveConfig über das bereitgestellte Repository zu installieren. Die Installation erfolgt somit schneller, ist weniger fehleranfällig und Updates werden automatisch mit aptitude upgrade mit installiert.

Mit folgenden Befehlen importieren Sie den LiveConfig-GPG-Schlüssel und fügen das Repository hinzu:

wget -O - https://www.liveconfig.com/liveconfig.key | sudo apt-key add -
cd /etc/apt/sources.list.d
sudo wget http://repo.liveconfig.com/debian/liveconfig.list

Aktualisieren Sie nun die Repository-Informationen des Systems:

sudo aptitude update

Typischer Webserver mit liveconfig-meta

Wenn Sie einen typischen Webserver (mit Apache httpd, MySQL-Datenbank, PHP und Postfix/Dovecot) installieren möchten, setzen Sie das Paket liveconfig-meta auf. Dieses Paket enthält keine eigenen Dateien, sondern lediglich die Abhängigkeiten zu allen benötigten Debian-Paketen:

sudo aptitude install liveconfig-meta

Installation von LiveConfig

LiveConfig selbst installieren Sie schließlich über das Paket liveconfig:

sudo aptitude install liveconfig

Die Installations-Funktion fragt Sie nach einem admin-Passwort für LiveConfig sowie nach einem Lizenzschlüssel. Falls Sie noch keinen Lizenzcode besitzen lassen Sie diese Eingabe einfach leer.

LiveConfig wird anschließend automatisch gestartet und ist per Browser unter https://<Server-IP>:8443/ erreichbar.

Variante 2: manuelle Installation

Wenn Sie beispielsweise nur einen Mailserver betreiben möchten dann genügt es, wenn Sie nur die dafür notwendigen Pakete installieren - ein Webserver wird etwa in so einem Fall nicht benötigt. Nachfolgend finden Sie ausführliche Beschreibungen zur Installation der einzelnen Dienste:

Apache httpd

Installieren Sie die benötigten Apache-Pakete mit dem Befehl aptitude install apache2-mpm-prefork apache2-suexec. Eventuell benötigte Pakete werden ebenfalls automatisch nachinstalliert:

user@ubuntu:~$ sudo aptitude install apache2-mpm-prefork apache2-suexec
The following NEW packages will be installed:
  apache2-mpm-prefork apache2-suexec apache2-utils{a} apache2.2-bin{a} apache2.2-common{a}
  libapr1{a} libaprutil1{a} libaprutil1-dbd-sqlite3{a} libaprutil1-ldap{a} ssl-cert{a}
0 packages upgraded, 10 newly installed, 0 to remove and 0 not upgraded.
Need to get 3336 kB of archives. After unpacking 12.3 MB will be used.
Do you want to continue? [Y/n/?]

Beantworten Sie die Frage mit »Y«.

Sicherheits-Optimierungen

Aus Sicherheitsgründen wird Apache zuerst so eingerichtet, dass er nicht immer seine vollständige Versionsnummer meldet, sondern nur seinen Namen (so ist für Außenstehende nicht auf Anhieb ersichtlich, welche Version installiert ist). Öffnen Sie dazu die Datei /etc/apache2/conf.d/security, und setzen den ServerTokens-Eintrag auf Prod (Standardwert ist OS).

# ServerTokens
# This directive configures what you return as the Server HTTP response
# Header. The default is 'Full' which sends information about the OS-Type
# and compiled in modules.
# Set to one of:  Full | OS | Minimal | Minor | Major | Prod
# where Full conveys the most information, and Prod the least.
#
ServerTokens Prod

Ebenfalls in dieser Datei sollte der Eintrag TraceEnable auf Off gesetzt sein (in neueren Ubuntu-Versionen ist das standardmäßig bereits auf Off):

# Allow TRACE method
#
# Set to "extended" to also reflect the request body (only for testing and
# diagnostic purposes).
#
# Set to one of:  On | Off | extended
#
TraceEnable Off

Apache-Module aktivieren

Die Apache-Module »actions«, »include«, »rewrite« und »suexec« müssen noch durch Aufruf von a2enmod aktiviert werden:

user@ubuntu:~$ sudo a2enmod actions include rewrite suexec
Enabling module actions.
Enabling module include.
Enabling module rewrite.
Enabling module suexec.
Run '/etc/init.d/apache2 restart' to activate new configuration!

Das Apache-Modul »status« kann durch Aufruf von a2dismod deaktiviert werden:

user@ubuntu:~$ sudo a2dismod status
Module status disabled.
Run '/etc/init.d/apache2 restart' to activate new configuration!

Folgen Sie den Anweisungen und starten Sie Apache neu:

user@ubuntu:~$ sudo /etc/init.d/apache2 restart
 * Restarting web server apache2
 ... waiting
 [OK]

Zugriffsstatistiken

Zur Erzeugung von grafischen Zugriffsstatistiken installieren Sie das Paket webalizer:

user@ubuntu:~$ sudo aptitude install webalizer

PHP 5

In der von uns empfohlenen Konfiguration wird PHP nicht als Apache-Modul installiert, sondern als CGI-Anwendung. Somit werden PHP-Programme immer mit den Rechten des tatsächlichen Kunden ausgeführt, ein Zugriff auf fremde Kundenverzeichnisse ist damit praktisch ausgeschlossen. Für anspruchsvolle Anwendungen steht mit FastCGI eine sehr schnelle Ausführungsumgebung zur Verfügung.

Die benötigten Pakete sind libapache2-mod-suphp und libapache2-mod-fcgid:

user@ubuntu:~$ sudo aptitude install libapache2-mod-suphp libapache2-mod-fcgid
The following NEW packages will be installed:
  libapache2-mod-fcgid libapache2-mod-suphp php5-cgi{a} php5-common{a} suphp-common{a}
0 packages upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 6712 kB of archives. After unpacking 18.1 MB will be used.
Do you want to continue? [Y/n/?]

Beantworten Sie die Frage wieder mit »y«.

Wenn alle Pakete erfolgreich installiert sind, fügen wir noch die Kommandozeilen-Version von PHP sowie eine Reihe PHP-Module hinzu:

user@ubuntu:~$ sudo aptitude install php5-cli php5-curl php5-gd php5-imagick php5-imap \
php5-mcrypt php5-mhash php5-mysql php5-sqlite php5-suhosin

Es kann sein, dass Aptitude das Paket libgd2-noxpm entfernen möchte, um das Paket libgd2-xpm zu installieren - bestätigen Sie das ebenfalls einfach mit »y«.

Korrigieren Sie schließlich in der Datei /etc/suphp/suphp.conf noch die Einstellungen für check_vhost_docroot, umask und die Handler-Funktion wie folgt:

;Check whether script is within DOCUMENT_ROOT
check_vhost_docroot=false
[...]
;Umask to set, specify in octal notation
umask=0022
[...]
[handlers]
;Handler for php-scripts
application/x-httpd-php="php:/usr/bin/php-cgi"

ProFTPd (FTP-Server)

Zur Installation des FTP-Servers »ProFTPd« installieren Sie einfach das Paket proftpd:

user@ubuntu:~$ sudo aptitude install proftpd-basic
The following NEW packages will be installed:
  libfile-copy-recursive-perl{a} proftpd-basic update-inetd{a}
0 packages upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 2124 kB of archives. After unpacking 4448 kB will be used.
Do you want to continue? [Y/n/?]

Sie werden dann gefragt, ob ProFTPd über inetd gestartet werden soll, oder als eigener Prozess (standalone/Servermodus) laufen soll. Wählen Sie »standalone«:

MySQL

Wenn Sie auf Ihrem Server MySQL-Datenbanken nutzen möchten, installieren Sie mit dem Befehl aptitude install mysql-server das MySQL-Server-Paket:

user@ubuntu:~$ sudo aptitude install mysql-server

Kurz darauf werden Sie nach einem Passwort für den MySQL-»root«-Account gefragt:

Geben Sie hier ein entsprechend sicheres Passwort ein. Anschließend wiederholen Sie die Eingabe nochmal:

Nun sollte MySQL installiert sein.

Postfix-Mailserver

Installieren Sie den Postfix-Mailserver mit folgendem Befehl:

user@ubuntu:~$ sudo aptitude install postfix

Eventuell erhalten Sie die Nachfrage, ob die Pakete exim4-base, exim4-config und exim4-daemon-light entfernt werden sollen - bestätigen Sie dies um fortzufahren.

Anschließend fragt das Installationsprogramm nach der gewünschten Konfiguration für den Postfix-Mailserver:

Da der Postfix-Mailserver später ohnehin von LiveConfig konfiguriert wird, wählen Sie einfach die Option »no configuration«:

Dovecot POP3/IMAP-Server

Den POP3/IMAP-Server Dovecot installieren Sie mit folgendem Befehl:

user@ubuntu:~$ sudo aptitude install dovecot-imapd dovecot-pop3d

Das war's auch schon.

LiveConfig

Laden Sie die neueste Version von LiveConfig herunter:

user@ubuntu:~$ wget --trust-server-names http://download.liveconfig.com/latest?liveconfig_amd64.deb

Installieren Sie anschließend das heruntergeladene Paket via dpkg:

user@ubuntu:~$ sudo dpkg -i liveconfig_1.5.0-r1687_amd64.deb

Die Installations-Funktion fragt Sie zuerst nach einem »admin«-Passwort für LiveConfig:

Anschließend müssen Sie das Passwort nochmal eingeben:

Zuletzt werden Sie gefragt, ob Sie bereits einen Lizenzschlüssel für LiveConfig besitzten. Wenn ja, dann geben Sie ihn hier einfach ein, ansonsten lassen Sie die Eingabe leer.

Sie sollten nun über https://<Server-IP>:8443/ auf LiveConfig zugreifen können.

de/installation/ubuntu-11.04.txt · Zuletzt geändert: 2015/05/27 17:56 von wikiadmin

Benutzer-Werkzeuge