Włącz moduł apache wpisując:
sudo a2enmod ssl
Po włączeniu protokołu SSL, musisz ponownie uruchomić serwer WWW, aby zmiany zostały uznane:
sudo service apache2 restart
Zacznijmy tworząc podkatalog w hierarchii konfiguracji Apache, aby umieścić pliki certyfikatów, które będziemy tworzyli:
sudo mkdir /etc/apache2/ssl
Teraz, gdy mamy lokalizację, aby umieścić nasz klucz i certyfikat, możemy tworzyć je zarówno w krok wpisując:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
Część pytań wygląda mniej więcej tak:
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:New York
Locality Name (eg, city) []:New York City
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Your Company
Organizational Unit Name (eg, section) []:Department of Kittens
Common Name (e.g. server FQDN or YOUR name) []:your_domain.com
Email Address []:[email protected]
Otwórz plik z uprawnieniami roota teraz:
sudo nano /etc/apache2/sites-available/default-ssl.conf
z uwagami usunięte, plik wygląda mniej więcej tak:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin [email protected]
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
</IfModule>
W końcu będzie wyglądać mniej więcej tak. Wpisy zostały zmodyfikowane z oryginalnego pliku:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin [email protected]
ServerName your_domain.com
ServerAlias www.your_domain.com
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /var/www/html>
SSLOptions +StdEnvVars
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
</IfModule>
Zapisz i zamknij plik po zakończeniu. Po skonfigurowaniu naszego hosta wirtualnego z obsługą SSL, musimy go włączyć.
sudo a2ensite default-ssl.conf
Następnie konieczne ponowne uruchomienie Apache, aby załadować nasz nowy plik wirtualnego hosta:
sudo service apache2 restart
to wszystko teraz uruchomić swoją stronę https .. !!
Instalowanie certyfikatu SSL * to nie to samo, co instalowanie samego protokołu SSL. Nie popadaj w leniwy zwyczaj używania "SSL" w znaczeniu "certyfikat SSL". To nie jest to samo, a to tylko dodaje zamieszania i niejasności do twojego pytania. Proszę wyjaśnić, o czym mówisz. – EJP
To pytanie jest trudne do odczytania z powodu złej gramatyki. Zostało to poprawione dwa razy, a ty powróciłeś do niego dwukrotnie. Dlaczego wolisz mieć słabe pytanie? – TRiG
Po pierwsze, jeśli trudno jest przeczytać to pytanie, to w jaki sposób inni programiści uznali to pytanie za pomocne ...? a jeśli jesteś zbyt dobry w gramatyce, to przejdź do english.stackexchange.com, aby odpowiedzieć na inne problemy. Jest to pytanie techniczne z bardzo prostym wyjaśnieniem, a my po prostu potrzebujemy rozwiązania, a nie kwestii poprawionej gramatycznie. Twoje prognozy pokazują, że jesteś zły jako programista. – Ritesh