Nem akar működni a felhasználók által készített weblapok megjelenítése, ha http://ipcím/~user kérés érkezik.
A felhasználó könyvtárában a public_html könyvtárban benne van egy weboldal index.html névvel, de nem akar működni.
Elvileg apache 2.0-ban alapértelmezésben működnie kellene, de nem megy.
Van valakinek valami ötlete, hogy mit hagyhattam figyelmen kívül ?
Segítségül itt az userdir.conf-om :
#
# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received.
#
<IfModule mod_userdir.c>
# Note that the name of the user directory ("public_html") cannot easily be
# changed here, since it is a compile time setting. The apache package
# would have to be rebuilt. You could work around by deleting
# /usr/sbin/suexec, but then all scripts from the directories would be
# executed with the UID of the webserver.
#
# To rebuild apache with another setting you need to change the
# %userdir define in the spec file.
# not every user's directory should be visible:
UserDir disabled root
# to enable UserDir only for a certain set of users, use this instead:
#UserDir disabled
#UserDir enabled user1 user2
# the UserDir directive is actually used inside the virtual hosts, to
# have more control
UserDir public_html
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
</IfModule>
- 3614 megtekintés
Hozzászólások
Biztos, hogy a DirectoryIndex jo?
Kapott az apache usere jogokat a konyvtarakra?
- A hozzászóláshoz be kell jelentkezni
A weboldal elérési útvonalán minden könyvtár 755-ös jogokat kapott és maga a html doksi meg 644-es jogokkal van ellátva.
- A hozzászóláshoz be kell jelentkezni
Nincs valakinek valami ötlete a fenti problémára ?
Esetleg a virtual-host beállításainál nem lehet valami beállítás ? A vhosts.template-ben találtam az user_dir-re vonatkozó sorokat, de nem tudtam mit kezdeni vele:
# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received.
#
# To disable it, simply remove userdir from the list of modules in APACHE_MODULES
# in /etc/sysconfig/apache2.
#
<IfModule mod_userdir.c>
# Note that the name of the user directory ("public_html") cannot simply be
# changed here, since it is a compile time setting. The apache package
# would have to be rebuilt. You could work around by deleting
# /usr/sbin/suexec, but then all scripts from the directories would be
# executed with the UID of the webserver.
UserDir public_html
# The actual configuration of the directory is in
# /etc/apache2/mod_userdir.conf.
Include /etc/apache2/mod_userdir.conf
# You can, however, change the ~ if you find it awkward, by mapping e.g.
# http://www.example.com/users/karl-heinz/ --> /home/karl-heinz/public_html/
#AliasMatch ^/users/([a-zA-Z0-9-_.]*)/?(.*) /home/$1/public_html/$2
</IfModule>
Ha a böngészőbe beírom, hogy: http://ip-cím/~user,
akkor ezt dobja vissza :
Access forbidden!
You don't have permission to access the requested object. It is either read-protected or not readable by the server.
If you think this is a server error, please contact the webmaster.
Error 403
192.168.1.222
Tue Dec 12 18:42:45 2006
- A hozzászóláshoz be kell jelentkezni
Esetleg megnezned az apache logjait, mire panaszkodik? IP-cimes vhost-od van egyaltalan konfiguralva? Inkabb SSL-hez szokas ilyet csinalni...
- A hozzászóláshoz be kell jelentkezni
Megnéztem a logokat:
1)***Az ACESS_LOG erre vonatkozó sora:
192.168.1.222 - - [13/Dec/2006:19:24:03 +0100] "GET /~hydra HTTP/1.1" 403 1022 "-" "Mozilla/5.0 (X11; U; Linux i686; hu; rv:1.8.0.8) Gecko/20060911 SUSE/1.5.0.8-0.2 Firefox/1.5.0.8"
Ebből igazán nem derül ki számomra semmi csak a 403-as hibakód.
2)***Az ERROR_LOG tartalma ugyanerre a kérésre pedig:
[Wed Dec 13 19:24:03 2006] [error] [client 192.168.1.222] client denied by server configuration: /home/hydra/public_html
Azt látom, hogy a szerverkonfiggal van a baj, csak nem tudom, hogy mi az ?
- A hozzászóláshoz be kell jelentkezni
/home/hydra/public_html
/home/hydra
Milyen chmod van ezeken?
A másodiknak 711-nek kéne lenni!
----------------------------------------------------------------
"Értem én hogy villanymotor, de mi hajtja!?
- A hozzászóláshoz be kell jelentkezni
Naiv kérdés, de be van töltve a userdir modul?
- A hozzászóláshoz be kell jelentkezni
Ez a "LimitExcept"-es resz eleg szarul nez ki... de legalabbis a GET-et torold ki belole. Az error log is azt mondja, hogy "client denied by server configuration: /home/hydra/public_html".
- A hozzászóláshoz be kell jelentkezni
hello,
egyelőre használd a konkrét felhasználónevekre megadott
userdir enabled felhasználónév formulát
szerintem.
andras.dhost.hu
- A hozzászóláshoz be kell jelentkezni
A public_html egész elérési útvonalára a 755-ös jogok vannak beállítva, a benne lévő index.html-re pedig 644-es.
Az user_dir modul be van töltve.
Hiába veszem ki a LimitExcept-es részt, sőt az egész home-ra vonatkozó Directory direktívát akkor se megy.
Az userdir enabled "felhasználónév" formulával se megy. Azt már próbáltam.
- A hozzászóláshoz be kell jelentkezni
Nem tudom mit szeretnél, de nálam ezzel a beállítással megy. Talán segít...
# UserDir is now a module
UserDir public_html
#UserDir disabled root
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options Indexes SymLinksIfOwnerMatch IncludesNoExec
</Directory>
- A hozzászóláshoz be kell jelentkezni
Megnéztem, de ezzel se megy...lehet, hogy nem az userdir_conf fájlban van a baj.
Na mindegy keresem tovább a megoldást a configfájlokban :?
Egyátalán mi alapján kezeli az apache a ~user kéréseket ? Minden felhasználói kéréskor külön virtual hostot indít ?
De a virtual hostok konfig fájljában csak a fentiekben leírt sorokat találtam az userdir-re vonatkozóan.
A sysconfig-ban is benne van az apache moduljai közt !
- A hozzászóláshoz be kell jelentkezni
Akkor lehet, hogy kesobb van mondjuk egy
<Directory />
...
...
</Directory>
resz ahol a tiltas van...?
- A hozzászóláshoz be kell jelentkezni
MŰXIK....akkor már csak finomítani kell.
Tényleg van egy ilyen beállítás a http_conf-ban, de azt hittem, hogy ezt felüldefiniálja az userdir_conf-ban lévő direktíva.
Erre írtam át a httpd_conf-ot:
<Directory />
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
De ez biztonsági szempontból nem túl katasztrófális ?
Mivel így megengedtem, hogy bárki hozzáférjen az egész fájlrendszeremhez nem ?
Nem volna jobb megoldás a /home/user/public_html-ben egy .htacess fájl az alapbeállítások felülírására ?
Az apache is valami ilyesmire utal..
- A hozzászóláshoz be kell jelentkezni
Ha csak annyit változtatok, hogy az egész fájlrendszerre vonatkozó fentebbi direktívában az AllowOverride-ot átállítom All-ra és ezáltal elvileg engedélyezem ezen direktíva felülírását, akkor ilyen formában nem megy.Pedig az userdir_conf-ban van egy felülkonfiguráló direktíva...még megpróbálom a .htaccess-t is.
- A hozzászóláshoz be kell jelentkezni
Ha a public_html-re vonatkozó direktívát átrakom a http_conf-ba
akkor működik a dolog, de ha a userdir_conf-ban van akkor nem veszi figyelembe.
Ez miért lehet ?
- A hozzászóláshoz be kell jelentkezni
Be van Include-olva a userdirconf?
- A hozzászóláshoz be kell jelentkezni
Pont erre gondoltam én is :)) a konfigfájlokat nézegetve, majd beleírtam a http.conf-ba az userdir include-olást és lám működött.
Nem is gondoltam, hogy nincs betöltve, mivel a yast azt írta, hogy be van töltve az userdir.
Úgyhogy a probléma megoldódott!
Köszönöm mindenkinek a hozzászólásokat!
- A hozzászóláshoz be kell jelentkezni
forbidden!!!!!!!!!!!!! :D magyarul tiltott
biztos root ként hoztad létre a public_html-t
és nincs engedéjezve mások számára az olvasás és belépés!
- A hozzászóláshoz be kell jelentkezni
Úgyhogy a probléma megoldódott!
- A hozzászóláshoz be kell jelentkezni
De ezt se olvasta el:
"A public_html egész elérési útvonalára a 755-ös jogok vannak beállítva, a benne lévő index.html-re pedig 644-es."
- A hozzászóláshoz be kell jelentkezni