Ubuntu 12.04 LTS virtualhost wskazuję na zły katalog w DocumentRoot

Instalacja i konfiguracja oprogramowania sieciowego.
detmold
Piegowaty Guziec
Piegowaty Guziec
Posty: 20
Rejestracja: 16 sty 2010, 18:20
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Ubuntu 12.04 LTS virtualhost wskazuję na zły katalog w DocumentRoot

Post autor: detmold »

Bardzo proszę o pomoc gdyż nie mogę skonfigurować virtualhost-ów mimo podążania za kilkunastoma HOWTO.
Chcę utworzyć virtualnego hosta sluby.dev dla, którego zawartość jest w katalogu: /home/piotr/public_html/slub/web
Pliki konfiguracyjne na czerwono rzeczy zmieniane/dodawane przez mnie w plikach które istniały wcześniej:
etc/hosts

Kod: Zaznacz cały

127.0.0.1	localhost
127.0.0.1	sluby.dev
127.0.1.1	piotr-desktop
/etc/apache2/sites-available/sluby.dev

Kod: Zaznacz cały

<VirtualHost *:80>

  	# Admin email, Server Name (domain name) and any aliases
  	ServerAlias www.sluby.dev
	ServerName sluby.dev
	DocumentRoot /home/piotr/public_html/slub/web
	DirectoryIndex app_dev.php

	<Directory /home/piotr/public_html/slub/web >
	Options Indexes FollowSymLinks Includes
	AllowOverride All
	Order allow,deny
	Allow from all
	</Directory>

	# Custom log file locations
	LogLevel warn
	ErrorLog  /home/piotr/public_html/slub/logs/error.log
	CustomLog /home/piotr/public_html/slub/logs/access.log combined

</VirtualHost>
Po stworzeniu powyższego pliku wpisałem:

Kod: Zaznacz cały

sudo a2ensite sluby.dev
i OK strona została aktywowana/dodana
później

Kod: Zaznacz cały

sudo /etc/init.d/apache2 restart
i też niby OK

/etc/apache2/sites-available/default

Kod: Zaznacz cały

<VirtualHost *:80>
	DocumentRoot /home/piotr/public_html

	<Directory />
		Options FollowSymLinks
		AllowOverride All
	</Directory>

	<Directory /home/piotr/public_html >
		Options FollowSymLinks MultiViews
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>

	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin">
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
	</Directory>

	ErrorLog ${APACHE_LOG_DIR}/error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>
/etc/apache2/sites-available/ports.conf

Kod: Zaznacz cały

# 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
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz

NameVirtualHost *:80
Listen 80
#[color=#FF0000]Listen 192.168.1.114:80 -adres mojego komputera w lokalnej sieci[/color]

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>
Tutaj wkleję tylko końcówkę bo plik jest długi:
/etc/apache2/sites-available/apache2.conf

Kod: Zaznacz cały

# Include all the user configurations:
Include httpd.conf

# Include ports listing
Include ports.conf

#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
# If you are behind a reverse proxy, you might want to change %h into %{X-Forwarded-For}i
#
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

# Include of directories ignores editors' and dpkg's backup files,
# see README.Debian for details.

# Include generic snippets of statements
Include conf.d/

# Include the virtual host configurations:
Include sites-enabled/

