Re: apache2 sucht pidfile

From: Timo Birnschein <timo-birnschein@web.de>
Date: Sat Feb 04 2006 - 12:04:09 CET

Ich kann dir zwar nicht direkt helfen, aber vielleicht hilft dir diese
Kurzeinleitung von unserem Uni-Admin für die Einrichtung von Apache 2

Da sollte es alle Informationen geben, auch zum starten des Service.

Gruß
Timo

Manfred Renken schrieb:
> Hallo Liste,
>
> nach der Umstellung auf Apache2 (debian sarge 3.1) habe ich folgendes
> Problem:
> root@boss:~# /etc/init.d/apache2 stop
> Stopping web server: Apache2 ... no pidfile found! not running?.
>
> root@boss:~# /etc/init.d/apache2 start
> Starting web server: Apache2httpd (pid 32229) already running
>
> root@boss:~# /etc/init.d/apache2 restart
> Forcing reload of web server: Apache2 ... no pidfile found! not running?httpd
> (pid 32229) already running.
>
> Irgendwie kann ich mir aus den Meldungen keinen Reim machen.
> Hat jemand eine Erklaerung ?
>
> /etc/apache2/apache.conf
> .........
> PidFile /var/run/apache2.pid
> ........
>
> Gruss Manfred
>
>
>

Apache2 Anleitung fuer die ARBI-Rechner 3.11.2005

Auf den Rechner der ARBI steht eine Apache Webserver Installation in
der Version 2.0.55 zur Verfuegung, die bei Bedarf fuer spezielle
Anwendungen konfiguriert und laufen gelassen werden kann. Dieser
Text beschreibt in Kuerze, welche Details dabei zu beachten sind.

Die Installation befindet sich im Directory

        /usr/local/lib/apache2

Fuer die Benutzung ist ueblicherweise nur ein kleiner Teil dieser
Dateien von Bedeutung.

Zunaechst muss fuer den Apache Webserver ein Directory-Geruest
aufgebaut werden. Dazu wird am Besten ein Unterverzeichnis angelegt,
das die noetigen Directories enthaelt (der Pfadnamen-Prefix
'/user/admin/joerg' ist natuerlich nur ein Beispiel und muss passend
abgeaendert werden):

        mkdir /user/admin/joerg/apache
        mkdir /user/admin/joerg/apache/conf
        mkdir /user/admin/joerg/apache/logs
        mkdir /user/admin/joerg/apache/cgi-bin
        mkdir /user/admin/joerg/apache/htdocs

Das Haupt-Directory wird oft auch als Server-Root bezeichnet.

Als Vorlage fuer die Konfigurations-Datei kann eine veraenderte
Konfigurations-Datei aus der Apache-Installation dienen. Diese
wird zunaechst kopiert:

        cp /usr/local/lib/apache2/conf/httpd.conf.PERSONAL \
                /user/admin/joerg/apache/conf/httpd.conf

In diese Datei muessen nun die aktuell gueltigen Pfadnamen eingetragen
werden: dies betrifft alle Stellen, bei denen die Zeichenkette
APACHE_DIR auftritt. Die Konfigurations-Datei sieht auch vor, dass
relevative Directory- und Datei-Namen benutzt werden koennen, die
dann relativ zur jeweils gueltigen Server-Root betrachtet werden.
Um Missinterpretation vorzubeugen, ist jedoch die Benutzung von absoluten
Pfaden (Pfade, die mit '/' beginnen) vorzuziehen.
Im Besonderen sind es folgende Stellen:

        ServerRoot "APACHE_DIR"
        ScoreBoardFile "APACHE_DIR/logs/httpd.scoreboard"
        PidFile "APACHE_DIR/logs/httpd.pid"

        DocumentRoot "APACHE_DIR/htdocs"
        <Directory "APACHE_DIR/htdocs">

        ErrorLog "APACHE_DIR/logs/error_log"
        CustomLog "APACHE_DIR/logs/access_log" combined
        ScriptAlias /cgi-bin/ "APACHE_DIR/cgi-bin/"
        <Directory "APACHE_DIR/cgi-bin">

