În acest ghid, vei învăța cum să instalezi un certificat SSL pe Apache, pas cu pas. Instrucțiunile se aplică pentru Apache 2.4, linia de versiuni stabile actuală.
Cuprins
- Cum să generezi un cod CSR pe Apache?
- Instalează un certificat SSL pe Apache
- Testează instalarea SSL
- De unde să cumperi un certificat SSL pentru Apache?
Cum să generezi un cod CSR pe Apache?
Certificate Signing Request, sau simplu CSR, este un fișier text mic care conține informații despre deținerea domeniului și/sau despre companie. Generarea unui CSR este o parte integrantă a procesului de achiziție SSL, iar toate autoritățile de certificare comerciale solicită acest pas de la solicitanții de SSL.
Ai două opțiuni:
- Generează CSR-ul automat folosind generatorul nostru de CSR.
- Urmează tutorialul nostru pas cu pas despre cum să creezi CSR-ul pe Apache.
Instalează un certificat SSL pe Apache
După ce autoritatea de certificare semnează și îți trimite certificatul SSL, îl poți instala în siguranță pe serverul tău Apache. Urmează pașii de mai jos.
Pasul 1: Pregătește fișierele certificatului
Descarcă și extrage fișierele din folderul ZIP primit de la autoritatea de certificare. De obicei vei găsi:
- Fișierul .crt – certificatul tău SSL principal.
- Fișierul .ca-bundle – certificatele intermediare (și cel rădăcină) care formează lanțul de încredere. Acest lanț este necesar pentru ca browserele și aplicațiile să poată verifica certificatul tău. Fără el, unii clienți pot marca site-ul ca nesigur.
Încarcă aceste fișiere, împreună cu cheia privată (.key) generată odată cu CSR-ul, într-un director securizat de pe server, de exemplu /etc/ssl/. Păstrează cheia privată accesibilă doar pentru root (chmod 600).
Recomandat (Apache 2.4.8 și versiuni mai noi): combină certificatul tău și pachetul CA într-un singur fișier „lanț complet”. Începând cu Apache 2.4.8, directiva SSLCertificateFile încarcă certificatele intermediare direct din acest fișier, motiv pentru care vechea directivă SSLCertificateChainFile nu mai este necesară:
cat your_domain.crt your_domain.ca-bundle > your_domain_fullchain.crt
Dacă CA-ul tău a livrat certificatele intermediare ca fișiere separate, concatenează-le mai întâi cu certificatul tău, urmate de cele intermediare ordonate de la cel care a semnat certificatul tău până la rădăcină (certificatul rădăcină în sine este opțional):
cat your_domain.crt intermediate.crt root.crt > your_domain_fullchain.crt
De exemplu, la instalarea unui certificat Sectigo PositiveSSL, ai concatena certificatul domeniului tău cu pachetul intermediar Sectigo. Folosește întotdeauna numele exacte ale fișierelor furnizate de CA-ul tău.
Pasul 2: Activează modulul SSL (mod_ssl)
Înainte de a configura HTTPS, asigură-te că modulul SSL al Apache este activat.
Pe Debian/Ubuntu, activează mod_ssl (și mod_headers, de care vei avea nevoie pentru antetul HSTS la Pasul 4):
sudo a2enmod ssl
sudo a2enmod headers
Pe RHEL/CentOS/AlmaLinux/Rocky Linux, instalează pachetul modulului SSL (modulul se încarcă automat odată instalat):
sudo dnf install mod_ssl
Pasul 3: Localizează fișierul de configurare Apache
În funcție de sistemul de operare și de versiunea Apache, configurația poate fi stocată în fișiere diferite. Caută httpd.conf, apache2.conf, sau un fișier de configurare SSL/site dedicat, în una dintre următoarele locații:
- Debian/Ubuntu: configurația principală /etc/apache2/apache2.conf; configurațiile per-site în /etc/apache2/sites-available/.
- RHEL/CentOS/AlmaLinux/Rocky: configurația principală /etc/httpd/conf/httpd.conf; configurația SSL /etc/httpd/conf.d/ssl.conf.
Notă: Dacă serverul tău Apache rulează pe Ubuntu, poți urma și instrucțiunile noastre dedicate de instalare SSL pentru Ubuntu.
Pasul 4: Configurează gazda virtuală (virtual host)
Mai întâi, fă o copie de rezervă a fișierului tău de configurare curent. Astfel, dacă ceva nu funcționează, poți reveni rapid la modificările anterioare:
sudo cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.backup
Acum deschide fișierul de configurare și configurează gazda virtuală HTTPS (portul 443). O gazdă virtuală completă, modernă, arată astfel:
<VirtualHost *:443>
ServerName www.example.com
ServerAdmin [email protected]
DocumentRoot /var/www/example
SSLEngine on
# Apache 2.4.8+ : certificatul serverului + lanțul intermediar într-UN SINGUR fișier
SSLCertificateFile /etc/ssl/example_com_fullchain.crt
SSLCertificateKeyFile /etc/ssl/example_com.key
# Consolidare TLS recomandată (2026)
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLHonorCipherOrder off
# Spune browserelor să folosească întotdeauna HTTPS. Elimină # din față pentru a activa HSTS,
# dar numai după ce ai confirmat că HTTPS funcționează corect:
# Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
ErrorLog ${APACHE_LOG_DIR}/example_error.log
CustomLog ${APACHE_LOG_DIR}/example_access.log combined
</VirtualHost>
Înlocuiește example.com, directorul rădăcină al documentelor și căile fișierelor cu propriile tale valori. Iată ce fac directivele cheie:
- SSLEngine on – activează SSL/TLS pentru această gazdă virtuală.
- SSLCertificateFile – calea către fișierul cu lanțul complet (certificat + intermediare) creat la Pasul 1. În Apache 2.4.8+, această singură directivă înlocuiește directiva depreciată SSLCertificateChainFile.
- SSLCertificateKeyFile – calea către cheia privată, generată împreună cu CSR-ul.
- SSLProtocol -all +TLSv1.2 +TLSv1.3 – dezactivează protocoalele SSL/TLS vechi și nesigure și permite doar TLS 1.2 și TLS 1.3.
- Strict-Transport-Security (HSTS) – instruiește browserele să se conecteze doar prin HTTPS. Necesită mod_headers (activat la Pasul 2). Activează-l doar după ce ai confirmat că HTTPS funcționează corect.
Asigură-te că niciuna dintre aceste linii nu începe cu # (ceea ce le-ar transforma în comentarii). Pe Debian/Ubuntu, ${APACHE_LOG_DIR} corespunde căii /var/log/apache2; pe sistemele bazate pe RHEL folosește în schimb /var/log/httpd/.
Servere vechi: Dacă utilizezi o versiune Apache mai veche decât 2.4.8, păstrează certificatul și lanțul în fișiere separate și adaugă directiva depreciată SSLCertificateChainFile /etc/ssl/example_com.ca-bundle sub SSLCertificateFile. Pe orice server modern, se preferă abordarea cu lanț complet de mai sus.
Consolidare avansată (opțional): pentru un pachet de cifruri mai puternic și OCSP stapling, generează o configurație personalizată cu generatorul de configurare SSL Mozilla. OCSP stapling necesită și o directivă SSLStaplingCache în configurația globală Apache.
Activează site-ul: Pe Debian/Ubuntu, o gazdă virtuală plasată în /etc/apache2/sites-available/ nu este încărcată până nu o activezi. Dacă ai salvat această configurație ca fișier nou (de exemplu example-ssl.conf), activeaz-o cu:
sudo a2ensite example-ssl.conf
Poți edita în schimb fișierul default-ssl.conf livrat implicit, dar și acesta trebuie activat cu a2ensite default-ssl. Pe RHEL/CentOS/AlmaLinux/Rocky, fișierele din /etc/httpd/conf.d/ se încarcă automat — dar reține că ssl.conf conține deja implicit un bloc <VirtualHost _default_:443> cu un certificat auto-semnat, așa că fie editezi acel bloc, fie adaugi gazda ta virtuală ca fișier separat, precum /etc/httpd/conf.d/yourdomain.conf, pentru a evita două gazde suprapuse pe portul 443.
Pasul 5: Redirecționează HTTP către HTTPS
Pentru a te asigura că vizitatorii ajung întotdeauna la versiunea securizată a site-ului tău, adaugă o a doua gazdă virtuală pe portul 80 care redirecționează permanent tot traficul HTTP către HTTPS:
<VirtualHost *:80>
ServerName www.example.com
Redirect permanent / https://www.example.com/
</VirtualHost>
Pasul 6: Testează configurația și repornește Apache
Testează întotdeauna configurația înainte de a reporni. O eroare de sintaxă poate scoate site-ul tău offline, așa că rulează:
sudo apachectl configtest
Dacă totul este corect, vei vedea:
Syntax OK
Acum aplică modificările reîncărcând Apache (o reîncărcare activează noua configurație fără a întrerupe conexiunile existente):
sudo systemctl reload apache2 # Debian/Ubuntu
sudo systemctl reload httpd # RHEL/CentOS/AlmaLinux/Rocky
Dacă o reîncărcare nu este suficientă, repornește serviciul în schimb (sudo systemctl restart apache2 sau httpd). Pe sisteme mai vechi, fără systemd, folosește sudo apachectl graceful.
Dacă instalarea a fost reușită, felicitări! Site-ul tău este acum securizat cu SSL/TLS.
Testează instalarea SSL
După instalarea certificatului SSL pe Apache, verifică dacă totul funcționează așa cum ar trebui. O scanare instantanee va dezvălui orice erori sau vulnerabilități care ar putea afecta performanța certificatului tău. Folosește instrumentul nostru SSL Checker pentru a verifica starea instalării.
Poți confirma certificatul și lanțul acestuia și direct din linia de comandă:
openssl s_client -connect www.example.com:443 -servername www.example.com
De unde să cumperi un certificat SSL pentru Apache?
Cel mai bun loc pentru a obține un certificat SSL pentru Apache este de la SSL Dragon. Oferim prețuri și reduceri de neîntrecut pentru întreaga noastră gamă de produse SSL și am selectat cu atenție cele mai bune branduri SSL de pe piață pentru a-ți echipa site-ul cu o protecție impenetrabilă. Toate certificatele noastre SSL sunt compatibile cu Apache. Obține acum un certificat SSL!
Ține minte că durata de viață a certificatelor SSL/TLS se reduce constant: valabilitatea maximă scade la 200 de zile în martie 2026, la 100 de zile în 2027 și la doar 47 de zile până în 2029. Cicluri de viață mai scurte înseamnă reînnoiri mai frecvente, deci merită să îți planifici din timp procesul de reînnoire (și automatizarea acestuia).
Întrebări frecvente
SSL (Secure Sockets Layer), înlocuit acum de TLS (Transport Layer Security), este un protocol criptografic care criptează comunicarea între două puncte terminale de rețea, de exemplu un server web precum Apache și browserul unui utilizator.
Pe distribuțiile Debian și Ubuntu, caută în configurație directiva pentru protocolul SSL:grep -ir SSLProtocol /etc/apache2/
Dacă SSL este configurat, vei vedea o ieșire similară cu:/etc/apache2/mods-available/ssl.conf:SSLProtocol +TLSv1.2 +TLSv1.3
Poți confirma și dacă modulul SSL este încărcat în serverul care rulează:apachectl -M | grep ssl
Fișierul de configurare poate fi localizat în locuri diferite în funcție de sistemul de operare și configurația ta. Pe Debian/Ubuntu, verifică /etc/apache2/apache2.conf și fișierele per-site din /etc/apache2/sites-available/. Pe RHEL/CentOS/AlmaLinux/Rocky, verifică /etc/httpd/conf/httpd.conf și /etc/httpd/conf.d/ssl.conf.
SSLCertificateFile indică certificatul serverului tău. Începând cu Apache 2.4.8, același fișier poate conține și certificatele intermediare, astfel servind întregul lanț. SSLCertificateChainFile era vechea modalitate de a furniza acele certificate intermediare separat, dar a fost depreciată începând cu Apache 2.4.8. Pe orice server modern, plasează certificatul și cele intermediare într-un singur fișier și referențiază-l doar cu SSLCertificateFile.
Economisește 10% la certificatele SSL în momentul plasării comenzii!
Eliberare rapidă, criptare puternică, încredere în browser de 99,99%, suport dedicat și garanție de returnare a banilor în 25 de zile. Codul cuponului: SAVE10