[color=#FF0000]ServerName sluby.dev[/color]   
Problem: po wpisaniu w przeglądarkę sluby.dev przeglądarka nie widzi strony, próbowałem czyścić cache i odpalać z innej przeglądarki
Ostatnio zmieniony 23 cze 2013, 18:22 przez detmold, łącznie zmieniany 1 raz.
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Re: Ubuntu 12.04 LTS problem z virtualhost

Post autor: ethanak »

O jejku... a Apacz w logach nic nie pisze? No świnia jedna a nie serwer :(
BTW sprecyzuj "nie widzi strony". Widzi główną stronę Apacza? Wyświetla błąd? Może jeszcze coś innego?
tutaj też zaglądałeś?

Tak przy okazji zmień temat bo za chwilę Twój wątek wyląduje w miejscu, gdzie nawet google nie zagląda...
detmold
Piegowaty Guziec
Piegowaty Guziec
Posty: 20
Rejestracja: 16 sty 2010, 18:20
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Re: Ubuntu 12.04 LTS problem z virtualhost

Post autor: detmold »

Teraz po restarcie przeglądarki odczytuje sluby.dev tyle, że DOCUMENT_ROOT dla tej domeny to nie katalog z pliku

Kod: Zaznacz cały

/etc/apache2/sites-available/sluby.dev
tylko z pliku

Kod: Zaznacz cały

/etc/apache2/sites-available/default
czyli

Kod: Zaznacz cały

/home/piotr/public_html
Bardzo możliwe, że chodzi o uprawnienia w artykule, który mi podałeś jest opisana konfiguracja i faktycznie u mnie Apache nie ma dostępu do katalogu

Kod: Zaznacz cały

/home/piotr/public_html/slub/web
ma jednak dostęp do katalogu /home/piotr/public_html więc jak domniemam nie mogąc obsłużyć virtualhosta obsługuję następnego w kolejności stąd taki DOCUMENT_ROOT.

Czemu sobie zatem nie ustawie tych uprawnień :) otóż próbowałem w ten sposób:

Kod: Zaznacz cały

sudo -u www-data ls /home/piotr/public_html/slub/web
tutaj sprawdzam i wyświetla brak uprawnień

Kod: Zaznacz cały

chmod +x ~piotr
z poziomu katalogu /home/piotr/public_html/slub/web nic wyświetla i nic nie zmienia bo komenda powyżej zwraca brak uprawnień

Kod: Zaznacz cały

chmod +x ~piotr
-J/W

Kod: Zaznacz cały

sudo chmod +x /home/piotr/public_html/slub/web
- J/W

//bear7: Znaczniki CODE mają własne formatowanie i wszelkie pogrubienia, kursywa, podkreślenia są ignorowane.
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Re: Ubuntu 12.04 LTS virtualhost wskazuję na zły katalog w DocumentRoot

Post autor: ethanak »

Bardzo głupie pytanko...
A jeśli dodasz do /etc/hosts również www.sluby.dev i to wpiszesz w przeglądarkę?
Skąd pytanie?
Bo na jednej maszynie mam to samo (tyle że oba adresy są ładnie wpisane do dns-ów), z racji wrodzonego lenistwa (i braku czasu bo to było potrzebne natychmiast na wczoraj) nie chciało mi się sprawdzać przyczyn tylko zrobiłem sobie 301 z host.tld na www.host.tld - jeśli u Ciebie z www zadziała to również dla mnie będzie to powód aby wreszcie sprawdzić o co chodzi, podać rozwiązanie i dopisać odpowiedni rozdzialik w wymienionym artykule :) Maszyna z 12.04 server, akurat teraz tylko ja z niej korzystam więc mogę sobie pozwolić na krótki przestój.

Podaj na wszelki wypadek wynik:

Kod: Zaznacz cały

hostname -f
BTW. co do uprawnień - do katalogów ponad DocumentRoot wystarczy x dla świata, do samego DocumentRoot bezwzględnie musi być rx dla świata.
detmold
Piegowaty Guziec
Piegowaty Guziec
Posty: 20
Rejestracja: 16 sty 2010, 18:20
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Re: Ubuntu 12.04 LTS virtualhost wskazuję na zły katalog w DocumentRoot

Post autor: detmold »

Jeśli wpiszę w przeglądarkę http://www.sluby.dev jak i http://www.sluby.dev/php.php (istniejący plik w katalog public_html) to zwraca mi Forbidden You don't have permission to access / on this server.
jest to o tyle dziwne, że po wpisaniu sluby.dev/php.php plik jest normalnie otwierany

Komenda

Kod: Zaznacz cały

hostname -f
zwraca :

Kod: Zaznacz cały

piotr-desktop
W logach dostaje taki komunikat:

Kod: Zaznacz cały

