Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: 2 hosty, 1 adres IP
Forum PHP.pl > Forum > Serwery WWW > Apache
Goczku
Dobry wieczór wszystkim i dużo szczęścia w Nowym Roku, chciałem się przywitać jako nowy użytkownik na forum.

Sprowadził mnie tu oczywiście problem, jeśli moderacja uzna, że jest zbyt banalny, to proszę przenieść temat do działu Przedszkole.
Pewne zmiany wymusiły na mnie szybkie zapoznanie z Apachem i niestety po kilku dniach prób postanowiłem zgłosić się z problemem na forum.

Sprawa wygląda następująco. Posiadam 2 maszyny wirtualne, jedna działa od wielu lat na Fedorze 14, stoi na niej dotychczasowa wersja strony, nazwijmy ją strona1.moja.domena.pl - stawiał ją kolega i po prostu działa.
Niedawno postawiłem drugą maszynę na Ubuntu 16.04, która ma obsługiwać, póki co testowo nową wersję przygotowywanej strony, będzie to strona2.moja.domena.pl

Tu zaczynają się moje problemy, nie mogę ugryźć tematu współistnienia 2 stron na 2 różnych hostach pod jednym adresem IP [stałym] ale na różnych subdomenach.

Zatrzymałem się na etapie hostów wirtualnych, ale nie wiem co robię źle, ponieważ po wpisaniu w przeglądarce strona2.moja.domena.pl i tak wchodzi strona1

Kiedy wchodzę na stronę2 bezpośrednio przez adres IP:8080 [bo na taki port przekierowałem nową wersję dla testów] to wchodzi nowa wersja.

Jak powinienem to uporządkować. Jakie informacje Wam podać, żebyście mieli pogląd, o ile oczywiście możecie i chcecie pomóc.

Dziękuję i pozdrawiam!
Pyton_000
zamiast adresu IP podaj subdomenę

  1. <VirtualHost strona2.mojadomena.pl:8080>
  2. DocumentRoot "/www/example1"
  3. ServerName www.example.com
  4.  
  5. # Other directives here
  6. </VirtualHost>


Wtedy apache będzie nasłuchiwał wejścia z tej subdomeny na porcie 8080
Goczku
Dziękuję za odpowiedź.

Niestety kiedy korzystam z Twojej porady adres strona2.moja.domena.pl nadal prowadzi na strona1.moja.domena.pl
Na stronę nie można wejść wtedy po adresie IP:8080, przestaje działać także lokalnie.
Coś muszę mieć nagrzebane, ale nie mogę znaleźć co.
W jednym z poradników w necie trafiłem na zapis, że jeśli działa na innym porcie (w przykładzie port 120), to:

Cytat
Musimy jednak pamiętać wtedy o uruchomieniu nasłuchu na tym porcie:

Listen 120

i określić adres IP (* - wszystkie adresy) i port dla wirtualych hostów opartych na nazwach:

NameVirtualHost *:120.


Bez tego nie ruszy?

Czy nazwa pliku konfiguracyjnego strony ma znaczenie? U mnie pozostawiłem standardowe 000-default.conf

Dzięki za zainteresowanie,
pozdrawiam!
Pyton_000
Dodanie
Listen 8080

powinno załatwić sprawę.
Goczku
Powracam z tematem po dziesiątkach prób różnych konfiguracji.
Nie mogę za nic uzyskać dostępu do nowej strony przez wpisanie samego adresu domenowego, muszę wpisać adres IP i port IP:8080, działa również po adresie domenowym i porcie strona2.moja.domena.pl:8080

Nie wiem gdzie szukać przyczyny, może na routerze jest coś źle przekierowane, chociaż próbowałem różnych konfiguracji. Pozwolę sobie przedstawić jak to wygląda teraz, może ktoś znajdzie chwilę na wytknięcie błędów.
Chciałem zrobić to samemu, żeby była satysfakcja, ale widać czegoś tu nie kumam niestety.

