Umzug von Webseite auf Apache2

Mitglied: Henere

Henere (Level 3) - Jetzt verbinden

06.03.2016, aktualisiert 06:52 Uhr, 1694 Aufrufe, 10 Kommentare

Hallo zusammen,

ich möchte eine bestehende Webseite auf einen anderen Server umziehen.
Test-Zielserver ist ein Apache2 unter Ubuntu 15.0
Alle Dateien sind kopiert, das macht keine Probleme.
Beim Aufruf der index.htm wird diese auch angezeigt, jedoch fehlen Bilder die in Unterordnern liegen.
Auch beim direkten Aufruf der Datei im Browser klappt es nicht, es kommt ein:

Forbidden

You don't have permission to access /~boards/index.html on this server.
Apache/2.4.12 (Ubuntu) Server at testserver.test.xyz Port 80

Die Rechte sind im Verzeichnis /var/www/html/ mit
gesetzt worden.
Ich kann jede Datei aufrufen, die im root-Verzeichnis liegt, bei jedem Unterverzeichnis kommt der obige Fehler.

Ein ls-la zeigt mir, dass die Dateien (auch die Verzeichnisse und Dateien in /var/www/html/ und den Unterverzeichnissen) alle
bzw
haben.

Ich habe das Verzeichnis nochmal geleert und gesehen, dass die Apache2 Default Webseite dem User root und Group root gehört, müsste das nicht eigentlich www-data in beiden Fällen sein ?
Aber wie ich es auch ändere, ich bekomme immer mein permission denied.
.htaccess oder .htpasswd existiert nicht.

Kann mir bitte jemand helfen, wo mein Denkfehler liegt ?

Danke vorab und Grüße, Henere
Mitglied: Sheogorath
LÖSUNG 06.03.2016, aktualisiert um 10:37 Uhr
Moin,

Hallöchen,

In den meisten default setups die du über deine Distro installierst, wie in diesem Fall bei Ubuntu wird standardmäßig ermöglichst, das Benutzer Kontent selbst hosten.

Diese rufen dann ihre Inhalte über eine URL ab, die nach dem Hostnamen (und eventuell Port) eine Tilde haben hinter die der Benutzername folgt,

In deinem Fall ist das /~boards/. Hier wird also versucht auf das public_html verzeichnis des Benutzers boards zuzugreifen, der auf deinem Neuen Setup nicht existiert. Folglich natürlich auch nicht aufgerufen werden kann.

Die einfachste und auch beste Variante ist die Pfade anzupassen sodass dein Kontent letztendlich nur noch unter /var/www/html zu finden ist. Die Alternative dazu ist einen Benutzer boards anzulegen, unter seinem Benutzernamen das Verzeichnis ~/public_html anzulegen und dort den Kontent unter zu bringen. Ehrlich gesagt, kann ich dir nicht sagen, wann das Mode war, ich schätze in Zeiten der Shellhosts, aber das ist eindeutig nicht mehr Stand der Zeit. Ändern bzw. Anpassen wird dringend empfohlen. Das erspart dir auch einen solches Durch einander, solltest du deinen Kontent nochmal umziehen.

Gruß
Chris
Bitte warten ..
Mitglied: Henere
06.03.2016, aktualisiert um 07:04 Uhr
Servus,

ok das ist einleuchtend. Das Problem an dieser Seite ist, dass sie seit bestimmt 12 Jahren historisch gewachsen ist und nun zu einem anderen Provider umziehen soll. Daher hab ich mir mal ein Ubuntu in einer VM aufgesetzt, um den Umzug vorher ausgiebig zu testen. Aktuell liegt sie bei hosteurope auf einem "ordinären" Webspace und ich möchte sie zu edis.at in einen VZ Container umziehen, da ich mehr ein Freund von SSH und SCP als von FTP bin.

Also würde es langen, wenn ich alle Vorkommnisse von ~ untersuche und dementsprechend ersetze ? Das sind nur 2 Links bzw. Unterverzeichnisse. Das wäre schnell erledigt.

