Schlagwort: Apache

Apache mit Zertifikat von Letsencrypt

Schon in seit Jahren gibt es kostenlose Zertifikate von Letsencrypt, jedoch gibt es seit Apache 2.4 ein Modul zum automatischen aktualisieren der Zertifikate. Zusätzliche Software wie der Certbot ist nicht mehr notwendig.

Die Installation von Apache erfolgt aus den Ubuntu Paketen.

sudo apt install apache2 libapache2-mod-md

Die notwendigen Modulle für SSL, OCSP Stapling und Modul „MD“ müssen aktiviert werden.

sudo a2enmod ssl md socache_shmcb

Weiterlesen

Webserver per LTE Mobilfunk über SSH Tunnel bereitstellen

In diesem Artikel wollen wir einen Web-Server ohne öffentliche IP Adresse mit einem LTE Stick im Internet betreiben. Dazu brauchen wir zusätzlichen einen virtuellen Server mit einer festen öffentlichen IP Adresse. Ein virtuellen Server (1 vCPU + RAM 512MB + SSD 10G) gibt es ab 1,- EUR pro Monat. Der vServer sollte eine feste IPv4 und IPv6 Adresse haben.

+=============================+          +=========+         +==========+
| Privater Server + LTE Stick |--dyn.IP--| vServer |-fixe IP-| Internet |
+=============================+          +=========+         +==========+

Bei einer Verbindung mit dem Mobilfunknetz per LTE Stick wird dem Teilnehmer eine private IPv4 (10.xx.xx.xx) dynamisch zugewiesen. Diese IP wird per NAT mit einer öffentlichen IPv4 Adresse verbunden. Nur einige Mobilfunkanbieter verteilen schon IPv6 Adressen, jedoch kein Anbieter bietet eine feste IP Adresse an. Der private Server soll jedoch immer unter der gleichen Adresse erreichbar sein.

Auf die Einrichtung vom LTS Stick, Mobil- und SSH-Verbindung werde ich nicht weiter eingehen. Es soll hier nur kurz und kompakt die Einrichtung eine SSH Tunnel beschrieben werden.

Weiterlesen

Automatischer Neustart von Apache

Systemd erlaubt es einen Dienst wie Apache im Fehlerfall automatisch neu zu starten. Dafür bietet Systemd ein Drop-In Replacement von Konfiguration an.

Die Erweiterung eine bestehenden Konfiguration ist recht einfach.

Wir legen ein Verzeichnis mit dem Names des Service (apache2.service) an.

sudo mkdir /etc/systemd/system/apache2.service.d/

In diesem Verzeichnis wird eine neue Konfigruationsdatei angelegt.

sudo vim /etc/systemd/system/apache2.service.d/restart.conf

Der Inhalt der Konfiguration steuter den Neustart (Restart=on-failure) vom Dienst im Fehlerfall. Der Neustart erfolgt nach einer Wartezeit von 5 Sekunden (RestartSec=5s) mit maximal 10 Versuchen (StartLimitBurst=10). Wird der Dienst manuell gestoppt, so erfolgt kein automatischer Neustart (RemainAfterExit=no).

Weiterlesen

Apache2 status Error www-browser not found

Man kann den Status eines Apache Server per Kommandozeile abfragen.

apachectl status

Dabei erhalten Sie jedoch diese Fehlermeldung:

/usr/sbin/apachectl: 113: /usr/sbin/apachectl: www-browser: not found
'www-browser -dump http://localhost:80/server-status' failed.
Maybe you need to install a package providing www-browser or you
need to adjust the APACHE_LYNX variable in /etc/apache2/envvars

Um den Fehler zu beheben, müssen wir noch ein Text-Browser installieren.

sudo apt install w3m

Apache mit http/2 auf Ubuntu Server 18.04

Durch die Verwendung von HTTP/2 wird die Verbindung bei SSL/TSL Verbindungen stark beschleudingt. Wir müssen den Apache2 für die Verwendung von HTTP/2 umstellen.

Hinweis: Das Modul mod_php verwendet das Prozessmodul mpm_prefork. Um das Protokoll HTTP/2 zu verwenden, müssen wir auf das Prozessmodul mpm_event mit FastCGI umstellen.

Die Installation von Apache2 und PHP7.2 erfolgt unter Ubuntu 18.04 wie folgt.

sudo apt install apache2 php7.2

Nach der Installation läuft der Apache mit Prefork als Prozessmodul. Für HTTP/2 brauchen wir das Prozessmodul Event.

Zuerst deaktivieren wir MPM Prefork und das Modul von PHP.

sudo a2dismod php7.2
sudo a2dismod mpm_prefork

Jetzt aktivieren das MPM Event Prozessmodul mit FastCGI.

sudo a2enmod mpm_event proxy_fcgi setenvif

Wir möchten PHP mit FastCGI verwenden und installier es jetzt.

sudo apt install php7.2-fpm
sudo a2enconf php7.2-fpm

