Giter VIP home page Giter VIP logo

redhost-panel's Introduction

RedHost Panel Installation

Kopie von B. Schleyer

Hallo,

hier erklärt, findest Du die Installationsanleitung für Plesk. Erklärungsweise in Schritten:

Schritt 1: Zunächst legen wir eine Domain oder x-beliebige Subdomain in Plesk an.

Schritt 2: Danach stellen wir schon mal die Hosting-Einstellung ein. Wie hier im Beispiel: Hierbei erweitern wie den Dokumentstamm/Stammverzeichnis nur auf /public.

Schritt 3: Lade dann alle Files auf dem Webspace hoch und erstelle eine Datenbank. Sobald die Datenbank erstellt ist, logge dich über PhpMyAdmin ein und importiere die mitgelieferte .sql-Datei.

Schritt 4: Passe nun die .env (Konfigurationsdatei) an. Hierfür werden die Datenbankinformationen benötigt und die Seiten-URL. Bei der Seiten-URL ist dringend zu beachten, dass nach der URL ein Backslash sog. "/" eingetragen werden muss. Dann füge einen beliebigen Key für CRONE_KEY ein, für das Abfrufen des Cronjobs. Dieser Key, sollte nicht einfach aufrufbar sein. In diesem Beispiel verwenden wir: 123 als CRONE_KEY.

Schritt 5: Nun ist noch ein letzter Schritt notwendig. Un zwar muss man nun noch den PHP Composer nutzen. Hierfür musst Du nur auf die Domain bei Plesk drücken, dann auf PHP Composer und auf suchen drucken. Plesk sammelt nun alle Informationen. Sobald Plesk alle Informationen hat, muss nur noch auf Update (nicht Installieren) gedrückt werden. So steht es auch im Hinweis.

Schritt 6: Jetzt kannst Du dir einen Account anlegen und in der Datenbank den Status des Users auf 'active' und die Rolle des Users auf 'admin' stellen.

-- Hinweis --- Um die Erstellung vom Webspace, dem One-Click Installer, der Root-Server Installation (über VenoCIX-API) und der Gameserver zu ermöglichen - müssen noch mind. zwei Cronjobs erstellt werden.

Hierfür musst Du nur unter dem Tab "Geplante Aufgaben" in Plesk drücken und einen Cronjob anlegen.

Der erste Cronjob: -> Auswählen von URL-Abfrage -> Dann trägst Du in der URL, die Seiten-URL ein, die Du auch in der .env eingetragen hast. Nur mit /crone/worker_queue/123 -> Interval: * * * * *

Der zweite Cronjob: -> Auswahl von URL-Abfrage -> Genau die gleiche URL, nur mit /crone/runtime_queue/123 -> Interval * /10 * * *

Der dritte Cronjob ist leider Fehlerhaft. Trotz dessen nochmal erklärt. -> Auswahl von URL-Abfrage -> Das selbe, nur mit /crone/traffic_queue/123 -> Interval * * * * *

Setup für Dedicated Server

  1. Datenbank vorbereiten:

1.1 Die Tabelle settingsum die spalten 'dedicated' TINYINT und 'dedi_costs' INT erweitern

