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 :)