PHP läuft als extra Dienst, welche wir aktivieren und starten.

sudo systemctl start php7.2-fpm
sudo systemctl enable php7.2-fpm

Nach dem Neustart von Apache sollte PHP wieder laufen.

sudo systemctl restart apache2

Für HTTP/2 aktivieren wir das Modul.

sudo a2enmod http2

Damit unsere Webseite das Protokoll HTTP/2 verwendet, müssen wir es in der Konfiguration hinterlegen.

sudo vim /etc/apache2/sites-enabled/your-host-ssl.conf

<VirtualHost *:443>
 Protocols h2 http/1.1
 SSLEngine On
 ...

Nach einem Neustart von Apache sollte das Protokoll HTTP/2 funktionieren.

sudo systemctl restart apache2

Den Funktionstest kann man mit dem Curl Tool durchführen. Hier am Beispiel von Google.

curl -k -v --http2 https://www.google.com/

Sollte es zu Problemen mit der Anzahl der Theads kommen, kann man die Anzahl begrenzen.

sudo vim /etc/apache2/mods-enabled/http2.load

H2MinWorkers 1
H2MaxWorkers 1

Das Protokoll HTTP/2 ermöglich auch das Vorrausladen (Preload) von Inhalten. Hier ein Beispiel für WordPress als Header.

Header add Link "</wp-content/themes/twentyseventeen/style.css>;rel=preload"
Header add Link "</wp-includes/js/jquery/jquery.js>;rel=preload"
Header add Link "</wp-includes/js/jquery/jquery-migrate.min.js>;rel=preload"
Header add Link "</wp-includes/js/wp-embed.min.js>;rel=preload"

Check_MK Raw Server Edition installation

Diese Anleitung beschreibt die Installation von Check_MK Raw Server Version 1.2.8 auf Ubuntu Server 16.04 LTE.

Die Installation von Ubuntu Server 16.04 wird einfach mit Standardvorgaben installiert.

Zusätzlich installieren wird ein extra Tool, welcher alle Abhängigkeiten zu Check_mk installiert.

sudo apt-get install gdebi-core

Auf der Download Seite von Check_mk finden wir die Version 1.2.8 Raw, welche 100% kostenlos ist.

Wir laden die 64bit Version für Ubuntu 16.04 runter.

wget https://mathias-kettner.de/support/1.2.8p18/check-mk-raw-1.2.8p18_0.xenial_amd64.deb

Jetzt können wir Check_mk mit allen Abhängigkeiten installieren.

sudo gdebi check-mk-raw-1.2.8p18_0.xenial_amd64.deb

Check_mk verwendet den Apache mit mod_proxy, welches aktiviert werden sollte.

sudo a2enmod proxy_http

Nach einem Neustart ist die Installation schon fast abgeschlossen.

sudo service apache2 restart

Wir können die installierte Version ausgeben.

omd version

Check_mk bietet die Möglichkeit unterschiedliche Seiten gleichzeitig zu betreiben. Wir erstellen eine Beispielseite „mysite“.

sudo omd create mysite
sudo omd start mysite

Jetzt kann man die Seite im Browser erreichen. http://HOSTNAME/mysite/ Die Zugangsdaten wurden bei der Erstellung angezeigt oder sind fest voreingestellt. Das Login lautet „omdadmin“ und das Password ist „omd“.

Sollte man die Zugangsdaten vergessen haben, kann man das Passwort zu jeder Zeit ändern.

sudo htpasswd /omd/sites/mysite/etc/htpasswd cmkadmin

Ein Update auf eine neue Check_mk Version ist immer möglich. Das Versionsupdate wird in Schritten durchgeführt.

Eigene Ubuntu / Debian – Pakete erstellen

1. Paketverzeichnis erstellen

mkdir -p /tmp/myproject/DEBIAN/

1.1. HTML (Test) Seite erstellen

cd /tmp/myproject/
mkdir -p ./var/www/
echo "Test" > ./var/www/test.html

2. Kontrolldatei erstellen

cd /tmp/myproject/
vim ./DEBIAN/control

Package: myserver
Version: 0.0.1
Section: server
Priority: optional
Architecture: all
Essential: no
Installed-Size: 1024
Maintainer: User [snap.in@gmail.com]
Description: Statische Seite für den Webserver

2.1. Post-Install und Pre-Uninstall

cd /tmp/myproject/
echo "service apache2 restart" > ./DEBIAN/postinst
chmod +x ./DEBIAN/postinst

3. DEB Packet erstellen

cd /tmp/
dpkg-deb --build myproject

3.1. Debian Packet ansehen

dpkg-deb --contents myproject.deb

3.2. Debian Packet installieren

sudo dpkg -i myproject.deb

3.3. Debian Packet Auflisten

sudo dpkg --list |grep myproject

3.4. Debian Packet de-installieren

sudo dpkg --remove myproject

Copyright © 2024 Weiter.info

Theme von Anders Norén↑ ↑