Cum să configurezi virtual hosts în Apache pe Ubuntu 14.04 LTS: Ghid complet!

Configurarea Virtual Hosts în Apache pe Ubuntu 14.04 LTS

Apache este unul dintre cele mai populare servere web utilizate pentru a servi pagini web dinamice și aplicații web. Una dintre caracteristicile cheie ale Apache este capacitatea sa de a găzdui mai multe domenii sau site-uri web pe un singur server, utilizând același adresă IP și port. Acest lucru este posibil prin intermediul Virtual Hosts.


Tipuri de Virtual Hosts în Apache

Există două tipuri principale de Virtual Hosts în Apache: bazate pe nume și bazate pe IP. Virtual Hosts bazate pe nume folosesc antetul `Host` al cererii HTTP pentru a determina ce site web să servească, în timp ce Virtual Hosts bazate pe IP folosesc adresa IP a cererii.


Pas cu pas: Configurarea Virtual Hosts bazate pe nume pe Ubuntu 14.04 LTS

  1. Crearea structurii de directoare: Prima etapă este să creăm o structură de directoare pentru Virtual Hosts sub directorul `/var/www`. Acest lucru se poate realiza cu comanda:


sudo mkdir -p /var/www/example.com/public_html
sudo mkdir -p /var/www/test.com/public_html

  1. Setarea proprietăților și permisiunilor: Urmează să setăm proprietarul și permisiunile directoriilor create:


sudo chown -R $USER:$USER /var/www/example.com/public_html
sudo chmod -R 755 /var/www

  1. Crearea fișierului index.html: Acum vom crea un fișier index.html pentru fiecare site web în directorul său:


sudo nano /var/www/example.com/public_html/index.html
sudo nano /var/www/test.com/public_html/index.html

  1. Crearea fișierului de configurare Virtual Host: Vom crea un fișier de configurare pentru fiecare site web în directorul `/etc/apache2/sites-available`:


sudo nano /etc/apache2/sites-available/example.com.conf
sudo nano /etc/apache2/sites-available/test.com.conf

  1. Editarea fișierului de configurare Virtual Host: Vom adăuga directivelor necesare în fișierele de configurare:


<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

  1. Activarea fișierelor de Virtual Host: Vom activa fișierele de configurare pentru fiecare site web:


sudo a2ensite example.com.conf
sudo a2ensite test.com.conf

  1. Dezactivarea Virtual Host implicit: Vom dezactiva fișierul de Virtual Host implicit:


sudo a2dissite 000-default.conf

  1. Restartarea Apache: Pentru a aplica schimbările, vom reporni serverul Apache:


sudo service apache2 restart


Descoperă Cum Instalezi WordPress pe Ubuntu 20.04 în Doar Câțiva Pași!
Descoperă toate secretele Composerului în acest ghid complet!
Descoperă cele mai noi funcționalități din PHP 8.1 și cum să le instalezi pe Ubuntu!
Descoperă 50 de Secrete ale Instalării Apache pe Ubuntu!
Top 50 secrete despre instalarea și configurarea Apache pe Ubuntu și Debian!

Testarea și Configurarea SSL/TLS pentru Virtual Hosts

Securizarea conexiunii între server și browser este esențială pentru protejarea datelor și a confidențialității utilizatorilor. Astfel, este recomandat să configurăm SSL/TLS pentru Virtual Hosts.

  1. Instalarea OpenSSL: Pentru a gestiona certificatele SSL/TLS, trebuie să instalăm pachetul OpenSSL:


sudo apt-get install openssl

  1. Generarea certificatelor SSL/TLS: Vom genera un certificat auto-semnat pentru fiecare site web:


sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/example.com/example.com.key -out /etc/apache2/ssl/example.com/example.com.crt

  1. Activarea modulului SSL: Vom activa modulul SSL pentru Apache:


sudo a2enmod ssl

  1. Crearea fișierului de configurare SSL: Vom crea un fișier de configurare pentru fiecare site web:


sudo nano /etc/apache2/sites-available/example.com-ssl.conf
sudo nano /etc/apache2/sites-available/test.com-ssl.conf

  1. Editarea fișierului de configurare SSL: Vom adăuga directivelor necesare în fișierele de configurare:


<VirtualHost *:443>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/example.com/example.com.crt
SSLCertificateKeyFile /etc/apache2/ssl/example.com/example.com.key
</VirtualHost>

  1. Activarea fișierelor de configurare SSL: Vom activa fișierele de configurare pentru fiecare site web:


sudo a2ensite example.com-ssl.conf
sudo a2ensite test.com-ssl.conf
</

```

Concluzii principale (Main takeaways)

  • Apache este un server web popular care poate furniza pagini web dinamice și aplicații web.
  • Virtual host-urile sunt o modalitate de a găzdui mai multe domenii sau website-uri pe un singur server, folosind aceeași adresă IP și același număr de port.
  • Există două tipuri de virtual host-uri: bazate pe nume și bazate pe IP.

Sfaturi (Tips)

  • Pentru a gestiona mai ușor fișierele și permisiunile, utilizați un utilizator non-root cu privilegii sudo.
  • Utilizați nume descriptive pentru fișierele de configurare a virtual host-urilor pentru o mai bună organizare.
  • Inspirați-vă din tutoriale online pentru configurarea erorilor personalizate și a favicon-urilor.

Întrebări frecvente (FAQs)

+++

Î: Am nevoie de un certificat SSL/TLS plătit pentru virtual host-urile mele?

R: Nu neapărat. Puteți folosi certificate auto-semnate pentru testare locală sau pe servere de dezvoltare. Pentru mediile de productie, se recomandă certificate SSL/TLS emise de o autoritate de certificare de încredere.

+++

Î: Pot redirecționa toate cererile HTTP către HTTPS cu o singură regulă de rescriere?

R: Da, puteți utiliza o singură regulă de rescriere pentru a redirecționa toate cererile HTTP către HTTPS. Asigurați-vă că plasați regula în blocul <VirtualHost *:80> al fișierului de configurare a virtual host-ului.

+++

Î: Pot folosi aceeași pagină de eroare personalizată pentru toate website-urile mele?

R: Da, puteți folosi aceeași pagină de eroare personalizată pentru toate website-urile găzduite pe server. Trebuie doar să actualizați calea către fișierul error.html în fiecare fișier de configurare a virtual host-ului.

+++

Î: Dimensiunea favicon.ico contează?

R: Dimensiunea ideală pentru favicon.ico este de 16x16 pixeli. Browserele pot afișa și dimensiuni mai mari sau mai mici, scalând favicon-ul în consecință.

+++

Î: Trebuie să repornesc Apache după fiecare modificare a configurației virtual host?

R: Da, este recomandat să reporniți Apache după orice modificare a fișierelor de configurare a virtual host-urilor pentru ca modificările să intre în vigoare.
```