LAMP Installation bei Gentoo

[img_assist|nid=61|title=Gentoo Linux|desc=|link=url|url=http://www.gentoo.org|align=left|width=100|height=65]
Da ich neulich meinen Heimserver mit Gentoo neu aufgesetzt habe, benötigte ich zum Testen und Rumspielen privater Natur wieder einen Apache Webserver mit PHP und MySQL Unterstützung. Ich versuche hier einfach mal die Schritte zu dokumentieren, die für eine derartige Installation notwendig sind.

[img_assist|nid=61|title=Gentoo Linux|desc=|link=url|url=http://www.gentoo.org|align=left|width=100|height=65]
Da ich neulich meinen Heimserver mit Gentoo neu aufgesetzt habe, benötigte ich zum Testen und Rumspielen privater Natur wieder einen Apache Webserver mit PHP und MySQL Unterstützung. Ich versuche hier einfach mal die Schritte zu dokumentieren, die für eine derartige Installation notwendig sind.

Bevor irgendwelche Pakete installiert werden, sollte der Portage-Tree upgedatet werden. Der Befehl

emerge --sync

erledigt dies für mich. Jetzt kann es mit den einzelnen Paketen weitergehen…

1. Installation des Apache Webservers
Ich möchte den Apache Webserver verwenden. Also gebe ich

emerge apache

auf der Kommandozeile ein. Nach kurzer Zeit ist die Installation abgeschlossen; der Webserver muss allerdings noch manuell gestartet werden:

/etc/init.d/apache2 start

Zu diesem Zeitpunkt kann man bereits die Default Seite des Apachen aufrufen (Es klappt! Der Apache-Webserver ist auf dieser Website installiert!). Weiterführende Optionen kann man über die Konfigdatei /etc/apache2/httpd.conf einstellen. An dieser Stelle sehe ich allerdings davon ab.

Damit ich den Webserver nicht jedesmal nach einem Reboot von Hand starten muss, füge ich einen entsprechenden Link in den Runlevel ein. Hierzu gibt es bei Gentoo das Tool rc-update: rc-update add apache2 default

2. Installation von PHP (mod_php):
USE Flags
Da ich auf meinem Webserver Typo3 benutzen möchte, aktiviere ich natürlich die Flags für Apache2 und die MySQL-Unterstützung. Zusätzlich benötige ich aber noch GDlib und die Truetype Fonts. Wer Typo3 nicht benutzt, kann die beiden letzteren Flags aber auch weg lassen.
Bevor ich mit der Installation von PHP beginne, editiere ich also die /etc/portage/package.use und füge folgende Zeile dort ein:


dev-lang/php apache2 mysql gd truetype

Anschließend ein ordentliches

emerge dev-lang/php

und die Installation beginnt.

Damit der Apache Webserver auch mit dem entsprechenden PHP Modul startet, überprüfe ich die Datei „/etc/conf.d/apache2“ auf folgende Zeile:

APACHE2_OPTS="-D DEFAULT_VHOST -D PHP5"

Falls diese Zeile nicht, oder in etwas abgewandelter Form, vorhanden ist, dann muss man selber Hand anlegen und anschließend Apache neu starten, damit die Änderungen wirksam werden.


/etc/init.d/apache2 restart

Zum Testen unserer PHP-Installation reicht es aus, eine simple PHP-Seite mit der u.a. Codezeile im WWWROOT (normalerweise /var/www/localhost/htdocs) zu erstellen und per Browser aufzurufen:

Wenn alles geklappt hat, sollte jetzt eine Seite mit allerhand Informationen zum Webserver und der Installation von PHP selber angezeigt werden.

3. Installation von MySQL 5

Momentan befindet sich MySQL 5 bei Gentoo noch in einem „Testing-Status“. Deshalb wird standardmäßig nur die etwas ältere Version 4.1 installiert. Natürlich sei hier die Stabilität dieser Version gelobt, doch ich möchte trotzdem die aktuelle Version 5 von MySQL installieren. Daher muss ich portage irgendwie mitteilen, daß ich trotz des „Testing-Status“ diese Version installieren möchte.
Hierzu nutze ich die Datei /etc/portage/package.keywords, in die die Zeile

=dev-db/mysql-5* ~x86'

eingetragen werden muss.

Die Installation selber kann ich ganz einfach per emerge durchführen:


emerge dev-db/mysql

Danach ist zwar die Software installiert, allerdings müssen manuell die benötigten Datenbanken installiert werden. Hier hilft der Aufruf von
/usr/bin/mysql_install_db

weiter. Bevor man diesen Schritt nicht ausgeführt hat, kann man MySQL auch nicht starten. Hier führen wir analog zu den Schritten beim Apache auch zuerst einen manuellen Start durch und erstellen dann wieder per

rc-update add mysql default

die entsprechenden Symlinks in dem Default Runlevel.

Auch die Sicherheit soll bei der Datenbank nicht zu kurz kommen. Momentan kann sich der root User nämlich ohne Passwort an der Datenbank anmelden. Dieses Verhalten möchte ich natürlich ändern:

mysqladmin -u root password NEUESPASSWORT

setzt den String NEUESPASSWORT als Passwort für den Root User.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.