Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP / Linux] Zmiana domyślnego katalogu ze skryptami .php, Jak zmienić domyślny katalog w Linuksie /var/www na inny?
MySQL
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 4
Dołączył: 3.06.2008

Ostrzeżenie: (0%)
-----


Mam Kubuntu. Po doinstalowaniu niezbędnych pakietów domyślną ścieżką do katalogu gdzie pliki .php są interpretowane przez serwer Apache jest /var/www.

Problem w tym, że katalog ten jest z prawami rwxr-xr-x czyli zwykły śmiertelnik nic do niego nie zapisze. Oczywiście mogę napisać sudo chmod 777 /var/www ale chodzi mi właśnie o to żeby tego nie robić. Chociażby dlatego, że pliki i tak tworzę w którymś podkatalogu swojego katalogu domowego i nie chce mi się co chwilę kopiować plików do tego /var/www, tym bardziej że jak się tworzy strony to co chwilę patrzy się na stronę jak tylko zmieniła się linijka w kodzie.

Dlatego moje pytanie jest właśnie takie: Czy można ten katalog jakoś zmienić na inny? np. /home/moj_login/Dokumenty/www ?

Szukałem w pliku /etc/php5/apache2/php.ini w nadziei, że tam może znajdę łańcuch znaków /var/www ale niestety nie znalazłem :(

Ten post edytował achaja 17.10.2008, 21:08:08
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pinochet
post
Post #2





Grupa: Zarejestrowani
Postów: 120
Pomógł: 12
Dołączył: 9.10.2008
Skąd: Tricity.Rumia()

Ostrzeżenie: (0%)
-----


hehe właśnie odpaliłem modul user dir pod ubuntu - w Kubuntu bedzie chyba tak samo ;-)
musisz zrobic dowiązania symboliczne w folderze /etc/apache2/mods-enabled :
Kod
lrwxrwxrwx 1 root root 30 2008-10-18 14:07 userdir.conf -> ../mods-available/userdir.conf
lrwxrwxrwx 1 root root 30 2008-10-18 14:06 userdir.load -> ../mods-available/userdir.load

dla odmiany w /etc/apache2/mods-available/userdir.conf
mosz cos takiego:
<Directory /home/*/public_html>
to Ci okresla ktory folder bedzie domyslnie "publiczny" dla wszystkich userow pod domena/~user

co do pierwszej metody wystarczy zrobic w /var/www symlinki na przyklad takie:
Kod
lrwxrwxrwx 1 root     root       39 2008-10-09 12:10 news -> /home/pinochet/public_html/news/public/
lrwxrwxrwx 1 root     root       32 2008-10-15 21:33 news2 -> /home/pinochet/public_html/news2

to daje ze pliki są dostepne pod: domena/news/

Ten post edytował pinochet 18.10.2008, 15:20:19
Go to the top of the page
+Quote Post
MySQL
post
Post #3





Grupa: Zarejestrowani
Postów: 71
Pomógł: 4
Dołączył: 3.06.2008

Ostrzeżenie: (0%)
-----


Po tych wszystkich radach w zasadzie to działa. "W zasadzie" dlatego, że działa ale jeszcze nie tak jakbym chciał. Przede wszystkim poszedłem za radami abym użył Virtualnych Hostów i tego użyłem ale mam mimo to jedno pytanie ale zanim je zadam wkleję kilka linków aby zobrazować to w co poniektórzy nie chcą uwierzyća wręcz usilnie trwają w błędzie:

Oto struktura katalogów w katalodu /etc/apache2:

(IMG:http://img258.imageshack.us/img258/9089/linux01jc4.gif)

Nie jest to pełna struktura. W sites-enabled i mods-enabled są tylko linki do odpowiednich plików z katalogów sites-available i mods-available. W mods-available jest pełno plików w czego zawartość jednego pokazana jest na screenie poniżej.

Zawartość pliku (pliku a nie katalogu szanowny panie kolego!) /etc/apache2/sites-available/default:

(IMG:http://img258.imageshack.us/img258/8186/linux02ec2.gif)

Od razu dodam, że jest to plik zmieniony przeze mnie po dodaniu linii od nr 44 do 54. Po prostu poczytałem trochę o Virtualnych Hostach.

Zawartość pliku: /etc/apache2/mods-available/userdir.conf:

(IMG:http://img258.imageshack.us/img258/8156/linux03zl7.gif)

Rozumiem, że to właśnie o ten plik Wam chodziło kiedy pisaliście o tym: <Directory /home/*/public_html>


No właśnie, ale co z tego, że mam ten plik i nic nie jest w nim zakomentowane, skoro gdy napiszę w przeglądarce localhost/~achaja/ (bo taki mam akurat login w systemie) przeglądarka informuje mnie, że nie znalazła strony? I właśnie to jeszcze nie rozwiązuje mojego problemu do końca. Bo o ile kiedy jest tylko kilka użytkowników w systmienie to można każdemu napisać analogiczne linijki które ja dodałem do pliku /etc/apache2/mods-available/userdir.conf. Ale jeżeli jest już sporo więcej użytkowników albo jeżeli co jakiś czas dochodzą nowi użytkownicy to wolałbym raz coś zmienić, a nie za każdym razem pamiętać o dodaniu nowego wpisu.

Można to właśnie jakoś zrobić? Myślałem że wystarczy zmienić linijkę 48 w pliku /etc/apache2/mods-available/userdir.conf na:

DocumentRoot /home/*/public_html

ale to nic nie dało. A nawet zrobiło gorzej bo przeglądarka nie widziała plików zarówno kiedy wpisywałem localhost/~achaja/ jak i samo localhost/


W tej chwili wszystko mi działa jak wpiszę samo localhost/ a chciałbym właśnie, żeby działało to poprzez mój login czyli localhost/~achaja/ i co więcej chciałbym aby to działało dla wszystkich użytkowników, a nie tylko dla mnie. Cały czas czytam o tym jak to zrobić i wydaje mi się, że mam wszystko tak jak być powinno ale jednak nie jest skoro mi nie działa. Wie ktoś może jak zrobić to poprawnie?

Ten post edytował achaja 19.10.2008, 00:34:28
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 14:32