Okay, das hat mich wochenlang verrückt gemacht, aber ich habe es endlich herausgefunden.
Mysql hat keine Berechtigung zum Lesen und Schreiben, es sei denn, Sie fügen es der Gruppe www-data hinzu. Als ich das getestet habe, habe ich gerade eine HTML-Datei namens index.html erstellt und darauf Apache verwiesen, was gut funktioniert hat, aber sobald ich WordPress (oder Joomla) verwendet habe, starb es, daher musste das Problem entweder in PHP oder in Mysql liegen.
Wenn mysql installiert ist, erhält es den Benutzernamen mysql. Dies muss über einige Berechtigungen für die Wordpress-Dateien selbst verfügen. PHP hingegen erhält einen Benutzernamen. Wenn Sie also Ihren eigenen Benutzernamen auswählen, muss dieser ebenfalls der Gruppe hinzugefügt werden.
Wenn Sie Berechtigungen für Ihren WordPress-Ordner festlegen, erteilen Sie Besitz- und Gruppenberechtigungen für www-data. Ich persönlich habe meinen Besitzer geändert, um den Besitzer als meinen Benutzernamen auf der Maschine und www-data als Gruppe zu verwenden. Nun ist das Problem, www-data ist eine leere Gruppe.
Sie müssen sowohl mysql als auch www-data (Benutzername) zu www-data (der Gruppe) hinzufügen. Sie können das mit dem Befehl tun
sudo adduser mysql www-data
sudo adduser www-data www-data
sudo adduser (yourusername) www-data
Vorausgesetzt, Sie haben den Ordnern zuvor Berechtigungen erteilt, sollten Sie jetzt in der Lage sein, extern auf diese Site zuzugreifen. Wenn nicht, probieren Sie entweder
sudo chmod -R 775 /var/www/(folder)
* oder sudo chmod -R 755 /var/www/(folder)