Op mijn nieuwe virtuele rootserver wil ik Apache gaan draaien als webserver, apache2 om precies te zijn.
De basis
Allereerst geven we de opdracht om het pakket apache2 te installeren
#apt-get install apache2 #apt-get install apache2-mpm-prefork
Ik kies voor mpm-prefork omdat deze het meest stabiele is, de mpm-worker is meer bedoeld voor echt drukke servers.
Vervolgens installeren we nog een paar modules voor ondersteuning voor php en cgi:
# apt-get install libapache2-mod-php4 php4-cli php4-common php4-cgi
Ondersteuning voor SSL
Allereerst moeten we twee extra pakketten installeren:
# apt-get install openssl ssl-cert
Vervolgens maken we voor de ssl-toegang een self-signed certificate:
apache2-ssl-certificate
En activeren we de module ssl:
a2enmod ssl
Vervolgens maken we een kopie van de default config voor ssl:
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl
Dan maken we een symlink om de ssl site beschikbaar te stellen:
# ln -s /etc/apache2/sites-available/ssl /etc/apache2/sites-enabled/ssl
In het bestand /etc/apache2/ports.conf moeten we nu een regel toevoegen omdat ssl standaard op poort 443 luistert:
Listen 443
Het bestand /etc/apache2/sites-available/ssl vullen we met het volgende:
NameVirtualHost *:443ServerName mydomain.com DocumentRoot /var/www/https/ ErrorLog /var/log/apache2/error.log CustomLog /var/log/apache2/access.log combined SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem
Nog een opmerking, nu gebruiken we een self-signed certificate, maar als je een echt officieel gekocht certificaat gebruikt dan dien je nog het volgende toe te voegen om het certificaat naar de browser te sturen:
SSLCACertificatePath /full/path/to/apache/conf/certs
Tot slot herstarten we apache2:
/etc/init.d/apache2 restart
En daarmee hebben we een werkende apache2 webserver met ondersteuning voor php4 en ssl. Volgende stap is de installatie van Mysql.