An einigen Stellen hat man erhebliche Variationsmoeglichkeiten (z.B.
bei den Logging-Formaten/Dateien). Die Kommentare in der Datei
/usr/local/lib/apache/conf/httpd.conf geben einen Hinweis auf die
Moeglichkeiten. Detailiert ist alles in der Dokumentation beschrieben,
die auf den ARBI-Rechnern ueber den URL
        file://localhost/usr/local/lib/apache2/manual/index.html.en
abgerufen werden.

Ausserdem muessen noch die Angaben in den Zeilen
        Listen APACHE_PORT
sowie
        ServerAdmin "APACHE_ADMIN@APACHE_SERVER.Informatik.Uni-Oldenburg.DE"
und ServerName "APACHE_SERVER.Informatik.Uni-Oldenburg.DE"
passend geaendert werden.

Der Pfadname der Datei bei der Konfigurationszeile
        LockFile /usr/tmp/httpd.lock
sollte nicht auf einem ueber NFS zur Verfuegung gestellten Dateisystem
liegen. Daher ist dort /usr/tmp/httpd.lock angegeben.

Da die Port-Nummern 80 privilegierten Prozesse vorbehalten ist, muss
hier eine andere Nummer gewaehlt werden. Oft werden Port-Nummern der
Form 8080 oder 8888 benutzt. Diese Port-Nummern muss bei Zugriffen
auf den Webserver angegeben werden.
Da ausserdem ein Rechner auszusuchen ist, auf dem der Apache-Webserver
waehrend des Projektes laufen wird, sollte sich dies in der Angabe
des ServerAdmin widerspiegeln. Zugegriffen wird dann z.B. ueber die URL

        http://kalk.Informatik.uni-Oldenburg.DE:8088/

Die restliche Konfiguration ist auf recht resourcen-sparenden Betrieb
ausgelegt und sollte nur bei Bedarf gaendert werden.
Besonders wichtig ist, dass nicht unnoetig Sicherheitsprobleme bzw.
Resource- oder Performance-Probleme durch CGI oder anderweitige
Mechanismen geschaffen werden. I.B. sollte die Beachtung anderer
Leute Web-Praesenzen ('<Directory /home/*/public_html>') NICHT
freigeschaltet werden.
Zur Aktivierung von Spezialeigenschaften fuer den Zugriff auf Dokumenten
aus dem Dokumentenverzeichnis muss innerhalb der <Directory> Direktive
ggf. das Einschalten der Spezialeigenschaften durch geeignetes Setzen
von 'AllowOverride' erlaubt werden. Besonders zu erwaehnen ist
        AllowOverride AuthConfig Limit
um .htaccess/.htpasswd basierte Zugriffskontrolle auf die Daten zu bekommen.

Der konfigurierte Webserver kann nun mittels

        /usr/local/lib/apache2/bin/httpd \
                -f /user/admin/joerg/apache/conf/httpd.conf

gestartet werden.
Der gestartet Webserver disassoziiert sich von der der Terminal-
Sitzung und bleibt bis zum naechsten Rechner-Crash oder Ende-
Signalisierung laufen.

Signalisiert werden kann der Webserver durch das kill Kommando:
- Ende-Signalisierung:
        kill -15 `cat /user/admin/joerg/apache/logs/httpd.pid`
- Neu-Einlesen der Konfigurationsdatei:
        kill -1 `cat /user/admin/joerg/apache/logs/httpd.pid`

Es gibt auch ein Programm der Apache Installation zur Kontrolle
des Webserver: /usr/local/lib/apache2/bin/apachectl.
Um dieses Programm und auch die anderen Apache Hilfsprogramme mit
kurzem Namen aufrufen zu koennen, kann es sinnvoll sein, das
Directory /usr/local/lib/apache2/bin in den Suchpfad mit aufzunehmen:
        PATH=$PATH:/usr/local/lib/apache2/bin
        export PATH
