Ubuntu 18.04: Apache2 php Version aktualisieren auf php7.4

Da es sich um einen Ubuntu Server Version 18.04 LTS (End of Life: April 2023) handelt, muss zuerst das PPA von “ondrej/php” hinzugefügt werden. Darin sind sämtliche benötigten PHP Packages / Extensions der Version 7.4 enthalten. Zusätzlich braucht es für den Apache2 noch “ondrej/apache2”.

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo add-apt-repository ppa:ondrej/apache2
sudo apt update

Als Nächstes kann nun php7.4 installiert werden:

sudo apt install php7.4

Nachdem wir nun PHP installiert haben, installieren wir noch die benötigten Extensions:

sudo apt install php7.4-common php7.4-mysql php7.4-xml php7.4-xmlrpc php7.4-curl php7.4-gd php7.4-imagick php7.4-cli php7.4-dev php7.4-imap php7.4-mbstring php7.4-opcache php7.4-soap php7.4-zip php7.4-intl -y

Jetzt können wir Apache2 konfigurieren und deaktivieren zuerst einmal die alte PHP-Version:

sudo a2dismod php7.2

Als Nächstes aktivieren wir die neue PHP-Version:

sudo a2enmod php7.4

Zum Schluss müssen wir noch einen Neustart des Webserver Apache2 durchführen, damit die neue PHP-Version auch verwendet wird:

sudo systemctl restart apache2

Nützliche Links

Upgrade PHP version to PHP 7.4 on Ubuntu

ppa:ondrej/php – the main PHP repository

Ondřej Surý – bietet Debian Packages (PHP, nginx, apache, DNS, …)

The Ubuntu lifecycle

Linux: Passwort des Benutzer root zurücksetzen

Sollte man mal in die Verlegenheit geraten und das “Root-Passwort” eines Systems nicht mehr zur Verfügung haben, gibt es eine einfache Möglichkeit das Passwort zu wechseln. Dazu wird das aktuelle Betriebsystem im “single user mode” gestartet.

Schritt 1:
Sobald der “Grub Boot Loader” angezeigt wird, wählt man den benötigen “Boot-Eintrag” aus.
Grub_Boot_Menue

Danach kann mit der Taste “e” der Eintrag bearbeitet werden. Dann sucht man die Zeile, welche mit “linux” anfängt und ergänzt diese am Schluss mit:init=/bin/bash

Grub Boot Menü

Wurde das “Grub Boot-Menü” angepasst kann mit der Taste F10 gestartet werden.

Schritt 2:
Danach muss das “Root-Filesystem” noch gemounted werden:
mount -o remount,rw /

Schritt 3:
Nun kann das Passwort geändert werden.
passwd

unter Ubuntu:
passwd "{Benutzer}"

“{Benutzer}” ist der bei der Installation definierte “Root-Benutzer”.

Mit dem Befehl: exec /sbin/init kann nun das Betriebsystem gestartet werden.

Nützliche Links:
How To Reset Root User Password In Linux

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

Linux: Bereinigen der “/boot” Partition mit Hilfe der Konsole

Sollte es vorkommen, dass die “/boot” Partition keinen freien Speicherplatz mehr besitzt, müssen die alten überflüssigen “Kernel-Images” entfernt werden.

1. Prüfen welcher Kernel aktuell verwendet wird, damit dieser nicht gelöscht wird:


>uname -r

2. Anzeigen aller installierten Kernels:


>dpkg --list 'linux-image*'

3. Löschen der nicht mehr benötigten Kernels. Dabei muss {Version} mit der Versionsnummer ersetzt werden:


>sudo apt-get remove linux-image-{Version}

4. Löschen der nicht mehr benötigten Pakete:


>sudo apt-get autoremove

5. Am Schluss kann noch die Kernel-Liste aktualisiert werden:


>sudo update-grub

Der Befehl “apt-get remove” funktioniert nicht da “/boot” zu 100% voll ist

Erhält man die Meldung, es müsse zuerst


>sudo apt-get -f install

verwendet werden, da nicht alle Pakete korrekt installiert sind, dieser Befehl aber wegen fehlendem Speicherplatz auf “/boot” nicht beendet werden kann, muss manuell auf der “/boot” Partition platz geschaffen werden.

1. Anzeigen, welche Kernel installiert sind:


>ls -l /boot

2. Manuelles löschen der Dateien:
So viele nicht mehr benötigte Kernel-Dateien löschen, bis genügen Speicherplatz zur Verfügung steht.


>sudo rm vmlinuz-{version}
>sudo rm initrd-{version}
>sudo rm System.map-{version}

3. Installation bereinigen:


>sudo apt-get -f install

4. Löschen der Pakete, welche nicht mehr gebraucht werden:


>sudo apt-get autoremove

Nützliche Links

askubuntu.com: What is the safest way to clean up /boot partition?

Linux: Uhrzeit abgleichen mit dem NTP-Deamon

Das NTP-Protokoll ist dazu da, um die Zeit des Systems mit einem zentralen Zeitserver abzugleichen. Dazu muss auf dem Server System sichergestellt werden, dass der NTP-Deamon installiert ist.

