Configurare Virtual Host in Apache 2 CentOS 6.5

Configurare noua (How To)

Situatie

Se doreste rularea mai multor site-uri pe un singur server. Pentru a avea mai multe site-uri pe un singur server, trebuie configurat Apache 2 sa serveasca paginile HTML din directoare diferite.

Cel mai uzual mod de a servi site-urile multiple este sa permitem accesul pe acelasi port (in cazul de fata 80) si sa se ofere site-ul in functie de ce se solicita.

Solutie

Pasi de urmat

Primul pas este sa mergem in directorul /var/www/ si sa cream 2 directoare diferite.

Pentru usurinta, vom folosi denumirea website1.test si website2.test.

Executam comanda:

mkdir website1.test si website2.test

In directorul website1.test vom crea un fiser de test index.html si vom scrie in el:

<HTML>
 <HEAD>
 <TITLE> TEST ASKIT Website1 </TITLE>
 </HEAD>
 <BODY>
 <H1>TEST ASKIT Website1 OK </H1>
 </BODY>
 </HTML>

In directorul website2.test vom crea un fiser de test index.html si vom scrie in el:

<HTML>
 <HEAD>
 <TITLE> TEST ASKIT Website2 </TITLE>
 </HEAD>
 <BODY>
 <H1>TEST ASKIT Website2 OK </H1>
 </BODY>
 </HTML>

 

Se va modifica fisierul:

 /etc/httpd/conf/httpd.conf

Se va cauta la final, liniile de mai jos:

 

# Use name-based virtual hosting.
 #
 NameVirtualHost *:80
 #
 # NOTE: NameVirtualHost cannot be used without a port specifier
 # (e.g. :80) if mod_ssl is being used, due to the nature of the
 # SSL protocol.
 #
#
 # VirtualHost example:
 # Almost any Apache directive may go into a VirtualHost container.
 # The first VirtualHost section is used for requests without a known
 # server name.
 #
 <VirtualHost *:80>
  ServerAdmin webmaster@dummy-host.example.com
  DocumentRoot /www/docs/dummy-host.example.com
  ServerName dummy-host.example.com
  ErrorLog logs/dummy-host.example.com-error_log
  CustomLog logs/dummy-host.example.com-access_log common
 </VirtualHost>

 

Se vor decomenta liniile ingrosate (se va sterge “#” din fata linei).

 

In acelasi fisier, vom modifica primul virtual host si ii vom da parametrii pentru website-ul 1, apoi vom adauga un alt virtual host pentu site-ul 2.

<VirtualHost *:80>
 ServerAdmin adresaemail@website1.test
 DocumentRoot /var/www/website1.test
 ServerName website1.test
 ErrorLog logs/website1.test-error_log
 CustomLog logs/website1.test-access_log common
 </VirtualHost>

Am ingrosat in text pentru a vedea exact ce trebuie modificat pentru a accesa site-ul website1.test.

Vom adauga si configurarea pentru website2.test

<VirtualHost *:80>
 ServerAdmin adresaemail@website2.test
 DocumentRoot /var/www/website2.test
 ServerName website2.test
 ErrorLog logs/website2.test-error_log
 CustomLog logs/website2.test-access_log common
 </VirtualHost>

 

Dupa ce am modificat fisierul de configurare apache sa contina site-urile virtuale, vom reporni serverul http prin executarea comenzii:

service httpd restart

 

Datorita faptului ca domeniile website1.test si website2.test nu sunt domenii dereale, nu pot fi rezolvate de serverul DNS.

Vom modifica fisierul hosts din “c:windowssystem32driversetchosts” sa contina inregistrarile corecte.

Pentru a edita fisierul hosts urmati pasii de aici:

http://askit.ro/solutii/adaugare-inregistrare-in-fisierul-hosts/ 

Adaugam in fiser:

192.168.0.80 website1.test
192.168.0.80 website2.test

Dupa ce am modificat in fisierul hosts, trebuie sa updatam inregistrarile de DNS.

Pentru updatarea inregistrarii, se vor urma pasii de aici:

http://askit.ro/solutii/cum-sa-faci-clear-dns-cache-os-x-10-9-si-windows/ 

 

Pentru a testa site-urile, se vor deschide doua pagini si se va accesa:

http://website1.test si http://website2.test 

Cand se va accesa primul site, va aparea rezultatul vazut in prima imagine de mai jos si pentru al doilea site, va aparea rezultatul din a doua imagine.

2

3

Tip solutie

Permanent

Voteaza

(50 din 109 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?