Installationsbeispiel für Ubuntu Linux 18.04 (Als Server) für untermStrich X3

:!: 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 lamp-server
    sudo mysql -u root
      mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'ustrich';
      mysql> quit
    sudo mysql_secure_installation
      Press y|Y for Yes, any other key for No: n
      ...
      Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
      Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
      Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
      Reload privilege tables now? (Press y|Y for Yes, any other key for No) : 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..

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-11-jre-headless
    • 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/7.2/mods-available/ioncube.ini mit dem Inhalt:
      • ; configuration for php mysql module
        ; priority=00
        zend_extension = /usr/lib/php/ioncube/ioncube_loader_lin_7.2.so

        Die Versionsnummer in der Loader Datei (ioncube_loader_lin_7.2.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 php7.2-gd
    • Erstellen Sie die Datei /etc/php/7.2/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
  1. :!: Unbedingt anlegen: MySQL Anpassung für Connector 4VX
    • Folgende Datei anlegen /etc/mysql/conf.d/ft_lower.cnf:
      • [mysqld]
        sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
  2. :!: Konfigurieren und optimieren Sie nun den MySQL Server.
    • Legen Sie die folgende Datei an /etc/mysql/conf.d/performance.cnf:
      • [mysqld]
        group_concat_max_len=50000
        sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
         
        max_allowed_packet = 16M
        table_open_cache = 512
        sort_buffer_size = 2M
        myisam_sort_buffer_size = 64M
        thread_cache_size = 8
        query_cache_size = 64M
         
        default-storage-engine=InnoDB
         
        innodb_log_buffer_size=6M
        innodb_buffer_pool_size=664M
        innodb_thread_concurrency=8
         
        max_heap_table_size = 256M
        tmp_table_size = 256M
         
  3. Wenn Sie den Connector 4VX nutzen möchten, müssen Sie die bind-address anpassen.
    • Öffnen Sie dazu die Datei /etc/mysql/mysql.conf.d/mysqld.cnf und ändern Sie bitte den Eintrag
      • bind-address            = 0.0.0.0
  4. MySQL neu starten
    • sudo service mysql restart
  5. :!: Backup: Sie sollten regelmäßig ein Backup der MySQL Datenbank durchführen. Dies ist unter Ubuntu sehr einfach.

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

Entpacken Sie die ustrich.3_p71.zip nach /var/www/html/ustrich/

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

sudo unzip ustrich.3_p71.zip -d /var/www/html/ustrich/

Achten Sie darauf, dass „alle“ lesenden Zugriff benötigen: sudo chmod -R a+r /var/www/html/ustrich
Auf folgendes Verzeichnis wird auch Schreibzugriff benötigt: sudo chmod -R a+w /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 X3 Installer gibt Ihnen alle Befehle an, die Sie zum Konfigurieren benötigen. (a2enmod)



.