Installation des NTP-Deamon


~$ sudo apt-get install ntp

 
Konfigurieren des NTP-Deamon

Danach können in der Datei “/etc/ntp.conf” die zu verwendenden Zeitserver angegeben, sowie die benötigten Einstellungen gemacht werden. Damit die Änderungen in der “ntp.conf” auch verwendet werden, muss die Konfigurationsdatei neu geladen werden.


~$ sudo service ntp reload

 
Die Zeit manuell synchronisieren

Soll die Zeit manuell synchronisiert werden, kann man dies mit folgendem Befehl tun:


~$ ntpd -q

-q NTP-Deamon nach erstmaligem synchronisieren beenden
 
Nützliche Links

Uhrzeit-Abgleich mit NTP

Ubuntu: Server Edition Installation upgraden

Eine Ubuntu Server Installation kann mit dem “do-release-upgrade utility” auf die nächsthöhere Version aktualisiert werden. Die Verwendung dieses Utility wird in der Ubuntu Dokumentation als die empfohlene Methode beschrieben.

Bevor man die Aktualisierung auf einen neueren Release beginnt, sollte man sicherstellen, dass das System auf dem neusten Stand ist.

Dazu holt man zuerst die neusten Paketinformationen:

>sudo apt-get update

Als Nächstes werden die Pakete aktualisiert:
>sudo apt-get dist-upgrade

Nun kann mit dem Release-Upgrade begonnen werden:

>do-release-upgrade

Jetzt folgt man nur noch den Anweisungen auf dem Bildschirm. Werden Konfigurationdateien geändert sollte man die Änderungen gut prüfen oder eben die eigenen behalten.

Nützliche Links

apt-get Dokumentation
Upgrading ubuntu
Upgrade Lucid auf Precise

Linux: Nützliche Konsolenbefehle

DHCP-Lease erneuern


>sudo dhclient -r
>sudo dhclient
  1. Gibt den aktuellen DHCP-Lease frei
  2. Holt eine neue IP-Adresse

man dhclient

Anzeigen der aktuellen IP-Adresse


>ifconfig
  1. Anzeigen aller “network interfaces” und deren IP-Adressen

man ifconfig

Anzeigen und bearbeiten der Routingtabelle

Routingtabelle: statische Routen definieren unter: Windows, Debian Linux und Esxi-Server
man route

Anzeigen der Festplattenbelegung


>df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/sda1        16G    5.0G   11G   33% /
udev            2.0G    4.0K  2.0G    1% /dev
tmpfs           807M    764K  806M    1% /run
  1. Festplattenbelegung “einfach lesbar” (K, M, G) anzeigen

man df

Grösse eines Ordners anzeigen


>du -h -s lib/
388M    lib/
  1. Summierte Grösse des Unterverzeichnisses lib/ anzeigen

man du

Dateien löschen die älter als x Tage sind


>find /pfad/zu/den/dateien* -type f -mtime +7 -delete
  1. Argument: Vollständiger Pfad mit den Dateien
  2. Argument: Nur Dateien berücksichtigen (Keine Ordner oder Links)
  3. Argument: Findet alle Dateien die älter als 7 Tage sind
  4. Argument: Lösche alle im Suchresultat gefundenen Dateien

Alternative für nicht GNU Unixes:


>find /pfad/zu/den/dateien* -mtime +7 -exec rm {} \;
  1. Argument: Vollständiger Pfad mit den Dateien
  2. Argument: Findet alle Dateien die älter als 7 Tage sind
  3. Argument: Lösche alle im Suchresultat gefundenen Dateien

Delete Files Older Than x Days on Linux
man find

Prozesse aller Benutzer durchsuchen


>ps aux | grep konsole
  1. Argument: Alle laufenden Prozesse aller Systembenutzer anzeigen
  2. Argument: Filtern: alle Prozesse mit dem Namen Konsole anzeigen

Ausgabe:


usr  1755  0.0  0.7 119892 29364 ?      Sl   00:41   0:04 /usr/bin/konsole
usr  6515  0.0  0.0   4384   836 pts/1  S+   02:10   0:00 grep --color=auto konsole

Alternative:


>pgrep -l konsole

man ps
man grep
man pgrep

Änderungen der Datei syslog in Echtzeit anzeigen


>tail -f /var/log/syslog
  1. Neue Einträge der Syslogdatei in der Konsole ausgeben

man tail

Nützliche Links

Fosswire Linux Reference Card
One page Linux Manual
Auflistung mit verschiedenen Linux Cheat Sheets

Kubuntu: System bleibt mit der Meldung “Checking battery state … [OK]” hängen

Nach dem Installieren von Updates kann das System nicht mehr gestartet werden und bleibt mit der Meldung “Checking battery state … [OK]” hängen.
Eine mögliche Ursache für dieses Problem kann ein aktualisierter Kernel sein. Wurde eine neuere Kernel-Version installiert, muss der Grafiktreiber unter Umständen nochmals neu installiert werden.

