| « Neue Thandor Webseite | phpMyAdmin unter Gentoo » |
Mein Ziel war es Apache2 und PHP5 zum Laufen zu bringen (MySQL auch noch dazu). Das hat aber etwas länger gedauert, als ich zunächst dachte, weil einige Pakete noch nicht für den Athlon64 (also für den 64bit Code) freigegeben sind. Die Installation von Apache verlief aber erstmal ohne Probleme:
# emerge apache
Die Installation von PHP ist für einen Gentoo Anfänger (wie mich) ungleich schwieriger. Es gibt zwei Pakete, welche auf den Namen php hören: dev-lang/php und dev-php/php. Aus den Beschreibungen geht hervor, dass dev-lang/php das richtige Paket für PHP5 ist.
Wenn man sein Gentoo Linux für Athlon64 kompiliert hat, funktioniert ein einfaches emerge dev-lang/php aber nicht. Das Paket wird von ~amd64 maskiert. Nach einigem Suchen bei Google habe ich dann folgendes gefunden: um die Pakete zu entmaskieren müssen folgende Zeilen in die neu zu schaffende Datei /etc/portage/package.keywords geschrieben werden:
>=dev-lang/php-5 ~amd64 >=dev-php/mod_php-5 ~amd64
Das heißt, dass beide Pakete für die Versionen größer oder gleich fünf für Athlon64 freigegeben werden. Das reicht aber noch nicht. Beim Aufruf von emerge dev-lang/php kommen weitere Fehlermeldungen, welche zu folgenden zusätzlichen Einträgen in der Datei package.keywords führen:
app-admin/eselect ~amd64 app-admin/eselect-php ~amd64 >=app-text/aspell-0.60 ~amd64
Außerdem muss die Datei /etc/portage/package.use um folgende Zeile ergänzt werden:
dev-lang/php -berkdb
Und ein paar USE Flags sind generell interessant (Eintrag in /etc/make.conf): apache2 cli gd.
Anschließend sollte alles funktionieren. Ich habe vor dem emerge dev-lang/php
(und den Änderungen für portage noch folgendes ausgeführt, was aber ausser langem Kompilieren nichts ändern sollte:
# emerge dev-php/php # emerge dev-php/mod_php # emerge --unmerge dev-php/php # emerge --unmerge dev-php/mod_php
Bevor es losgeht, wird der Apache in die "Autostartliste" eingetragen (rc-update add apache2 default) und diesem dann PHP beigebracht (-D PHP5 in der Variablen APACHE2_OPTS der Datei /etc/conf.d/apache2 ergänzen).
Jetzt kann aber ein erster Test her. Einfach folgenden Inhalt in die Datei /var/www/localhost/ht_docs/test.php:
<?php phpinfo() ?>
Nach dem der Apache gestartet wurde (/etc/init.d/apache2 start) kann die Seite im Browser auf einem anderen Rechner geladen werden.
Die Ausstattung von PHP ist noch etwas dürftig, so dass ich in /etc/portage/package.use folgende USE Flags ergänzt habe: bzip2 imap pcre pear xml2. In der Datei /etc/portage/package.keywords habe ich folgende Ergänzungen gemacht [machen müssen]:
dev-php/PEAR-PEAR ~amd64 dev-php/PEAR-Archive_Tar ~amd64 dev-php/PEAR-Console_Getopt ~amd64 dev-php/PEAR-XML_RPC ~amd64
Anschließend habe ich folgendes ausgeführt:
# emerge PEAR-PEAR # emerge mysql # emerge pecl-pdo # emerge --newuse world
Der letzte Befehl dient dazu, PHP neu zu kompilieren, um den geänderten USE Flags Rechnung zu tragen. Nach einem Apache Neustart (/etc/init.d/apache2 restart) sieht die Angabe von phpinfo() schon besser aus.
Trackback-URL (Rechtsklick und Verknüpfungs-/Link-Adresse kopieren)