Apache virtualhost beállítás

Sziasztok!

Itthonra telepítettem egy apatche, tomcat, mysql, postgresql szervert fejlesztéshez.

Az Apache-ot úgy szeretném megcsinálni, hogy a szerveren van két felhasználó, mindkét felhasználó mappájában egy public_html mappa. Megoldható-e, hogy DNS szerver nélkül legyen két virtual host a két felhasználó könyvtárához, és az elérhető legyen a http://192.168.1.4/... címen?

Hozzászólások

Attól függ hol kell hogy elérhető legyen. Ha csak az illető gépen, akkor /etc/hosts -ba beírod a két virtualhostot, s menni fog. Ha az alhálózaton, és nem sok gép, akkor szintén mindegyik gépen a hosts file a megoldás, egyéb esetben kell a dns szerver. Esetleg wins.

"az elérhető legyen a http://192.168.1.4/... címen?"

Most akkor mindig ugyanaz az IP csak a / utáni rész változik?
Mert akkor gondolom egy egy symlink épp megteszi a megfelelő Directory kiegészítésekkel.

A simlinket hogy tudom megcsinálni?

A következő parancsot alkalmaztam

sudo ln -sd /home/kisspepe/public_html /var/www/kisspepe

Így a var/www/kisspepe/public_html jött létre. Én viszont azt szeretném, hogy ami a /home/kisspepe/public_html könyvtáron belül van az közvetlen jelenjen meg a /var/www/kisspepe mappában

Sziasztok!

Mégis a VirtualHost-al próbálkozok még.

A következő leírás http://www.intermatrix.hu/virtualhost alapján létrehoztam a localhost, és a gépneve virtualhostokat, mely az alap /var/www helyre mutat. Ez jó is. Ezen kívül létrehoztam két másik virtualhostot, mely a két felhasználó home mappájában lévő public_html-re mutat.

A kliens gépen melyen a weboldalakat nézem (Win XP) a host fájlba felvettem a szerver ip címét, és a gépnevet. Így mostmár gépnév alapján megtudom jeleníteni.

Amit nem tudok, hogy hogyan tudom megjeleníteni a két felhasználó mappájában lévő weboldalt?

a http://felhasználónév.szervernév nem működik.

Sziasztok,

olvastam a fórumot és én is elakadtam, Debian-on, ugyan ezekkel a lépés sorozatokkal :(. http://intermatrix.hu/virtualhost

Nekem a server gépemen rendben működik a cím:

http://home-host/

De egy másik gépen nem, csak IP cím alapján találja meg a servet :(

Mit ronthattam el?

Előre is köszi!

KALMI

A webszerveren beállítod a virtualhostot, és megmondod, hogy milyen hostnévre hallgasson. Ezzel a szerveroldalon megvagy. Viszont egy tetszőleges kliens ettől még nem fogja tudni, hogy melyik IP-t szólítsa meg. Ehhez vagy bejegyzed a DNS-be a hostnevet, vagy ha nem akarod, akkor a klienseken egyesével felveszed őket egy listába, ez a hosts file. Ezt tetted meg a szervereden is a leírás alapján:


  127.0.1.1		home-host.home		home-host
  127.0.2.1		site1.home		site1
  127.0.2.2		site2.home		site2
  127.0.2.3		site3.home		site3

Ezért tudja a szervereden futó böngésző, hogy saját magán keresse. Ugyanezt kell megtenned a Windows 7 kliensen is, csak nem 127.0.0.1-gyel, hanem a szerver IP-jével. A hosts file a %systemroot%\system32\drivers\etc\ alatt van.

Na, akkor most már nagyon belebonyolódtam :)

Amit szeretnék az ez "http://drupal.hu/node/13635", hogy legyen egy ilyen hosztom http://enoldalam.hu.loc/

A 6. pontjánál eljutottam és a:
---
Keressünk benne egy ilyen bejegyzést:

# Add domains which you want to force to an IP address here.
# The example below send any host in double-click.net to a local
# web-server.
#address=/double-click.net/127.0.0.1
Írjuk utána egy új sorba a következőt:
address=/loc/127.0.0.1
---
átírtam, de a "ping foobar.loc"

nem történik semmi, nincs ping hiba:"ping: unknown host foobar.loc
"

Ezért próbáltam más beállítást nézni, hogy ha felteszek pl: egy Drupal-t, akkor legyen neki ilyen szép host neve és a kliensgépek is így lássák :).

Akkor tegyük rendbe a dolgokat, ha "http://intermatrix.hu/virtualhost#dom_name" ezt szeretném használni, akkor

192.168.0.12 home-host.home home-host

re kell átírnom, hogy a kliens is lássa, vagy csak a kliensen lehet beállítani? (megjegyzem nem látja a server gépet)

A Drupal-os oldalnál pedig mi lehet a hiba?

Köszönöm!

KALMI

U.I.
A SAMBA serveren renben működik a gép neve... ;)