Das Problem ist halt auch, dass die Seite nicht auf "meinem Mist" gewachsen ist, sondern eine Motorrad-Info-Seite, die von jemandem anderen erstellt wurde und ich sie nun vor der Abschaltung retten möchte.

Aber das Problem tritt auch bei Links auf, die einen vorangestellten _ haben, wie zB:


Und das Verzeichnis existiert in /var/www/html

Das steht in /var/log/apache2/error.log:

Könntest Du mir da noch einen Tipp geben ?

Danke und Grüße, Henere
Bitte warten ..
Mitglied: Henere
06.03.2016 um 07:42 Uhr
Ok, das mit dem _ habe ich hinbekommen, habe nun ein chmod -R 744 * gemacht, seit dem kann ich die Unterverzeichnisse im Browser öffnen. Müsste eigentlich nur noch das mit den ~ geändert werden ... oder ?

Wobei mir das 744 irgendwie wiederstrebt. Da ich es mit dem * auch auf alle Dateien gebracht habe, geht das eleganter ?

Danke und Grüße, Henere
Bitte warten ..
Mitglied: 114757
114757 (Level 4)
06.03.2016, aktualisiert um 09:23 Uhr
Moin,
die Meldungen kommen meist dann wenn auf einem System der zusätzliche Securitylayer SELinux implementiert ist, dann müssen zusätzliche Policies für den Zugriff angelegt werden. Solltest du auf jeden Fall mal überprüfen ob das auf dem Zielsystem der Fall ist
Guckst du dazu auch hier:
http://www.serverlab.ca/tutorials/linux/web-servers-linux/configuring-s ...

Die Fehlermeldung ist nämlich sehr typisch dafür.

Gruß jodel32
Bitte warten ..
Mitglied: Henere
06.03.2016 um 09:32 Uhr
Hi Jodel,

es ist ein Ubuntu Server 15.10. Das einzige was nachinstalliert wurde, war OpenSSH und Apache2.
Ausser der Anpassung der IP-Adresse wurden sonst keine Änderungen am System vorgenommen.
System ist mit apt-get update, apt-get upgrade und apt-get dist-upgrade auf den neuesten Stand gebracht.

Die Änderung mit 744 hat ja geholfen, nun gehen ja die Seiten. Selbst die ~Verzeichnisse funktionieren. Wobei es mir irgendwie nicht behagt, wenn ausführbare Dateien auf einem Webserver liegen.

Grüße, Henere
Bitte warten ..
Mitglied: 114757
114757 (Level 4)
LÖSUNG 06.03.2016, aktualisiert um 10:36 Uhr
Benötigte Standardzugriffsrechte für Dateien und Verzeichnisse:
http://askubuntu.com/questions/386928/default-permissions-for-var-www

Kann aber je nach Webseite variieren wenn deine Webseite in einem Verzeichnis z.B. Schreibrechte benötigt. Da musst du die Rechte der ursprünglichen Seite analysieren und was diese jeweils benötigt.

Und wie immer gilt:
In order to traverse (enter) a directory, you need to have execute permission on that directory. The webserver needs this permission to list a directory or serve any files inside of it.
http://serverfault.com/questions/357108/what-permissions-should-my-webs ...
Bitte warten ..
Mitglied: Henere
06.03.2016 um 10:39 Uhr
Das sind nur statische Seiten, da braucht keiner schreiben.

Hab jetzt nur noch das Problem, dass ich durch das 744 auch ausführen auf den Verzeichnissen UND den Dateien habe.
Da suche ich noch ne Lösung, wie ich das von den Dateien wieder weg bekomme, finde da nix zu. Zumindest nicht, wenn ich das per shell machen möchte. Einzeln mag ich das "Gelump" nicht anfassen.
Könnt ihr mir da noch kurz auf die Sprünge helfen ?
Bitte warten ..
Mitglied: Henere
06.03.2016 um 10:48 Uhr
Wenn man Google richtig bedient....

find . -type f -exec chmod 644 {} \;

