Zahlungsmethoden Abuse

Installationsanweisungen für das WHMCS-Modul

26.09.2024, 12:51

WHMCS (Web Host Manager Complete Solution) ist ein Automatisierungssystem für Hosting-Unternehmen und ISPs. Es bietet Funktionen für Kundenmanagement, Abrechnung, Support und Prozessautomatisierung. Im Folgenden finden Sie eine Anleitung zur Installation dieses Moduls.

SCHRITT 1: Laden des Moduls

Laden Sie das Modul über die Kommandozeile mit scp auf den Server hoch:

scp /path/to/local/module-whmcs-billmanager.zip
username@remote_server:/path/to/remote/directory

Beispiel, wenn Sie sich bereits in dem Ordner mit der Datei befinden:

scp module-whmcs-billmanager.ziproot@77.92.122.212:/var/www/www-root/data/www/data-hub.online/

Sie werden dann aufgefordert, Ihr Server-Passwort einzugeben.

Nachdem Sie die Datei auf den Server hochgeladen haben, verbinden Sie sich über SSH mit dem Server und entpacken die Datei

ssh user@remote_server

Sie müssen das Server-Passwort eingeben.

Wechseln Sie dann in den Ordner Ihres Projekts, in den Sie die Datei hochgeladen haben.

cd /var/www/path/to/destination/ 

Das Archiv sollte in das Stammverzeichnis des Projekts entpackt werden.

unzip module-whmcs-billmanager.zip

In diesem Archiv befinden sich 3 Versionen des Moduls, die der Version von php entsprechen, mit der whmcs arbeitet. Um Ihre Version von php herauszufinden, gehen Sie zu Utilities/System/PHP info.

Dann müssen Sie das Archiv erneut für die Version entpacken, die Ihr whmcs unterstützt.

Für php 7.1, php 7.2, php 7.4 geben Sie

unzip version7.1|7.2|7.4.zip

Für php 8.1 geben Sie ein

unzip version8.1

Für php 8.2 geben Sie ein

unzip version8.2

Dann müssen Sie (notwendigerweise) die Rechte für die Dateien vergeben. Sie können dies vom Projektordner aus tun, indem Sie den Befehl
chmod -R 755 module/server/PQH

Das Modul wird geladen.

Oder laden Sie das Modul über FileZilla auf den Server hoch

Entpacken Sie auf Ihrem Computer die Datei module-whmcs-billmanager.zip

Dann müssen Sie das Archiv der Version, die Ihr whmcs unterstützt, erneut entpacken:

Для версии php 7.1, php 7.2, php 7.4 архив version7.1|7.2|7.4.zip
Для версии php 8.1 архив version8.1
Для версии php 8.2 архив version8.2

Verbinden Sie sich dann über FileZilla mit Ihrem Server.

Übertragen Sie die Dateien aus dem Archiv, das Ihrer Version von php entspricht, in das Stammverzeichnis der Website (wie im Screenshot unten).

Dann ist es notwendig (obligatorisch), dem Ordner und den Dateien Rechte zu erteilen. Gehen Sie dazu in den Ordner modules/servers, klicken Sie mit der rechten Maustaste auf den Ordner PQH und wählen Sie im Pop-up-Fenster Dateiattribute, schreiben Sie in das Feld den numerischen Wert 755 und kreuzen Sie das Kästchen recurse in Unterverzeichnisse an (wie auf dem Screenshot unten).

Das Modul wird geladen.

SCHRITT 2: IonCube überprüfen

Auf unserem Shared Hosting hängt die Unterstützung von IonCube und dessen Version von der für den Benutzer ausgewählten PHP-Version ab. Dies gilt für alle Hosting-Angebote sowie für virtuelle/dedizierte Server mit installiertem ISPManager-Panel.

Achtung: Wenn Sie das ISPManager4-Panel auf Ihrem Server installiert haben, ist IonCube für alle unterstützten Versionen bereits installiert. Befolgen Sie diese Anweisung auf keinen Fall, da dies zu einer vollständigen Funktionsunfähigkeit des Servers führen kann. Falls eine Aktualisierung der IonCube-Version erforderlich ist, wenden Sie sich bitte an den Support-Service.

Vorläufige Voraussetzungen für die Installation von IonCube

Wenn Sie einen Server ohne Bedienfeld haben, kann es sein, dass Sie IonCube manuell installieren müssen.

Der Installationsprozess kann sich je nach Betriebssystem unterscheiden. Unabhängig vom Betriebssystem besteht der erste Schritt immer darin, sich über SSH zu verbinden und Root-Zugriff zu erhalten.

Für die Installation von IonCube benötigen Sie einen Rechner mit einem aktiven und funktionierenden Webserver, Apache oder Nginx, sowie eine installierte Version von PHP aus der Liste der von IonCube Loader unterstützten Versionen.

