Kilka stron na jednej domenie i dodatkowa strona na tym samym IP - jak to zrobi

Konfiguracja serwerów, usług, itp.
goska_23
Beginner
Posty: 277
Rejestracja: 04 września 2007, 13:40
Lokalizacja: Katowice

Kilka stron na jednej domenie i dodatkowa strona na tym samym IP - jak to zrobić?

Post autor: goska_23 »

Mam Lenny z serwerem LAMP.
Zarejestrowaną domenę powiedzmy:

Kod: Zaznacz cały

goskaaa.com
Teraz mam w var/www kilka podkatalogów ze stronami:
[INDENT]/var/www/index.html --> wyświetla ogólną informację - to nie jest potrzebne
/var/www/go1
/var/www/go2
/var/www/go3
/var/www/go4
/var/www/gox[/INDENT]
Aktualnie strony wyświetlam tak:

Kod: Zaznacz cały

[url=http://goskaa.com/go1]http://goskaaa.com/go1[/URL]
[url=http://goskaa.com/go2]http://goskaaa.com/go2[/URL]
itd...
na:

Kod: Zaznacz cały

[url=http://goskaa.com]http://goskaaa.com[/URL] 
wyświetla mi się ten plik informacyjny index.html.

Teraz chodzi o to, żeby strony pozostały w /var/www/ w takich podkatalogach jak są i żeby jak wpiszę:

Kod: Zaznacz cały

 [url=http://goskaa.com]http://goskaaa.com[/URL]
to żeby wyświetlało mi się to co jest w /var/www/go1 (chodzi o to, że nie chcę tego przenosić do katalogu głównego /var/www) i chodzi też o to, żeby reszta pozostała bez zmian to znaczy aby pozostałe strony można było dalej otwierać z podkatalogów domeny:
http://goskaaa.com/go2

Kod: Zaznacz cały

[url=http://goskaa.com/go3]http://goskaaa.com/go3[/URL]
itd.
Poza tym wkrótce będę miała drugą domenę, powiedzmy:

Kod: Zaznacz cały

goskaaax.com
i chodzi o to żeby to co jest w /var/www/gox otwierało mi się na stronie wpisanej tak:

Kod: Zaznacz cały

[url=http://goskaax.com]http://goskaaax.com[/URL]
Próbowałam edytować pliki w /etc/apache2/httpd.conf oraz /etc/apache2/sites-enabled i /etc/apache2/sites-available ale wyszło mi z tego dużo nie działających efektów i nie mam pomysłu jak to ugryźć.

Robiłam kiedyś na jednym IP kilka stron (4) w różnych domenach (bez wpisywania w adresie podkatalogów) ale też dobrze nie pamiętam wpisów.

Tutaj chodzi też o to, żeby okresowo można było zmienić co ma się wyświetlać jak wpiszę adres strony głównej:

Kod: Zaznacz cały

http:/goskaaa.com
(teraz to z /var/www/go1, a za pewien czas to z /var/www/go2) i żeby reszta była dostępna poprzez wpisanie adresu z podkatalogiem.

Na początek prosiłabym o jakieś szczegóły dotyczące przynajmniej tego problemu z jedną domeną:

Kod: Zaznacz cały

goskaaa.com
i dostępnością z katalogu głównego wybranej strony a z podkatalogów pozostałych stron.
Problem dodania kolejnej domeny goskaaax.com jest w drugiej kolejności.
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

Post autor: grzesiek »

goska_23
Beginner
Posty: 277
Rejestracja: 04 września 2007, 13:40
Lokalizacja: Katowice

Post autor: goska_23 »

Ale według tego opisu próbowałam już i nic mi się nie otwierało.

Zrobiłam httpd.conf tak:

Kod: Zaznacz cały

NameVirtualHost *
<VirtualHost *>
ServerName goskaaa.com
DocumentRoot /var/www/go1
</VirtualHost>
 
<VirtualHost *>
ServerName goskaaa.com/go2
DocumentRoot /var/www/go2
</VirtualHost>
 
<VirtualHost *>
ServerName goskaaa.com/go3
DocumentRoot /var/www/go3
</VirtualHost>
 
<VirtualHost *>
ServerName goskaaa.com/go4
DocumentRoot /var/www/go4
</VirtualHost>
 

Nie wiem, czy tak można dać bo ja mam tylko jedną domenę:

Kod: Zaznacz cały

goskaaa.com
Wydaje mi się, że ten opis byłby dobry do sytuacji gdybym miała 4 domeny i wtedy można byłoby dać w powyższym pliku takie linijki:

Kod: Zaznacz cały

ServerName goskaaa1.com
ServerName goskaaa2.com
ServerName goskaaa3.com
ServerName goskaaa4.com

Chciałabym jednak zrobić moje strony tylko na jednej domenie:

Kod: Zaznacz cały

goskaaa.com
i żeby jedna strona otwierała się z adresu głównego, a pozostałe z adresu głównego + nazwa podkatalogu o ile tak się da?
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

Zapis

Kod: Zaznacz cały

ServerName goskaaa.com/go2

Jest niepoprawny. Skoro z goskaaa.com chcesz mieć dostęp do katalogu /go1 to zostawiasz:

Kod: Zaznacz cały

NameVirtualHost *
<VirtualHost *>
ServerName goskaaa.com
DocumentRoot /var/www/
Alias / /var/www/go1
</VirtualHost>
I to wszystko. Co do nowej domeny gosiaaax.com to stawiasz nowego Virtualhosta i tyle.

PS. Daj znać jak postawisz gosiaaax.com ;)
goska_23
Beginner
Posty: 277
Rejestracja: 04 września 2007, 13:40
Lokalizacja: Katowice

Post autor: goska_23 »

Bastian, chyba na szybko wpisałeś coś nie tak?
Zrobiłam tak:
httpd.conf

Kod: Zaznacz cały

NameVirtualHost 88.8.111.111:80
<VirtualHost 88.8.111.111:80>
ServerName goskaaa.com
DocumentRoot /var/www/go1
</VirtualHost>
Ale nie ma żadnego efektu. Chciałam, żeby jak dam:

Kod: Zaznacz cały

[url]http://goskaaa.com[/url]
to żeby mi się otwierało to co mam w /var/www/go1 a dalej otwiera się to co mam w /var/www?

Dopisałam też Vhosty do /sites-enabled i do /sites-available i bez żadnego efektu.

Jak restartuję apache2 to mnie informuje:

Kod: Zaznacz cały

NameVirtualHost 88.8.111.111:80 has no VirtualHost
Próbowałam wpisać bez IP, tylko:

Kod: Zaznacz cały

NameVirtualHost *
i jest to samo.

Co dokładnie trzeba wpisać i do jakich plików bo z opisem do VHostów to się gubię?
daniel_l81
Posty: 51
Rejestracja: 23 listopada 2007, 08:39
Lokalizacja: Brodnica

Post autor: daniel_l81 »

Na pewno wszystko zrobiłaś ? Oj chyba nie, a gdzie masz wpis:

Kod: Zaznacz cały

Alias / /var/www/go1

Vhosty wystarczy tylko wpisywać do

Kod: Zaznacz cały

/sites-available
Po restarcie, Apache sam uaktualnia wpisy w /sites-enabled.

A spróbuj zamiast:

Kod: Zaznacz cały

NameVirtualHost 88.8.111.111:80
wpisać:

Kod: Zaznacz cały

NameVirtualHost *:80

Wydaj jeszcze polecenie:

Kod: Zaznacz cały

a2ensite default
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

Dokładnie, goska_23 czytaj uważnie. Polecam lekturę apache2, nie należy nic grzebać w sites-enabled, chyba, że wie co się robi. Wszystko ustalasz w available tak jak napisał przedmówca.
goska_23
Beginner
Posty: 277
Rejestracja: 04 września 2007, 13:40
Lokalizacja: Katowice

Post autor: goska_23 »

Lekturę o Apache chętnie poczytam, chociaż potrzebowałabym z przykładami, bo gubię się w tym. Póki co, mogę prosić o jakieś linki to poczytam w weekend?

Teraz bardzo zależy mi, żeby na szybko ta jedna stronka uruchamiała mi się z samej domeny bez podkatalogów i za nic mi nie wychodzi.
Teraz mam tak;
httpd.conf

Kod: Zaznacz cały

NameVirtualHost 88.0.111.111:80
<VirtualHost 88.0.111.111:80>
ServerName goskaaa.com
DocumentRoot /var/www/
Alias / /var/www/go1
</VirtualHost>
w /sites-available plik default mam taki:

Kod: Zaznacz cały

NameVirtualHost 88.0.111.111:80
<VirtualHost 88.0.111.111:80>
	ServerAdmin goska@hotmail.com
        ServerName goskaaa.com
         DocumentRoot /var/www/go1
        	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /var/www/go1>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		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 /var/log/apache2/error.log

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

	CustomLog /var/log/apache2/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>

    Alias /phpmyadmin "/var/www/phpmyadmin"

</VirtualHost>
Jak restartuje apache2 to mam komunikat, że:

Kod: Zaznacz cały

NameVirtualHost 88.0.111.111:80 has no VirtualHosts
Próbowałam też *:80 zamiast IP i był też ten komunikat, że nie ma VirtualHosts.

Jak wpiszę:

Kod: Zaznacz cały

[url]http://goskaaa.com[/url] to mi się wyświetla wykaz katalogów z /var/www/go1
[url]http://goskaaa.com/go1[/url] to się wyświetla to co trzeba z /var/www/go1
[url]http://goskaaa.com/go2[/url]   to jest:The requested URL /go2 was not found on this server
[url]http://goskaaa.com/go3[/url] to jest: The requested URL /go3 was not found on this server...
itd. dla /go4

Próbowałam jeszcze kilku innych wpisów w pliku "default" ale też było źle.

Dodane:
Wykonałam jeszcze raz restart apache2 i pozamykałam naDdebianie trochę rzeczy i teraz mi się wyświetla tak jak było przed edycją httpd.conf i default. Czyli jak daję:

Kod: Zaznacz cały

[url]http://goskaaa.com[/url]
to wyświetla mi się ten plik index.html zamiast tego co jest w /var/www/go1.

Czytałam trochę podręcznik systemowy apache 2.2 ale umiem dojść do tego co ma być w tym pliku default?
daniel_l81
Posty: 51
Rejestracja: 23 listopada 2007, 08:39
Lokalizacja: Brodnica

Post autor: daniel_l81 »

Zrób tak:

1. Wyczyść całkowicie plik "httpd.conf"

2. Usuń w pliku /sites-available/default linię:

Kod: Zaznacz cały

NameVirtualHost 88.0.111.111:80

3. Zrestartuj Apacha

Kod: Zaznacz cały

/etc/init.d/apache2 restart

4. Wykonaj polecenie, aby przeładować konfigurację:

Kod: Zaznacz cały

/etc/init.d/apache2 force-reload

5. Dla pewności jeszcze raz zrestartuj Apacha :) i zobacz co pokaża przeglądarka.


W pliku default tworzysz swoje Virtualhosty, patrząc na Twój plik, jest wszystko dobrze, poza właśnie tym wpisem na samej górze, to przez niego masz ten swój błąd.


Jeżeli wszystko zadziała, to teraz powinnaś po wpisaniu http://goskaaa.com mieć wyświetloną zawartość swojego katalogu /var/www/go1

Daj znać co tam Ci wyszło :)
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Tak w ramach OT.
daniel_l81 pisze:Po restarcie, Apache sam uaktualnia wpisy w /sites-enabled.
Od kiedy? Bo jakoś nie zauważyłem nigdy takiego działania. A nawet powiem, że było by niepożądane, żeby Apache robił mi takie myki. Od tego jest:

Kod: Zaznacz cały

a2ensite/a2dissite
ODPOWIEDZ