A kliensen a hosts file-ba értelemszerűen az elérni kívánt hostnevet kell beírnod. Ha enoldalam.hu.loc-ot szeretnél, akkor

192.168.0.12     enoldalam.hu.loc

, ha foobar.loc-ot, akkor

192.168.0.12     foobar.loc

, ha site1.home-ot, akkor

192.168.0.12     site1.home

stb.
Ha a webszervert futtató gépről mint kliensről próbálod elérni, akkor természetesen arra is vonatkozik a fenti.

Amennyiben dnsmasq-ot akarsz használni, akkor a klienseken beállítod, hogy a 192.168.0.12-t használja DNS szerverként, és a konfigba mehet az

  address=/loc/192.168.0.12

vagy

  address=/home/192.168.0.12

Ha a webszervert futtató gépről mint kliensről próbálod elérni, akkor természetesen arra is vonatkozik a DNS szerver megadása. Lásd resolv.conf-ban a nameserver opciót.

Köszönöm a segítséget. Még nem teljesen értem, de rajta vagyok ;)

Amit még nem értek, hogy állítom a hostokat, akkor a phpmyadmin-t, hogy találja meg a /var/www/ alatt? Hol van ez configolva (localhost/phpmyadmin - címen jön elő az oldal)?
Ugyanis, ha /var/www/webacula -t szeretném feltenni, akkor ezt a könyvtárat már nem találja. (localhost/webacula beírásával)

"a phpmyadmin-t, hogy találja meg a /var/www/ alatt? Hol van ez configolva (localhost/phpmyadmin - címen jön elő az oldal)?"
Ha csomagból telepítetted (ezt javasolnám), akkor a /etc/apache2/conf.d/phpmyadmin.conf tartalmazza a vonatkozó konfigrészletet.

"hogy állítom a hostokat"
Hasonlóképpen, mint ahogy az általad linkelt leírás "home-host konfiguráció" részében foglaltak alapján tetted. A virtualhostokat a VirtualHost direktívával. Olvasmány: Name-based Virtual Host Support, illetve Apache Virtual Host documentation.

"ha /var/www/webacula -t szeretném feltenni, akkor ezt a könyvtárat már nem találja. (localhost/webacula beírásával)"
Ilyenkor a felmerülő kérdések: a megfelelő virtualhostot szólítod meg? Jók a /var/www/webacula és az alatta lévő file-ok jogai? Mit látsz a logban? Mi a hibaüzenet? Mi a vonatkozó konfig? stb.

Mindenekelőtt javasolnám a dokumentáció tanulmányozását. Van ott howto, FAQ, és sok más hasznos dolog.

Hát igen! Telepítés és ismerkedés közben belefúttam ezekbe a dolgokba.

Több módszert néztem, teszteltem, de szerintem a webacula telepítésére ez az orosz site a legjobb.

http://ceekay80.blogspot.com/2010/06/baculawebacula-ubuntu-server.html

Ha lefuttatom a tesztet, akkor hibát talál
apache2ctl configtest

---
Syntax error on line 4 of /etc/apache2/sites-enabled/webacula:
AllowOverride not allowed here
Action 'configtest' failed.
The Apache error log may have more information.
---

/etc/init.d/apache2 reload
---
Syntax error on line 4 of /etc/apache2/sites-enabled/webacula:
AllowOverride not allowed here
Action 'configtest' failed.
The Apache error log may have more information.
failed!
---

A kérdéses file tartalma:

---
Alias "/webacula" "/var/www/webacula/html"

Options Indexes FollowSymLinks
AllowOverride All
Order deny,allow
Allow from 127.0.0.1
Allow from 192.168.0.12/255.255.255.0
AuthType Basic
AuthName "Webacula"
AuthUserFile /etc/apache2/webacula.users
Require valid-user
---

Szerintem most ezért nem akar működni a megadott címen a "webacula" - localhost/webacula

U.I.

Kezdem érteni, hogy miért látom a phpmyadmint is ;)

Az első lépés: olvassuk el! Mi itt a hibaüzenet? Ez: "AllowOverride not allowed here"
 
 
Elég furcsa helyeken nézel leírásokat. De ha mégis innen merítettél, akkor bizonyára olvastad az ehhez kapcsolódó kommentet is, és így nem ért meglepetésként ez a hiba: "недопустимые условия использования директивы AllowOverride..."
 
 
És hogy miért? Az dokumentáció külön felhívja rá a figyelmet:
  Context: directory

  Only available in <Directory> sections
  AllowOverride is valid only in <Directory> sections specified without regular expressions, not in <Location>, <DirectoryMatch> or <Files> sections.

És akkor meg is van a hiba oka és magyarázata.
 
 
Meglátásom szerint sokkal célszerűbb lenne, ha az install/apache/webacula.conf tartalmát tekinted meg kiindulási alapként, illetve az egyik, a honlapról linkelt cikket.