Ebenso kann es sinnvoll sein, den Suchpfad fuer Manual-Seiten um das
Directory mit den Apache Manual-Seiten zu erweitern:
        MANPATH=$MANPATH:/usr/local/lib/apache2/man
        export MANPATH

Der so konfigurierte und gestartetet Webserver liest seine Dokumente
aus dem Directory (Konfigurationsvariable 'DocumentRoot')

        /user/admin/joerg/apache/htdocs

Gestartet wird die Webserver-Dokumentstruktur ueblicherweise mit der
Datei 'index.html'.
Die sich in den Log-Dateien ansammelnden Zugriffs- und Fehlermeldungen
muessen regelmaessig ueberprueft werden. Bei Einbruchsversuchen sollte
nie leichtfertig weggesehen werden, sondern Bescheid gegeben werden.
Es kann sein, dass aus betriebliche Gruenden der Webserver beendet
oder der betreffende Rechner neu gestartet werden muss. U.U. befinden
sich darueber keinerlei Meldung in den Log-Dateien.

Falls PHP4 oder PHP5 Unterstuetzung notwendig ist, so muss in der
Konfigurations-Datei durch die Zeile
        LoadModule php4_module /usr/local/lib/apache2/modules/libphp4.so
das PHP4 Modul oder durch die Zeile
        LoadModule php5_module /usr/local/lib/apache2/modules/libphp5.so
das PHP5 Modul aktiviert werden.
Ausserdem muessen die Zeilen
        AddType application/x-httpd-php .php
        AddType application/x-httpd-php-source .phps
wirksam sein (Kommentarzeichen '#' entfernen). Falls aus Bequemlichkeit
Dateien mit der Endung .php3 ebenfalls als PHP Programme erkannt und
ausgefuehrt werden sollen, muss noch die Zeile
        AddType application/x-httpd-php .php3
hinzugefuegt werden.

Z.Z. ist PHP 4 in der Version 4.4.1 und PHP5 in der Version 5.0.5
installiert.

Die PHP Funktionalitaet kann einfach mit einer Datei test.php mit dem
Inhalt
        <?phpinfo()?>
im DocumentRoot Directory des Server und dem Abruf der URL
        http://kalk.Informatik.uni-Oldenburg.DE:8088/test.php
getestet werden (Rechnernamen und Portnummer natuerlich gegen
die benutzten Werte ersetzen). Ausgegeben wird im Browser die
eingestellte PHP Konfiguration.

Falls PHP Konfigurationsaenderungen mittels einer php.ini Datei
gemacht werden muessen, so muss der Name des Directories, das die
php.ini Datei enthaelt in der Umgebungsvariablen PHPRC gespeichert
werden und dem Webserver sichtbar gemacht werden. Z.B. mittels des
Startes durch

        PHPRC=/user/admin/joerg/apache
        export PHPRC
        /usr/local/lib/apache2/bin/httpd \
                -f /user/admin/joerg/apache/conf/httpd.conf

Auf die PHP4 und PHP5 Dokumentation kann ueber den URL
        file://localhost/usr/local/lib/php/manual/html/index.html
zugegriffen werden.

Achtung: fuer einen dauerhaften Betrieb eines solchen spezialisierten
Webserver auf den ARBI-Rechnern bitte in jedem Fall eine Mitteilung an
Joerg Lehners (Lehners@Informatik.Uni-Oldenburg.DE) schicken. In der
Mitteilung bitte den Grund fuer die spezialisierte Webserver-Installation
angeben, sowie Hinweise auf speziell freigeschaltete Features und den
Rechner benennen, auf dem der Webserver laufen wird.
Spezialisierte Webserver auf den ARBI-Rechnern duerfen nur fuer die
Belange des Informatik-Studiums (z.B. Software-Projekt) betrieben werden.

Bei Fragen, Anregungen und Korrekturvorschlaegen bitte Mail an Joerg
Lehners (Lehners@Informatik.Uni-Oldenburg.DE) schicken.
Received on Sat, 04 Feb 2006 12:04:09 +0100

This archive was generated by hypermail 2.1.8 : Sat Feb 04 2006 - 12:04:05 CET