Dies ist eine mobil optimierte Seite, die schnell lädt. Wenn Sie die Seite ohne Optimierung laden möchten, dann klicken Sie auf diesen Text.

Portals

777 hat nichts mit sudoern zu tun.

sudo visudo
Hinzufügen: www-data ALL=(ALL) NOPASSWD: ALL

Aber nur zu Testzwecken!
 
sudo visudo
Hinzufügen: www-data ALL=(ALL) NOPASSWD: ALL
Das war mir schon klar und habe ich genau so gemacht, habe danach aber zusätzlich auf 777 geändert, wobei es von vornherein klar war, dass sich da nichts ändert.

Also www-data also su macht keinen Unterschied!

So wie es beim httpdebuger aussieht, haut irgendwas mit den Umschreibungen nicht hin, die werden ja über die htaccess gesteuert, oder? Eventuell wird bei uns die htaccess nicht übernommen?
 
Ich baue mal eine komplette inst zum testen.
Moment.
 
Ich hab mal eine kurze Recherche betrieben und bin auf folgendes gestoßen:

Probiert mal folgendes:
sudo nano /etc/apache2/sites-available/000-default.conf

Code:
<Directory /var/www/html>    
AllowOverride All
</Directory>

Das hat bei mir funktioniert und das Portal lädt, der Stream startet zwar nicht aber ich denke, dass liegt am Portal oder der Mac. Werde noch ein anderes Portal testen. M3U geht leider immer noch nicht, brauche ich zwar nicht, würde aber gerne bei der Fehlersuche helfen.
 
PHP:
#!/usr/bin/php
<?php

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

function installPackage($package) {
    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);
}

function ensure_php_setting($setting, $value, $phpini) {
    $setting_exists = shell_exec("grep -q '^$setting' $phpini");
    if ($setting_exists) {
        echo "$setting is already enabled in $phpini.\n";
    } else {
        shell_exec("echo '$setting = $value' >> $phpini");
        echo "$setting has been added with value: $value in $phpini\n";
    }
}

$PHPINI_FPM = "/etc/php/8.2/fpm/php.ini";
$PHPINI_APACHE = "/etc/php/8.2/apache2/php.ini";
$PHPINI_CLI = "/etc/php/8.2/cli/php.ini";

$requiredPackages = ['apache2', 'php'];
foreach ($requiredPackages as $package) {
    if (!isPackageInstalled($package)) {
        installPackage($package);
    }
}

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

$INSTALLED_PHP_VERSION = shell_exec("php -r 'echo PHP_VERSION;'");
$TARGET_PHP_VERSION = "8.2";
if (version_compare($INSTALLED_PHP_VERSION, $TARGET_PHP_VERSION, '>')) {
    echo "You currently have PHP version $INSTALLED_PHP_VERSION installed, which is greater than $TARGET_PHP_VERSION.\n";
    echo "Do you want to downgrade to PHP 8.2? (y/n): ";
    $choice = trim(fgets(STDIN));
    if ($choice === 'y') {
        shell_exec("sudo apt purge 'php${INSTALLED_PHP_VERSION%%.*}*' -y");
        shell_exec("sudo apt update");
        shell_exec("sudo apt install -y software-properties-common");
        shell_exec("sudo add-apt-repository ppa:ondrej/php -y");
        shell_exec("sudo apt update");
        shell_exec("sudo apt install php8.2 php8.2-cli php8.2-fpm php8.2-mysql php8.2-xml php8.2-mbstring php8.2-curl php8.2-zip -y");
    }
}

echo "Enter the path for open_basedir (e.g., /var/www/html/): ";
$open_basedir_path = trim(fgets(STDIN));

ensure_php_setting("extension=json", "", $PHPINI_FPM);
ensure_php_setting("extension=json", "", $PHPINI_APACHE);
ensure_php_setting("extension=json", "", $PHPINI_CLI);

ensure_php_setting("extension=openssl", "", $PHPINI_FPM);
ensure_php_setting("extension=openssl", "", $PHPINI_APACHE);
ensure_php_setting("extension=openssl", "", $PHPINI_CLI);

ensure_php_setting("extension=mbstring", "", $PHPINI_FPM);
ensure_php_setting("extension=mbstring", "", $PHPINI_APACHE);
ensure_php_setting("extension=mbstring", "", $PHPINI_CLI);

ensure_php_setting("extension=curl", "", $PHPINI_FPM);
ensure_php_setting("extension=curl", "", $PHPINI_APACHE);
ensure_php_setting("extension=curl", "", $PHPINI_CLI);

ensure_php_setting("extension=xml", "", $PHPINI_FPM);
ensure_php_setting("extension=xml", "", $PHPINI_APACHE);
ensure_php_setting("extension=xml", "", $PHPINI_CLI);

ensure_php_setting("extension=fileinfo", "", $PHPINI_FPM);
ensure_php_setting("extension=fileinfo", "", $PHPINI_APACHE);
ensure_php_setting("extension=fileinfo", "", $PHPINI_CLI);

ensure_php_setting("session.save_path", "/var/lib/php/sessions", $PHPINI_FPM);
ensure_php_setting("file_uploads", "On", $PHPINI_FPM);
ensure_php_setting("upload_max_filesize", "20M", $PHPINI_FPM);
ensure_php_setting("max_execution_time", "300", $PHPINI_FPM);
ensure_php_setting("memory_limit", "256M", $PHPINI_FPM);
ensure_php_setting("display_errors", "On", $PHPINI_FPM);
ensure_php_setting("error_reporting", "E_ALL", $PHPINI_FPM);

