Shell User-Umsetzung? Minimalinstallation? 403-Fehler bei neuer Seite? Dateirechte?

andi

New Member
Hallo Leute,

ich probiere gerade auf meiner lokalen Ubuntu 12.04-Installation ISPConfig aus und habe nun einige Fragen und leider auch einige Probleme.

Fragen:
Interessehalber wüsste ich gerne, wie der Mechanismus der Shell User auf Linuxseite aussieht. Wenn ich es richtig verstanden habe, werden zusätzliche Benutzernamen und Passwort auf OS-User (web1, web2 usw.) abgebildet. Wie geht das? Unter Linux kenne ich dafür nichts und "virtuelle user" liefert bei google Ergebnisse für proftpd, aber ich denke, ispConfig macht etwas anderes? FTP ist doch nur zum Dateitransfer?

Für die Installation habe ich https://www.howtoforge.com/perfect-server-ubuntu-12.04-lts-apache2-bind-dovecot-ispconfig-3 genutzt. Dort werden auch viele Dinge installiert, die ich für kleine Seiten als unnötig einstufen würde (z.B. die Spam-Tools wie SpamAssassin). Andere Sachen schließen sich z.T. aus (z.B. die verschiedenen PHP-Versionen wie FastCGI und SuExec).
Muss man alles installieren oder fehlen in ISPConfig dann nur bei den DropDowns einige Einträge? Wie sieht eine Minimalinstallation aus?

Probleme:
Nach Anleitung sollte eine Default-Seite beim erstellen einer neuen Website zu sehen sein. Das ist bei mir nicht der Fall.
Ich habe eine Website mit der Domain testsite.de in ISPConfig erstellt, aber in meinem Browser erscheint nur ein 403 Forbidden-Fehler, wenn ich zu
http://SERVERIP/testsite.de navigiere.
Stundenlange Suche hat mich nur dazu gebracht die Dateirechte so zu ändern, dass web1:client1 nun Besitzer von jedem Ordner ab /var/www/clients ist. Ohne Erfolg...

Das Bringt mich dann zu meiner letzen Frage:
Welche Dateirechte müssen vergeben werden, damit Apache eine Website anzeigen kann (bestehend aus html und php)?
Müssen die von ISPConfig angelegten Benutzer (web1, web2 usw.) in der www-data Gruppe des Webservers sein? Muss www-data in den client1, client2 usw. Gruppen von ISPConfig sein?
Müssen Dateien (z.B. Html-Seiten oder Ordner), die im Web angezeigt werden sollen www-data zugeordnet sein (bzw. einem OS-User, der zu www-data gehört)?
Von wem müssen Dateien, die im Web angezeigt werden sollen, readable sein? Muss für Dateiuploads aus dem Browser (z.B. Bilderupload) der Ordner, in den die Dateien geschrieben werden sollen, writable sein?
 

Till

Administrator
Also Deine Probleme resultieren zum einen aus dem nicht Befolgen des Tutorial und zum anderen aus dem manuellen Ändern von Rechten und Usern in /var/www. In dem Tutorial schließt sich nichts aus und es ist auch nichts optional, mit jedem Programm das Du weg lässt werden einige Teile des Servers nicht funktionieren, wie Du ja gerade selbst festgestellt hast. Man kann sicher das ene oder andere weg lassen oder anders konfigurueren wenn man sich gut mit ISPConfig auskennt, wenn Du aber kein ISPConfig Profi bist kann ich Dir nur sehr davon abraten.

Um ein funktionsfähiges etup zu erhalten solltest Du jetzt nochmal jeden Schritt des Tutorials durchgehen und erneut ausführen. Danach lädst Du ISPConfig nochmal runter, entpachst es, rufst update.php im install Verzeichnis des tar.gz auf und lässt die Dienste rekonfigureiern.

Dann loggst Du Dich in ISPCOnfig ein und löschst die Webseite in der Du Rechte geändert hast. Solltest Du noch andere Verzeichnisrechte oder user geändert haben dann musst Du das auf jeden Fall auf die alten rechte und User zurück setzen.