Da das Betriebssystem nicht mehr hochgefahren werden kann, muss dies mit Hilfe der Konsole gemacht werden. Bei der angezeigten Meldung “Checking battery state … [OK]” wird mit der Tastenkombination “ctrl+alt+F1” in eine Konsole gewechselt. Nach dem Anmelden mit Benutzernamen und Passwort, wird mit apt-get der Grafiktreiber neu installiert.

Hier in diesem Beispiel handelt es sich um eine nvidia Grafikkarte (GeForce Serie 5 bis 9):


>sudo apt-get install --reinstall nvidia-173

Wurde der Grafiktreiber erfolgreich installiert, muss das System neu gestartet werden:


>sudo reboot

Nach dem Neustart sollte das System wieder erfolgreich hochgefahren werden.

Nützliche Links

11.10 stops booting at “Checking battery state … [OK]”
After updating kernel to 3.0.0-14 the system does not boot
Paket: nvidia-173

Routingtabelle: statische Routen definieren unter: Windows, Debian Linux und Esxi-Server

Wenn eine Routingtabelle mit statischen Routeneinträge ergänzt werden soll, was bei einer VPN-Verbindung nötig sein kann, gibt es für die verschiedenen Betriebssysteme einen Befehl “route”. Dieser Befehl ist unter Windows und Linux sehr ähnlich. Der grösste Unterschied ist bei den permanenten Routings.

Einträge in der Rountingtabelle anzeigen:

  • unter Windows
    >route print

    Routingtabelle unter Windows
    Routingtabelle unter Windows
  • unter Linux
    >route

    Routingtabelle unter Linux
    Routingtabelle unter Linux
  • unter Esxi-Server
    >esxcfg-route -l

    Routingtabelle Esxi
    Routingtabelle Esxi

Eintrag in der Routingtabelle erstellen:
Achtung: Wenn das Betriebssystem neugestartet wird gehen die Einträge verloren, da es sich nicht um permanente Einträge handelt.

  • unter Windows
    >route add 192.168.7.0 MASK 255.255.255.0 10.50.147.66
  • unter Linux
    >route add -net 192.168.7.0 netmask 255.255.255.0  gw 10.50.147.66 dev eth0
  • unter Esxi-Server
    >esxcfg-route -a 192.168.7.0 255.255.255.0 10.50.147.66

Eintrag in der Routingtabelle löschen:

  • unter Windows
    >route delete 192.168.7.0 MASK 255.255.255.0 10.50.147.66
  • unter Linux
    >route del -net 192.168.7.0/24  gw 10.50.147.66
  • unter Esxi-Server
    >esxcfg-route -d 192.168.7.0/24 10.50.147.66

Permanenter Eintrag in der Routingtabelle erstellen:
Nach einem Neustart des Betriebssystemes sind diese Einträge wieder in der Routingtabelle vorhanden.

  • unter Windows muss nur der Parameter -p mitgegeben werden, damit dieser Eintrag permanent wird.
    >route add 192.168.7.0 MASK 255.255.255.0 10.50.147.66 -p
  • unter Linux ist es ein wenig aufwändiger, es muss ein Eintrag in der Datei “/etc/network/interfaces” erstellt werden.
    
    iface eth0 inet static
          address 10.50.147.99
          netmask 255.255.255.0
          network 10.50.147.0
          broadcast 10.50.147.255
          gateway 10.50.147.1
          dns-nameservers 10.50.147.1 10.50.147.2
    
    #hinzufügen der statischen permanenten Route
    up route add -net 192.168.7.0 netmask 255.255.255.0  gw 10.50.147.66 dev eth0
    
  • unter Esxi-Server wird ein Eintrag in der Datei “/etc/sysconfig/static-routes” erstellt.
    
    #hinzufügen der statischen permanenten Route
    any net 192.168.7.0 netmask 255.255.255.0  gw 10.50.147.66
    

Zum starten der Esxi-Konsole (unsupported modus: left alt key + F1, type: unsupported)

Vmware Knowledge Base: Adding a static route to an ESX host
Esxcfg-Hilfe
Linux: man route

DVD abspielen unter Linux (Ubuntu / Kubuntu)

Wer unter Linux seine gekaufte DVD anschauen möchte und sich denkt: “Einfach DVD einlegen und anschauen”, der wird schnell feststellen, dass es so nicht funktioniert. Die meisten Multimedia-Dateien können unter Linux ohne Probleme abgespielt werden. Dazu gehören die gekauften DVD’s leider nicht, da sie oft verschlüsselt sind.

Damit eine verschlüsselte DVD gelesen werden kann, braucht es das Paket libdvdcss2. Aufgrund rechtlicher Unsicherheiten ist es in vielen Linux-Distributionen (Ubuntu, Debian usw.) nicht enthalten.

Das Paket kann folgendermassen installiert werden:


sudo apt-get install libdvdread4

Wurde die Installation erfolgreich abgeschlossen muss noch das Installations-Skript ausgeführt werden:


sudo sh /usr/share/doc/libdvdread4/install-css.sh

Konnte auch dieses Skript erfolgreich ausgeführt werden, sollte das Abspielen von DVD’s funktionieren.

Detaillierte Informationen zu Ubuntu und Codecs
Wikipedia: Libdvdcss