![]() |
![]() ![]() |
![]() |
![]()
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 -------------------- Pozdrawiam serdecznie
Krzysiek |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 12 Dołączył: 11.01.2005 Skąd: Zduńska Wola Ostrzeżenie: (0%) ![]() ![]() |
Poszukaj w konfiguracji Apache [httpd.conf]
Pozdrawiam. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 470 Pomógł: 75 Dołączył: 21.09.2005 Skąd: że znowu Ostrzeżenie: (0%) ![]() ![]() |
/etc/apache2/sites-available/default - zmień /var/www na odpowiadający Ci katalog (wpis jest w 2 liniach - jako servername i directory)
następnie sudo apache2ctl restart i po sprawie, osobiście jednak proponuję przyjrzeć się wirtualnym hostom //edit: jeśli zależy Ci tylko na lokalizacji to katalogu to nie koniecznie musisz zmieniać ustawienia - zmień właściciela (lub grupę) katalogu /var/www i utwórz dowiązanie symboliczne w zadowalającej Cię lokalizacji Ten post edytował devnul 17.10.2008, 21:43:03 -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 182 Pomógł: 14 Dołączył: 20.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
TIP: W większości dystrybucji przy domyślnej konfiguracji Apache można utworzyć w katalogu domowym użytkownika katalog public_html, którego zawartość będzie widoczna pod adresem http://localhost/~twój_login .
Albo zmień konfiguracje Apache jak koledzy wcześniej pisali. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 71 Pomógł: 4 Dołączył: 3.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Poszukaj w konfiguracji Apache [httpd.conf] Pod Linuksem to nie zadziała bo ten plik ma rozmiar 0 bajtów ![]() W większości dystrybucji przy domyślnej konfiguracji Apache można utworzyć w katalogu domowym użytkownika katalog public_html, którego zawartość będzie widoczna pod adresem http://localhost/~twój_login . Próbowałem to już wcześniej (bo tak mamy właśnie na uczelni) ale niestety nie działa ten sposób.//edit: jeśli zależy Ci tylko na lokalizacji to katalogu to nie koniecznie musisz zmieniać ustawienia - zmień właściciela (lub grupę) katalogu /var/www i utwórz dowiązanie symboliczne w zadowalającej Cię lokalizacji Wybieram ten sposób ![]() Ten post edytował achaja 17.10.2008, 23:00:56 -------------------- Pozdrawiam serdecznie
Krzysiek |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 182 Pomógł: 14 Dołączył: 20.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Znajdź w httpd.conf
# User home directories #Include conf/extra/httpd-userdir.conf i odhashuj includa. Spróbuj czy działa, jak nie, to pokaż co jest w pliku httpd-userdir.conf – siedzę teraz na Windows i u mnie będzie inaczej, więc nie mogę Ci podać gotowej konfiguracji. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 71 Pomógł: 4 Dołączył: 3.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Znajdź w httpd.conf # User home directories #Include conf/extra/httpd-userdir.conf i odhashuj includa. Wcześniej napisałem: Pod Linuksem to nie zadziała bo ten plik ma rozmiar 0 bajtów ![]() Jednakże bardzo by mi zależało na tym sposobie z dowiązaniami symbolicznymi napisanym przez devnul (ten sposób wydaje mi się najbardziej przyzwoity) tylko nie wiem gdzie miałoby to dowiązanie się znajdować przy założeniu że pliki .php chciałbym umieszczać np. w katalogu: /home/achaja/Dokumenty/www Ten post edytował achaja 18.10.2008, 10:44:12 -------------------- Pozdrawiam serdecznie
Krzysiek |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 182 Pomógł: 14 Dołączył: 20.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ok, widzę, że w Ubuntu używają starej nazwy (daemon od wersji 2.0 nazywa się httpd a nie apache), więc zamiast httpd.conf masz plik apache2.conf...
Co do rozwiązania zaproponowanego przez devnul to chodziło mu o katalog /etc/apache2/sites-available/default przeczytaj "man ln" i będziesz wiedział o co chodzi z dowiązaniami. |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 71 Pomógł: 4 Dołączył: 3.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
michalkjp jeszcze raz specjalnie dla Ciebie.
Po pierwsze. Ja nie zapytałem sie devnul'a jak się robi dowiązania tylko w jakim katalogu ma się znajdować to dowiązanie i na co ma wskazywać przy założeniu że swoje pliki .php chciałbym umieszczać np. w katalogu /home/achaja/Dokumenty/www. Po drugie. Napisałem również, że "Od razu dodam, że w pliku apache2.conf widocznym na screenie również nie ma takiej linijki." Pisząc tej linijki miałem namyśli linijki którą podałeś wcześniej abym sprawdził czyli #Include conf/extra/httpd-userdir.conf. Po trzecie. /etc/apache2/sites-available/default jest już plikiem. Katalogiem jest samo /etc/apache2/sites-available bez default. -------------------- Pozdrawiam serdecznie
Krzysiek |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 182 Pomógł: 14 Dołączył: 20.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
"Po pierwsze. Ja nie zapytałem sie devnul'a jak się robi dowiązania tylko w jakim katalogu ma się znajdować to dowiązanie i na co ma wskazywać przy założeniu że swoje pliki .php chciałbym umieszczać np. w katalogu /home/achaja/Dokumenty/www."
Przecież on Ci podał ten katalog – gdybyś użył /dev/brain i wiedział co to jest dowiązanie, to wiedziałbyś co wpisać, żeby mieć dowiązanie we wskazanym katalogu do /home/achaja/Dokumenty/www. "Po drugie. Napisałem również, że "Od razu dodam, że w pliku apache2.conf widocznym na screenie również nie ma takiej linijki." Pisząc tej linijki miałem namyśli linijki którą podałeś wcześniej abym sprawdził czyli #Include conf/extra/httpd-userdir.conf." Ok, tego nie zauważyłem – jest z boku przy screanie i umknęło mojej uwadze. Ale mógłbyś po prostu dodać takiego includa i po sprawie – use your /dev/brain dude "Po trzecie. /etc/apache2/sites-available/default jest już plikiem. Katalogiem jest samo /etc/apache2/sites-available bez default." use your /dev/brain dude Konfig dla katalogów domowych użytkownika powinien wyglądać mniej więcej tak UserDir "public_html" # # Control access to UserDir directories. The following is an example # for a site where these directories are restricted to read-only. # <Directory "/home/*/public_html"> AllowOverride FileInfo AuthConfig Limit Indexes Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </Directory> To tyle z mojej strony, bo widzę, że tracę czas – masz małe pojęcie o systemie, nie potrafisz użyć /dev/brain ani Google a próbujesz używać protekcyjnego tonu, tak jakbym to ja był idiotą nierozumiejącym prostych wskazówek... |
|
|
![]()
Post
#11
|
|
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 |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 149 Pomógł: 12 Dołączył: 3.03.2008 Skąd: łódzkie Ostrzeżenie: (0%) ![]() ![]() |
@achaja lepsze rozwiązanie jest z Virtual Hostami, więc użyj swojego braina
![]() -------------------- "Jeden człowiek nie zmieni świata, ale jeden człowiek może przekazać informację która zmieni świat." - David Icke
| PAMIĘTAJ, JESTEŚ POLAKIEM !!! | Jam jest Polska, Ojczyzna Twoja, ziemia Ojców, z której wzrosłeś. Wszystko, czym jesteś, po Bogu - mnie zawdzięczasz!! |
|
|
![]()
Post
#13
|
|
![]() 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: ![]() 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: ![]() 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: ![]() 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 -------------------- Pozdrawiam serdecznie
Krzysiek |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 11 Dołączył: 2.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
1. Otwórz "mc"
2. w lewym oknie otwórz katalog "/etc/apache2/mods-available/" 3. w prawym oknie otwórz katalog " /etc/apache2/mods-enabled/" 4. zaznacz plik (jak do kopiowania, usuwania) userdir.conf , w menu "plik" jest pozycja "Dowiązanie symb." kliknij i w prawym oknie utworzy się "plik" o nazwie "@userdir.conf" 5. to samo co w pkt 4. ale plik "userdir.load" => "@userdir.load" 6. restart Apache 7. http://localhost/~achaja/ -------------------- $email = filter_var(filter_var($email, FILTER_SANITIZE_EMAIL), FILTER_VALIDATE_EMAIL);
if($email === false) { // Houston, we have a problem.... } |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 149 Pomógł: 12 Dołączył: 3.03.2008 Skąd: łódzkie Ostrzeżenie: (0%) ![]() ![]() |
Te linie które dodałeś do pliku default (44-54) powinieneś wpisać do całkiem nowego pliku o wybranej przez siebie nazwie (nazwa projektu np.).
Ten plik powinien wylądować w katalogu sites-available. I raczej proponował bym skopiować to co w default jest zamieniając ścieżki na takie gdzie tam sobie trzymasz te swoje pliki. Czyli: cp default mojanazwa Potem: nano mojanazwa Zmień to co trzeba, aby wskazywało na Twój /home/user/moje_dokumenty/www i zapisz plik. Następnie: a2ensite mojanazwa (taka komenda apachowa) Powyższe tworzy dowiązanie mojanazwa w katalogu sites-enabled. Następnie /etc/.initd/apache reload (tutaj już nie pamiętam, a nie piszę teraz z linuxa i nie upewnie się). Dodatkowo musisz dodać nazwę virtual hosta jaką wpisałeś w konfigu apache'a do pliku /etc/hosts Wszystko co wyżej opisałem odnosi się tylko do VirtualHostów, według mnie są one bardziej praktyczne, bo możesz sobie stworzyć dowolną ilość niezależnych projektów na dysku (każdy będzie miał swoją domenę). Userdir mod dla mnie jest mniej praktyczny, no chyba, że masz kilku userów w systemie. -------------------- "Jeden człowiek nie zmieni świata, ale jeden człowiek może przekazać informację która zmieni świat." - David Icke
| PAMIĘTAJ, JESTEŚ POLAKIEM !!! | Jam jest Polska, Ojczyzna Twoja, ziemia Ojców, z której wzrosłeś. Wszystko, czym jesteś, po Bogu - mnie zawdzięczasz!! |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 12 Dołączył: 9.10.2008 Skąd: Tricity.Rumia() Ostrzeżenie: (0%) ![]() ![]() |
@achja przeczytaj jeszcze raz mojego posta wyżej i zwórć uwagę gdzie jest napisane mods-enabled a gdzie mods-available ;P
przeczytaj i przemysl post jang-a ;-) @jang zrób screena bo achja nie obsługuje trybu tekstowego ;-) peace & pozdro Ten post edytował pinochet 19.10.2008, 19:53:13 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 4.05.2025 - 07:08 |