[+] php, a public_html

Konfiguracja serwerów, usług, itp.
rekimere
Posty: 4
Rejestracja: 15 marca 2010, 22:04

[+] php, a public_html

Post autor: rekimere »

Witajcie!
Mam pewien problem i nie mogę znaleźć rozwiązania. Otóż pliki php nie wykonują się kiedy są w katalogu /home/nazwa_użytkownika/public_html. Czyli jeżeli wpiszę w przeglądarkę http://strona/~user/plik.php wyskakuje mi monit do pobrania tego pliku, jednak gdy kopiuję go do katalogu /var/www i wpisuję http://strona/plik.php wszystko działa normalnie. Trochę się naszukałem i nigdzie nie mogłem znaleźć jednoznacznej przyczyny i wyjaśnienia tego problemu, więc zgłaszam się do Was. Z góry dzięki za wszystkie odpowiedzi! :)
Wersja apache - 2.2.14, php - 5.3.1-5, linux - 2.6.30-2-686
http://wklej.org/id/297636/ - apache2.conf (httpd.conf pusty) - piszcie, które konfigi jeszcze chcecie widzieć.
Awatar użytkownika
timor
Beginner
Posty: 111
Rejestracja: 18 sierpnia 2009, 23:40

Post autor: timor »

Jeżeli nie podasz żadnego konfiga to zostaje wróżenie z fusów :)
daniel_l81
Posty: 51
Rejestracja: 23 listopada 2007, 08:39
Lokalizacja: Brodnica

Post autor: daniel_l81 »

Musisz zmienić ścieżkę z katalogu /var/www do katalogu /home/nazwa_użytkownika/public_html w pliku /etc/apache2/sites-available/default, czyli powinieneś mieć tak:

Kod: Zaznacz cały

 
DocumentRoot /home/nazwa_użytkownika/public_html
<Directory /home/nazwa_użytkownika/public_html/>
....
</Directory>
Po tym restart serwera apache i powinno działać.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

daniel_l81 pisze:Musisz zmienić ścieżkę z katalogu /var/www do katalogu /home/nazwa_użytkownika/public_html w pliku /etc/apache2/sites-available/default
E, czekaj, nie tak szybko.

rekimere, napisz może coś więcej o systemie i konfiguracji serwera www. Na początek zamieść wyniki poleceń:

Kod: Zaznacz cały

apache2ctl -M
apache2ctl -S
Zamieść też pliki zawierające konfigurację Twoich VHostów. Możesz też napisać jak konfigurowałeś PHP i mod_userdir.
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

Post autor: grzesiek »

Problem zapewne leży w tym, że nie wskazałeś dla PHP gdzie mogą się znajdować skrypty, które będą interpretowane, to jest w php.ini i nazywa się chyba user_dir albo coś z root.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

W domyślnej konfiguracji PHP oba parametry (user_dir, doc_root) są puste i nie mają wpływu na wykonywanie skryptów. Dopóki kolega nie pokaże plików konfiguracyjnych, możemy urządzić loterię ;)
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

Post autor: grzesiek »

Stawiam na uprawnienia :)
Kiedyś jak to robiłem, to też nie pamiętam abym musiał coś specjalnie robić aby PHP czytało tam pliki - tylko moduł załadować. Ale w Linuxie zawsze jest jeszcze coś do zrobienia ;)
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

grzesiek pisze:Stawiam na uprawnienia
Też o tym myślałem, ale u mnie są "normalne" - 755 - i działa.
grzesiek pisze:Ale w Linuxie zawsze jest jeszcze coś do zrobienia
W tym jest większość frajdy z tego systemu :)
Awatar użytkownika
redelek
Posty: 89
Rejestracja: 19 marca 2007, 13:45

Post autor: redelek »

Hej,
Miałem ostatnio taki problem. Wystarczyło poprawić linijkę w konfigu apache i ruszyło bez problemów

Kod: Zaznacz cały

Options Indexes FollowSymLinks MultiViews
rekimere
Posty: 4
Rejestracja: 15 marca 2010, 22:04

Post autor: rekimere »

Dzięki za zainteresowanie!
[URL]http://wklej.org/id/297846/[/URL] - apache2ctl -M
[URL]http://wklej.org/id/297848/[/URL] - apache2ctl -S
[URL]http://wklej.org/id/297849/[/URL] - default/000-default
Uprawnienia - public_html mam 755, z user_dir i doc_root kombinowałem - wpisywałem /home/*/public_html i nic.
Wszystkie opcje są standardowo, ostatnio doinstalowywałem lstat, ale nie wiem czy mógł on coś namieszać?
@redelek - Która linijka konkretnie? W pierwszym poście jest apache2.conf
ODPOWIEDZ