Der perfekte Server - Mandriva 2009.0 Free (i386) [ISPConfig 2] - Seite 7

12 Apache2 mit PHP5, Ruby, und Python

Um Apache2, PHP5, und Ruby zu installieren, führe folgenden Befehl aus - in einer Zeile:

urpmi apache-mod_suexec apache-mod_ssl apache-mod_php apache-mod_ruby apache-mod_python libphp5_common5 php-bz2 php-calendar php-ctype php-curl php-devel php-dio php-dom php-eaccelerator php-enchant php-esmtp php-event php-exif php-fam php-ffmpeg php-fileinfo php-filepro php-ftp php-gd php-gettext php-gmp php-iconv php-id3 php-idn php-imap php-imlib2 php-mailparse php-mbstring php-mcache php-mcrypt php-mhash php-ming php-mysql php-mysqli php-ncurses php-newt php-odbc php-oggvorbis php-pcntl php-pcre php-pear-Net_IDNA php-posix php-pspell php-readline php-recode php-session php-shmop php-simplexml php-snmp php-soap php-sockets php-sqlite php-ssh2 php-suhosin php-sysvmsg php-sysvsem php-sysvshm php-tclink php-tcpwrap php-tidy php-xml php-xmlrpc php-zip php-ini curl libcurl4-devel perl-libwww-perl ImageMagick


Erstelle die System-Start-up-Links für Apache...

chkconfig httpd on


... und start es:

/etc/init.d/httpd restart


12.1 PHP global deaktivieren

(Wenn Du ISPConfig nicht auf Deinem Server installieren möchtest, kannst Du diesen Abschnitt auslassen!)

In ISPConfig wird PHP für jede einzelne Webseite konfiguriert, d. h. man kann angeben welche Seite PHP Skripte ausführen darf und welche nicht. Das funktioniert nur wenn PHP global deaktiviert wurde, da ansonsten alle Webseiten PHP Skripte ausführen könnten, unabhängig davon was in ISPConfig spezifiziert wird.

Editiere /etc/httpd/modules.d/70_mod_php.conf und kommnetiere die AddType Zeilen aus :

vi /etc/httpd/modules.d/70_mod_php.conf

<IfDefine HAVE_PHP5>
<IfModule !mod_php5.c> LoadModule php5_module extramodules/mod_php5.so </IfModule> </IfDefine> <IfModule mod_mime.c> #AddType application/x-httpd-php .php #AddType application/x-httpd-php .phtml #AddType application/x-httpd-php-source .phps </IfModule> <IfModule mod_php5.c> <IfModule mod_dir.c> DirectoryIndex index.php index.phtml </IfModule> </IfModule>
Editiere /etc/httpd/conf/httpd.conf und füge folgende Zeilen zum LoadModule Bereich hinzu:

vi /etc/httpd/conf/httpd.conf

[...]
LoadModule php5_module extramodules/mod_php5.so [...]
(Obwohl es diese Zeile schon in /etc/httpd/modules.d/70_mod_php.conf gibt, ist das sehr wichtig weil sonst der Befehl

httpd -t


Fehler berichten wird anstatt Syntax OK wenn die von ISPConfig erstellten virtuellen Hosts Zeilen wie php_admin_flag safe_mode On oder ähnliches enthalten!

Starte Apache neu:

/etc/init.d/httpd restart


12.2 Ruby global deaktivieren

(Wenn Du ISPConfig nicht auf Deinem Server installieren möchtest, kannst Du diesen Abschnitt auslassen!)

In ISPConfig wird auch Ruby für jede einzelne Webseite konfiguriert, d. h. man kann angeben welche Seite Ruby Skripte ausführen darf und welche nicht. Das funktioniert nur wenn PHP global deaktiviert wurde, da ansonsten alle Webseiten Ruby Skripte ausführen könnten, unabhängig davon was in ISPConfig spezifiziert wird.

vi /etc/httpd/modules.d/20_mod_ruby.conf


Kommentiere aus oder lösche alles aus der Datei bis auf folgende Zeilen:
<IfDefine HAVE_RUBY>
<IfModule !mod_ruby.c> LoadModule ruby_module extramodules/mod_ruby.so </IfModule> </IfDefine>
Dann starte Apache neu:

/etc/init.d/httpd restart


13 Proftpd

Installiere Proftpd folgendermassen:

urpmi proftpd


Aus Sicherheitsgründen können zu /etc/proftpd.conf noch folgende Zeilen hinzugefügt werden (Danke an Reinaldo Carvalho; mehr Infos hierzu: http://www.proftpd.org/localsite/Userguide/linked/userguide.html):

vi /etc/proftpd.conf

[...]
DefaultRoot ~ IdentLookups off ServerIdent on "FTP Server ready." [...]
Bitte versichere Dich folgende Zeilen auskommnetiert zu haben am Ende von /etc/proftpd.conf, um FTP Benzutern CHMOD zu ermöglichen:
[...]
# Bar use of SITE CHMOD by default #<Limit SITE_CHMOD> # DenyAll #</Limit>
Dann starte Proftpd neu:

/etc/init.d/proftpd restart


14 Webalizer

Mandriva 2009.0 bringt keine Webalizer Paket mehr mit, daher erstellen wir die Webalizer Binary folgendermassen:

urpmi libgeoip1 geoip libgeoipupdate0 awffull libgeoip-devel libgd-devel libgd2 libbzip2_1-devel libdb4.6-devel


cd /tmp
wget ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.20-01-src.tgz
tar xvfz webalizer-2.20-01-src.tgz
cd webalizer-2.20-01
./configure --enable-dns --enable-geoip --enable-bz2
make
make install
cd ..
rm -fr webalizer-2.20-01*

15 Von SpamAssassin benötigte Perl Module installieren (kommt mit ISPConfig)

Um alle benötigten Perl Module zu installieren, können wir die entsprechenden Mandriva Pakete nutzen und isntallieren sie indem wir urpmi benutzen:

urpmi perl-HTML-Parser perl-Digest-SHA1 perl-DB_File perl-Net-DNS


16 Das Ende

Die konfiguration des Servers ist nun beendet, und wenn Du möchtest kannst Du nun ISPConfig darauf installieren. Die Anleitung dafür findest Du hier: http://www.ispconfig.org/manual_installation.htm. Eine Anleitung für die ersten Schritte findest Du hier: http://www.howtoforge.com/ispconfig-2.x-first-steps

17 Bemerkung zu SuExec

Wenn Du CGI Skripte unter suExec ausführen möchtest, solltest Du /var/www als als Webroot spezifizieren, für alle Seiten die mit ISPConfig erstellt wurden, da Mandrivas suExec mit /var/www as Doc_Rootkompiliert ist. Führe aus

/usr/sbin/suexec -V


und die Ausgabe sollte so aussehen:

[root@server1 tmp]# /usr/sbin/suexec -V
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="apache"
-D AP_LOG_EXEC="/var/log/httpd/suexec_log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_SUEXEC_UMASK=077
-D AP_UID_MIN=100
-D AP_USERDIR_SUFFIX="public_html"
[root@server1 tmp]#

Wenn Du suExec mit ISPConfig nutzen möchtest, ändere nicht den Standard Webroot (der wäre /var/www) wenn Du den Expertenmodus für die Installation von ISPConfig benutzt. Im Standardmodus kann man den Webroot ohnehin nicht ändern, so dass man suExec in jedem Fall wird benutzen können.

18 Links

0 Kommentar(e)

Zum Posten von Kommentaren bitte