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.
Leave A Comment?