Installationsbeispiel für Ubuntu Linux 22.04 (Als Server) für untermStrich

:!: ACHTUNG: ANLEITUNG OHNE GEWÄHR.
Die Firma untermStrich software gmbh übernimmt keine Haftung für etwaige Schäden oder Fehler die direkt oder indirekt durch die Benutzung oder nicht Benutzung dieser Anleitung entstehen!
:!: ACHTEN SIE AUF DIE SICHERHEIT IHRES SERVERS!!
Apache, PHP, MySQL muss wie auch untermStrich aktuell gehalten werden. Dies gilt besonders, wenn der Server im Internet verfügbar sein soll.


Sichern Sie die Datenbank vor dem Update!
Es kann notwendig werden, die Datenbank nach dem Ubuntu Update neu einzuspielen, vor allem nach dem Update von 14.04 auf 16.04.

  • Ein direktes Update ist nicht möglich. Verschieben sie das untermStrich Programmverzeichnis /var/www/html/ustrich nach /var/www/html/ustrich.old und führen Sie die Installation wie unten beschrieben aus:
  1. Ubuntu Server herunterladen
  2. LAMP Installieren:
    sudo apt-get update
    sudo apt-get install tasksel
    sudo tasksel install web-server
    sudo apt-get install php mysql-server
    sudo mysql -u root
      mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'ustrich';
      mysql> quit
    sudo mysql_secure_installation
      VALIDATE PASSWORD COMPONENT can be used to test passwords [Y/n] n
      ...
      Switch to unix_socket authentication [Y/n] n
      Change the root password? [Y/n] n
      Remove anonymous users? [Y/n] y
      Disallow root login remotely? [Y/n] y
      Remove test database and access to it? [Y/n] y
      Reload privilege tables now? [Y/n] y
    • :!: ACHTUNG: Bewahren Sie das MySQL root Kennwort gut auf. Sie benötigen es, um später untermStrich zu installieren, ein Backup auszuführen u.s.w..
    • Bei MariaDB machen Sie bitte:
      SET PASSWORD FOR 'root'@'localhost' = PASSWORD("ustrich");

Mit diesen Befehlen bereiten Sie den Server so vor, dass Sie später keine Komponenten mehr installieren müssen.

:!: Selbstverständlich ist dies nur einer der vielen möglichen Wege. Wenn Sie eine andere Methode bevorzugen, erhalten Sie in Schritt V durch den Installer alle notwendigen Informationen.

:!: Beachten Sie dennoch Schritt III und IV

  • Software
    • sudo apt-get install unzip
      sudo apt-get install automysqlbackup
      sudo apt-get install openjdk-21-jre-headless
    • Bei Problemen mit Java:
      sudo dpkg --purge --force-depends ca-certificates-java
      sudo apt-get install ca-certificates-java
    • wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
      tar -xzvf ioncube_loaders_lin_x86-64.tar.gz
      sudo mv ioncube /usr/lib/php/
    • Erstellen Sie die Datei /etc/php/8.1/mods-available/ioncube.ini mit dem Inhalt:
      • ; configuration for php mysql module
        ; priority=00
        zend_extension = /usr/lib/php/ioncube/ioncube_loader_lin_8.1.so

        Die Versionsnummer in der Loader Datei (ioncube_loader_lin_8.1.so) entspricht Ihrer PHP Version. Vergessen Sie nicht den Kommentar ; priority=00 genau so zu kopieren.

    • und erstellen Sie einen Symlink in die beiden apache2 und cli Verzeichnisse:
      • sudo phpenmod ioncube
  • Apache
    • sudo a2enmod rewrite
      sudo a2enmod expires
    • Öffnen Sie die Datei /etc/apache2/sites-enabled/000-default.conf und ergänzen Sie den Directory Block:
      • <VirtualHost *:80>
        ...
        <Directory /var/www/html/ustrich>
        AllowOverride All
        Require all granted
        </Directory>
        ...
        </VirtualHost>

Wenn Sie HTTPS einrichten und dafür einen eignen VHOST nutzen (etwa default-ssl.conf), müssen Sie diese Änderungen dann natürlich auch dort einfügen.

  • PHP
    • sudo apt-get install php-xml php-ldap php-tidy php-mbstring php-zip php-gd php-curl php-mysqli
    • Erstellen Sie die Datei /etc/php/8.1/mods-available/ustrich.ini mit dem Inhalt:
      • upload_max_filesize = 100M
        post_max_size = 130M
    • und erstellen Sie einen Symlink in die beiden apache2 und cli Verzeichnisse:
      • sudo phpenmod ustrich
  • sudo service apache2 restart
  • Zeitzone ändern
    • sudo dpkg-reconfigure tzdata

      Diese Zeitzone wirkt sich in der Regel auch auf MySQL aus. Starten Sie dazu, nach der Anpassung, den MySQL Server neu:

      sudo service mysql restart
       
  1. :!: Konfigurieren und optimieren Sie nun den MySQL Server.
    • Legen Sie die folgende Datei an /etc/mysql/conf.d/performance.cnf:
      • [mysqld]
        default-authentication-plugin=mysql_native_password
         
        sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
        log_bin_trust_function_creators = 1
        group_concat_max_len=50000
         
        max_allowed_packet = 16M
        table_open_cache = 512
        sort_buffer_size = 2M
         
        max_heap_table_size = 256M
        tmp_table_size = 256M
         
        innodb_buffer_pool_size=664M
         
  2. MySQL neu starten
    • sudo service mysql restart
  3. :!: Backup: Sie sollten regelmäßig ein Backup der MySQL Datenbank durchführen. Dies ist unter Ubuntu sehr einfach.

Die aktuelle Version von untermStrich für PHP7 finden Sie unter: https://webservices.untermstrich.com/update/

Entpacken Sie die ustrich.4_php81.zip nach /var/www/html/ustrich/

Beachten Sie, dass die ustrich.4_php81.zip kein Verzeichnis ustrich beinhaltet. Entpacken Sie die Datei also am Besten bereits im Verzeichnis /var/www/html/ustrich.

sudo unzip ustrich.4_php81.zip -d /var/www/html/ustrich/

Achten Sie darauf, dass „alle“ lesenden Zugriff benötigen: sudo chown -R www-data:www-data /var/www/html/ustrich
Auf folgendes Verzeichnis wird auch Schreibzugriff benötigt: sudo chown -R www-data:www-data /var/www/html/ustrich/writeable

Sie können den Besitzer ändern um Updates vollständig über die Weboberfläche durchführbar zu machen. Diese Konfiguration ist jedoch weniger sicher:

sudo chown -R www-data:www-data /var/www/html/ustrich/

Als Besitzer der Dateien kann root bleiben. Sie müssen dann jedoch bei untermStrich X Updates diese als root auf der Konsole bestätigen:

sudo php /var/www/html/ustrich/update.php -u

Der untermStrich X4 Installer gibt Ihnen alle Befehle an, die Sie zum Konfigurieren benötigen. (a2enmod)



.