ensure_php_setting("session.save_path", "/var/lib/php/sessions", $PHPINI_APACHE);
ensure_php_setting("file_uploads", "On", $PHPINI_APACHE);
ensure_php_setting("upload_max_filesize", "20M", $PHPINI_APACHE);
ensure_php_setting("max_execution_time", "300", $PHPINI_APACHE);
ensure_php_setting("memory_limit", "256M", $PHPINI_APACHE);
ensure_php_setting("display_errors", "On", $PHPINI_APACHE);
ensure_php_setting("error_reporting", "E_ALL", $PHPINI_APACHE);

ensure_php_setting("open_basedir", $open_basedir_path, $PHPINI_FPM);
ensure_php_setting("open_basedir", $open_basedir_path, $PHPINI_APACHE);
ensure_php_setting("open_basedir", $open_basedir_path, $PHPINI_CLI);

shell_exec("sudo chown -R www-data:www-data .");
shell_exec("sudo chmod -R 755 .");

shell_exec("sudo systemctl start php8.2-fpm");
shell_exec("sudo a2enmod php8.2");
shell_exec("sudo systemctl restart apache2");

echo "PHP configuration completed.\n";

echo "Enter the folder name: ";
$folderName = trim(fgets(STDIN));

echo "Enter the path for the web files: ";
$documentRootBase = trim(fgets(STDIN));

echo "Enter the port number for the virtual host: ";
$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 +ExecCGI Indexes FollowSymLinks
        AddHandler php-script .php
        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) {
    file_put_contents($portsConf, "\nListen $port\n", FILE_APPEND);
}

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";
?>

sudo php install.php

Erstmal nicht den Downgrade von PHP machen. Mal ohne testen.
 
Zuletzt bearbeitet:
Kontrolliert mal, ob sowas wie Apparmor bei euch installiert ist
 
Hi,
evtl fehlt noch das "mod_rewrite" -Apache-Modul? Keine Ahnung, ob das im Script aktiviert wird.
nachschauen mit
apache2ctl -M
bzw.
apache2ctl -M | grep rewrite
wenn nicht dann
a2enmod rewrite
 
Hallo zusammen,

ich hab mir jetzt Portals auch nochmal auf einen sauberen System Installiert. Habe mittels des php Scriptes Port 8080 ausgewählt etc. Seite kann ich aufrufen aber wenn ich das update machen möchte kommt das:
Du musst Regestriert sein, um das angehängte Bild zusehen.
Unbuntu mit Firefox, selbes auch mit Handy und Chrome.
Wenn ich in die php schaue und den link selber klicke kann ich die Datei laden.
Jemand eine Ahnung was da los ist?
Bzw. wie kann ich es per hand installieren ist es egal wo ich die sachen entpacke??
Danke für die Hilfe.

Edit: Wenn ich es entpacke und sudo php install.php mache passiert folgendes: "PHP Parse error: syntax error, unexpected token "%" in /home/nico/Downloads/install.php on line 51"

in der install php finde ich wenn ich % suche nur das hier wo überhaupt ein Prozent zeichen enthalten ist:
Du musst Regestriert sein, um das angehängte Bild zusehen.
 

Anhänge

Du musst angemeldet sein, um die Anhangsliste zu sehen.
Zuletzt bearbeitet von einem Moderator:
Kannste auch per Hand machen.
Da entpacken, wo die serverw.php liegt.
Musst dann aber die Rechte alle setzen und in local_version.txt 1.23 schreiben.
Ich hab immer noch keinen Plan, warum ihr keine Schreib Berechtigungen in eurem Serververzeichnis habt.
Hier auf meiner Synology UND im Docker Ubuntu läuft alles reibungslos.
Naja, ich bleibe dran.
Aber vielleicht hat ja einer von euch noch ne Idee.
 
Zuletzt bearbeitet:
Ich habe auch nochmal neu installiert. erst mit der neusten php und dem eintrag. dann mit downgrade.
erst war die Seite zum m3u erstellen wieder weiß. Nach dem downgrade blieb sie, aber m3u kann ich jetzt schon wieder nicht erstellen. Portale erstellen geht, macs checken geht.
Verschiedene Browser...und immer wieder gleich. Das ist bestimmt was gaaaanz kleines
 
Danke, habe jetzt alles in den Ordner kopiert aber immer noch selber fehler:

HP Parse error: syntax error, unexpected token "%" in /home/portals/public_html/install.php on line 51
Das lösche ich das eine % meckert er wegen das andere usw.
 
Also ich hab auch nochmal mit Hilfe des Scripts einen neuen virtual host erstellt und meine Konfiguration darauf umgezogen. Bei mir läuft jetzt alles einwandfrei und sogar mein "Problem Portal" Dark läuft jetzt ohne Fehler.
Nutze Ubuntu 24.04 auf einem Desktop PC.
 
@Hardstyleboy
Tausch mal die Zeile in diese beiden

PHP:
$majorVersion = explode('.', $INSTALLED_PHP_VERSION)[0];

shell_exec("sudo apt purge 'php{$majorVersion}*' -y");

@Zauberdaemon
Was heißt umgezogen?
 
Das würde mich auch interessieren.
 
Für die Nutzung dieser Website sind Cookies erforderlich. Du musst diese akzeptieren, um die Website weiter nutzen zu können. Erfahre mehr…