Đầu tiên chúng ta hãy xem liệu Apache 2 đã có mô-đun SSL được nạp chưa.
apache2ctl -M | grep ssl
nếu kết quả của lệnh trên là:
ssl_module (shared)
Nếu không, chúng ta cần nạp Mô-đun SSL:
a2enmod ssl
Đầu ra của lệnh đó sẽ như sau:
Considering dependency setenvif for ssl:
Module setenvif already enabled
Considering dependency mime for ssl:
Module mime already enabled
Considering dependency socache_shmcb for ssl:
Enabling module socache_shmcb.
Enabling module ssl.
See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create self-signed certificates.
To activate the new configuration, you need to run:
service apache2 restart
Và bây giờ chúng tôi sẽ khởi động lại Apache:
service apache2 restart
2. Thiết lập môi trường và tạo chứng chỉ SSL
Tạo một thư mục để lưu trữ chứng chỉ và khóa máy chủ:
mkdir /etc/apache2/ssl
Tạo SSL thông qua OpenSSL bằng lệnh sau:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
Lệnh trên tạo khóa 2048 bit và CRT. Đầu ra của lệnh trên sẽ dẫn đến những câu hỏi sau đây:
Generating a 2048 bit RSA private key
…………+++
………..+++
writing new private key to ‘/etc/apache2/ssl/apache.key’
—–
You are about to be asked to enter information that will be incorporated into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [AU]: US
State or Province Name (full name) [Some-State]: Michigan
Locality Name (eg, city) []: Lansing
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Liquid Web
Organizational Unit Name (eg, section) []: KB
Common Name (e.g. server FQDN or YOUR name) []: kb.thebestfakedomainnameintheworld.com
Email Address []: email@abcd.com
3. Thêm chứng chỉ SSL Self-signed vào Apache
Private key và CSR được liên kết đã được tạo, chúng ta cần chỉnh sửa tệp cấu hình SSL cho Apache:
vim /etc/apache2/sites-available/default-ssl.conf
Tìm phần:
VirtualHost _default_:443
Sau đó, tìm:
ServerAdmin webmaster@localhost
Và thêm cấu hình Virtual Host sau trên dòng tiếp theo:
ServerName abcd.com:443
(Đảm bảo abcd.com bằng tên miền hoặc địa chỉ IP cho máy chủ ảo của bạn)
4. Kích hoạt Máy chủ ảo
- Kích hoạt máy chủ ảo bằng lệnh:
a2ensite default-ssl
- Sau đó khởi động lại Apache một lần nữa:
service apache2 restart