Virtual Host erstellen



Als nächstes erstellen wir ein Virtuellen Host auf unserer Konfiguration

Auch hier gibt es wieder Millionen von Ansätzen wie man es machen kann, oder könnte. Technisch gesehen ist das alles jedoch eine reine Grundsatzfrage. Ob Ihr die Vorgehensweise nun mögt oder hasst, ist mir eigentlich relativ egal ^^

Sammeln der Informationen


Als erstes sollten wir zu erst die Informationen sammeln. Wie soll die Domain heissen, wie soll der Benutzer heissen und auf welcher IP der Server laufen soll. Ohne diese Informationen wird es richtig bäh

Ich nenne die Domain jetzt einfach mal famp.whurst.net und soll auf der IP 127.0.0.1 laufen. Als User soll es der cntfamp sein. Der soll ja später per FTP kommen (siehe nächster Abschnitt). Die IP 127.0.0.1 ist natürlich für ein Webserver der im Internet stehen soll nicht unbedingt so die beste Wahl, aber das ist ja auch nur ein Beispiel ...

Erstellen der Verzeichnisstruktur


Auch hier gibt es wieder ein "paar" Ansätze. Wie gesagt jetzt kommt meiner

Die gesamte Domain wird bei mir unter einem Verzeichnis geworfen. Das betrifft Content, Logs, Heimat und so weiter. Am Schluss habe ich alles unter einem Verzeichnis und finde so auch alles wieder

server# cd /
server# mkdir -p /pool/famp.whurst.net/htdocs
server# mkdir -p /pool/famp.whurst.net/logs
server# mkdir -p /pool/famp.whurst.net/home
server# mkdir -p /pool/famp.whurst.net/etc/cron.d
server# mkdir -p /pool/famp.whurst.net/lib
server# mkdir -p /pool/famp.whurst.net/bin

Natürlich braucht man nicht alle. htdocs ist für den Content, logs für die Logfiles, home wird das Heimatverzeichnis des Users, etc ist für Konfigurationen - z.b. Webalizer oder anderes Zeug, lib ist für PHP Libraries die nicht im DocumentRoot liegen sollten und bin ist für Scripte

Einrichtung eines Virtuellen Apache Hosts


Ich erstelle für jeden Virtuellen Host immer eine eigene Datei. Die nenne ich meist vhost-irgendwas-was-passt.conf oder so. In der Datei sind fast alle Konfigurationsanweisungen in einem VirtualHost Block eingeschlossen. Dazu zählen ServerName, DocumentRoot und der restliche Kram

Mit Listen sagen wir dem Apache das er auf diesen Port hören soll, mit NameVirtualHost sagen wir Ihm das es auch andere Domains geben könnte die auf den Port laufen. AddType brauchen wir damit der Apache auf PHP macht

/etc/apache/vhost-famp.whurst.net.conf
 Listen 127.0.0.1:80
NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
ServerName famp.whurst.net
DocumentRoot "/pool/famp.whurst.net/htdocs"
CustomLog /pool/famp.whurst.net/logs/access_log combined
ErrorLog /pool/famp.whurst.net/logs/error_log
AddType application/x-httpd-php .php
DirectoryIndex index.php
</VirtualHost>

Als nächstes müssen wir unsere Basis Konfigurationsdatei mit einem Include bestücken, so das auch unsere neue Datei angenommen und bearbeitet wird

/etc/apache/httpd.conf
 ...
include /etc/apache/vhost-famp.whurst.net.conf


Testlauf


Nun wir sollten noch ein paar Files in den Content Bereich legen, damit wir den Apache auch testen können

/pool/famp.whurst.net/htdocs/phpinfo.php
 <?PHP
phpinfo();
?>

und eine

/pool/famp.whurst.net/htdocs/index.php
 <html>
<head>
<title>Jau - wie geil</title>
</head>
<body>
<h1>Jawohl, das hat echt geklappt</h1>
<br>
<?PHP echo 'Herzlichen Gl&uuml;ckwunsch'; ?>
</body>
</html>


Nach einem Apache Restart bzw. dem ersten Start mittels

server# cd /
server# /usr/local/etc/rc.d/apache22 start

sollte im Browser dann auch das erwartete Ergebnis kommen

Wenn nicht ... dann habt ihr was Falsch gemacht ^^ haha

Weiter geht es mit der Einrichtung des Users