Der Perfekte Server - Ubuntu Hardy Heron (Ubuntu 8.04 LTS Server) - Seite 6

17 Apache/PHP5/Ruby

Nun installieren wir Apache:

apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert

Als Nächstes installieren wir PHP5 und Ruby (beide als Apache Modul):

apt-get install libapache2-mod-php5 libapache2-mod-ruby php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Als Nächstes bearbeiten wir /etc/apache2/mods-available/dir.conf:

vi /etc/apache2/mods-available/dir.conf

und ändern die DirectoryIndex Zeile:
<IfModule mod_dir.c>
#DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml </IfModule>
Nun müssen wir einige Apache Module aktivieren (SSL, rewrite, suexec und include):

a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include

Lade die Apache Konfiguration neu:

/etc/init.d/apache2 force-reload

Im nächsten Kapitel (17.1) werden wir PHP (das ist notwendig, wenn Du ISPConfig auf diesem Server installieren möchtest) deaktivieren. Anders als PHP, ist Ruby standardmäßig deaktiviert, daher müssen wir es nicht tun.

17.1 PHP global deaktivieren

(Wenn Du nicht vorhast ISPConfig auf diesem Server zu installieren, dann überspringe bitte dieses Kapitel!)

In ISPConfig wirst Du PHP pro Web Site konfigurieren, d.h. Du kannst festlegen, welche Web Site PHP Skripte ausführen kann und welche nicht. Das funktioniert nur, wenn PHP global deaktiviert ist, da sonst alle Web Sites in der Lage wären, PHP Skripte auszuführen, egal was Du in ISPConfig festlegst.

Um PHP global zu deaktivieren, bearbeiten wir/etc/mime.types und kommentieren die application/x-httpd-php Zeilen aus:

vi /etc/mime.types


[...]
#application/x-httpd-php phtml pht php #application/x-httpd-php-source phps #application/x-httpd-php3 php3 #application/x-httpd-php3-preprocessed php3p #application/x-httpd-php4 php4 [...]
Bearbeite /etc/apache2/mods-enabled/php5.conf und kommentiere folgende Zeilen aus:

vi /etc/apache2/mods-enabled/php5.conf


<IfModule mod_php5.c>
#AddType application/x-httpd-php .php .phtml .php3 #AddType application/x-httpd-php-source .phps </IfModule>
Starte Apache dann neu:

/etc/init.d/apache2 restart


18 Proftpd

Um Proftpd zu installieren, führe dies aus

apt-get install proftpd ucf

Dir wird eine Frage gestellt:

Run proftpd: <-- standalone

Füge aus Sicherheitsgründen folgende Zeilen /etc/proftpd/proftpd.conf hinzu (Dank an Reinaldo Carvalho; nähere Informationen findest Du hier: http://proftpd.org/localsite/Userguide/linked/userguide.html):

vi /etc/proftpd/proftpd.conf


[...]
DefaultRoot ~ IdentLookups off ServerIdent on "FTP Server ready." [...]
ISPConfig erwartet, dass sich die Konfiguration in /etc/proftpd.conf anstelle von /etc/proftpd/proftpd.conf befindet, daher erstellen wir einen Symlink (Du kannst diesen Befehl auslassen,wenn Du ISPConfig nicht installieren möchtest):

ln -s /etc/proftpd/proftpd.conf /etc/proftpd.conf

Starte Proftpd dann neu:

/etc/init.d/proftpd restart


19 Webalizer

Um  webalizer zu installieren, führe dies aus

apt-get install webalizer


20 Synchronisation der System-Uhr

Es ist keine schlechte Idee die System-Uhr mit einem NTP (network time protocol) Server via Internet zu synchronisieren. Führe einfach dies aus

apt-get install ntp ntpdate

und Deine Systemzeit wird immer synchron sein.

21 Installation einiger Perl Module, die von SpamAssassin (in ISPConfig) benötigt werden

Führe dies aus

apt-get install libhtml-parser-perl libdb-file-lock-perl libnet-dns-perl


22 ISPConfig

Die Konfiguration des Servers ist nun abgeschlossen. Wenn Du magst, kannst Du nun ISPConfig auf dem Server installieren. Bitte sieh Dir dazu das ISPConfig Installationsmanual an: http://www.ispconfig.org/manual_installation.htm

22.1 Eine Notiz über SuExec

Wenn Du CGI Skripte unter suExec ausführen möchtest, solltest Du /var/www als den Web Root für Webseiten festlegen, die von ISPConfig erstellt werden, da Ubuntus suExec mit /var/www  als Doc_Root erstellt wird. Führe dies aus

/usr/lib/apache2/suexec -V

und die Ausgabe sollte wie folgt aussehen:

root@server1:~# /usr/lib/apache2/suexec -V
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="www-data"
-D AP_LOG_EXEC="/var/log/apache2/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=100
-D AP_USERDIR_SUFFIX="public_html"
root@server1:~#

Wenn Du also suExec mit ISPconfig verwenden möchtest, ändere nicht den Standard Web Root (/var/www) wenn Du den Expertenmodus während der ISPConfig Installation verwendest (im Standardmodus kannst Du den Web Root sowieso nicht ändern, also kannst Du suExec in jedem Fall verwenden).

23 Links

5 Kommentar(e)

Zum Posten von Kommentaren bitte

Kommentare

Von: Torben

Hallo Howtoforge Commu,
Vielen Dank für dieses Tut, ich habe jedoch mit TLS noch ein Problem was ich nun aufgegeben habe da ich sonst noch vor lauter Frust meinen Computer aus dem Fenster werfe.
Ich habe alles genau so eingerichtet wie beschrieben und es funktioniert auch. Ich kann Mails versenden und empfangen, jedoch leider kann ich nicht TLS nutzen bei ausgehenden Mails. Ich verwende den Mozilla Thunderbird und wenn ich dort bei den SMTP Einstellungen "TLS, wenn möglich" aktiviere funktioniert mein Mailversand nicht mehr. Wenn ich unter POP "TLS, wenn möglich" anklicke funktioniert das senden über POP mit TLS ohne Probleme. Nur halt SMTP zum versenden nicht. Wer kann mir bitte helfen ?


Von: Prismatech

wollte diese anleitung mit menem vserver nutzen aber da gibet bissel probs beim postfix installieren konflikte mit andern dateinen .
Ziel war mailserv,webserv,php5,imagick,ftp zugang,mysql5 mit phpmyadmin und ispconfig.


Von: jakommo

Hi torben,
Ich habe auch das Problem smtp über tls nicht klappt. Konntest du es inzwischen lösen.
Grüße
jakommo


Von: Till

Damit TLS funktioniert, muss das '#' Zeichen vor der Zeile tlsmgr in der master.cf entfernt werden und dann postfix neu starten.


Von: mg327

Hallo, super Anleitung!
Ich habe aber zwei kleine Fahler gefunden:

1. alle Parameter zu postconf dürfen weder vor noch hinter dem "=" ein Leerzeichen haben! Also erst in einen Editor kopieren und dann bearbeiten.
2. Die Anführungszeichen werden von einigen Editoren falsch interpretiert. Ich benutze gern den Editor vom mc und da sieht man, wenn man genau hinschaut, einen winzigen Unterschied. Der hat mich aber gut eine Stunde an den Rand der Verzweiflung gebracht.

Auf der Homepage von ISPCP ist eine deutsche Anleitung, wenn man nach der Paketinstallation erst einmal die Zertifikate generiert und dann weiter macht, kann man hier einige Schritte überspringen.

Grüße
Michael