1.2 Die Tabelle dedicated erstellen: CREATE TABLE dedicated ( id int(11) NOT NULL, user_id int(11) NOT NULL, server_id int(11) NOT NULL, price double(12,2) NOT NULL, custom_name varchar(255) DEFAULT NULL, locked varchar(255) DEFAULT NULL, state varchar(255) NOT NULL DEFAULT 'order', created_at date NOT NULL DEFAULT current_timestamp(), expire_at date NOT NULL, deleted_at date DEFAULT NULL, days int(11) NOT NULL DEFAULT 30 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

1.3 id als PrimaryKey setzten: ALTER TABLE dedicated ADD PRIMARY KEY (id);

1.4 id als Auto-Increment-Wert setzen: ALTER TABLE dedicated MODIFY id int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=27 ;

  1. Dateien bearbeiten

2.1 Beigefügte Dateien hochladen

2.2 Datei /app/crone/worker_queue.php

2.2.1 direkt über "die(nothing todo)" folgende Zeile einfügen:

include BASE_PATH . "app/crone/WORKER/dedicated_order.php";

2.3 Datei /app/functions/User.php

2.3.1 in die Methode getMonthlyCosts folgenden Block einkopieren:

$SQL = self::db()->prepare("SELECT * FROM `dedicated` WHERE `user_id` = :user_id AND `deleted_at` IS NULL");
    $SQL->execute(array(":user_id" => $user_id));
    if ($SQL->rowCount() != 0) {
        while ($row = $SQL->fetch(PDO::FETCH_ASSOC)) {
            $costs = $costs + $row['price'];
        }
    }

2.4 Date /rescources/team/system.php

2.4.1 Im Kopf der Datei in den PHP-Code folgende 3 Blöcke einbauen:

if(isset($_POST['activateDedicated'])){
    $SQL = $db->prepare("UPDATE `settings` SET `dedicated` = '1'");
    $SQL->execute();

    echo sendSuccess('Dedicated Server wurden aktiviert');
}
if(isset($_POST['deactivateDedicated'])){
    $SQL = $db->prepare("UPDATE `settings` SET `dedicated` = '0'");
    $SQL->execute();

s echo sendSuccess('Dedicated Server wurden deaktiviert'); } if(isset($_POST['setDedicatedFees'])){ $SQL = $db->prepare("UPDATE settings SET dedi_costs = :fees"); $SQL->execute(array(":fees" => $_POST['dedicated_fees']));

    echo sendSuccess('Die Zahlungsgebühren wurden gespeichert');
}

2.4.2 Im Body an gewünschter Stelle (Reihenfolge der Blöcke) folgenden Block einsetzen:

<div class="col-md-4">
        <div class="card card-custom card-stretch gutter-b">
            <div class="card-body d-flex flex-column">
                <form method="post">
                    <label>Dedicated</label>
                    <br>
                    <br>
                    <?php if($helper->getSetting('dedicated') == 0){ ?>
                        <button type="submit" class="btn btn-outline-success btn-block btn-sm" name="activateDedicated"><b>Dedicated Server bestellung aktivieren</b></button>
                    <?php } else { ?>
                        <button type="submit" class="btn btn-outline-danger btn-block btn-sm" name="deactivateDedicated"><b>Dedicated Server bestellung deaktivieren</b></button>
                    <?php } ?>
                    <br>
                    <br>
                    <label>Kosten  <small>In %</small></label>
                    <input class="form-control" required type="number" name="dedicated_fees" value="<?= $helper->getSetting('dedi_costs'); ?>">
                    <small>Nur für neue Produkte gülltig!</small>
                    <br>
                    <button type="submit" class="btn btn-outline-warning btn-block btn-sm" name="setDedicatedFees"><b>Speichern</b></button>
                </form>
            </div>
        </div>
    </div>

2.5 Datei .env

2.5.1 folgende Zeilen unten in der Datei einfügen:

#Venocix
VENOCIX_API_URL="https://reseller-sandbox.hosterapi.de/api/v1"
#VENOCIX_API_URL="https://reseller.hosterapi.de/api/v1"
VENOCIX_API_KEY=""

2.6 Datei /public/.htaccess

2.6.1 Folgende Zeilen in den -Block einfügen:

	#dedi
	RewriteRule ^order/dedicated?$ index.php?page=order_dedicated_first [L]
	RewriteRule ^order/dedicated/step/1?$ index.php?page=order_dedicated_first [L]
	RewriteRule ^order/dedicated/step/2?$ index.php?page=order_dedicated_second [L]
	RewriteRule ^manage/dedicated?$ index.php?page=manage_dedicated [L]
	RewriteRule ^manage/dedicated/([A-Za-z0-9-]+)?$ index.php?page=manage_dedi&id=$1 [L]
	RewriteRule ^renew/dedicated/([A-Za-z0-9-]+)?$ index.php?page=renew_dedicated&id=$1 [L]

2.7 Datei /router/app.php

2.7.1 In den Switch-Case-Block folgende Zeilen einkopieren:

  	//dedicated
  	case "order_dedicated_first": include ($customer . "dedicated/order/first.php"); break;
  	case "order_dedicated_second": include ($customer . "dedicated/order/second.php"); break;
  	case "manage_dedicated": include ($customer . "dedicated/index.php"); break;
  	case "manage_dedi": include ($customer . "dedicated/manage.php"); break;
  	case "renew_dedicated": include ($customer . "dedicated/renew.php"); break;

Ich hoffe, dass dir die Hilfe helfen konnte.

Für Fragen stehen wir Ihnen gerne zur Verfügung.

Was ist als nächstes geplant?

  • Integration von Cloud vServern von Hetzner Online GmbH
  • Installer für Gameserver, Webserver etc. via Net/SSH2
  • Integration von weitere Zahlungs-Modulen
  • Integration von News-System
  • Integration von Partner-System
  • Erweiterung des Registrierungs-Formular (Registrierung für Privat und Business Kunden)
  • Erweiterung des Login-Formulars (Zusätzliche Authentifizierung durch Benutzername)

redhost-panel's People

Contributors

bschleyer avatar plotnicsystems avatar

Stargazers

Marcel avatar Konrad avatar

Watchers

 avatar

Forkers

jeanbro38

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.