Fehler: Umleitungsfehler Was tun?
Hallo,
seit gestern funktioniert zwar alle Internetseiten von mir noch allerdings geht das Forum nicht mehr. Bei Firefox steht das: "Fehler: Umleitungsfehler Beim Verbinden mit buildyourcity.de trat ein Fehler auf. Dieses Problem kann manchmal auftreten, wenn Cookies deaktiviert oder abgelehnt werden." Es liegt auch niht an meinem Browser oder an den Cookies, weil andere Leute genau das selbe Problem haben. Wenn ich allerdings mit der IP auf die Seite gehe funktioniert das Forum wie früher. Ich habe meines Wissens in den letzten Tagen nichts an der Webseite umgestellt.
Vielen Dank für eure Hilfe!
2 Antworten
Anscheinend ist das Problem wiedre vorhanden?
Das Deinstallieren von Certbot war also nicht die Lösung.
Ich würde demnach bei den Page Rules von Cloudflare erneut ansetzen.
(In einer neunen Antwort, da bei der anderen Gf Probleme zu haben scheint, wnen ich Kommentare einfüge).
Also Pagerules bei Cloudflare habe ich seit mehreren tagen nicht mehr.
Wie funktioniert dann der Redirect auf HTTPS?
Also konkret: Welche Funktion von Cloudflare nutzt du dnan? Ich hatte nur diese Page Rules gesehen.
EDIT:
Interessant auch:
Wenn man die Seite über HTTP aufruft gibt es eine 301-Redirect. Über HTTPS kommt dre 302-Redirect.
Ah ok.
Das ist dann die Globale Regel.
Wenn du sagst, dass keine Page Rules zusätzlich noch aktiv sind, dann liegt das Problem nicht (primär) bei Cloudflare.
In dem Fall müsstest du mir deine .htaccess-Files und deinen Server Konfigurationsfile bereitstellen, sodass ich diese auf Redirects prüfen kann.
(Bitte beachte, dass du diese Dateien möglicherweis enicht direkt siehst, da sie versteckt sind. Mittels "ls -a" sollten sie dir angezeigt werden.)
Die .htaccess-Files dürftest du in den Ordnern deines Webservers finden.
Die Configdatei dürfte sich bei den Einstellungsdateien des Servers befinden. Die Datei heißt entweder "httpd.conf" oder "apache2.conf".
Das ist die .htaccess aus dem Forum Ordner(In den darüberliegenden Ordnern sind keine .htaccess Dateien):
Options +FollowSymLinks
Options -MultiViews
Options -Indexes
RewriteEngine off
IndexIgnore *
RewriteCond %{REQUEST_URI}::$1 ^(.*?/)(.*)::\2$
RewriteRule ^(.*)$ - [E=BASE:%1]
RewriteCond %{REQUEST_FILENAME} !-d
# Disabled
# RewriteRule ^(.+)/$ $1 [R=301,L]
RewriteRule ^avatar/([^/]+)/([^/]+)/(f|l|r|b|front|left|right|back)/?$ %{ENV:BASE}core/avatar/face.php?u=$1&s=$2&v=$3
RewriteRule ^avatar/([^/]+)/(f|l|r|b|front|left|right|back)/?$ %{ENV:BASE}core/avatar/face.php?u=$1&v=$2
RewriteRule ^avatar/([^/]+)/([^/]+)/?$ %{ENV:BASE}core/avatar/face.php?u=$1&s=$2
RewriteRule ^avatar/([^/]+)/?$ %{ENV:BASE}core/avatar/face.php?u=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ %{ENV:BASE}index.php?route=/$1 [NC,L,QSA]
#RewriteRule ^(.*)$ ./index.php?route=/$1 [NC,L,QSA]
# Prevent access to template files
<files "*.tpl">
Deny from all
</files>
Ich hätte eigentlich erwartet da die Ursache des Problems zu finden. Allerdings ist in deinem htaccess-File das URL-Rewriting sowieso deaktiviert und alle potentiell problematischen RewriteRules sind auskommentiert.
In deiner Apache-Config ist auch kein redirect eingestellt.
Da Cloudflare als Ursache ja ausgeschlossen ist bliebe nur noch die Möglichkeit, dass einer deiner PHP-Files redirected.
Ich hatte zwar, als deine Seitenconfig kaputt war, einen der Files gesehen, evtl. kannst du ihn mir aber dennoch verlinken.
Konkret interessieren würde mich
"/Forum/index.php"
Womöglich redirectet dieser schlicht auf sich selbst wenn die "route" = "/" ist.
Ja. Die des Forums.
Oder, was du auch einmal ausprobieren könntest, bevor du diese hochlädst: Kopiere mal deine index.php-Datei irgendwo anders hin(Als Backup) und ersteze sie dann durch eine index.php-Datei, die garnichts tut, z.B.
<?php
echo "Test";
?>
Wenn dann das Problem nicht mehr auftritt, dnan ist eindeutig, dass das Problem in der idnex.php-Datei liegt.
Du kannst selbst mal auf die Seite gehen und es dir anschauen. Für mich sieht es ganz gut aus. Soll ich dann die index.php hochladen?
Das ist die index.php:
<?php
/*
* Made by Samerton
* https://github.com/NamelessMC/Nameless/
* NamelessMC version 2.0.0-pr6
*
* License: MIT
*
* Main index file
*/
// Uncomment to enable debugging
//define('DEBUGGING', 1);
if(defined('DEBUGGING') && DEBUGGING){
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
}
// Ensure PHP version >= 5.4
if(version_compare(phpversion(), '5.4', '<')){
die('NamelessMC is not compatible with PHP versions older than 5.4');
}
// Start page load timer
$start = microtime(true);
// Definitions
define('PATH', '/');
define('ROOT_PATH', dirname(__FILE__));
$page = 'Home';
if(!ini_get('upload_tmp_dir')){
$tmp_dir = sys_get_temp_dir();
} else {
$tmp_dir = ini_get('upload_tmp_dir');
}
ini_set('open_basedir', ROOT_PATH . PATH_SEPARATOR . $tmp_dir . PATH_SEPARATOR . '/proc/stat');
// Get the directory the user is trying to access
$directory = $_SERVER['REQUEST_URI'];
$directories = explode("/", $directory);
$lim = count($directories);
if(isset($_GET['route']) && $_GET['route'] == '/rewrite_test'){
require_once('rewrite_test.php');
die();
}
try {
// Start initialising the page
require(ROOT_PATH . '/core/init.php');
}
catch(Exception $e) {
die($e->getMessage());
}
if(!isset($GLOBALS['config']['core']) && is_file(ROOT_PATH . '/install.php')) {
Redirect::to('install.php');
}
// Get page to load from URL
if(!isset($_GET['route']) || $_GET['route'] == '/'){
if(count($directories) > 1 && (!isset($_GET['route']) || (isset($_GET['route']) && $_GET['route'] != '/')))
require(ROOT_PATH . '/404.php');
else
// Homepage
require(ROOT_PATH . '/modules/Core/pages/index.php');
} else {
$route = rtrim(strtok($_GET['route'], '?'), '/');
// Check modules
$modules = $pages->returnPages();
// Include the page
if(array_key_exists($route, $modules)){
if(!isset($modules[$route]['custom'])){
$path = join(DIRECTORY_SEPARATOR, array(ROOT_PATH, 'modules', $modules[$route]['module'], $modules[$route]['file']));
if(!file_exists($path)) require(ROOT_PATH . '/404.php'); else require($path);
die();
} else {
require(join(DIRECTORY_SEPARATOR, array(ROOT_PATH, 'modules', 'Core', 'pages', 'custom.php')));
die();
}
} else {
// Use recursion to check - might have URL parameters in path
$path_array = explode('/', $route);
for($i = count($path_array) - 2; $i > 0; $i--){
$new_path = '/';
for($n = 1; $n <= $i; $n++){
$new_path .= $path_array[$n] . '/';
}
$new_path = rtrim($new_path, '/');
if(array_key_exists($new_path, $modules)){
$path = join(DIRECTORY_SEPARATOR, array(ROOT_PATH, 'modules', $modules[$new_path]['module'], $modules[$new_path]['file']));
if(file_exists($path)){
require($path);
die();
}
}
}
// 404
require(ROOT_PATH . '/404.php');
}
}
Ok. Du scheinst ein API zu nutzen, das macht es für mich etwas komplizierter.
Irgendwo musst du das Konfiguriert haben. Hast du dort evtl. eingestellt, dass https forciert werden muss? Oder irgendwelche anderen redirect rules?
Es kann sein, dass ich das irgendwo in den Einstellungen des Forum eingestellt habe.
Irgendeine config-Seite muss es da doch geben.
Evtl. "panel.php"?
Oder Ähnliches?
Ansonsten müssten wir entwedre das neu installieren oder die config-Datei finden.
"core/config-php" dürfte ein Konfig-File sien. Ich weiß zwar nicht, ob das etwas hilft, aber evtl. kannst du mir den schicken,w enn du sonst kein Einstellungsmenü findest.
Apropos: Von wann genau ist denn die Versiond es APIs, die du nutzt?
Wenn das nicht die neuste ist, dann hilft es evtl. schon schlicht eine neuere mit mehr Bugfixes zu verwenden.
Das ist die cnfig.php
<?php
$conf = array (
'mysql' =>
array (
'host' => '127.0.0.1',
'username' => 'root',
'password' => 'Hier steht das Passwort :D',
'db' => 'Forum',
'port' => '3306',
'prefix' => 'nl2_',
'charset' => 'utf8mb4',
'engine' => 'InnoDB',
),
'remember' =>
array (
'cookie_name' => 'nl2',
'cookie_expiry' => 604800,
),
'session' =>
array (
'session_name' => '2user',
'admin_name' => '2admin',
'token_name' => '2token',
),
'core' =>
array (
'path' => 'Forum',
'hostname' => 'www.buildyourcity.de',
'friendly' => false,
),
'allowedProxies' => '',
);
$CONFIG['installed'] = true;
Könnte es sein, dass es irgendwo in der MySQL Datenbank gespeichert ist?
Ok, das ist nicht so hilfreich wie ich mir erhofft hatte.
Kann schon sein, dass das da drinnen steht.
Evtl. könnbte man versuchen, das Forum erneut aufzusetzen? Also so, das sich beim Aufsetzen mit draufschauen kann, welche Optionen man wo einstellen kann?
Übrigens, was mir gerade auffällt:
Auf Die Dateien unter /core kann man von außen Problemlos zugreifen.
Evtl. ist da etwas in der zugehörigen .htaccess-Datei falsch konfiguriert. Aber sollte das Forum neu aufgesetztw erden, dann wäre das womöglich egal.
Leider würde das einstellen der Gruppen und Foren wieder ewig dauern...
Dann hätte ich eine andere Idee.
Wir versuchen die Configurationsseiten anders aufzurufen, indem wir die index.php-Datei manipulieren.
Doch bevor wir das tun solltest du den .htaccess-File im core-Ordner wieder so zurücksetzen, das sman nicht mehr auf die PHP-Dateien darin zugreifen kann.
Irgendwo müsste da folgendes drinnenstehen:
<Files *.php>
Order Deny,Allow
Deny from all
</Files>
Die index.php-Datei ersetzt du durch folgende:
<?php
require_once('pages/admin/index.php');
?>
Mit etwas Glück reicht das schon, damit du im eingeloggten Zustand etwas konfigurieren kannst. Vielleicht ist es aber auch eine andere Konfigurationsseite, die wir benötigen.
Also ich habe jetzt alles so ersetzt. Jetzt bekommt man eine leere Seite.
Ja, da stimmt etwas am Server nicht. Pach mal noch folgendes vor das "require_once":
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
Das dürfte dafür sorgen, dass wir sehen, was schief läuft.
Kannst du was mit den Fehlermeldungen anfangen?
Ja. Das sagt schlicht, dass der angeforderte File nicht existiert.
Füg mal folgendes noch über dem "require_once" ein:
define('ROOT_PATH', dirname(__FILE__));
Und dann ersetze das Argument von dem "require_once" durch:
ROOT_PATH . '/pages/admin/index.php'
Mir fällt gerade auf, so wie ich dachte, dass es funktionieren könnte, funktioniert es wohl nicht.
Du müsstest noch folgendes vor dem require_once einfügen:
try {
// Start initialising the page
require(ROOT_PATH . '/core/init.php');
}
catch(Exception $e) {
die($e->getMessage());
}
Das wird aber wahrscheinlich wieder einen Redirectloop auslösen.
Ich schaue gerade, ob ich es auch anderweitig hinbekomme.
Ich glaube ich habe es in einer falschen Reihenfloge eingefügt. Hier die jetzige Datei:
<?php
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
define('ROOT_PATH', dirname(__FILE__));
try {
// Start initialising the page
require(ROOT_PATH . '/core/init.php');
}
catch(Exception $e) {
die($e->getMessage());
}
require_once('ROOT_PATH . '/pages/admin/index.php'');
?>
Die Reihenfolge passt schon.
Aber mach
'ROOT_PATH . '/pages/admin/index.php''
zu
ROOT_PATH . '/pages/admin/index.php'
Also muss das jetzt so aussehen?
<?php
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
define('ROOT_PATH', dirname(__FILE__));
try {
// Start initialising the page
require(ROOT_PATH . '/core/init.php');
}
catch(Exception $e) {
die($e->getMessage());
}
require_once(ROOT_PATH . '/pages/admin/index.php');
?>
Ja.
Hast du das schon geändert?
Wenn ja, dann versuch mal, dich mitd einem Adminkonto einzuloggen.
bei mir kommt derzeit kein Umleitungsfehler, möglicherweise geht es also tatsächlich so.
Wo soll ich mich dort einloggen? Ich sehe leider nur eine weiße Seite.
Bevor wir weiter machen muss ich glaube ich die index-Seite nocheinmal anpassen.
Mach mal aus
require_once(ROOT_PATH . '/pages/admin/index.php');
ein
require_once(ROOT_PATH . $_GET['route']);
Das sollte die Seite mit den anderen kompatibel machen.
Danach rufst du die Seite folgendermaßen auf:
https://buildyourcity.de/Forum/index.php?route=/pages/signin.php
Nebenbei noch einanderer Lösungsansatz:
Was steht denn bei dir in
/modules/Core/pages/index.php
<?php
/*
* Made by Samerton
* https://github.com/NamelessMC/Nameless/
* NamelessMC version 2.0.0-pr3
*
* License: MIT
*
* Display either homepage or portal
*/
// Home page or portal?
$cache->setCache('portal_cache');
$use_portal = $cache->retrieve('portal');
if($use_portal !== 1) require('home.php');
else require('portal.php');
Wie siehst dein index.php File jetzt aus?
Evtl. habe ich etwas falsch gemacht. eigentlich sollte das jetzt redirecten, aber funktionieren tut da snicht einmal mit der 404-Seite.
home.php
<?php
/*
* Made by Samerton
* https://github.com/NamelessMC/Nameless/
* NamelessMC version 2.0.0-pr5
*
* License: MIT
*
* Home page
*/
// Always define page name
define('PAGE', 'index');
$page_title = $language->get('general', 'home');
require_once(ROOT_PATH . '/core/templates/frontend_init.php');
$template->addCSSFiles(array(
(defined('CONFIG_PATH') ? CONFIG_PATH : '') . '/core/assets/plugins/ckeditor/plugins/spoiler/css/spoiler.css' => array(),
(defined('CONFIG_PATH') ? CONFIG_PATH : '') . '/core/assets/plugins/prism/prism.css' => array(),
(defined('CONFIG_PATH') ? CONFIG_PATH : '') . '/core/assets/plugins/tinymce/plugins/spoiler/css/spoiler.css' => array()
));
$template->addJSFiles(array(
(defined('CONFIG_PATH') ? CONFIG_PATH : '') . '/core/assets/plugins/ckeditor/plugins/spoiler/js/spoiler.js' => array(),
(defined('CONFIG_PATH') ? CONFIG_PATH : '') . '/core/assets/plugins/prism/prism.js' => array(),
(defined('CONFIG_PATH') ? CONFIG_PATH : '') . '/core/assets/plugins/tinymce/plugins/spoiler/js/spoiler.js' => array()
));
if(Session::exists('home')){
$smarty->assign('HOME_SESSION_FLASH', Session::flash('home'));
$smarty->assign('SUCCESS_TITLE', $language->get('general', 'success'));
}
if(Session::exists('home_error')){
$smarty->assign('HOME_SESSION_ERROR_FLASH', Session::flash('home_error'));
$smarty->assign('ERROR_TITLE', $language->get('general', 'error'));
}
if(isset($front_page_modules)){
foreach($front_page_modules as $module){
require(ROOT_PATH . '/' . $module);
}
}
// Assign to Smarty variables
$smarty->assign('SOCIAL', $language->get('general', 'social'));
// Load modules + template
Module::loadPage($user, $pages, $cache, $smarty, array($navigation, $cc_nav, $mod_nav), $widgets, $template);
$page_load = microtime(true) - $start;
define('PAGE_LOAD_TIME', str_replace('{x}', round($page_load, 3), $language->get('general', 'page_loaded_in')));
$template->onPageLoad();
$smarty->assign('WIDGETS', $widgets->getWidgets());
require(ROOT_PATH . '/core/templates/navbar.php');
require(ROOT_PATH . '/core/templates/footer.php');
// Display template
$template->displayTemplate('index.tpl', $smarty);
portal.php
<?php
/*
* Made by Samerton
* https://github.com/NamelessMC/Nameless/
* NamelessMC version 2.0.0-pr5
*
* License: MIT
*
* Portal page
*/
// Always define page name
define('PAGE', 'portal');
$page_title = $language->get('general', 'home');
require_once(ROOT_PATH . '/core/templates/frontend_init.php');
// Load modules + template
Module::loadPage($user, $pages, $cache, $smarty, array($navigation, $cc_nav, $mod_nav), $widgets, $template);
$page_load = microtime(true) - $start;
define('PAGE_LOAD_TIME', str_replace('{x}', round($page_load, 3), $language->get('general', 'page_loaded_in')));
$template->onPageLoad();
require(ROOT_PATH . '/core/templates/navbar.php');
require(ROOT_PATH . '/core/templates/footer.php');
// Display template
$template->displayTemplate('portal.tpl', $smarty);
Hm, ok. Der Lösungsansatz bringt wohl doch nichts. Das werden nur immer mehr files, die mans ich anschauen müsste.
Also zurück zur index.php
Kannst du da mal ganz an den Anfang (Also unter das <?php) ein
echo $_GET['route'];
klatschen?
Ich denke ich weiß, wo mein Fehler lag.
Das require der init wirft schlicht einen fehler. Deshalb kam es auch nicht zum Redirectloop.
Mach mal aus
try {
// Start initialising the page
require(ROOT_PATH . '/core/init.php');
}
catch(Exception $e) {
die($e->getMessage());
}
einfach nur
require(ROOT_PATH . '/core/init.php');
Ist eingetragen. Ich kann allerdings wenig mit den Nachrichten anfangen.
Ich sehe gerade keine Nachrichten. Womöglich ist die Siete irgendwo gecacht. Heißt, bei mir dauert es noch etwas, bis ich das sehe.
Achso ich war noch hier: https://buildyourcity.de/Forum/index.php?route=/pages/signin.php
Auf der anderen Seite sehe ich auch nichts
Also ichs ehe da nur die Ausgabe des echos, slso das in der URL übergebene Parameter.
Wenn du etwas anderes siehst, dann liegt das womöglichd aran, dass die Seite gecacht wurde.
Wenn dass so jetzt dann nicht funktioniert, dnan probieren wir morgen aus, die konkrete Fehlerquelle zu finden, indem wir nur Teile der ursprünglichen index.php-Datei reinstellen.
Ich sehe auf https://buildyourcity.de/Forum/index.php?route=/pages/signin.php
nur das hier /pages/signin.php
ja, das soll da stehen.
Wenn du die index.php bereits angepasst hast, dann geht das so wohl nicht, wie ich gehofft hatte.
Also wenn das die richtige index.php ist steht ddort das drin:
<?php
echo $_GET['route'];
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
define('ROOT_PATH', dirname(__FILE__));
try {
// Start initialising the page
require(ROOT_PATH . '/core/init.php');
}
catch(Exception $e) {
die($e->getMessage());
}
require_once(ROOT_PATH . $_GET['route']);
?>
Nicht das, was ich erwartet hatte.
Aber seis drum, der Ansatz ist sowieso wenig erfolgsversprechend.
Ich denke wir werden uns eher durcharbeiten und die Codezeile finden, die die Probleme verursacht.
Dazu müsstest du zuerst die gebackupte index.php-Datei wiederherstellen.
Danach werden wir an verschiedenenen Stellen folgenden Code erst einfügen, dann testen und dann entfernen:
die("1234");
Das bricht das Programm sofort ab. Weiterleitungen finden damit also nicht mehr statt.
Wenn wir diesen Code vor der Weiterleitung platzieren,d ann sehen wir einen weißen Screen, wenn wir ihn danach paltzieren sehen wir die Weiterleitung.
Somit lässt sich die Codestelle bestimmen, an der die Weiterleitung stattfindet.
Melde dich einfach,w enn du die index.php-Datei wiederhergestellt hast, dann kann ich dir sagen, wo du die Zeile einfügen sollst.(Das wird womöglich immer vor oder nach einem "require_once" sein.)
Ich habe die Benachrichtigung deines Kommentars komplett übersehen...
Die alte index.php ist wiederhergestellt. Wo muss ich den Code denn einfügen?
Verstehe. Ich hatte mich schon gewundert. Schlußendlich aber kein Problem, ich hatte am Wochenende sowieso weniger Zeit als erwartet.
Ersteinmal direkt nach
try {
// Start initialising the page
require(ROOT_PATH . '/core/init.php');
}
catch(Exception $e) {
die($e->getMessage());
}
Also ich musste für andere Dinge auf meinem Server etwas umstellen. Jetzt bekommt man auf der Seite des Forums eine "403 You don't have permission to access this resource." Meldung. Soll icht den Code trotzdem noch einfügen?
Also ich musste für andere Dinge auf meinem Server etwas umstellen.
Welche Dinge? Das müssen wir erst fixen, sonst geht es nicht.
Hast du etwas in eine .htaccess-Datei eingefügt? Wenn ja, was in welche?
Ich habe in der apache2.conf das hier geändert (bei AllowOverride stand vorher None):
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Dann greift jetzt irgendeine .htaccess-Datei, die vorher nicht griff, da das AllowOverride deaktiviert war.
Welche Files werden denn konkret blockiert?
Also in den Ordnern darüber sind keine .htaccess Dateien.
Welche Datei ist eigentlich konkret betroffen?
In irgendeiner .htaccess-Seite oder in der apache2.conf muss ja was drinnenstehen, was dafür sorgt, dass der Zugriff verhindert wird.
Die .htaccess, die du hier schon reingestellt hast, hast du aber nicht verändert, oder?
Bringt es etwas, wenn du das "Deny from all" für die template-Files temporär auskommentierst?
Also ich habe jetzt in der .htaccess ein # davor gemacht. (Ich hoffe das meintest du)
Die .htaccess sieht jetzt so aus:
Options +FollowSymLinks
Options -MultiViews
Options -Indexes
RewriteEngine off
IndexIgnore *
RewriteCond %{REQUEST_URI}::$1 ^(.*?/)(.*)::\2$
RewriteRule ^(.*)$ - [E=BASE:%1]
RewriteCond %{REQUEST_FILENAME} !-d
# Disabled
# RewriteRule ^(.+)/$ $1 [R=301,L]
RewriteRule ^avatar/([^/]+)/([^/]+)/(f|l|r|b|front|left|right|back)/?$ %{ENV:BASE}core/avatar/face.php?u=$1&s=$2&v=$3
RewriteRule ^avatar/([^/]+)/(f|l|r|b|front|left|right|back)/?$ %{ENV:BASE}core/avatar/face.php?u=$1&v=$2
RewriteRule ^avatar/([^/]+)/([^/]+)/?$ %{ENV:BASE}core/avatar/face.php?u=$1&s=$2
RewriteRule ^avatar/([^/]+)/?$ %{ENV:BASE}core/avatar/face.php?u=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ %{ENV:BASE}index.php?route=/$1 [NC,L,QSA]
#RewriteRule ^(.*)$ ./index.php?route=/$1 [NC,L,QSA]
# Prevent access to template files
<files "*.tpl">
#Deny from all
</files>
<Files *.php>
Order Deny,Allow
#Deny from all
</Files>
Ach du hast die Zeilen zum blockieren der PHP-Dateien hinzugefügt.
Die sollte eigentlich nur in die Unterordner.
So wie hier:
https://github.com/NamelessMC/Nameless/
Am Besten kopierst du dir einfachd ei .htaccess-Dateien für die Unterordner.
Aus der .htaccess-Datei im Rootordner entfernst du das
<Files *.php>
Order Deny,Allow
#Deny from all
</Files>
wieder, sonst lässt sich die index.php-Seite nicht aufrufen.
Also diesen Teil der .htaccess habe ich entfernt. Das nächste verstehe ich nicht so ganz.
https://github.com/NamelessMC/Nameless/blob/master/pages/.htaccess
https://github.com/NamelessMC/Nameless/blob/master/core/.htaccess
https://github.com/NamelessMC/Nameless/blob/master/cache/.htaccess
Die verlinkten Files kopierst du dir in die entsprechenden Verzeichnisse deines Forums.
(Mich wundert übrigens, dass diese bei dir nicht schon vorhanden sind.)
Doch, natürlich tun sie das, sie werden ja in anderen Dateien auch referenziert.
/core, /pages und /cache müssten das sein.
core und cache sind da. Vielleicht ist beim kopieren mal ein Fehler aufgetreten und jetzt fehlt das? Oder kann der Ordner unsichtbar sein?
Kann schon sein, dass der Ordner versteckt ist. Ich würde mich aber fragen, wie das versteckt wird, wnen da kein . vorne dran hängt.
Vielleicht liegt das bei dir unter Modules/Code/pages. Dann frage ich mich aber, woher du die Dateien für das Forum hast, dnen auf Github gibt es das /pages-Directory schon ewig.
Die Dateien habe ich von https://github.com/NamelessMC/Nameless/releases/tag/v2.0.0-pr7
und dort unten bei assets die zip Datei
Ah ok, das ist ein branch davon. Soll ferstehen wer will, warum die das so merkwürdig hinpacken. Ich sehe aber, dass die das anders regeln. Die verwendne nur eine .htaccess-Datei.
Diese hattes du verändert, deshalb konnte man auf die andren Dateien zugreifen.
Also statt die .htaccess-Dateien in die Ordner zu schieben müsstest du die .htaccess-Datei des Rootordners zurücksetzen:
https://github.com/NamelessMC/Nameless/blob/5129bca612c88aecc554bc4fd23878092d48af0f/.htaccess
Im core-Verzeichniss müsste auch eine config.php-Datei liegen.
Die haben wir uns glaube ich noch nicht angeschaut, oder? Wenn nein,d ann hilft die evtl. weiter.
Also die .htacces im root Verzeichnis ist zurückgesetzt. Die Config.php sieht so aus:
<?php
$conf = array (
'mysql' =>
array (
'host' => '127.0.0.1',
'username' => 'root',
'password' => 'Das werde ich mal lieber nicht hier lassen ;)',
'db' => 'Forum',
'port' => '3306',
'prefix' => 'nl2_',
'charset' => 'utf8mb4',
'engine' => 'InnoDB',
),
'remember' =>
array (
'cookie_name' => 'nl2',
'cookie_expiry' => 604800,
),
'session' =>
array (
'session_name' => '2user',
'admin_name' => '2admin',
'token_name' => '2token',
),
'core' =>
array (
'path' => 'Forum',
'hostname' => 'www.buildyourcity.de',
'friendly' => false,
),
'allowedProxies' => '',
);
$CONFIG['installed'] = true;
Ah ok, das bringt auch nicht viel.
Aber da die .htaccess jetzt gefixt ist, können wir mit unserem Ansatz fortfahren.
Das "die" kannst du jetzt in die index.php-Datei eintrage. Mal schauen, ob sich etwas tut.
Ich denke wir werden uns eher durcharbeiten und die Codezeile finden, die die Probleme verursacht.
Dazu müsstest du zuerst die gebackupte index.php-Datei wiederherstellen.
Danach werden wir an verschiedenenen Stellen folgenden Code erst einfügen, dann testen und dann entfernen:
die("1234");
Das bricht das Programm sofort ab. Weiterleitungen finden damit also nicht mehr statt.
Wenn wir diesen Code vor der Weiterleitung platzieren,d ann sehen wir einen weißen Screen, wenn wir ihn danach paltzieren sehen wir die Weiterleitung.
Somit lässt sich die Codestelle bestimmen, an der die Weiterleitung stattfindet.
Melde dich einfach,w enn du die index.php-Datei wiederhergestellt hast, dann kann ich dir sagen, wo du die Zeile einfügen sollst.(Das wird womöglich immer vor oder nach einem "require_once" sein.)
Ersteinmal direkt nach
try {
// Start initialising the page
require(ROOT_PATH . '/core/init.php');
}
catch(Exception $e) {
die($e->getMessage());
}
Ich weiß nicht ob das so gemeint war
<?php
/*
* Made by Samerton
* https://github.com/NamelessMC/Nameless/
* NamelessMC version 2.0.0-pr6
*
* License: MIT
*
* Main index file
*/
// Uncomment to enable debugging
//define('DEBUGGING', 1);
if(defined('DEBUGGING') && DEBUGGING){
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
}
// Ensure PHP version >= 5.4
if(version_compare(phpversion(), '5.4', '<')){
die('NamelessMC is not compatible with PHP versions older than 5.4');
}
// Start page load timer
$start = microtime(true);
// Definitions
define('PATH', '/');
define('ROOT_PATH', dirname(__FILE__));
$page = 'Home';
if(!ini_get('upload_tmp_dir')){
$tmp_dir = sys_get_temp_dir();
} else {
$tmp_dir = ini_get('upload_tmp_dir');
}
ini_set('open_basedir', ROOT_PATH . PATH_SEPARATOR . $tmp_dir . PATH_SEPARATOR . '/proc/stat');
// Get the directory the user is trying to access
$directory = $_SERVER['REQUEST_URI'];
$directories = explode("/", $directory);
$lim = count($directories);
if(isset($_GET['route']) && $_GET['route'] == '/rewrite_test'){
require_once('rewrite_test.php');
die();
}
try {
// Start initialising the page
require(ROOT_PATH . '/core/init.php');
}
catch(Exception $e) {
die($e->getMessage());
}
die("1234");
if(!isset($GLOBALS['config']['core']) && is_file(ROOT_PATH . '/install.php')) {
Redirect::to('install.php');
}
// Get page to load from URL
if(!isset($_GET['route']) || $_GET['route'] == '/'){
if(count($directories) > 1 && (!isset($_GET['route']) || (isset($_GET['route']) && $_GET['route'] != '/')))
require(ROOT_PATH . '/404.php');
else
// Homepage
require(ROOT_PATH . '/modules/Core/pages/index.php');
} else {
$route = rtrim(strtok($_GET['route'], '?'), '/');
// Check modules
$modules = $pages->returnPages();
// Include the page
if(array_key_exists($route, $modules)){
if(!isset($modules[$route]['custom'])){
$path = join(DIRECTORY_SEPARATOR, array(ROOT_PATH, 'modules', $modules[$route]['module'], $modules[$route]['file']));
if(!file_exists($path)) require(ROOT_PATH . '/404.php'); else require($path);
die();
} else {
require(join(DIRECTORY_SEPARATOR, array(ROOT_PATH, 'modules', 'Core', 'pages', 'custom.php')));
die();
}
} else {
// Use recursion to check - might have URL parameters in path
$path_array = explode('/', $route);
for($i = count($path_array) - 2; $i > 0; $i--){
$new_path = '/';
for($n = 1; $n <= $i; $n++){
$new_path .= $path_array[$n] . '/';
}
$new_path = rtrim($new_path, '/');
if(array_key_exists($new_path, $modules)){
$path = join(DIRECTORY_SEPARATOR, array(ROOT_PATH, 'modules', $modules[$new_path]['module'], $modules[$new_path]['file']));
if(file_exists($path)){
require($path);
die();
}
}
}
// 404
require(ROOT_PATH . '/404.php');
}
}
Ok, es scehint immernoch zu redirecten.
Dann entfern das die wieder und setze es stattdessen über die genannte Stelle.
Das Ergebniss besprechen wir dann morgen, ich muss jetzt dnan schluss machen.
Wie man es nimmt. Jetzt wissen wir, der Fehler liegt in der /core/init.php-Datei.
Diese betrachten wir als nächstes. Entferne das die wieder und füge es in der /core/init.php-Datei nach folgender Stelle ein:
require_once(join(DIRECTORY_SEPARATOR, array(ROOT_PATH, 'core', 'classes', 'ErrorHandler.php')));
Aus der index.php ist es jetzt entfernt und in der init.php drin.
Keien veränderung. ok, das war zu erwarten.
Dann schieb es mal unter:
require(ROOT_PATH . '/core/config.php');
Es ist jetzt eigentlich dort eingetragen. Vielleicht ist bei mir noch was zwischengespeichert und ich sehe deshalb keine Veränderung.
Das keine Veränderung kommt ist durchaus vorgesehen. Aber mit jeder veränderung nähern wir uns der Stelle, an der die Ursache des Redirects liegt.
Was wir gerade tun ist ja schlicht, ein Abbruch des Programms einzubauen. Tun wir dies vor dem Redirect, dann kommt kein Umleitungsfehler. Ansonsten schon.
Indem wir das Redirect immer nach einem require setzen, finden wir heraus, in welchem File der Fehler liegt.
Die nächste Stelle, dann die du das die verschieben müsstest wäre nach folgender Zeile:
require_once ROOT_PATH . '/core/includes/smarty/Smarty.class.php'; // Smarty
Ok, dann schieb es unter:
spl_autoload_register(function($class) {
if(strpos($class, 'TeamSpeak3') === false){
$path = join(DIRECTORY_SEPARATOR, array(ROOT_PATH, 'core', 'classes', $class . '.php'));
if(file_exists($path)) require_once($path);
}
});
Die nächste Stelle wäre unter:
if(isset($maintenance['maintenance']) && $maintenance['maintenance'] != 'false'){
// Enabled
// Admins only beyond this point
if(!$user->isLoggedIn() || !$user->canViewACP()){
// Maintenance mode
if(isset($_GET['route']) && (rtrim($_GET['route'], '/') == '/login' || rtrim($_GET['route'], '/') == '/forgot_password' || substr($_GET['route'], 0, 5) == '/api/')){
// Can continue as normal
} else {
require(ROOT_PATH . '/maintenance.php');
die();
}
} else {
// Display notice to admin stating maintenance mode is enabled
$smarty->assign('MAINTENANCE_ENABLED', $language->get('admin', 'maintenance_enabled'));
}
}
Das ist etwas weiter unten.
Wenn es so sein soll:
// Maintenance mode?
$cache->setCache('maintenance_cache');
$maintenance = $cache->retrieve('maintenance');
if(isset($maintenance['maintenance']) && $maintenance['maintenance'] != 'false'){
// Enabled
// Admins only beyond this point
if(!$user->isLoggedIn() || !$user->canViewACP()){
// Maintenance mode
if(isset($_GET['route']) && (rtrim($_GET['route'], '/') == '/login' || rtrim($_GET['route'], '/') == '/forgot_password' || substr($_GET['route'], 0, 5) == '/api/')){
// Can continue as normal
} else {
require(ROOT_PATH . '/maintenance.php');
die();
}
} else {
// Display notice to admin stating maintenance mode is enabled
$smarty->assign('MAINTENANCE_ENABLED', $language->get('admin', 'maintenance_enabled'));
}
}
die("1234");
Tada! Umleitungsfehler tritt auf.
Gut. Danns etzt das die mal vor den Block.
Wenn dann der Umleitungsfehler nicht mehr auftritt, dann liegt er inder maintance.php-Datei. Ansonsten liegt er zwischen dem Letzten require und dem die.
So?
die("1234");
// Maintenance mode?
$cache->setCache('maintenance_cache');
$maintenance = $cache->retrieve('maintenance');
if(isset($maintenance['maintenance']) && $maintenance['maintenance'] != 'false'){
// Enabled
// Admins only beyond this point
Ja.
Ich mach mal eine neue Antwort auf, wegen einem Bug kann ich hier deinen untersten beitrag nicht mehr kommentieren.
Nächste Stelle wäre unter:
if(!defined('FORCE_SSL')){
if(defined('FORCE_WWW') && strpos($_SERVER['HTTP_HOST'], 'www.') === false) {
if($_SERVER["HTTPS"] != "on") {
header('Location: http://www.' . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);
} else {
header('Location: https://www.' . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);
}
die();
}
}
Die Seite Redirected sich auf sich selbst. Das wird vom Browser erkannt und dieser printet die Fehlermeldung aus.
Das Problem ist also ein serverseitiges.
Dein eigener Server. Und du hast nichts umgestellt?
Hm.
An sich sieht das so aus, als würde das eine Methode sein, um auf https umzustellen. Wenn du in der richtung nichts geändert hast, dann musst du wohl nacheinander Alles durchgehen, was in Frage kommt.
Was für ein Server ist das denn? Apache?
EDIT:
Ja ist Apache, sheer ich an der Not Found-Message fürs Impressum.
Ja das ist apache. Liegt das Problem bei Cloudflare oder an meinem Server?
Gute Frage.
Wie genau ist Cloudflare denn eingerichtet? Ist Cloudflare unter der Domain registriert, die wir zum Aufrufen verwenden?
Wenn ja, dann kann das schon an Cloudflare liegen. In dem fall sollte das Problem nicht vorhanden sein, wenn du die Seite deines Servers direkt, also nicht über die Domain, die bei Cloudflare registriert ist, sondern die, auf die redirected wird, aufrufst.
Also es hat vor kurzem noch alles geklappt. Muss ich irgendwas bei Cloudflare umstellen?
Ehrlich gesagt denke ich nicht, dass es wirklich an Cloudflare liegt. Denn du wirst ja deine Domain als ganzes und nicht nur die subdomain "/Forum" dort registriert haben, oder?
Wenn du tatsächlich nur die Subdomain registriert hast, dnan bitte ich dich dennoch, bevor wir weiter fortfahren, die Seite direkt aufzurufen(Wie auch immer du das anstellst) um herauszufinden, ob Cloudflare das Problem verursacht oder nicht.
Solltest du nicht nur die Subdomain registriert haben, dann stelle ich dir die Frage: Hast du neulich irgendetwas eingebaut, was Verbindungen von HTTP auf HTTPS upgraden soll? Wenn ja, dann würde ich dort nach dme fehler suchen. Wenn nein, dann müssen wir weiter suchen.
Also früher habe ich noch Certbot für https genutzt und bin dann auf die https Funkion von Cloudflare umgestiegen wenn das weiterhilft.
Das klingt zumindest nach einer möglichen Fehlerquelle.
Funktioniert es denn,w enn du die HTTPS-Funktion von Cloudflare deaktivierst?
Ich habe es jetzt ausgestellt und es funktioniert immer noch nicht.
Ich sehe gerade. Deine Seie Redirected immer abwechselnd, einmal mit 301 und einmal mit 302.
(Das war gerade eben glaube ich noch nicht so.)
Kann es sein, dass immernoch ein altes Redirect von certbot aktiv ist?
Wenn Nein, dann bräuchte ich deine Page Rules von Cloudflare, um herauszufidnen, ob du da eine Endlosschleife drinnen hast.
Also Pagerules bei Cloudflare habe ich seit mehreren tagen nicht mehr. Wie kann ich alle Daten von Certbot deinstallieren?
Also Pagerules bei Cloudflare habe ich seit mehreren tagen nicht mehr.
Wie funktioniert dann der Redirect auf HTTPS?
Wie kann ich alle Daten von Certbot deinstallieren?
Das weiß ich leider nicht sicher.
Ich hätte dazu folgendes gefunden:
Wenn du kein apt-get nutzt, dann musst du das entsprechende Feature deines Paketmanagers nutzen.
Wenn es nach entfernen von certbot immer noch nicht funktioniert, dann lass mal deine apache-configuration udn deine htaccess-Files (Alles, was redirecten könnte) sehen, möglicherweise schreibt certbot da etwas rein.
Jetzt ist alles entfernt und ich kann den apache nicht mehr starten
Hast du den apache-Server denn auch neu installiert, wie im verlinkten Beitrag beschrieben?
* apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sat 2020-05-02 14:06:13 CEST; 11s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 6615 ExecStart=/usr/sbin/apachectl start (code=exited, status=226/NAMESPACE)
May 02 14:06:13 b611cfb0-3eb0-431e-a3b3-a97d088163ad systemd[1]: Starting The Apache HTTP Server...
May 02 14:06:13 b611cfb0-3eb0-431e-a3b3-a97d088163ad systemd[6615]: apache2.service: Failed to set up mount namespacing: Permission denied
May 02 14:06:13 b611cfb0-3eb0-431e-a3b3-a97d088163ad systemd[6615]: apache2.service: Failed at step NAMESPACE spawning /usr/sbin/apachectl: Permission denied
May 02 14:06:13 b611cfb0-3eb0-431e-a3b3-a97d088163ad systemd[1]: apache2.service: Control process exited, code=exited, status=226/NAMESPACE
May 02 14:06:13 b611cfb0-3eb0-431e-a3b3-a97d088163ad systemd[1]: apache2.service: Failed with result 'exit-code'.
May 02 14:06:13 b611cfb0-3eb0-431e-a3b3-a97d088163ad systemd[1]: Failed to start The Apache HTTP Server.
Ist abgeschnitten. Ich würde aber darauf tippen, dass du das mit Root-Rechten machen musst. Der Fehler direct nach dme Starten sieht mir sehr nach "Permission denied" aus.
Wie soll ich das mit root Rechten machen? Ich bin als root angemeldet.
Wenn es dann noch nicht geht muss ichs elber scahuen. Dann bräuchte ich aber die nicht abgeschnittene Fehlermeldung.
EDIT:
Dann bräuchte ich aber die nicht abgeschnittene Fehlermeldung.
Ist anscheinend schon da...
Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xe" for details.
Mit und ohne sudo kommt diese Fehlermeldung
Puh.
Kannstd deinen Server rebooten? Oder ist das eher keine Option?
Wenn ja, kannst du das mal tun? Evtl. wurde etwas zerschossen wegen des deinstallieren während der Service noch lief.
Wenn du nicht rebooten kannst oderw ennd er fehler anchd em rebooten immernoch kommt, dnan bräuchte ich die Ausgabe der in der fehlermeldung angegebenen Befehle.
Probier mal vor dem reboot, PHP erneut zu installieren udn für Apache zu konfigurieren.
Es geht immer noch nicht und php ist jetzt glaube ich auch deinstalliert
Was genau hast du getan?
Reboot?
PHP installiert?
Kannst du die Ausgabe der befehle bereitstellen, die ind er fehlermeldung genannt wurden:
systemctl status apache2.service
journalctl -xe
Das kommt bei systemctl...
* apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sat 2020-05-02 14:23:47 CEST; 2min 52s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 428 ExecStart=/usr/sbin/apachectl start (code=exited, status=226/NAMESPACE)
May 02 14:23:47 b611cfb0-3eb0-431e-a3b3-a97d088163ad systemd[1]: Starting The Apache HTTP Server...
May 02 14:23:47 b611cfb0-3eb0-431e-a3b3-a97d088163ad systemd[428]: apache2.service: Failed to set up mount namespacing: Permission denied
May 02 14:23:47 b611cfb0-3eb0-431e-a3b3-a97d088163ad systemd[428]: apache2.service: Failed at step NAMESPACE spawning /usr/sbin/apachectl: Permission denied
May 02 14:23:47 b611cfb0-3eb0-431e-a3b3-a97d088163ad systemd[1]: apache2.service: Control process exited, code=exited, status=226/NAMESPACE
May 02 14:23:47 b611cfb0-3eb0-431e-a3b3-a97d088163ad systemd[1]: apache2.service: Failed with result 'exit-code'.
May 02 14:23:47 b611cfb0-3eb0-431e-a3b3-a97d088163ad systemd[1]: Failed to start The Apache HTTP Server.
Da kommt das:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package php7
Vielen Dank schonmal. wir sind etwas weiter. Jetzt fehlt nur noch php.
Mein Fehler. php7 scheint es nicht für Debian zu geben(warum auch immer...)
Versuch es mal mit php6 oder php5
Da kommt leider trotzdem "E: Unable to locate package phpX"
Und bei php5?
Mindestens das sollte funktionieren. Denn dein Script benötigt mindestens version 5.4
Dann kommt das:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package php5 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'php5' has no installation candidate
Ich scahau mal.
Möglicherweise heißt das anders.
Welche Debian Version ist das genau?
Während ich google kannst du mal versuchen ob es mit Postfix ".0" oder ähnlichem funktioniert, z.B.
php7.0
Also mit .0 geht es leider auch nicht. Ich nutze momentan Debian 10.3 Buster
Siehe:
https://computingforgeeks.com/install-php-on-debian-10-buster/
Versuch es mal mit:
sudo apt -y install php php-common
Dann kommt wieder eine Fehlermeldung:
dpkg: error processing package openjdk-11-jdk-headless:amd64 (--configure):
dependency problems - leaving unconfigured
Setting up php7.3-common (7.3.17-1+0~20200419.57+debian10~1.gbp0fda17) ...
/usr/bin/ucf: line 569: awk: command not found
dpkg: error processing package php7.3-common (--configure):
installed php7.3-common package post-installation script subprocess returned error exit status 127
dpkg: dependency problems prevent configuration of php7.3-cli:
php7.3-cli depends on php7.3-common (= 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17); however:
Package php7.3-common is not configured yet.
dpkg: error processing package php7.3-cli (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of php7.3-opcache:
php7.3-opcache depends on php7.3-common (= 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17); however:
Package php7.3-common is not configured yet.
dpkg: error processing package php7.3-opcache (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of openjdk-11-jdk:amd64:
openjdk-11-jdk:amd64 depends on openjdk-11-jre (= 11.0.7+10-3~deb10u1); however:
Package openjdk-11-jre:amd64 is not configured yet.
openjdk-11-jdk:amd64 depends on openjdk-11-jdk-headless (= 11.0.7+10-3~deb10u1); however:
Package openjdk-11-jdk-headless:amd64 is not configured yet.
dpkg: error processing package openjdk-11-jdk:amd64 (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of php7.3-json:
php7.3-json depends on php7.3-common (= 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17); however:
Package php7.3-common is not configured yet.
dpkg: error processing package php7.3-json (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of php7.3-readline:
php7.3-readline depends on php7.3-common (= 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17); however:
Package php7.3-common is not configured yet.
dpkg: error processing package php7.3-readline (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of php7.3:
php7.3 depends on php7.3-common; however:
Package php7.3-common is not configured yet.
dpkg: error processing package php7.3 (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libapache2-mod-php7.3:
libapache2-mod-php7.3 depends on php7.3-cli; however:
Package php7.3-cli is not configured yet.
libapache2-mod-php7.3 depends on php7.3-common (= 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17); however:
Package php7.3-common is not configured yet.
libapache2-mod-php7.3 depends on php7.3-json; however:
Package php7.3-json is not configured yet.
libapache2-mod-php7.3 depends on php7.3-opcache; however:
Package php7.3-opcache is not configured yet.
dpkg: error processing package libapache2-mod-php7.3 (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of php-remctl:
php-remctl depends on phpapi-20180731; however:
Package phpapi-20180731 is not installed.
Package php7.3-cli which provides phpapi-20180731 is not configured yet.
Package libapache2-mod-php7.3 which provides phpapi-20180731 is not configured yet.
dpkg: error processing package php-remctl (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of php:
php depends on php7.3; however:
Package php7.3 is not configured yet.
dpkg: error processing package php (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
mysql-common
openjdk-11-jre-headless:amd64
openjdk-11-jre:amd64
openjdk-11-jdk-headless:amd64
php7.3-common
php7.3-cli
php7.3-opcache
openjdk-11-jdk:amd64
php7.3-json
php7.3-readline
php7.3
libapache2-mod-php7.3
php-remctl
php
E: Sub-process /usr/bin/dpkg returned an error code (1)
Mach mal:
dpkg --configure -a
apt-get update
apt-get -f install
apt-get -y install php php-common
Bei welchen konkret?
Hat das nicht funktioniert?
Wenn nein, dann lass mal was anderes versuchen:
apt-get purge php
apt-get autoremove
apt-get autoclean
apt-get -y install php php-common
Was mir gerade noch einfällt:
Evtl. ist PHP noch auf den System vorhanden.
In dem Fall sollte
php -v
Eine Versionsnummer zurückgeben.
Wenn das der Fall ist, dann muss evtl. nur das entsprechende Apache-Modul konfiguriert werden.
Ich verlinke hier einfach mal meine offenen Tabs, dann kann ichs ie schließen und finde sie dennoch später wieder:
https://support.cloudflare.com/hc/en-us/articles/218411427
https://www.google.com/search?q=%22dependency+problems+-+leaving+unconfigured%22+php
https://askubuntu.com/questions/848602/cannot-install-php-on-ubuntu-16-04-lts
https://stackoverflow.com/questions/53343241/dependency-problems-leaving-unconfigured
https://askubuntu.com/questions/252777/how-can-i-resolve-dpkg-dependency
https://computingforgeeks.com/install-php-on-debian-10-buster/
Hm. Ok. Dann ist php definitiv nicht vorhanden.
Bei jedem zweiten Befehl kommen Fehler.
Welche Fehler konkret bei welchen Befehlen?
Garkeine Fehler? Und wenn du erneut versuchst PHP zu installieren?
apt-get -y install php php-common
Bei "apt-get -y install php php-common" kommt sogar:
Reading package lists... Done
Building dependency tree
Reading state information... Done
php is already the newest version (2:7.3+69).
php-common is already the newest version (2:75+0~20200423.24+debian10~1.gbp7ccdd5).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Ah gut.
Dann versuch mal, ob das schon reicht. Restarte deinen Apache-Server.
Reicht das nicht, dann versuch mal von
https://computingforgeeks.com/install-php-on-debian-10-buster/
Die letzten Schritte:
sudo apt-get -y install libapache2-mod-php
sudo a2enmod php
und restarte dann deinen Apache-Server erneut.
Wenn ich "sudo a2enmod php" eingebe kommt "ERROR: Module php does not exist!"
Im Orginal stand da noch eine Versionsnummer dran. Ich weiß allerdings nicht, welche Version du nutzt, deshalb hoffte ich, es ginge auch so.
Schau mal, ob es ohne den befehl funzt. Wnen nicht, schau, ob du deine PHP-Version herausfindest.(Vielleicht funktioniert "php -v" jetzt oder in einer neuen Shell.
sudo a2enmod php7.3
dürfte bei dir funktionieren. ich sehe, apt-get sagte, dass deine PHP-Version 7.3 ist.
sudo a2enmod php7.3
=
Considering dependency mpm_prefork for php7.3:
Considering conflict mpm_event for mpm_prefork:
ERROR: Module mpm_event is enabled - cannot proceed due to conflicts. It needs to be disabled first!
Considering conflict mpm_worker for mpm_prefork:
ERROR: Could not enable dependency mpm_prefork for php7.3, aborting
Ah ok. Scheint schon enabled zu sein.
Dann musst du nur noch deinen Apache-Server restarten:
sudo systemctl restart apache2
Also ich kann den apache neu starten aber php -v geht immer noch nicht.
Hm. Ok.
Womöglich erkennt Apache das PHP nicht. Überd ei konsole lässt es sich ja auch nicht aufrufen.
Für mal folgendes aus:
find /usr -name php
Was erhältst du als Ergebnis?
Hm. Ok.
Kannst du mal
apache2ctl -M
Ausführen, um zu schauen, welche Module aktiviert sind?
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 45.10.24.163. Set the 'ServerName' directive globally to suppress this message
Loaded Modules:
core_module (static)
so_module (static)
watchdog_module (static)
http_module (static)
log_config_module (static)
logio_module (static)
version_module (static)
unixd_module (static)
access_compat_module (shared)
alias_module (shared)
auth_basic_module (shared)
authn_core_module (shared)
authn_file_module (shared)
authz_core_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
filter_module (shared)
mime_module (shared)
mpm_event_module (shared)
negotiation_module (shared)
reqtimeout_module (shared)
setenvif_module (shared)
status_module (shared)
Dabei kamen nun keine Fehler allerdings geht php -v noch nicht.
Das "php -v" ist glaube ich nicht relevant.
Ich arbeite gerade daran,d as PHP-Modul zu kativieren wie in
https://stackoverflow.com/questions/47024111/apache-installing-and-running-php-files
beschrieben.
Wenn kein fehler kam, versuche mal, dne Apacheserver erneut zu restarten.
Ich habe den gesamten vServer schon neugestartet
Ja gerade eben. Den neuzustarten dauert 10 Sekunden oder so
Oh interessant.
Eine deiner Seiten wirft mir PHP-Fehlermeldungen:
https://www.buildyourcity.de/Forum/index.php?route=/terms/
Sofern da nichts geacht ist, sollte PHP also wieder laufen.
Kannst du diese Fehlermeldungen entschlüsseln?
Ja, das sind fehlende PHP-Module.
Die haben wir noch nicht installiert.
sudo apt -y install php-json php-pdo
sollte das tun.
Falls noch mehr Module fehlen, mussen diese entsprechend installiertw erden.
Nach dem installieren musst du evtl. deinen Apache-Server neu starten.
Dann kommt das:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'php7.3-common' instead of 'php-pdo'
php7.3-common is already the newest version (7.3.17-1+0~20200419.57+debian10~1.gbp0fda17).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Ok, das wudnert mich jetzt schon etwas.
Für mal folgendes aus:
sudo apt -y install php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
Evtl. fehlen da irgendwelche Dependencies und deshalb lädt das nicht.
Danachw iedre neustarten, sofern da nicht auch ein "0 installed" kommt.
php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'php7.3-common' instead of 'php-pdo'
php7.3-common is already the newest version (7.3.17-1+0~20200419.57+debian10~1.gbp0fda17).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
php-bcmath : Depends: php7.3-bcmath but it is not going to be installed
php-curl : Depends: php7.3-curl but it is not going to be installed
php-fpm : Depends: php7.3-fpm but it is not going to be installed
php-gd : Depends: php7.3-gd but it is not going to be installed
php-mbstring : Depends: php7.3-mbstring but it is not going to be installed
php-mysql : Depends: php7.3-mysql but it is not going to be installed
php-xml : Depends: php7.3-xml but it is not going to be installed
php-zip : Depends: php7.3-zip but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Versuchs mal mit
sudo apt -y install php7.3-cli php7.3-fpm php7.3-json php7.3-pdo php7.3-mysql php7.3-zip php7.3-gd php7.3-mbstring php7.3-curl php7.3-xml php7.3-pear php7.3-bcmath
stattdessen.
Geht irgendwie auch nicht so ganz...
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'php7.3-common' instead of 'php7.3-pdo'
E: Unable to locate package php7.3-pear
E: Couldn't find any package by glob 'php7.3-pear'
E: Couldn't find any package by regex 'php7.3-pear'
Oh ja. Hätte wohl nur die wählen sollen, die in der Fehlermeldung reported wurden:
sudo apt -y install php-cli php7.3-fpm php-json php-pdo php7.3-mysql php7.3-zip php7.3-gd php7.3-mbstring php7.3-curl php7.3-xml php-pear php7.3-bcmath
Das funktioniert leider auch nicht so gut
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'php7.3-common' instead of 'php-pdo'
php7.3-common is already the newest version (7.3.17-1+0~20200419.57+debian10~1.gbp0fda17).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
php7.3-bcmath : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-curl : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-fpm : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-gd : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-mbstring : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-mysql : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-xml : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-zip : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
E: Unable to correct problems, you have held broken packages.
sudo apt -y install php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath -f
Mit dem "-f" sollte es automatisch die Dependencies installieren, dann sollte die Fehlermeldung nicht mehr kommen.
Da kommen immer noch Fehler
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'php7.3-common' instead of 'php-pdo'
php7.3-common is already the newest version (7.3.17-1+0~20200419.57+debian10~1.gbp0fda17).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
php-bcmath : Depends: php7.3-bcmath but it is not going to be installed
php-curl : Depends: php7.3-curl but it is not going to be installed
php-fpm : Depends: php7.3-fpm but it is not going to be installed
php-gd : Depends: php7.3-gd but it is not going to be installed
php-mbstring : Depends: php7.3-mbstring but it is not going to be installed
php-mysql : Depends: php7.3-mysql but it is not going to be installed
php-xml : Depends: php7.3-xml but it is not going to be installed
php-zip : Depends: php7.3-zip but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Ok, dann lass es uns doch weiter so probieren:
sudo apt -y install php-cli php7.3-fpm php-json php-pdo php7.3-mysql php7.3-zip php7.3-gd php7.3-mbstring php7.3-curl php7.3-xml php-pear php7.3-bcmath php7.3-common
Jetzt mit php7.3-common
Soll ich immer den gesamten Vorgang schicken oder reicht auch ein bestimmter Teil?
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'php7.3-common' instead of 'php-pdo'
php7.3-common is already the newest version (7.3.17-1+0~20200419.57+debian10~1.gbp0fda17).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
php7.3-bcmath : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-curl : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-fpm : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-gd : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-mbstring : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-mysql : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-xml : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-zip : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
E: Unable to correct problems, you have held broken packages.
Ist schon gut, wnen du Alles sendest.
Ist das die Fehlermeldung des neusten Commands? Wenn ja, dann für mal folgende zwei Befehle aus:
sudo apt -y install php7.3-common
sudo apt -y install php-cli php7.3-fpm php-json php-pdo php7.3-mysql php7.3-zip php7.3-gd php7.3-mbstring php7.3-curl php7.3-xml php-pear php7.3-bcmath
Ja das war die neueste Fehlermeldung. Nun die nächste:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'php7.3-common' instead of 'php-pdo'
php7.3-common is already the newest version (7.3.17-1+0~20200419.57+debian10~1.gbp0fda17).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
php7.3-bcmath : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-curl : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-fpm : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-gd : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-mbstring : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-mysql : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-xml : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-zip : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
E: Unable to correct problems, you have held broken packages.
sudo apt -y build-dep php-cli php7.3-fpm php-json php-pdo php7.3-mysql php7.3-zip php7.3-gd php7.3-mbstring php7.3-curl php7.3-xml php-pear php7.3-bcmath
sudo apt -y install php-cli php7.3-fpm php-json php-pdo php7.3-mysql php7.3-zip php7.3-gd php7.3-mbstring php7.3-curl php7.3-xml php-pear php7.3-bcmath
Ich hoffe das funzt. Wenn nicht, dann müssen wir das anders versuchen.
Der Erste Befehl sollte alle Dependencies installieren. Der zweite dann die Bibliotheken selbst.
Beim ersten Command kommt das:
Reading package lists... Done
E: You must put some 'source' URIs in your sources.list
Für mal folgendes aus:
sudo apt update
sudo apt upgrade
sudo apt-get autoremove
Und dann Versuch zuerst das zweite Command, von gerade eben, wenn das nicht geht, dann beide von gerade eben erneut.
Beim zweiten kommt das:
sudo apt -y install php-cli php7.3-fpm php-json php-pdo php7.3-mysql php7.3-zip php7.3-gd php7.3-mbstring php7.3-curl php7.3-xml php-pear php7.3-bcmath
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'php7.3-common' instead of 'php-pdo'
php7.3-common is already the newest version (7.3.17-1+0~20200419.57+debian10~1.gbp0fda17).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
php7.3-bcmath : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-curl : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-fpm : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-gd : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-mbstring : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-mysql : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-xml : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-zip : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
E: Unable to correct problems, you have held broken packages.
Versuch es mahl ohne "php-pdo", vielleicht reicht das schon.
Wenn das nicht reicht, für mal folgendes aus:
dpkg --get-selections | grep hold
Hm ok.
Versuch mal
sudo aptitude install php-cli php7.3-fpm php-json php-pdo php7.3-mysql php7.3-zip php7.3-gd php7.3-mbstring php7.3-curl php7.3-xml php-pear php7.3-bcmath
Ok, das ist doof.
versuchen wir mal einen anderen Ansatz. gehen wir über die source.list ran.
Öffne mal die Datei
/etc/apt/sources.list
Und schau, ob da Dateien gelistet sind, die nicht mit deiner Debianversion übereinstimmen.
Wenn ja, dann kommentire diese mit einem '#' am Anfang der Zeile aus.
Speichere danach den File und führe
apt-get update
aus und versuche dann das installieren erneut.
sudo apt -y install php-cli php7.3-fpm php-json php-pdo php7.3-mysql php7.3-zip php7.3-gd php7.3-mbstring php7.3-curl php7.3-xml php-pear php7.3-bcmath
(Konkret beziehe ich mich auf:
https://askubuntu.com/questions/223237/unable-to-correct-problems-you-have-held-broken-packages
für den fall, dass wirdas Problem nicht gefixt haben sollten, bis ich später offline gehe.)
Das steht in meiner sources.list drin:
deb http://ftp.debian.org/debian buster main contrib
deb http://ftp.debian.org/debian buster-updates main contrib
deb http://security.debian.org buster/updates main contrib
Ich habe leider keine Ahnung, ob das so korrekt ist doer nicht. Ich gehe mal davon aus, dass es das ist.
Aber laut:
https://askubuntu.com/questions/496549/error-you-must-put-some-source-uris-in-your-sources-list
Mach mal
deb http://ftp.debian.org/debian buster main contrib
deb http://ftp.debian.org/debian buster-updates main contrib
deb http://security.debian.org buster/updates main contrib
deb-src http://ftp.debian.org/debian buster main contrib
deb-src http://ftp.debian.org/debian buster-updates main contrib
deb-src http://security.debian.org buster/updates main contrib
daraus
Es kommen weiterhin Fehlermeldungen:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'php7.3-common' instead of 'php-pdo'
php7.3-common is already the newest version (7.3.17-1+0~20200419.57+debian10~1.gbp0fda17).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
php7.3-bcmath : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-curl : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-fpm : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-gd : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-mbstring : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-mysql : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-xml : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
php7.3-zip : Depends: php7.3-common (= 7.3.14-1~deb10u1) but 7.3.17-1+0~20200419.57+debian10~1.gbp0fda17 is to be installed
E: Unable to correct problems, you have held broken packages.
Versuch mal
sudo apt-get dist-upgrade
Und versuch dann das install nocheinmal.
Wenn das auch nicht geht, dann müssen wir da morgen nochmal schauen, ob wir das hinbekommen.
Vielleicht hilft es, wenn du PHP und Apache nocheinmal komplett plattmachst und neu aufsetzt.
Dabei kann ich dir aber frühestens morgen helfen.
Okay schade, dass du jetzt weg bist. Dann werde ich das wohl alleine weiterversuchen...
Ich sehe: Iregndetwas scheint sich getan zu haben.
Keine Meldungen mehr das PDO oder JSON fehlen.
Allerdings etwas ungünstig, dass jetzt jeder einen Installwizard aufd einer Seite sieht.
Das mit dem https ist bei SSL/TLS und dann Edge Zertifikate eingestellt.