Hello,
Weiß jemand, wie ich apache2 dazu überreden kann, die httpd.conf die bei mir unter dem pfad /etc/apache2/conf-available/httpd.conf zu finden ist doch zu laden? Das ging ja zuminderst in der übergangszeit durch einen Eintrag (welchen?) in der apache2.config. Ja, klar, heute wird das über sites-available geregelt, müsste ich alles neu einrichten. Ok, Frage an Tom: wie sieht beispielhaft deine sites-available und deine sites-enabled aus (Wenn möglich ein beispiel für einen Vhost).
zunächst solltest Du mal lesen:
http://httpd.apache.org/docs/2.0/de/vhosts/
oder auch
http://www.prontosystems.org/tux/apache_vhost als mMn gute Anleitung
Und dann sollte unter /etc/apache2/sites-available die default-Seite stehen, und es sollte sich dort auch ein Beispiel für einen vHost befinden:
Die Datei heißt üblicherweise "default.dpkg.dist"
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
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
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Halte dich einfach an die Gepflogenheiten der Debian-Apache-Konfiguration, dann sollte es mit "Copy-n-Paste" und ein paar "alle ersetzen" für die Hostnamen, sowie ein paar "mkdir" für die Verzeichnisse im Dateisystem udn ein paar "chown www-data:www-data ./ -R" getan sein.
Hier eine meiner Beispielkonfigurationen, die ich eben gerade für einen XAMPP angelegt habe. Die unterscheidet sich mMn aber nicht wesentlich von der späteren für den Produktivserver:
<VirtualHost *:80>
ServerAdmin webmaster@testserver.lan
DocumentRoot "M:/USER/TOM/WebProgTests/gpeasy.lan/htdocs"
ServerName gpeasy.lan
ServerAlias www.gpeasy.lan
<Directory "M:/USER/TOM/WebProgTests/gpeasy.lan">
Order Allow,Deny
Allow from all
Options All
AllowOverride All
IndexOptions +FancyIndexing +IgnoreCase +FoldersFirst +NameWidth=50
AddDefaultCharset UTF-8
## AddDefaultCharset ISO-8859-1
php_value error_reporting 30719
php_value magic_quotes_gpc 0
php_admin_value memory_limit 128M
php_admin_value open_basedir "M:/USER/TOM/WebProgTests/gpeasy.lan/"
php_admin_value upload_tmp_dir "M:/USER/TOM/WebProgTests/gpeasy.lan/tmp"
php_admin_value session.save_path "M:/USER/TOM/WebProgTests/gpeasy.lan/sessions"
</Directory>
ErrorLog "M:/USER/TOM/WebProgTests/gpeasy.lan/logs/error.log"
CustomLog "M:/USER/TOM/WebProgTests/gpeasy.lan/logs/access.log" combined
</VirtualHost>
Wesentlich sind hier eigentlich nur die speziellen PHP-Konfigurationen:
Ich lege grundsätzlich für jeden vHost eigene Verzeichnisse für tmp, sessions, logs, data, includes, etc. _außerhalb_ der Document Root an und setze ein open_basedir. Da ich PHP immer noch als Modul des Apachen benutze, sind so die einzelnen Domains gegeneinander abgeschirmt. Ein Zugriff per Script auf die Daten einer anderen Domain ist so nicht möglich.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg