| FOTO | AUTO | EDV | AUDIO |

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 all
und ä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