Nastavení Apache v Ubuntu Gutsy 7.10 pro vývoj PHP aplikací aneb jeden virtualhost jednou provždy
Na Linux jsem na svém notebooku kompletně přešel asi před rokem a půl. Za tu dobu jsem přišel na několik vychytávek, které mi zpříjemňují práci. Jednou z nich je řešení potřeby neřešit neustále konfiguraci virtualhostů pro každý projekt zvlášť.
Jednotlivé projekty mám ve složce ~/www. Uvažoval jsem, jak zařídit, aby projekt umístěný ve složce ~/www/sample_project byl z prohlížeče snadno dosažitelný jako http://sample_project.apache.
Předpokládám, že na počítači již běží běžná instalace Apache.
Instalace DNS serveru – BIND
Nejdříve si nainstalujeme DNS server – použijeme BIND.
$ sudo aptitude install bind9
Nyní nastavíme naši zónu. Reverzní záznam nepotřebujeme. Do souboru /etc/bind/named.conf.local přidáme:
zone "apache" {
type master;
file "/etc/bind/zones/apache.db";
};
Vytvoříme si soubor /etc/bind/zones/apache.db, který bude obsahovat zónový soubor naší nově vytvořené domény apache.
;
; domain.tld
;
apache. IN SOA localhost. root.localhost. (
2006091901 ; Serial no., based on date
21600 ; Refresh after 6 hours
3600 ; Retry after 1 hour
604800 ; Expire after 7 days
3600 ; Minimum TTL of 1 hour
)
apache IN A 127.0.0.1
* IN A 127.0.0.1
@ IN A 127.0.0.1
@ IN NS localhost.
Do souboru /etc/bind/named.conf.options přidáme na konec sekce options:
options {
.
.
.
.
forward first;
forwarders {
192.168.2.1; # adresa DNS serveru, který používáte pro připojení k internetu
192.168.1.1; # adresa DNS serveru, který používáte pro připojení k internetu
};
}
Do souboru /etc/resolv.conf přidáme adresu našeho DNS serveru, aby vyhledávání probíhalo přes něj:
search apache
nameserver 127.0.0.1
Nyní restartujeme BIND:
$ sudo /etc/init.d/bind9 restart
Tím jsme dokončili konfiguraci DNS serveru a nakonfigurujeme ještě Apache.
Konfigurace Apache
Použijeme Apache modul vhost_alias, který je ve standardní instalaci Apache. Jeho konfigurace je v souboru /etc/apache2/mods-available/vhost_alias.load.
LoadModule vhost_alias_module /usr/lib/apache2/modules/mod_vhost_alias.so
UseCanonicalName Off
VirtualDocumentRoot /home/weits/www/%1 # cesta k wwwroot
a vytvoříme symlink, aby se tento modul použil:
$ sudo ln -s /etc/apache2/mods-available/vhost_alias.load
/etc/apache2/mods-enabled/.
Restartujeme apache
$ sudo /etc/init.d/apache2 restart
A máme hotovo.
weits | 13:30, 22.2.2008 | Software | 3 komentářeKomentáře k textu
nedari se nedari…vse jsem udelal dle navodu, ale dnsko neotocim
sudo /etc/init.d/bind9 restart
* Stopping domain name service… bind rndc: connect failed: 127.0.0.1#953: connection refused [fail]
ubuntu 8.04, apache 2.2
stacilo se kouknout do /var/log/daemon.log a ten mi prozradil ze jsem mel chybu v /etc/bind/named.conf.options…
nyni tedy bind9 bezi ovsem kdyz zadam „test.apache“ tak mi to nechce vlezt do ~/www/test …pokud vytvorim ~/www/localhost tak se dostanu jak jinak nez pres adresu „localhost“…problemem je ze si myslim ze mi to dnsko nefunguje protoze to stale chce najit nekde vne misto aby to hledalo vnitrne
cim to muze byt netusis?
diky
No hele nevim, jestli ti to nebeha, tak bych kouknul do /etc/resolv.conf, jestli to fakt bere z toho tvyho bindu. Ja tuhle konfiguraci pouzivam uz dost dlouho a zadny problemy …