Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Portals

Noch einmal:
wie sieht die ./data2/ls.json aus?
Wenn du bei Manage Local Server deine Serveradresse nicht eingegeben hast, funktioniert es nicht.
 
Zuletzt bearbeitet:
Guten Morgen,

Sorry, vielleicht etwas falsch ausgedrückt. Die Datei gab es nicht im Ordner. Ich habe sie manuell angelegt und die Rechte entsprechend geändert.

Sie sieht jetzt genau so aus, wie du sie geschrieben hast.
 
Nein, die wird automatisch angelegt, wenn du bei Manage Local Server deine Serveradresse eingibst!
Steht eigentlich alles im ersten Post ;)
Wenn du die selbst anlegst, funktioniert es nicht!!!
(außer du legst die "richtig" an)
 
Zuletzt bearbeitet:
Danke dir. Leider hat er sie nicht automatisch angelegt beim Update der lokalen Server Adresse. Ich hab alles wie im ersten Post beschrieben durchgeführt. D.h. Portal auf Server kopiert rechte geändert install ausgeführt, alles als Root. Update ausgeführt.

Vorher hatte ich noch die PHP Version überprüft 8. 2 sollte funktionieren.
 
Zuletzt bearbeitet:
Kontrolliere ob open_basedir in deiner php.ini steht. Wenn nicht oder anders als "open_basedir = /" dann ändern. Apache neu starten.

/ ist jetzt erstmal nur zu Testzwecken und sollte eigentlich nur auf den Webordner angepasst werden.
 
Zuletzt bearbeitet:
Da ist falsch. Es muss auf deinen Webordner verweisen.
Also sowas: /var/www oder /var/www/html

Achso, du meinst die php.ini
 
Ich habe jetzt nochmals via. Proxmox einen neuen Ubuntu-Server aufgesetzt welcher nur für Portals sein soll. Dort habe ich wie in Post 1 beschrieben wirklich Schritt für Schritt nachgemacht, aber es funktioniert nicht und ich kann mir nicht erklären wieso. Diesesmal bekomme ich Instant ein "access denied" im SFVIP-Player und in TiviMate konnte die Playlist nicht geladen werden. Es sind alle Berechtigungen richtig gesetzt, schreib und lese rechte sind richtig, die php.ini wurde angepasst, der lokale Server richtig angegeben und erstellt. Es liegt beim Testportal Optimus keine IP-Sperre auf und das Portal funktioniert Nativ mit der Mac-Adresse auch im SFVIP Player.

Ich habe jetzt alles, jeden einzelnen Schritt, wie im ersten Post abgearbeitet, eine cleane Installation ohne irgendwelchen kramurx dazwischen und es funktioniert leider nicht. Weder vor noch nachdem aktuellen Update.

httpdebugger:

Du musst Regestriert sein, um das angehängte Bild zusehen.
 

Anhänge

Du musst angemeldet sein, um die Anhangsliste zu sehen.
Port hattest du keinen angegeben?
Wenn nicht, mal mit 80 testen.
Momentan ist ja überhaupt kein Zugriff auf den Server möglich.

Das Problem scheint bei einigen noch zu sein, dass die Servereinstellungen nicht passen (nicht die von Portals, sondern Apache allgemein).
 
Port hattest du keinen angegeben?
Wenn nicht, mal mit 80 testen.
Ich habe beide Varianten probiert mit und ohne Port, keine veränderung (übrigens auch bei httpdebuger keine veränderung) erkennbar. :)

Welche Einstellungen muss man in Apache treffen? Ich habe eine ganz frische Installation und gar nichts an den Einstellungen von Apache geändert!
 
Ich bin auf dem gleichen Stand wie du.

LXC Unprivileged Ubuntu 22 - ohne Erfolg
LXC Unprivileged Ubuntu 24 - ohne Erfolg
VM 24 - ohne Erfolg

Ich vermute es hängt mit der Virtualisierung aber mangels Hardware kann ich "Bare Metal" nicht testen.
Ich bin jetzt dabei Debian12 zu testen. Mein weiteren Server laufen alle auf Debian.
 
Hier mal ein kleines script für die vhost Erstellung.

PHP:
<?php
function isPackageInstalled($package) {
    $status = shell_exec("dpkg -s $package 2>&1");
    return strpos($status, 'install ok installed') !== false;
}

function installPackage($package) {
    echo "Installing $package...\n";
    shell_exec("sudo apt-get update");
    shell_exec("sudo apt-get install -y $package");
}

function isCommandAvailable($command) {
    $status = shell_exec("which $command 2>&1");
    return !empty($status);
}

$requiredPackages = ['apache2', 'php'];
foreach ($requiredPackages as $package) {
    if (!isPackageInstalled($package)) {
        installPackage($package);
    } else {
        echo "$package is already installed.\n";
    }
}

if (!isCommandAvailable('a2ensite')) {
    die("The 'a2ensite' command is not available. Ensure that Apache is installed correctly.\n");
}

echo "Enter the folder name (e.g., my_website): ";
$folderName = trim(fgets(STDIN));

echo "Enter the path for the web files (e.g., /var/www/): ";
$documentRootBase = trim(fgets(STDIN));

echo "Enter the port number for the virtual host (e.g., 8080): ";
$port = trim(fgets(STDIN));

if (!$folderName || !$documentRootBase || !$port) {
    die("All inputs are required. Exiting...\n");
}

$documentRoot = rtrim($documentRootBase, '/') . '/' . $folderName;

if (!is_dir($documentRoot)) {
    mkdir($documentRoot, 0755, true);
    mkdir("$documentRoot/public_html", 0755, true);
    file_put_contents("$documentRoot/public_html/index.php", "<?php echo 'Hello, $folderName!'; ?>");
    shell_exec("sudo chown -R www-data:www-data $documentRoot");
    shell_exec("sudo chmod -R 775 $documentRoot");
    shell_exec("sudo chmod g+s $documentRoot");
}


$vhostConfig = "
<VirtualHost *:$port>
    ServerAdmin webmaster@$folderName
    DocumentRoot $documentRoot/public_html
    ErrorLog \${APACHE_LOG_DIR}/$folderName-error.log
    CustomLog \${APACHE_LOG_DIR}/$folderName-access.log combined
    <Directory $documentRoot/public_html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
";

$configFile = "/etc/apache2/sites-available/$folderName.conf";
file_put_contents($configFile, $vhostConfig);
$portsConf = '/etc/apache2/ports.conf';
$portsConfContents = file_get_contents($portsConf);

if (strpos($portsConfContents, "Listen $port") === false) {
    echo "Adding port $port to /etc/apache2/ports.conf...\n";
    file_put_contents($portsConf, "\nListen $port\n", FILE_APPEND);
} else {
    echo "Port $port is already configured in /etc/apache2/ports.conf.\n";
}

shell_exec("sudo a2ensite $folderName.conf");
shell_exec("sudo systemctl reload apache2");

echo "Virtual host for $folderName created, port $port added to ports.conf, and Apache reloaded.\n";
?>

Ein Problem scheinen immer noch die allgemeinen Berechtigungen für den user www-data zu sein.
 
Grundsätzlich geht das überall.
Apache muss ja nur wissen wo.
www-data und root Rechte beißen sich eigentlich. Wenn du es intern so testen willst, kannste du das machen.
www-data den sudoern hinzufügen.
 
Zurück
Oben