Kirjoittaja Aihe: [Ratkaistu] Apachen konffeissa ongelmaa...  (Luettu 706 kertaa)

kamara

  • Käyttäjä
  • Viestejä: 3082
    • Profiili
[Ratkaistu] Apachen konffeissa ongelmaa...
« : 06.08.25 - klo:10.50 »
Elikkä selain antaa 403 Forbidden-ilmoituksen, kun yritän päästä käyttäjäni pääsivulle...

http://127.0.0.1:8000/~kamara

Kokeilin myös luoda symbolisen linkin ko. kotihakemistoon:
Koodia: [Valitse]
sudo ln -s /home/kamara/public_html/. kamara

Sama ilmoitus tulee siinäkin.

Mutta purkaessani public_html:n sisällön /var/www/html-kansioon, niin selain näyttää ilman ongelmia.

Missähän konffissa on ongelma ?
« Viimeksi muokattu: 09.08.25 - klo:07.39 kirjoittanut kamara »

nm

  • Käyttäjä
  • Viestejä: 16686
    • Profiili
Vs: Apachen konffeissa ongelmaa...
« Vastaus #1 : 06.08.25 - klo:12.20 »
Onko UserDir-ominaisuus kytketty käyttöön Apachen asetuksissa?
https://httpd.apache.org/docs/2.4/howto/public_html.html

Lisäksi www-data-käyttäjällä pitää olla pääsy kotihakemistoosi ja lukuoikeus public_html -hakemiston tiedostoihin. Tämä onnistunee lisäämällä käyttäjätunnuksesi www-data-ryhmään.

Toisaalta tietoturvan kannalta olisi suositeltavaa, ettei Apachen www-data-tunnuksella ole pääsyä käyttäjän kotihakemistoon. Nettiin julkaistavat asiat kannattaa pitää mahdollisimman tiukasti /var/www tai /var/www/html -hakemistossa. Tee sinne vapaasti nimetty kansio ja linkitä se kotihakemistosi alle vaikka nimellä public_html tai www, jos haluat UserDir-ominaisuutta vastaavan rajapinnan nettijulkaisuihin.
« Viimeksi muokattu: 06.08.25 - klo:12.23 kirjoittanut nm »

kamara

  • Käyttäjä
  • Viestejä: 3082
    • Profiili
Vs: Apachen konffeissa ongelmaa...
« Vastaus #2 : 06.08.25 - klo:13.45 »
Nettiin julkaistavat asiat kannattaa pitää mahdollisimman tiukasti /var/www tai /var/www/html -hakemistossa. Tee sinne vapaasti nimetty kansio ja linkitä se kotihakemistosi alle vaikka nimellä public_html tai www, jos haluat UserDir-ominaisuutta vastaavan rajapinnan nettijulkaisuihin.

Siis ei tämä mun Apachen pitäisi huudella paljoa ympäristöön, kun on seuraavat asetukset:
Koodia: [Valitse]
$ cat ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

Listen 127.0.0.1:8000

<IfModule ssl_module>
Listen 443
</IfModule>

<IfModule mod_gnutls.c>
Listen 443
</IfModule>

Koodia: [Valitse]
$ cat mods-available/php8.3.conf
# Using (?:pattern) instead of (pattern) is a small optimization that
# avoid capturing the matching pattern (as $1) which isn't used here
<FilesMatch ".+\.ph(?:ar|p|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch ".+\.phps$">
    SetHandler application/x-httpd-php-source
    # Deny access to raw php sources by default
    # To re-enable it's recommended to enable access to the files
    # only in specific virtual host or directory
    Require all denied
</FilesMatch>
# Deny access to files without filename (e.g. '.php')
<FilesMatch "^\.ph(?:ar|p|ps|tml)$">
    Require all denied
</FilesMatch>

# Running PHP scripts in user directories is disabled by default
#
# To re-enable PHP in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
#<IfModule mod_userdir.c>
#    <Directory /home/*/public_html>
#        php_admin_flag engine Off
#    </Directory>
#</IfModule>

Koodia: [Valitse]
$ cat userdir.conf
UserDir public_html
UserDir disabled root

<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
</Directory>

Jokin näissä kuitenkin bugisee, sillä en saa edes symbolista linkkia toimimaan omaan hakemistooni. PHP ei suostu myöskään lukemaan tiedostoja oman hakemistoni sisältä.

nm

  • Käyttäjä
  • Viestejä: 16686
    • Profiili
Vs: Apachen konffeissa ongelmaa...
« Vastaus #3 : 06.08.25 - klo:14.08 »
Jokin näissä kuitenkin bugisee, sillä en saa edes symbolista linkkia toimimaan omaan hakemistooni. PHP ei suostu myöskään lukemaan tiedostoja oman hakemistoni sisältä.

Varmista vielä, että userdir-moduuli on käytössä:

Koodia: [Valitse]
sudo a2enmod userdir
Apachen käyttäjätunnuksella www-data on oltava pääsy eli suoritusoikeus kotihakemistoosi ja public_html-hakemistoon. Lisäksi pitää olla lukuoikeus public_html:ssä oleviin tiedostoihin.

1. Lisää käyttäjätunnus www-data oman käyttäjätunnuksesi ryhmään:

Koodia: [Valitse]
sudo usermod -a -G kamara www-data
2. Varmista, että ryhmällä on suoritus- ja lukuoikeudet hakemistoihin:

