ugrás a tartalomhoz

Apache virtualhost 2 gépen

inf · 2009. Szep. 22. (K), 16.04
Üdv.

Van egy kicsi hálózatom (2 gép), és szeretném, ha ugyanazokkal az url-eken el lehetne érni mindkét gépről bizonyos oldalakat.

Az egyik gép nyilván a szerver. Itt csináltam virtualhostokat, és a hosts fájlhoz hozzáadtam őket 127.0.0.1-el...

Van egy központi fájlom, ami a projekteket listázza ki. A központi fájl http://localhost néven érhető el, a phpmyadmin meg például http://mysql.loc néven.

A kliens gépen beállítottam a hosts fájlban mindent 192.168.2.124-re, de az összes host alatt csak a localhost tartalmát szolgálja ki. Mi lehet a gond?
 
1

NameVirtualHost

janoszen · 2009. Szep. 22. (K), 20.04
Barátod a NameVirtualHost direktíva.
2

Yepp

inf · 2009. Szep. 23. (Sze), 01.17
Ja, hát használtam azt is, de nem néztem meg a dokumentációt.
Mondjuk most sem néztem meg, de rájöttem, hogy *:80 kell NameVirtualHost-ra, és nem a host neve. Így már működik mindennel, egyedüli kivétel a localhost. Azzal valamiért nem lehet elérni külső gépről. Bármilyen más néven jó eredményt ad.
3

Apache config

janoszen · 2009. Szep. 23. (Sze), 08.13
Pastebinbe dobd föl az Apache confodat, ide írd meg le, melyik gépem milyen IP van és milyen IPn milyen vhostot szeretnél elérni. Legkésőbb este megnézem neked.
4

httpd.conf

inf · 2009. Szep. 23. (Sze), 23.07
Szia!
kb erről van szó:

ServerRoot "c:/wamp/bin/apache/apache2.2.11"
Listen 80

LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule include_module modules/mod_include.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule php5_module "c:/wamp/bin/php/php5.3.0/php5apache2_2.dll"

<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>
User daemon
Group daemon
</IfModule>
</IfModule>

ServerAdmin admin@localhost
ServerName localhost:80
DocumentRoot "C:/Documents and Settings/inf3rno/Asztal/projects/"

<Directory />
    Options FollowSymLinks
    AllowOverride all
    Order deny,allow
    Deny from all
	Allow from all
</Directory>

<IfModule dir_module>
    DirectoryIndex index.php index.php3 index.html index.htm
</IfModule>

<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>

ErrorLog "c:/wamp/logs/apache_error.log"

LogLevel warn

<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
	
    CustomLog "c:/wamp/logs/access.log" common

</IfModule>

<IfModule alias_module>
    ScriptAlias /cgi-bin/ "cgi-bin/"
</IfModule>

<IfModule cgid_module>
    
</IfModule>


DefaultType text/plain

<IfModule mime_module>
    
    TypesConfig conf/mime.types

    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php .php3
	
</IfModule>

Include conf/extra/httpd-autoindex.conf

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

NameVirtualHost *:80
<VirtualHost *:80>  
ServerName localhost
DocumentRoot "C:/Documents and Settings/inf3rno/Asztal/projects/"
</VirtualHost>

NameVirtualHost *:80
<VirtualHost *:80>  
ServerName xxxx.loc
DocumentRoot "C:/Documents and Settings/inf3rno/Asztal/projects/xxxx/"
</VirtualHost>

NameVirtualHost *:80
<VirtualHost *:80>  
ServerName yyyy.loc
DocumentRoot "C:/Documents and Settings/inf3rno/Asztal/projects/yyyy/"
</VirtualHost>

NameVirtualHost *:80
<VirtualHost *:80>  
ServerName mysql.loc
DocumentRoot "c:/wamp/apps/phpmyadmin3.2.0.1/"
</VirtualHost>

hostsban:

localhost,xxxx.loc,yyyy.loc,mysql.loc -hoz van hozzárendelve a 127.0.0.1, a másik gépen pedig 192.168.2.124

Most kb minden megy, egyedül a másik gépről localhost néven nem tudom elérni a szervert, de ha bármilyen más hostnevet választok localhost helyett, akkor működik a dolog.
5

localhost

Poetro · 2009. Szep. 23. (Sze), 23.45
Azért nem éred el, mert a localhost mindig az aktuális gépre fog mutatni, ami a 192.168.2.124, vagy onnan relative nézve a 127.0.0.1.
6

Öhh

inf · 2009. Szep. 24. (Cs), 15.00
Hát ezt nem értem XD
Miben különbözik a localhost a többi névtől? Ugyanúgy a hosts-ban kell megadni, hogy milyen ip tartozik hozzá.

Annyi a különbség, hogy fent megadom serverName-nek. Lehet, hogyha azt átírnám másra, akkor menne :-P
7

Alapértelmezés

Poetro · 2009. Szep. 24. (Cs), 16.49
Abban, hogy alapértelmezetten az a loopback-re van irányítva, azaz saját magára. Persze a hosts-ban gondolom felül lehet ezt a tulajdonságot írni, de lehet, hogy ekkor más szerver jellegű alkalmazások, amik erre építenek rendellenesen fognak viselkedni.
8

Miben különbözik a localhost a többi névtől?

vastagl · 2009. Szep. 24. (Cs), 22.56
Abban hogy ez egy foglalt név három másikkal:
.test
.example
.invalid

és a .localhost

Bővebben az RFC2606 - ban.
A localhost - nak mindig a loopback interfész címét kell vissza adnia, azaz 127.0.0.1 -et IPv4-en vagy ::1 -et IPv6 -on.

Soha ne változtasd meg!
Tény hogy a windows hosts fájljának ez az első bejegyzése, ugyanakkor nincs hatása az átirásának, csak aliast lehet tenni hozzá. Kipróbáltam linuxon, ott el lehet tüntetni a loopback-ot.