Achtung: IonCube Loader hat eine gewisse Besonderheit - er unterstützt oft keine "Null"-Versionen von PHP, zum Beispiel PHP 8.0. Er unterstützt jedoch PHP 8.1 oder PHP 8.2.

Schritt-für-Schritt-Installation von IonCube

Wichtig: Der Wert der für die Installation von IonCube Loader verwendeten Befehle hängt von einigen Variablen ab: der PHP-Version auf dem Server, dem Ort des PHP-Verzeichnisses und der Version der Serverarchitektur. Hier und in Zukunft werden wir die Werte dieser Variablen hervorheben. An ihrer Stelle müssen Sie während der Installation die entsprechenden Werte für Ihren Server ersetzen.

1. verbinden Sie sich mit dem Server über SSH.

2. Überprüfen Sie die Architektur des aktuellen Servers:

uname -m
Exit
x86_64

Wie wir aus x86_64 ersehen können, läuft unser aktueller Server auf einer 64-Bit-Architektur. Werte der Form i686 würden auf das Gegenteil hindeuten - eine 32-Bit-Architektur.

Wechseln Sie nun in das tmp-Verzeichnis und laden Sie das erforderliche Archiv herunter:

Für 64-Bit-Systeme:

cd /tmp
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

Für 32-Bit-Systeme:

cd /tmp
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz

Nachdem Sie das Archiv heruntergeladen haben, sollten Sie es entpacken:

Da wir in unserem Beispiel eine 64-Bit-Architektur haben, haben wir genau ein solches Archiv heruntergeladen und entpackt.

tar -zxvf ioncube_loaders_lin_x86-64.tar.gz

5. Wechseln Sie in das ioncube-Verzeichnis und sehen Sie sich die Liste der Dateien an.

cd ioncube/
ls -l

Fazit

total 39260
-rw-rw-r-- 1 507 507  472192 Sep  9  2023 ioncube_loader_lin_4.1.so
-rw-rw-r-- 1 507 507  471968 Sep  9  2023 ioncube_loader_lin_4.2.so
-rw-rw-r-- 1 507 507  472768 Sep  9  2023 ioncube_loader_lin_4.3.so
-rw-rw-r-- 1 507 507  490752 Sep  9  2023 ioncube_loader_lin_4.3_ts.so
-rw-rw-r-- 1 507 507  475840 Sep  9  2023 ioncube_loader_lin_4.4.so
-rw-rw-r-- 1 507 507  494880 Sep  9  2023 ioncube_loader_lin_4.4_ts.so
-rw-rw-r-- 1 507 507  483360 Sep  9  2023 ioncube_loader_lin_5.0.so
-rw-rw-r-- 1 507 507  497632 Sep  9  2023 ioncube_loader_lin_5.0_ts.so
-rw-rw-r-- 1 507 507 1116768 Sep  9  2023 ioncube_loader_lin_5.1.so
-rw-rw-r-- 1 507 507 1155744 Sep  9  2023 ioncube_loader_lin_5.1_ts.so
-rw-rw-r-- 1 507 507 1139936 Sep  9  2023 ioncube_loader_lin_5.2.so
-rw-rw-r-- 1 507 507 1176704 Sep  9  2023 ioncube_loader_lin_5.2_ts.so
-rw-rw-r-- 1 507 507 1222328 Sep  9  2023 ioncube_loader_lin_5.3.so
-rw-rw-r-- 1 507 507 1275512 Sep  9  2023 ioncube_loader_lin_5.3_ts.so
-rw-rw-r-- 1 507 507 1512960 Sep  9  2023 ioncube_loader_lin_5.4.so
-rw-rw-r-- 1 507 507 1599584 Sep  9  2023 ioncube_loader_lin_5.4_ts.so
-rw-rw-r-- 1 507 507 1520056 Sep  9  2023 ioncube_loader_lin_5.5.so
-rw-rw-r-- 1 507 507 1602040 Sep  9  2023 ioncube_loader_lin_5.5_ts.so
-rw-rw-r-- 1 507 507 1485192 Sep  9  2023 ioncube_loader_lin_5.6.so
-rw-rw-r-- 1 507 507 1549640 Sep  9  2023 ioncube_loader_lin_5.6_ts.so
-rw-rw-r-- 1 507 507 1254608 Sep  9  2023 ioncube_loader_lin_7.0.so
-rw-rw-r-- 1 507 507 1316080 Sep  9  2023 ioncube_loader_lin_7.0_ts.so
-rw-rw-r-- 1 507 507 1355080 Sep  9  2023 ioncube_loader_lin_7.1.so
-rw-rw-r-- 1 507 507 1438760 Sep  9  2023 ioncube_loader_lin_7.1_ts.so
-rw-rw-r-- 1 507 507 1407568 Sep  9  2023 ioncube_loader_lin_7.2.so
-rw-rw-r-- 1 507 507 1489008 Sep  9  2023 ioncube_loader_lin_7.2_ts.so
-rw-rw-r-- 1 507 507 1316800 Sep  9  2023 ioncube_loader_lin_7.3.so
-rw-rw-r-- 1 507 507 1386880 Sep  9  2023 ioncube_loader_lin_7.3_ts.so
-rw-rw-r-- 1 507 507 1363392 Sep  9  2023 ioncube_loader_lin_7.4.so
-rw-rw-r-- 1 507 507 1430848 Sep  9  2023 ioncube_loader_lin_7.4_ts.so
-rw-rw-r-- 1 507 507 1401736 Sep  9  2023 ioncube_loader_lin_8.1.so
-rw-rw-r-- 1 507 507 1506216 Sep  9  2023 ioncube_loader_lin_8.1_ts.so
-rw-rw-r-- 1 507 507 1439016 Sep  9  2023 ioncube_loader_lin_8.2.so
-rw-rw-r-- 1 507 507 1546568 Sep  9  2023 ioncube_loader_lin_8.2_ts.so
-rw-r--r-- 1 507 507   10768 Aug  5  2022 LICENSE.txt
-rw-r--r-- 1 507 507  181104 Aug 15  2022 loader-wizard.php
-rw-r--r-- 1 507 507    4070 Sep  9  2023 README.txt
-rw-r--r-- 1 507 507   39548 Sep  9  2023 USER-GUIDE.pdf
-rw-r--r-- 1 507 507   11269 Sep  9  2023 USER-GUIDE.txt