Koodia: [Valitse]
sudo chmod 755 /home/kamara
Koodia: [Valitse]
sudo chmod -R 755 /home/kamara/public_html
3. Käynnistä Apache tai koko järjestelmä uudelleen, jotta muutokset tulevat varmasti voimaan.

« Viimeksi muokattu: 06.08.25 - klo:14.13 kirjoittanut nm »

kamara

  • Käyttäjä
  • Viestejä: 3082
    • Profiili
Vs: Apachen konffeissa ongelmaa...
« Vastaus #4 : 06.08.25 - klo:14.13 »
Kyllä noiden pitäisi minun mielestäni olla oikein. Ja olen käynnistänyt tietokoneen uudestaan muutosten jälkeen...

Logiin tulee seuraavanlaista herjaa...
..mutta omilla googlaustaidoillani en osaa ratkaista sitä.
Koodia: [Valitse]
[Wed Aug 06 13:51:56.809944 2025] [core:error] [pid 5890] (13)Permission denied: [client 127.0.0.1:49926] AH00035: access to /~user denied (filesystem path '/home/user/public_html') because search permissions are missing on a component of the path
[Wed Aug 06 13:56:06.308117 2025] [mpm_prefork:notice] [pid 5886] AH00170: caught SIGWINCH, shutting down gracefully
[Wed Aug 06 13:56:24.304868 2025] [mpm_prefork:notice] [pid 1164] AH00163: Apache/2.4.58 (Ubuntu) configured -- resuming normal operations
[Wed Aug 06 13:56:24.305923 2025] [core:notice] [pid 1164] AH00094: Command line: '/usr/sbin/apache2'
[Wed Aug 06 13:57:00.521308 2025] [core:error] [pid 1258] (13)Permission denied: [client 127.0.0.1:36032] AH00035: access to /~user denied (filesystem path '/home/user/public_html') because search permissions are missing on a component of the path


Koodia: [Valitse]
$groups
kamara adm cdrom sudo dip www-data plugdev users lpadmin

nm

  • Käyttäjä
  • Viestejä: 16686
    • Profiili
Vs: Apachen konffeissa ongelmaa...
« Vastaus #5 : 06.08.25 - klo:15.28 »
[Wed Aug 06 13:57:00.521308 2025] [core:error] [pid 1258] (13)Permission denied: [client 127.0.0.1:36032] AH00035: access to /~user denied (filesystem path '/home/user/public_html') because search permissions are missing on a component of the path

Lokiviestin perusteella yrität päästä käyttäjätunnuksen user public_html-hakemistoon. Aiemmin mainitsit kamara-tunnuksen, ja tarkistit tuossa edellisessä viestissä kamara-tunnuksen ryhmät.

Saatko nyt siis vastaavan virheen, jos yrität avata sivun http://127.0.0.1:8000/~kamara

Mitkä ovat hakemistojen oikeudet:
Koodia: [Valitse]
ls -l /home/kamara
Koodia: [Valitse]
ls -l /home/kamara/public_html
Mihin ryhmiin www-data -tunnus kuuluu:
Koodia: [Valitse]
groups www-data

kamara

  • Käyttäjä
  • Viestejä: 3082
    • Profiili
Vs: Apachen konffeissa ongelmaa...
« Vastaus #6 : 08.08.25 - klo:18.01 »
Lokiviestin perusteella yrität päästä käyttäjätunnuksen user public_html-hakemistoon. Aiemmin mainitsit kamara-tunnuksen, ja tarkistit tuossa edellisessä viestissä kamara-tunnuksen ryhmät.

Saatko nyt siis vastaavan virheen, jos yrität avata sivun http://127.0.0.1:8000/~kamara

Jees...
kun kyseessä on väärä alihakemisto, niin virheeksi tulee ... (esim. http://127.0.0.1/~eiloydy )
404 Not Found

Kun kyseessä on hakemisto, minkä pitäisi avautua tulee ... (esim. http://127.0.0.1/~kamara )
403 Forbidden

Eli oikeudet eivät riitä.

Mitkä ovat hakemistojen oikeudet:
Koodia: [Valitse]
ls -l /home/kamara
Koodia: [Valitse]
ls -l /home/kamara/public_html
Koodia: [Valitse]
ls -l /home
drwxr-x--- 18 kamara kamara 4096 elo     8 17:41 kamara

Koodia: [Valitse]
ls -l public_html
yhteensä 8
-rw-rw-r-- 1 kamara kamara  9 elo     1 09:09 hei.html
-rw-rw-r-- 1 kamara kamara 20 elo     6 10:33 hei.php

Koodia: [Valitse]
ls ~/. -l|grep public
drwxr-xr-x 2 kamara  www-data       4096 elo     6 10:40 public_html

Mihin ryhmiin www-data -tunnus kuuluu:
Koodia: [Valitse]
groups www-data

Koodia: [Valitse]
$ groups www-data
www-data : www-data

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11542
    • Profiili
    • Tomin kotisivut
Vs: Apachen konffeissa ongelmaa...
« Vastaus #7 : 08.08.25 - klo:18.41 »
Koodia: [Valitse]
chmod +x /home/kamara
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

kamara

  • Käyttäjä
  • Viestejä: 3082
    • Profiili
Vs: Apachen konffeissa ongelmaa...
« Vastaus #8 : 09.08.25 - klo:07.39 »
Koodia: [Valitse]
chmod +x /home/kamara

Kiitos riitti...

... löytyihän se lopulta. Oli se ongelma sittenkin oikeuksien puolella. Luulin jotain mystisempää.