23 март 2016

Lokalni hosting dva sajta - Debian 8/Apache2 konfiguracija


Za razvoj veb aplikacija uglavnom je dovoljna standardna instalacija veb servera, bez dodatnih intervencija. Ali, ukoliko se ukaže potreba za hostovanjem više od jednog sajta na lokalnom serveru, potrebna je malo drugačija konfiguracija.
Naredni primer pokazuje način konfiguracije Apache 2.4.10 veb servera na Debian 8 (64-bit) sistemu, za dva lokalna veb sajta.

Server na kome je testirana ova konfiguracija nazvan je webserver.test.mreza, korisnik je dogriz, a IP adresa je 192.168.0.102.
Zbog jednostavnosti, sajtovi su nazvani sajt1 i sajt2, a tako su kreirani i potrebni direktorijumi u fajl sistemu:
/home/dogriz/www/sajt1/
/home/dogriz/www/sajt1/index.html
/home/dogriz/www/sajt1/logs/

/home/dogriz/www/sajt2/
/home/dogriz/www/sajt2/index.html
/home/dogriz/www/sajt2/logs/

Sadržaj fajla /home/dogriz/sajt1/index.html:
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Sajt 1</title>
</head>
<body>
  <h1>Sajt 1</h1>
  <p>Trenutno se nalazite na sajtu 1</p>
</body>
</html>

Sadržaj fajla /home/dogriz/sajt2/index.html:
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Sajt 2</title>
</head>
<body>
  <h1>Sajt 2</h1>
  <p>Trenutno se nalazite na sajtu 2</p>
</body>
</html>

U narednom koraku proveriću trenutnu konfiguraciju servera:
$ sudo apachectl -t -D DUMP_VHOSTS
VirtualHost configuration:
*:80      webserver.test.mreza (/etc/apache2/sites-enabled/000-default.conf:1)
Po defaultu, apache je podešen da prikaže početnu stranu koja je sačuvana u /var/www/html/index.html i izgleda kao na slici:


Deaktiviraću ovu konfiguraciju:
$ sudo a2dissite 000-default

U direktorijumu /etc/apache2/sites-available/ kreiraću dva konfiguraciona fajla, za moje buduće sajtove.
$ sudo nano /etc/apache2/sites-available/sajt1.conf
<VirtualHost *>
        ServerAdmin webmaster@localhost
        ServerName sajt1
        DirectoryIndex index.html
        DocumentRoot /home/dogriz/www/sajt1/

        #LogFiles
        ErrorLog /home/dogriz/www/sajt1/logs/error.log
        CustomLog /home/dogriz/www/sajt1/logs/access.log combined
</VirtualHost>

$ sudo nano /etc/apache2/sites-available/sajt2.conf
<VirtualHost *>
        ServerAdmin webmaster@localhost
        ServerName sajt2
        DirectoryIndex index.html
        DocumentRoot /home/dogriz/www/sajt2/

        #LogFiles
        ErrorLog /home/dogriz/www/sajt2/logs/error.log
        CustomLog /home/dogriz/www/sajt2/logs/access.log combined
</VirtualHost>

Nakon kreiranja konfiguracionih fajlova, potrebno je aktivirati željene sajtove:
$ sudo a2ensite sajt1
$ sudo a2ensite sajt2
Na ovaj način kreirani su potrebni linkovi u direktorijumu /etc/apache2/sites-enabled/

Poslednja izmena na veb serveru je dodavanje sledećih linija u /etc/apache2/apache2.conf
<Directory /home/dogriz/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

Na kraju preostaje ponovno učitavanje izmenjene konfiguracije veb servera:
$ sudo service apache2 reload

Da bih proverio da li su sajtovi dostupni sa drugog računara u lokalnoj mreži, rekonfigurisaću hosts fajl jer ne koristim DNS server.
Na linuxu to je (dopisao sam odeljak Virtual Hosts):
$ sudo nano /etc/hosts
127.0.0.1       localhost
127.0.1.1       testDesktop

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

#Vitual Hosts
192.168.0.102 sajt1
192.168.0.102 sajt2

Na windowsu, isti fajl se nalazi u C:\Windows\System32\drivers\etc\hosts

Sada u veb pretraživaču mogu da kucam sledeće adrese
http://sajt1 ili http://sajt2


Нема коментара:

Постави коментар