Die Installation des Apache2.2 unter Debian erledigen wir am einfachsten mit apt
apt-get update apt-get install apache2
Alternativ dazu können wir auch gleich PHP4 Installieren
apt-get update apt-get install php4
...
Die Installation unter SuSE erledigen wir am schnellsten über ein rpm Paket
wget ftp://ftp.gwdg.de/pub/linux/suse/projects/apache/apache2/9.2-i386/apache2-2.2.2-0.1.20060502.i586.rpm rpm -i apache2-2.2.2-0.1.20060502.i586.rpm
Solltet ihr es bevorzugen den Apache selst zu complieren oder kein fertiges Paket für Ihre Distrubtion zu finden ist folgen sie einfach dieser Anleitung:
lynx http://httpd.apache.org/download.cgi gzip -d httpd-NN.tar.gz tar xvf httpd-NN.tar cd httpd-NN ./configure make make install
schon ist der Apache2.2 installiert
Konfigurieren könnt ihr euren Apache2.2 indem Ihr die /etc/apache2/apache2.conf editiert. Die Datei ist relativ gut kommentiert, deswegen geh ich darauf jetzt nicht näher ein. Für diese Anleitung verwende ich erstmal die unveränderte apache2.conf
... (Da ich kein SuSE verwende, steht hier erstmal nichts)
... (Da ich ausschließlich Debian verwende, steht hier erstmal nichts)
Jetzt können wir den Apache mit
/etc/init.d/apache2 start
starten.
Wenn ihr jetzt in eurem Browser auf http://ip_eures_servers/ geht, erhaltet ihr die default seite des apaches. Wenn nicht, dann habt ihr irgendwo nen Fehler gemacht.
So jetzt wollen wir natürlich nicht die default apache seite sondern unsere eigene Homepage.
Angenommen wir besitzen die domains:
example.tdl
sub.example.tdl
die ip:
123.123.123.123
und dazu jeweils eine index.html für jede domain.
Was wir jetzt noch brauchen ist einen User (ich nehn ihn mal exampletdl) für unsere Webauftritte:
useradd -d /var/www/example.tdl -s /bin/false -g www-data -m exampletdl
so nun erstellen wir uns für jede domain eine config im apache sites-enabled ordner:
touch /etc/apache2/sites-enabled/example.tdl.conf touch /etc/apache2/sites-enabled/sub.example.tdl.conf
so und nun ans editieren: example.conf:
<VirtualHost 123.123.123.123:80> ServerName example.tdl ServerAlias www.example.tdl ServerAdmin admin@example.tdl DocumentRoot /var/www/example.tdl/html <Directory /var/www/example.tdl/html> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog /var/www/example.tdl/apache2/error.log LogLevel warn CustomLog /var/www/example.tdl/apache2/access.log combined ServerSignature On </VirtualHost>
Erklärung: <VirtualHost 123.123.123.123:80>
ServerName example.tdl
ServerAlias www.example.tdl
ServerAdmin admin@example.tdl
DocumentRoot /var/www/example.tdl/html
<Directory /var/www/example.tdl/html>.....</Directory>
ErrorLog /var/www/example.tdl/apache2/error.log
LogLevel warn
CustimLog /var/www/example.tdl/apache2/access.log combined
ServerSignatur On
</VirtualHost>
So und nun zur sub.example.tdl.conf:
<VirtualHost 123.123.123.123:80> ServerName sub.example.tdl ServerAlias www.sub.example.tdl ServerAdmin admin@sub.example.tdl DocumentRoot /var/www/example.tdl/sub <Directory /var/www/example.tdl/sub> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog /var/www/example.tdl/apache2/error.log LogLevel warn CustomLog /var/www/example.tdl/apache2/access.log combined ServerSignature On </VirtualHost>
So erklärung steht oben ;)
Jetzt müssen wir noch ein paar Verzeichnisse/Dateien erstellen:
mkdir /var/www/example.tdl/{apache2,html,sub} touch /var/www/example.tdl/apache2/error.log touch /var/www/example.tdl/apache2/access.log chown -R exampletdl.www-data var/www/example.tdl/*
So jetzt legen wir unsere index.html für example.tdl unter /var/www/example.tdl/html ab und die für unsere Subdomain sub.example.tdl unter /var/www/example.tdl/sub.
Der apache muss nun die conf dateien laden:
/etc/init.d/apache2 reload
Sollten hierbei keine Fehlermeldungen kommen, könnt ihr nun in euren browser auf http://example.tdl und http://sub.example.tdl gehen, und ihr bekommt die jeweilige index.html zu sehen :)