Discussion:
userdir -- home/user/Öffentlich/public_html
(zu alt für eine Antwort)
Mirulan
2020-01-26 10:40:02 UTC
Permalink
Hallo Leute,

Ich habe hier bullseye und weiß nicht wie ich apache2 beibringen
soll nach dem Verzeichnis public_html in Öffentlich zu suchen.

Habe jetzt versucht mit gedit ein "Ö" einzutragen. zile sagt dann dazu
"\303\226" aber es funktioniert nicht.

Der allgemeine Zugang zu den Seiten unter /var/www/html funktioniert!

Wenn ich in meinem Firefox localhost/~mirulan eingebe, sagt der Sever:

Forbidden
You don't have permission to access this resource.

Rufe ich dagegen workstation.mirulan.net/~mirulan auf kommt folgendes:

Not Found
The requested URL was not found on this server.

Ich rede hier über denselben Rechner.

Die Dateifreigabe unter Einstellungen habe ich gemacht.

Ich weiß ehrlich gesagt nicht mehr weiter, wo hängst?

TIA

Grüße
Mirulan
Stefan Krusche
2020-01-26 11:10:02 UTC
Permalink
Hallo Mirulan,
Post by Mirulan
Forbidden
You don't have permission to access this resource.
Hier ist kurz und knapp beschrieben, wie Du dem Verzeichnis die nötigen
Zugriffsrechte für apache2 gibst (englisch):
https://askubuntu.com/a/64894

Ich bin mir allerdings nicht sicher, ob das Verzeichnis "public_html"
für Apache (mit Vorgabekonfiguration) nicht direkt in $HOME existieren
muß: "$HOME/public_html" anstelle von "$HOME/Öffentlich/public_html".
Das ließe sich ja recht einfach ausprobieren.

Konfigurieren könnte man das mit einer <Directory> Direktive, siehe
Apache Dokumentation.

Nicht vergessen, den Apache Server neu zu starten bzw. die Konfig neu
einlesen zu lassen:

$ sudo apache2ctl graceful
Post by Mirulan
Die Dateifreigabe unter Einstellungen habe ich gemacht.
Wie genau hast Du das gemacht? (Welche Befehle usw.?)

Hoffe, das bringt Dich weiter.

Freundliche Grüße,
Stefan
Stefan Krusche
2020-01-26 11:40:01 UTC
Permalink
Post by Stefan Krusche
Hallo Mirulan,
Post by Mirulan
Forbidden
You don't have permission to access this resource.
Ich bin mir allerdings nicht sicher, ob das Verzeichnis "public_html"
für Apache (mit Vorgabekonfiguration) nicht direkt in $HOME
existieren muß: "$HOME/public_html" anstelle von
"$HOME/Öffentlich/public_html". Das ließe sich ja recht einfach
ausprobieren.
Wenn apache die "$HOME/public_html" Verzeichnisse servieren soll, muß
das in der Konfiguration aktiviert werden. Auf meinem Devuan System ist
das nicht die Vorgabe.

Um das zu erreichen, als root folgende Befehle eingeben:

$ a2enmod userdir
Enabling module userdir.
To activate the new configuration, you need to run:
service apache2 restart

$ apachectl restart

Ich habe das gerade getestet. Es funktioniert, auch wenn das
Verzeichnis "$HOME/public_html" und "index.html" darin nur die für den
Anwender üblichen Rechte haben und nicht "www-data:www-data"
(Debianvorgabe-USER für Apache2).
Post by Stefan Krusche
Konfigurieren könnte man das mit einer <Directory> Direktive, siehe
Apache Dokumentation.
Falls Du unbedingt "$HOME/Öffentlich/public_html" benutzen willst, ginge
das über eine eigene Konfigurationsdatei, die dann auch aktiviert
werden muß (mit a2enconf /etc/apache2/conf-available/<Konfdatei.conf> #
muß natürlich zuerst dorthin kopiert werden).

Siehe hier: http://httpd.apache.org/docs/2.4/mod/core.html#directory

Viel Erfolg!
Stefan
Stefan Krusche
2020-01-26 11:50:01 UTC
Permalink
Klarstellung, s.u.
Post by Stefan Krusche
Konfigurieren könnte man das mit einer <Directory> Direktive, siehe
Apache Dokumentation.
Konfigurieren könnte man "$HOME/Öffentlich/public_html" mit einer
<Directory> Direktive, siehe Apache Dokumentation.
Mirulan
2020-01-26 14:30:01 UTC
Permalink
Hallo Leute, hallo Stefan.


Danke erst mal für den Artikel, allerdings bei
buster musste ich die Gruppe und den Eigentümer des
~/Öffentlich/public_html nicht setzen, habe ich so in
Erinnerung.

Meine userdir.cof sieht folgendermaßen aus:

<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root
UserDir enabled mirulan

