Apache installieren
Mit folgendem Befehl installieren Sie den Apache Webserver
apt-get install apache2
Deinstallation
Sollte zuvor eine Deinstallation notwendig sein:
apt-get remove --purge apache2 apt-get autoremove
PHP installieren
Mit folgendem Befehl installieren Sie php5 und die für den Apache nötigen Libraries und Module
apt-get install php libapache2-mod-php
Um zu testen ob PHP richtig installiert wurde, legen Sie eine Testdatei im Dokument-Root-Verzeichnis des Servers an.
vim /var/www/html/info.php
<?php phpinfo(); ?>
Sicherheitszertifikat erstellen
Ein Sicherheitszertifikat ist nötig wenn Sie eine verschlüsselte Transaktion zwischen Server und Client gewährleisten wollen.
Zertifikat erstellen
Zuerst legen wir unter /etc/apache2 ein neues Verzeichnis mit dem Namen ssl an
mkdir -p /etc/apache2/ssl
Schlüsselpaar für unser Zertifikate Authority (CA)
Dabei werden zuerst der Schlüssel und danach das Zertifikat erstellt. In diesem Fall wird das Zertifikat 10 Jahre lang gültig sein.
openssl req -new -x509 -days 3650 -nodes -sha256 -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem ln -sf /etc/apache2/ssl/apache.pem /etc/apache2/ssl/`/usr/bin/openssl x509 -noout -hash < /etc/apache2/ssl/apache.pem`.0 chmod 600 /etc/apache2/ssl/apache.pem
Anschließend überprüfen wir ob in der Datei /etc/apache2/ports.conf der Eintrag Listen 443 vorhanden und nicht auskommentiert ist. Nachdem die Datei geändert wurde, muss der Webserver neu gestartet werden.
service apache2 reload
Jetzt aktivieren wir das SSL Modul des Webservers
a2enmod ssl
SSL Website konfigurieren
Als nächstes richten wir den VirtualHost für SSL ein.
vim /etc/apache2/sites-available/ssl.conf
In die Datei ssl.conf schreiben wir folgenden Text
<virtualhost *:443> SSLEngine On SSLCertificateFile /etc/apache2/ssl/apache.pem DocumentRoot /var/www </virtualhost>
Anschließend muss die neue VirtualHost Datei aktiviert werden.
a2ensite ssl.conf
Jetzt wird der Webserver noch einmal neu gestartet
service apache2 force-reload
Modul aktivieren
a2enmod rewrite
Falls das Verzeichnis /var/run/apache2 nicht vorhanden ist, legen wir dieses an.
mkdir -p /var/run/apache2
anschließend muss der Besitzer des Verzeichnisses auf www-data geändert werden.
chown -R www-data /var/run/apache2
Zum Schluss lesen wir die Konfiguration von Apache neu ein.
/etc/init.d/apache2 force-reload
Um das Modul nutzen zu können, müssen wir, je nach genutzter Linux Version, die Datei /etc/apache2/sites-enabled/000* in einem Terminal mit root Rechten öffnen und anpassen.
vim /etc/apache2/sites-enabled/000-default.conf
Nun suchen wir in dieser Datei nach folgender Sektion.
Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from allund ändern die Zeile AllowOverride None zu AllowOverride FileInfo Damit erlauben wir das Umschreiben von Urls.
Nun müssen wir noch die Datei /etc/apache2/sites-available/default bearbeiten.
vim /etc/apache2/sites-available/default
Direkt nach ServerAdmin können wir folgende Zeilen einfügen
RewriteEngine on RewriteRule ^/phpmyadmin(.*)$ https://%{SERVER_NAME}/phpmyadmin$1 [L,R] RewriteLog „/var/log/apache2/rewrite.log“ RewriteLogLevel 2 In diesem Beispiel sorgen wir dafür das http://profwebapps.no-ip.org/phpmyadmin automatisch auf https://profwebapps.no-ip.org/phpmyadmin umgeleitet wird.
Wenn Sie nicht nur ein Verzeichnis sondern den kompletten Webserver mit SSL absichern wollen, können Sie stattdessen folgenden Text eingeben.
RewriteEngine on RewriteRule ^/(.*)$ https://%{SERVER_NAME}/$1 [L,R] RewriteLog „/var/log/apache2/rewrite.log“ RewriteLogLevel 2