Apache ist der verbreitetste Web-Server.
Original Code stammt von IBM
Falls beim Seiten aufrufen immer nur der Fehler '403 - Zugriff verweigert' kommt, kann es an den Datei Rechten liegen. Hier mein Workaround:
sudo bash
'www-data'# cd /
'/home/hans/meineHomepage/'$ cd home $ cd hans cd: 3: can't cd to user $
Hier hast du den ersten Fehler gefunden. Der User 'www-data' kann nicht in das Ziel '/home/hans/meineHomepage/' gelangen. Das gilt auch wenn ein direkter Sprung ($ cd /home/hans/meineHomepage) in's Verzeichnis möglich ist. Es gibt jetzt mindestens drei mögliche Lösungen:
'www-data' der Gruppe von hans, meistens heisst die gleich wie der User → 'hans' (# nano /etc/group).'/home/hans' liegen. Das ist sehr wichtig für ein Backup! Zum Schluss muss auch hier die VHost Datei angepasst werden (Normalfall: # nano /etc/apache2/sites-enabled/${meineHomepage}).
Es kann vorkommen, dass das Modul 'mod_proxy_http' nicht immer geladen wird. Bei Gentoo musste ich es einmal von Hand eintragen:
In der Datei /etc/apache2/httpd.conf im Bereich '<IfDefine PROXY>':
<IfDefine PROXY> LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so </IfDefine>
Wenn die URL's dann nicht richtig übersetzt werden, brauchst du noch das Modul da: mod_proxy_html
Dieser Abschnitt ist evt. etwas Gentoo-lastig… Vor der Installation von Apache2 oder PHP5 muss in der Datei '/etc/make.conf' das USE-Flag 'apache2' gesetzt sein. Dann kann man 'emerge' arbeiten lassen.
Nach der Installation muss man PHP in der Datei '/etc/conf.d/apache2' PHP5 in der Variable 'APACHE2_OPTS' aktivieren. Die Zeile könnte dann so aussehen:
APACHE2_OPTS="-D PHP5 -D DEFAULT_VHOST -D INFO -D LANGUAGE -D SSL -D SSL_DEFAULT_VHOST"
Zum Schluss noch den Apachen neustarten:
# /etc/init.d/apache2 restart
Um die Sessions aus dem gefärdeten Ordner '/tmp' heraus zu befördern, muss folgendes gemacht werden.
Zuerst muss ein Ordner gefunden oder angelegt werden, wo 'apache' schreibrechte hat. Unter Gentoo wurde der Ordner '/var/cache/apache2' bereits bei der Installation von Apache angelegt.
Jetzt muss die aktive 'php.ini' bearbeitet werden. Im Zweifelsfall folgenden Befehl ausführen:
# echo "<?php phpinfo(); ?>" > /irgendwo/wo/apache/es/ausführt/info.php
Dann die Seite mit einem Browser öffnen und nach 'php.ini' suchen.
In meinem Fall war das diese Datei: '/etc/php/apache2-php5/php.ini'. Mit cat finde ich die Zeile:
# cat -n /etc/php/apache2-php5/php.ini | grep "session.save_path"
Dann öffnete ich die Datei mit dem Befehl:
# nano /etc/php/apache2-php5/php.ini
In 'nano' kann ich die aktuelle Position mit [ Ctrl ] + [ C ] herausfinden (negativer Balken unten in der Konsole). Jetzt muss der Pfad auf den Ordner angepasst werden. meine Zeile sah dann so aus:
... Vorherige Konfigurationen session.save_path = "/var/cache/apache2" ... Weitere Konfigurationen
Zum Schuss noch die Datei mit der Komination [ Ctrl ] + [ X ] speichern und mit [ Y ] und [ Enter ] bestätigen. Um die Änderungen zu aktivieren muss jetzt Apache nochmals neugestartet werden:
# /etc/init.d/apache2 restart
Was VHosts, etwa wie Vendetta? Eher weniger. VHost's oder 'virtual Hosts' erlauben es beliebig/sehr viele Homepages auf einem Server laufen zu lassen.
Technisch gesehen wird mit der HTTP-Header-Information 'Host' unterschieden, welcher VHost zum Zug kommt.
Grundsätzlich: Wo du sie hinlegst.
Bei Debian/Ubuntu liegen sie normalerweise da: '/etc/apache2/sites-available'
Darin findest du auch eine Datei namens 'default'. Die auf keinen Fall löschen, da es sonst zu lustigen/ungewollten Erscheinungen kommt, angefangen bei einem grossen Fehler
Um eine zweite Seite auf dem Server zu betreiben, muss die alte zuerst in einen VHost verschoben werden und dann ein neuer angelegt werden. Das Anlegen funktioniert so:
'sites-available' eine neue Datei mit dem DNS-Namen erstellen. Z.B: 'example.com''example.net''a2ensite ${DNS-Name]'. Z.B. # a2ensite example.com # a2ensite example.net
# /etc/init.d/apache2 restart
oder neuladen
# /etc/init.d/apache2 reload
Das Beispiel zeigt das Minimum. Einen Namen und einen Start-Ordner. Die E-Mail-Adresse wird wegen den vielen Spamern (leider) oft auch weggelassen.
#NameVirtualHost example.com <VirtualHost *> ServerAdmin webmaster@example.com ServerName example.com ServerAlias example *.example.com DocumentRoot /var/www/example.com/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/example.com/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature On </VirtualHost>
# a2enmod userdir # /etc/init.d/apache2 restart
Quelle: http://wiki.ubuntuusers.de/Apache#mod-userdir-aktivieren