<Directory /home/Öffentlich/public_html>
AllowOverride All
Options MultiViews Indexes SymLinksIfOwnerMatch
<Limit GET POST OPTIONS>
Require all granted
</Limit>
<LimitExcept GET POST OPTIONS>
Require all denied
</LimitExcept>
</Directory>
</IfModule>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Nach den Änderungen habe ich ein "systemctl restart apache2" gemacht.
$ a2enmod userdir
Enabling module userdir.
service apache2 restart
$ apachectl restart
Habe ich im Prinzip alles immer wieder gemacht bis auf das
"a2enmod userdir". Das nur einmal!

Ich nutze zile als kleinen emacs-ähnlichen Editor auf der Shell.
Das zeigt mir für das per gedit eingegebene Ö -> \303\226 an.
ABer so lief's bei einem anderem Debian schon mal.

Mirulan ist in folgenden Gruppen:
mirulan cdrom floppy audio dip video plugdev netdev bluetooth lpadmin
scanner

muss ich noch ein "adduser mirulan www-data" machen?

Danke für Eure Bemühungen

Mirulan
Ulf Volmer
2020-01-26 14:40:01 UTC
Permalink
Post by Mirulan
<IfModule mod_userdir.c>
UserDir public_html
UserDir Öffentlich/public_html

[...]
Post by Mirulan
<Directory /home/Öffentlich/public_html>
<Directory /home/*/Öffentlich/public_html>

Viele Grüße
Ulf
Mirulan
2020-01-26 15:00:01 UTC
Permalink
Hallo Leute.

Danke Stefan ich habe es fast.

http://localhost/~mirulan zeigt er jetzt die Test-Page an.

meine userdir.conf:

<IfModule mod_userdir.c>
UserDir Öffentlich/public_html
UserDir disabled root
UserDir enabled mirulan

<Directory /home/*/Öffentlich/public_html>
AllowOverride All
Options MultiViews Indexes SymLinksIfOwnerMatch
<Limit GET POST OPTIONS>
Require all granted
</Limit>
<LimitExcept GET POST OPTIONS>
Require all denied
</LimitExcept>
</Directory>
</IfModule>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

Jetzt muss ich's nur noch über "workstation.mirulan.net/~mirulan"
hinkriegen.

Unter /etc/apache2/sites-enabled/000-default.conf habe ich folgendes
gemacht:

<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname
and port that
# the server uses to identify itself. This is used when
creating
# redirection URLs. In the context of virtual hosts, the
ServerName
# specifies what hostname must appear in the request's Host:
header to
# match this virtual host. For the default virtual host (this
file) this
# value is not decisive as it is used as a last resort host
regardless.
# However, you must set it for any further virtual host
explicitly.
ServerName workstation.mirulan.net

ServerAdmin ***@mirulan.net
DocumentRoot /var/www/html

# Available loglevels: trace8, ..., trace1, debug, info,
notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
# LogLevel info ssl:warn

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For
example the
# following line enables the CGI configuration for this host
only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet


Was habe ich falsch gemacht?

TIA

Mirulan
Stefan Krusche
2020-01-26 15:40:02 UTC
Permalink
Hallo Mirulan,
Post by Mirulan
Danke Stefan ich habe es fast.
Das freut mich zu hören!
Post by Mirulan
        ServerName workstation.mirulan.net
Zusätzlich muß dieser ServerName von Apache einer bekannten IP-Adresse
zugeordnet werden können. Das kann man in "/etc/hosts" selbst
vornehmen, wenn es lokal sein soll (siehe: "Note" unter
http://httpd.apache.org/docs/2.4/vhosts/examples.html#purename –
entscheidend ist hier "resolving to your IP address" – hat mich auch
eine Weile beschäftigt, bis ich das durchschaut habe…)

Zum Beispiel:

127.0.0.55 workstation.mirulan.net

…oder irgend etwas unter 127.x.y.z sollte es schon tun.

Alles ohne Gewähr, da ich weder Profi noch Experte bin ;-)

Gruß::Stefan
Mirulan
2020-01-26 15:50:01 UTC
Permalink
Post by Stefan Krusche
Zusätzlich muß dieser ServerName von Apache einer bekannten IP-
Adresse
zugeordnet werden können. Das kann man in "/etc/hosts" selbst
vornehmen, wenn es lokal sein soll (siehe: "Note" unter
http://httpd.apache.org/docs/2.4/vhosts/examples.html#purename –
entscheidend ist hier "resolving to your IP address" – hat mich auch
eine Weile beschäftigt, bis ich das durchschaut habe…)
127.0.0.55 workstation.mirulan.net
…oder irgend etwas unter 127.x.y.z sollte es schon tun.
meine hosts:
127.0.0.1 localhost
127.0.1.1 workstation.mirulan.net workstation

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters


Das Problem war, das Debian hier workstation-mirulan-net.mirulan.net
eingetragen hat, warum auch immer. Hab wahrscheinlich gepennt beim
installieren.

Aber es funktioniert soweit alles, was soll. Danke.

Gruß Mirulan

Loading...