[Sat Jun 29 12:18:15 2013] [crit] [client 127.0.0.1] (13)Permission denied: /home/piotr/public_html/slub/web/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
Próbowałem

Kod: Zaznacz cały

chmod 755 /home/piotr/public_html/slub/web
ale nic to nie zmienia.

EDIT: Dobra działa :)
1. Wywaliłem z pliku /etc/apache2/apache2.conf linijkę

Kod: Zaznacz cały

ServerName sluby.dev
bo wtedy po wpisaniu tego adresu przerzucał do katalogu document_root czyli: /home/piotr/public_html a nie /home/piotr/public_html/slub/web
2. To jest kluczowe komenda

Kod: Zaznacz cały

chmod 755 /home/piotr/public_html/slub/web -R
chyba rozwiązuje kwestie braku uprawnień wcześniej jeszcze próbowałem tak jak wyżej ale nie wiem czy to było konieczne

Czyli teraz po wpisaniu localhost lub 127.0.0.1 mam mapowanie na /home/piotr/public_html natomiast po wpisaniu sluby.dev lub www.sluby.dev mapuje na katalog /home/piotr/public_html/slub/web czyli dokładnie to o co mi chodziło :)
Ostatnio zmieniony 29 cze 2013, 12:40 przez detmold, łącznie zmieniany 2 razy.
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Re: Ubuntu 12.04 LTS virtualhost wskazuję na zły katalog w DocumentRoot

Post autor: ethanak »

z telefonu piszę więc skrótowo.
podaj wynik ls -ld dla /home/piotr i kolejno dla wszystkich komponentów w ścieżce łacznie z .htaccess.
btw. uaktualniłem artykulik, ale chyba ciebie ten problem nie dotyczy sądząc po wyniku hostname... ale lepiej speawdź.
detmold
Piegowaty Guziec
Piegowaty Guziec
Posty: 20
Rejestracja: 16 sty 2010, 18:20
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Re: Ubuntu 12.04 LTS virtualhost wskazuję na zły katalog w DocumentRoot

Post autor: detmold »

Nie chcę rozpoczynać nowego wątku - w razie czego się dostosuje :) natomiast....

Pojawił się jednak nowy problem związany z uprawnieniami. Przy próbie odpalenia projektu w Symfony2 pojawia się:

Kod: Zaznacz cały

Warning: require_once(/home/piotr/public_html/slub/web/../app/bootstrap.php.cache): failed to open stream: Permission denied in /home/piotr/public_html/slub/web/app_dev.php on line 20 Fatal error: require_once(): Failed opening required '/home/piotr/public_html/slub/web/../app/bootstrap.php.cache' (include_path='.:/usr/share/php:/usr/share/pear') in /home/piotr/public_html/slub/web/app_dev.php on line 20


W linii 20 jest

Kod: Zaznacz cały

$loader = require_once __DIR__.'/../app/bootstrap.php.cache';


Kwestia braku uprawnień do otworzenia pliku, pytanie jaką komendę wydać żeby apache/php miało odpowiednie uprawnienia do zapisu/odczytu ?

EDIT:
OK znowu zamieszczenie posta zainspirowało mnie do rozwiązania problemu :)

Kod: Zaznacz cały

sudo chmod -R 755 ~/public_html/slub
- uprawnienia na cały folder projektu

Kod: Zaznacz cały

rm -rf app/logs/*
- wyczyszczenie katalogów logs i cache - potrzebują dodatkowych uprawnień do zapisu

Kod: Zaznacz cały

rm -rf app/cache/*

Kod: Zaznacz cały

sudo chmod -R 777 app/cache
- uprawnienia do zapisu

Kod: Zaznacz cały

sudo chmod -R 777 app/logs
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Re: Ubuntu 12.04 LTS virtualhost wskazuję na zły katalog w DocumentRoot

Post autor: ethanak »

jedna ważna sprawa: oducz się stosowania -R przy chmod, bo któregoś dnia zrobisz sobie brzydkie kuku. pamiętaj: operacja jest nieodwracalna!
ODPOWIEDZ

Wróć do „Sieci, serwery, Internet”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 13 gości