Wie Sie sehen können, enthält das Archiv viele verschiedene Versionen des Moduls für verschiedene PHP-Versionen. Wir müssen nun herausfinden, welche dieser Dateien wir für die weitere Installation benötigen.

6. Wenn Sie Ihre PHP-Version kennen (aus dem ersten Schritt), müssen Sie als Nächstes den Ort des Verzeichnisses bestimmen, in dem Sie IonCube Loader installieren müssen.

php -i | grep extension_dir

Ausgabe

extension_dir => /usr/lib/php/20210902 => /usr/lib/php/20210902

Das Verzeichnis /usr/lib/php/20210902 wird im weiteren Verlauf der Installation benötigt. In Centos OS kann dieser Ordner wie /usr/lib64/php/modules aussehen.

7. Kopieren Sie die IonCube-Dateien in das erforderliche Verzeichnis.

sudo cp /tmp/ioncube/ioncube_loader_lin_8.1.so /usr/lib/php/20210902

8. Nun müssen Sie die Konfigurationsdateien php.ini bearbeiten. Diese können in verschiedenen Serverkonfigurationen an unterschiedlichen Stellen liegen:

sudo nano /etc/php/8.1/cli/php.ini          #для PHP CLI 
sudo nano /etc/php/8.1/fpm/php.ini          #для PHP-FPM & Nginx
sudo nano /etc/php/8.1/apache2/php.ini      #для Apache2

Fügen Sie eine Zeile der folgenden Art ganz am Anfang der php.ini ein:

zend_extension = /usr/lib/php/20210902/ioncube_loader_lin_8.1.so

9. Führen Sie einen Neustart des Webservers durch:

Apache Ubuntu/Debian
sudo systemctl restart apache2
Apache Centos/Rocky/Alma
sudo systemctl restart httpd
Nginx/PHP-FPM
sudo systemctl restart nginx
sudo systemctl restart php-fpm

10. Überprüfen Sie die korrekte Installation mit dem Befehl:

php -v

Wenn die Installation erfolgreich war, wird die Zeile mit der Information über die aktuelle Version von IonCube wie folgt angezeigt:

Ausgabe

PHP 8.1.2-1ubuntu2.17 (cli) (built: May  1 2024 10:10:07) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with the ionCube PHP Loader v13.0.2, Copyright (c) 2002-2023, by ionCube Ltd.
    with Zend OPcache v8.1.2-1ubuntu2.17, Copyright (c), by Zend Technologies

SCHRITT 3: Server hinzufügen

Gehen Sie zur Verwaltungskonsole.

System Settings/Servers

Klicken Sie auf Neuen Server hinzufügen.

Füllen Sie das Formular wie im Screenshot unten aus.

Suchen Sie im Feld Modul: PQH

In das Feld Hostname oder IP-Adresse geben Sie ein: client.the.hosting

Geben Sie dann Ihre Kontodaten (Login, Passwort) von client.the.hosting ein.

Und klicken Sie auf Weiter.