Danke euch für die Hilfe !
Bitte warten ..
Mitglied: 114757
114757 (Level 4)
06.03.2016, aktualisiert um 11:21 Uhr
Deswegen nimmt man für einen produktiven Webserver lieber ein CentOS oder RedHat und Konsorten, welche die Rechte des Apache-Prozesses zusätzlich mit SELinux Policies kontrollieren ;-) face-wink
Ohne explizite Write-Policy für ein Verzeichnis läuft dort nämlich gar nichts auch wenn die Dateizugriffsrechte das erlauben würden.

Ein Ubuntu 15.10 als öffentlichen Webserver, käme mir persönlich nie in die Tüte, erstens weil bei diesem Zweig kein Long Term Support verfügbar ist und zweitens ist das eher was für Intranets aber nichts für den öffentlichen Betrieb. Bei Ubuntu lieber zu den LTS Versionen greifen wenns unbedingt Ubuntu sein muss.
Bitte warten ..
Mitglied: Henere
06.03.2016 um 21:57 Uhr
Das ist nur ein Test bei mir zu Hause, ob die Übertragung klappen würde. Muss mal schauen, was EDIS.AT so alles im Angebot hat.
Ich hab schon so lange nix mehr mit Liunx gemacht, muss mich da auch erst wieder reintüddeln. Und das lieber auf einem privaten Server, der von aussen nicht erreichbar ist.
Bitte warten ..
Heiß diskutierte Inhalte
Windows Server
Infrastruktur für Firma
brainwashVor 1 TagFrageWindows Server8 Kommentare

Hallo zusammen, kurze Erklärung zu meinem Problem Wir sind eine kleine Firma mit zwei Standorten im Bereich Brandschutz. Zur Zeit nutzen wir für unsere ...

Server-Hardware
Verkaufe RX300 S7 Server von Fuijutsu
HolzBrettVor 1 TagAllgemeinServer-Hardware12 Kommentare

Hi, Ich wohne in Aachen und habe die Server von der Firma umsonst erhalten. Ich habe sie bereits überprüft (es geht alles). Ich möchte ...

Windows 10
Netzwerkzugriff intern extern blockiert nach Aufbau NordVPN Verbindung
Slavik-10Vor 23 StundenFrageWindows 1029 Kommentare

hallo Leute, ich habe mir vor kurzem ein VPN Anbieter bestellt. Das Problem an der ganzen Sache ist, sobald eine VPN Verbindung zu einem ...

Netzwerkprotokolle
Proxy Zugang von Extern
gelöst Jannik2018Vor 1 TagFrageNetzwerkprotokolle17 Kommentare

Hallo zusammen, ich habe mir einen Squid Proxy auf einer Linux VM aufgesetzt und möchte das man aus allen netzen drauf zugreifen kann allerdings ...

Off Topic
Namenskonzept Kundengeräte
bitnarratorVor 16 StundenFrageOff Topic5 Kommentare

Hallo, ich möchte gerne einmal die Diskussion anstoßen, weil ich eine hier in diese Richtung noch nichts gefunden habe. Es geht um die Bennenung ...

LAN, WAN, Wireless
Verständnisfrage VPN Performance pfSense
flabsVor 1 TagFrageLAN, WAN, Wireless8 Kommentare

Moin Kollegen, ich betreibe 3 pfSense Firewalls an 3 Standorten. Zwischen Standort A und B gibt es einen IPSec Tunnel. Der läuft seit Jahren ...

Windows Server
Kein Internetzugriff bei einem Domänenclient
KerberoVor 22 StundenFrageWindows Server11 Kommentare

Hallo community, ich habe ein ganz komisches Verhalten eines Clients bei mir. Ich habe eine kleine Domäne (6 Clients und ein Windows Server 2016 ...

Sicherheit
Verpackter Laptop entwendet
r0x3llVor 5 StundenFrageSicherheit9 Kommentare

Hallo. Mir wurde aus dem Büro ein noch verpackter Dell XPS Laptop mit einem Wert von ca 3.500€ gestohlen. Kann man da was orten? ...