Plik /apache2/sites-enabled/000-default.conf:

  1. <VirtualHost *:8080>
  2. # The ServerName directive sets the request scheme, hostname and port that
  3. # the server uses to identify itself. This is used when creating
  4. # redirection URLs. In the context of virtual hosts, the ServerName
  5. # specifies what hostname must appear in the request's Host: header to
  6. # match this virtual host. For the default virtual host (this file) this
  7. # value is not decisive as it is used as a last resort host regardless.
  8. # However, you must set it for any further virtual host explicitly.
  9. #ServerName www.example.com
  10.  
  11. ServerAdmin ja@moja.domena.pl
  12. ServerName strona2.moja.domena.pl
  13. DocumentRoot /var/www/strona/web
  14. <Directory />
  15. Options FollowSymLinks
  16. AllowOverride none
  17. </Directory>
  18. <Directory /var/www/portal/web>
  19. Options Indexes FollowSymLinks MultiViews
  20. AllowOverride All
  21. Order allow,deny
  22. allow from all
  23. Require all granted
  24. </Directory>
  25. # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
  26. # error, crit, alert, emerg.
  27. # It is also possible to configure the loglevel for particular
  28. # modules, e.g.
  29. #LogLevel info ssl:warn
  30.  
  31. ErrorLog ${APACHE_LOG_DIR}/error.log
  32. CustomLog ${APACHE_LOG_DIR}/access.log combined
  33.  
  34. # For most configuration files from conf-available/, which are
  35. # enabled or disabled at a global level, it is possible to
  36. # include a line for only one particular virtual host. For example the
  37. # following line enables the CGI configuration for this host only
  38. # after it has been globally disabled with "a2disconf".
  39. #Include conf-available/serve-cgi-bin.conf
  40. </VirtualHost>
  41. # vim: syntax=apache ts=4 sw=4 sts=4 sr noet


Kiedy gwiazdkę * w zapisie <VirtualHost *:8080> zastąpiłem adresem nowej stronki/adresem IP, to w przeglądarce strona w ogóle się nie ładuje, nie działa też lokalnie.
Dodanie "Listen 8080" na początku pliku również tego nie zmienia.

Konfiguracja pliku ports.conf

  1. # If you just change the port or add more ports here, you will likely also
  2. # have to change the VirtualHost statement in
  3. # /etc/apache2/sites-enabled/000-default.conf
  4.  
  5. Listen 8080
  6.  
  7. <IfModule ssl_module>
  8. Listen 443
  9. </IfModule>
  10.  
  11. <IfModule mod_gnutls.c>
  12. Listen 443
  13. </IfModule>
  14.  
  15. # vim: syntax=apache ts=4 sw=4 sts=4 sr noet




Na routerze mam tak przekierowane połączenie:


  1. /sbin/iptables -t nat -A PREROUTING -p tcp -d mojeIP --dport 8080 -j DNAT --to 10.100.200.203:8080


10.100.200.203 to adres lokalny maszyny wirtualnej, na której stoi nowa wersja stronki.


Będę wdzięczny za obejrzenie konfiguracji i ewentualne porady.
Pozdrawiam!
Pyton_000
No skoro wchodzisz na adres domena.pl:8080 i działa to znaczy że działa... Więc w czym problem...?
Goczku
Bo chciałbym wchodzić po samym adresie czyli strona2.moja.domena.pl bez wpisywania tego portu. Inni ludzie się nie domyślą o co chodzi, kiedy przekażę im adres w takiej formie [z portem].
Pyton_000
Żeby tak wchodzić to musisz ustawić nasłuchiwanie na port 80, każdy inny port musi być przekazany w adresie, a 80 jest domyślnym portem przeglądarki.
Goczku
Dzięki za odpowiedź!

Czyli jeśli na domyślnym porcie 80 działa już strona1.moja.domena.pl, to strona2.moja.domena.pl nie będzie działać inaczej niż poprzez dopisanie numeru portu innego niż 80 do adresu w przeglądarce?

Pozdrawiam!
zegarek84
http://stackoverflow.com/questions/1834220...apache-on-linux

https://httpd.apache.org/docs/2.4/vhosts/examples.html

oczywiście po zmianie wpisów musisz zrestartować apache...
Goczku
Sprawę rozwiązał inny adres IP, którym dysponowałem. Przekierowanie na niego rozwiązało wszystkie problemy smile.gif

Dziękuję wszystkim, dużo się nauczyłem dzięki temu tematowi.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.