Dann lgst Du die Webseite neu in ISPConfig an. Auf die Webseite greifst Du per domain zu, also http://www.deinedomain.de im Browser eingeben und nicht IP irgend was. Deine Domain ist kein Unterverzeichnis der IP, daher kannst Du sie so natürlich nicht erreichen, das wäre ja komplett unsicher. Hast Du deine Domain nicht im DNS angelegt, kannst Du sie z.B. über einen Eintrag in der hosts Datei Deines Desktop verfügbar machen http://www.faqforge.com/linux/contr...ess-a-namebased-website-without-a-dns-record/

Die Dateien Deine Webseite lädst Du dann mit einem FTP user hcoh, den Du in ISPConfig angelegt hast und zwar in das web/ Verzeichnis der Seite. User udn Rechte der dateien stimmen dann automatisch, da musst Du nichts ändern. Falls Du wirklich mal was als root hoch lädst, dann musst Du user und Gruppe der dateien uf den web user und die client Gruppe der webseite ändern.

Zu Deine Fragen bzgl. virtual users. Ein Web user hat niemals ein passwort, er dient nur als nutzer unter dem die scripte der webseite laufen. legst Du einen FTP user an, so ist dieser rein virtuell und existiert nur in der ispconfig datenbank. legst Du einen shell user in ispconfig an so ist dieser ein alias des web users mit eigenem passwort, also ein shell user der die selbe numerische UID des web users teilt.
 

andi

New Member
Dass mit den Alias für die selbe UID ist ja interessant. Damit kann man sogar root einen neuen Namen geben...

Also,
ich habe das System nochmal komplett neu aufgezogen und einen Eintrag in der Hosts-Datei gemacht. Jetzt funktioniert es!
Hatte nicht gedacht, dass man z.B. squirrelmail unbedingt braucht.

Aber ich glaube schlimmer ist, dass ich anscheinend eine völlig falsche Vorstellung vom DNS habe. Ich dachte eine Adresse als Name sei äquivalent zu einer IP und der Eintrag in der hosts-Datei würde praktisch nur testsite.de auf meine IP abbilden, so dass ich sie auch direkt in Firefox eingeben kann. Aber de.wikipedia.org und 91.198.174.192 liefern genauso andere Ergebnisse, wie meine IP im Vergleich zum Domainnamen in der hosts-Datei.

Könnt ihr mir das genauer erklären? Wenn ich in der hosts-Datei einen anderen Domainnamen eintrage, als in ISPConfig angegeben (also z.B. tests.de statt testside.de), ist es genau wie einfach die IP im Browser einzugeben. Aber ein Eintrag entsprechend den ISPConfig-Einstellungen fürt zur Seite in clients/client1/web1/web.
Wie weiß der Server nun, dass er eine andere Seite anzeigen soll?
 

Till

Administrator
Hatte nicht gedacht, dass man z.B. squirrelmail unbedingt braucht.

Naja squirrelmail vielleicht nicht, solange man kein webmail nutzt oder einen anderen client installiert. aber die anderen Systempakete sollten halt schon alle da sein, insbesondere apache module etc.

Wie weiß der Server nun, dass er eine andere Seite anzeigen soll?

Es ist ja nicht so dass der browser nur bei der IP anfragt und sagt "Gib mir Datei /bla/index.htm" sondern er sagt "Ich möchte Datei /bla/index.htm von der Domain deinedomain.tld". Der apache bekommt also die info, welche Domain der anfragende eingegeben hat und somit kann apache in seiner config nachsehen, ob er einen vhost für die Domain hat und holt sich dann die Datei aus diesem vhost. Andersherum gesprochen, nimmst Du nur die IP für den Zugriff, kann der Browser keine angabe zur webseite machen, der apache kann also nicht den richtigen vhost nachschlagen und liefert daher den default vhost aus, in dem es die Datei aber nicht gibt.
 

Werbung

Top