Ubuntu: Apache2 Kommandos

Starten:

> sudo service apache2 start

Stoppen:

> sudo service apache2 stop

Neustarten:

> sudo service apache2 restart

Konfiguration aktualsieren:

> sudo service apache2 reload

Syntax der Konfiguration prüfen:

> apache2ctl configtest

Status anzeigen:

> sudo service apache2 status

Geladene Module anzeigen:

> apache2ctl -M

Modul aktivieren:

> sudo a2enmod

Modul deaktivieren:

> sudo a2dismod

Aktivieren eines virtuellen Hosts:

> sudo a2ensite <name>.conf

Deaktivieren eines virtuellen Hosts:

> sudo a2dissite <name>.conf

Layout der Konfiguration unter Ubuntu:

/etc/apache2/
|-- apache2.conf
|        -- ports.conf
|-- mods-enabled
|        -- *.load
|        -- *.conf
|-- conf-enabled
|        -- *.conf
|-- sites-enabled
|        -- *.conf

Standard Dokumentverzeichnis (Docoument root):

/var/www/html

Nützliche Links

Ubuntu documentation: HTTPD – Apache2 Webservice

Cheat-sheet: Apache2 Commands

Kostenloses StartSSL Serverzertifikat einrichten beim NGINX Webserver

Achtung:
Mozilla und Google haben der Zertifizierungsstelle das Vertrauen entzogen, somit werden die meisten StartSSL-Zertifikate nicht mehr als vertrauenswürdig anerkannt. Als eine gute und freie Alternative kann Let’s Encrypt eingesetzt werden.

Zum Installieren eines kostenloses StartSSL-Zertifikates auf einem NGINX Webserver, braucht es folgende Schritte:

  1. Ein Zertifikat bei StartSSL erstellen
  2. Den neu erstellten privaten Schlüssel mit „Copy & Paste“ in eine Datei, mit den Namen ssl.key, speichern
  3. Die Datei ssl.key mit einem geeigneten Tool, beispielsweise WinSCP für Windows Benutzer, auf den Webserver kopieren
  4. Mit Hilfe von OpenSSL muss der private Schlüssel, auf dem Server, entschlüsselt gespeichert werden: openssl rsa -in ssl.key -out server.key
    (Hinweis zur Passworteingabe bei verwendung von Putty: Möchte man nicht die >= 32 Stellige „PEM pass phrase“ von Hand abtippen, kann diese mit „shift+Ins“ eingefügt werden.)
  5. Wenn das Webseiten-Zertifikat durch StartSSL erstellt wurde, erhält man eine Benachrichtigung und kann das Zertifikat unter: Control Panel-> Tool Box-> Retrieve Certificate beziehen. Dazu wieder mit „Copy & Paste“ in eine Datei namens ssl.cert speichern und zum Webserver kopieren
  6. Nach diesem Schritt muss noch ein Gesamtpaket mit den Hilfszertifikaten von StartSSL und dem Webseiten-Zertifikat erstellt werden, da beim NGINX Webserver diese Zertifikate nicht einzeln in der Konfiguration angegeben werden. Die Hilfszertifikate können bei StartSSL heruntergeladen werden. Um das Gesamtpaket zu erstellen, braucht es für die kostenlosen Zertifikate die Dateien ca.pem und sub.class1.server.ca.pem. Mit dem Befehl:
    cat ssl.cert ca.pem sub.class1.server.ca.pem > server.pem
    werden alle Dateien in die Datei server.pem zusammengefasst.
  7. Nun die Dateien „server.pem“ und „server.key“ in das gewünschte Verzeichnis kopieren. Hier in diesem Beispiel nach „/etc/nginx/cert/“.
  8. Jetzt muss noch die NGINX Konfiguration angepasst werden:
    server {
        listen   443;
        ssl on;
        ssl_certificate /etc/nginx/cert/server.pem;
        ssl_certificate_key /etc/nginx/cert/server.key;
        server_name  www.example.org;
        root /var/www/example;
        location / {
            index  index.html;
        }
    }
  9. Zum Abschluss wird noch ein Neustart von NGINX durchgeführt.(/etc/init.d/nginx restart) Wenn beim Neustart keine Fehlermeldung in der Konsole erscheint, ist das Zertifikat erfolgreich installiert worden.

Hinweis: Sollte NGINX nicht mehr starten und eine ähnliche Fehlermeldung wie:

[emerg]: SSL_CTX_use_certificate_chain_file("/etc/nginx/cert/server.crt") failed (SSL: error:02001002:system library:fopen:No such file or directory error:20074002:BIO routines:FILE_CTRL:system lib error:140DC002:SSL routines:SSL_CTX_use_certificate_chain_file:system lib)
configuration file /etc/nginx/nginx.conf test failed

in der Konsole angezeigt werden, dann deutet dies auf einen fehlenden Zeilenumbruch in der Datei server.pem hin.

NGINX - Fehler in der server.pem Datei
Fehlender Zeilenumbruch in der .PEM Datei
Einfach den Zeilenumbruch korrigieren und die Datei speichern. Nach der Korrektur sollte NGINX wieder erfolgreich starten.
Zeilenumbruch korrigiert
Zeilenumbruch korrigiert

Netcat als Webserver verwenden

Braucht man kurzerhand einen Webserver, der eine einzelne statische Datei ausliefert, kann dies mit Hilfe von Netcat gemacht werden.
Anwendungsszenarien:

  • Testing
  • Beim Unterbruch eines Webservers, damit möglichst schnell eine Fehlerseite angezeigt wird

[cc lang=“bash“]
while true; do sudo nc -l 80 -q 1 < error.html; done [/cc]
Parameter:

    -l Port um auf Anfragen zu warten
    -q Sekunden die nc nach einem stdin warten soll bis es terminiert
    error.html Eine einfache statische HTML-Seite, welche ausgeliefert wird