Auf der nächsten Seite müssen Sie den Servernamen (Ihrer Wahl) eingeben und auf Änderungen speichern klicken.

SCHRITT 4: Modul-Administrator

Wir müssen einen neuen Administrator erstellen.

Dazu gehen Sie zu Einstellungen/Administratoren verwalten

Klicken Sie dann auf Add New Administrator

Rolle: Volladministrator

Benutzername (obligatorisch!): apisystem

Der Rest der Daten ist Ihnen überlassen

Beispiel (Bildschirmfoto unten)

SCHRITT 5. Zusätzliche Felder

Felder wie die Wahl des Betriebssystems beim Kauf können unter Einstellungen/Systemeinstellungen/Konfigurierbare Optionen konfiguriert werden

Klicken Sie auf die Schaltfläche Neue Gruppe erstellen und legen Sie den Namen der Gruppe nach Ihren Wünschen fest.

und klicken Sie auf Änderungen speichern. Klicken Sie dann auf die Schaltfläche Neue konfigurierbare Option hinzufügen.

Geben Sie dann im Pop-up-Fenster in das Feld Optionsname ein: "VM-Vorlage".

Fügen Sie dann den Wert in das Feld Optionen hinzufügen ein.

Hier finden Sie eine Liste mit allen unterstützten Werten:

VM6_ISPsystem_Alma-Linux-8
VM6_ISPsystem_Alma-Linux-9
VM6_ISPsystem_Astra-Linux-CE
VM6_ISPsystem_CentOS-8-Stream
VM6_ISPsystem_CentOS-9-Stream
VM6_ISPsystem_Debian-10
VM6_ISPsystem_Debian-11
VM6_ISPsystem_Debian-12
VM6_ISPsystem_FreeBSD-12
VM6_ISPsystem_FreeBSD-13
VM6_ISPsystem_Oracle-Linux-8
VM6_ISPsystem_Rocky-Linux-8
VM6_ISPsystem_Ubuntu-18.04
VM6_ISPsystem_Ubuntu-20.04
VM6_ISPsystem_Ubuntu-22.04
VM6_ISPsystem_VzLinux-8

Klicken Sie sowohl in dieser Registerkarte als auch in der Registerkarte Konfigurierbare Optionsgruppen auf Änderungen speichern.

SCHRITT 6. Hinzufügen von Produkten

Gehen Sie zu Einstellungen/Systemeinstellungen/ Produkte,Dienste

Erstellen Sie eine neue Gruppe, indem Sie auf Neue Gruppe erstellen klicken.

Füllen Sie dann die Felder aus, die Sie für geeignet halten.

Speichern Sie und gehen Sie erneut zu Einstellungen/Systemeinstellungen/Produkte,Dienste.

  1. Klicken Sie auf Neues Produkt erstellen
  2. Wählen Sie dann (unbedingt)
  3. Produkttyp: Server/VPS
  4. Modul: PQH

Füllen Sie den Rest aus, wie Sie es für richtig halten

Nach dem Speichern können Sie das Produkt individuell gestalten

Auf der Registerkarte Details (Screenshot unten) können Sie das Produkt nach Ihren Wünschen anpassen (Produktname, Produkt-Tagline, Produkt-Kurzbeschreibung, Produkt-Beschreibung).

Das Kontrollkästchen für den Wert Require Domain sollte deaktiviert sein.

Vergessen Sie nicht, die Produkteinstellungen zu speichern

Auf der Registerkarte Preisgestaltung (Screenshot unten) können Sie die Zahlung für das Produkt konfigurieren. Vergessen Sie nicht, die Produkteinstellungen zu speichern

Auf der Registerkarte Moduleinstellungen (siehe Screenshot unten)

Wählen Sie (obligatorisch) den Modulnamen: PQH

Wählen Sie dann das Rechenzentrum und den Tarif aus, die zu diesem Produkt passen.

Vergessen Sie nicht, die Produkteinstellungen zu speichern

Auf der Registerkarte Benutzerdefinierte Felder (siehe Screenshot unten) MÜSSEN Sie den Wert "VMid" in das Feld Feldname einfügen.

Passen Sie die übrigen Registerkarten nach Belieben an.

Um das Hinzufügen von Produkten zu vereinfachen, können wir sie duplizieren (siehe Screenshot unten).

SCHRITT 7. Testen

Legen Sie einen Benutzer an, laden Sie sein Konto auf und versuchen Sie, eine Dienstleistung über das Testkonto zu bestellen. Bei der Bestellung durch den Benutzer wird das Modul alle Parameter an BILLmanager weitergeben, den Server automatisch bestellen und wenn der Server auf der BILLmanager-Seite aktiviert ist, wird der Dienst auch auf der WHMCS-Seite aktiviert.