1. Спочатку встановіть apache2
sudo apt-get install apache2
2. Потім встановіть ssl-сертифікат
sudo apt-get install ssl-cert
3. Щоб створити каталог ssl
sudo mkdir /etc/apache2/ssl
4. Жорстке кодування терміну дії сертифіката
sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
5. Встановіть модуль ssl і перезавантажте apache (якщо не перезавантажується, використовуйте restart)
sudo a2enmod ssl
sudo /etc/init.d/apache2 force-reload
6. Зробіть копію віртуального хоста за замовчуванням
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl
7. Змініть його за допомогою
sudo nano -w /etc/apache2/sites-available/ssl
Як наведено нижче:
NameVirtualHost *:443
<virtualhost *:443>
ServerAdmin webmaster@localhost
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
DocumentRoot /var/www/
<directory />
Options FollowSymLinks
AllowOverride None
</directory>
<directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# Ця директива дозволяє нам мати сторінку запуску apache2 за замовчуванням
# у /apache2-default/, але при цьому / переходить у правильне місце
# Закоментовано для Ubuntu
#RedirectMatch ^/$ /apache2-default/
</directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<directory "/usr/lib/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</directory>
ErrorLog /var/log/apache2/error.log
# Можливі значення: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
Alias /doc/ "/usr/share/doc/"
<directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</directory>
</virtualhost>
8. Увімкніть віртуальний хост SSL
sudo a2ensite ssl
sudo /etc/init.d/apache2 reload
9. Змініть файл за замовчуванням для http
sudo nano -w /etc/apache2/sites-available/default.
Додайте наступне у файл:
NameVirtualHost *:80
<virtualhost *:80>
10. Перезапустіть сервер apache
sudo /etc/init.d/apache2 restart
Усунення несправностей:
Якщо це все ще не працює, вам потрібно перевірити на помилку:
ssl_error_rx_record_too_long and Apache SSL
і виконайте таку команду:
a2ensite default-ssla2ensite default-ssla2ensite default-sslsudo a2ensite default-ssl
