หากคุณกำลังใช้apache2
งานคุณต้องทำสิ่งต่อไปนี้:
ขั้นตอนที่ 1:ใช้ OpenSSL เพื่อสร้างคีย์ที่ใช้ในการรักษาความปลอดภัยเว็บไซต์ของคุณ คีย์เหล่านี้ใช้เมื่อทำการเข้ารหัสและถอดรหัสการรับส่งข้อมูลไปยังไซต์ที่ปลอดภัยของคุณ
$ openssl genrsa -out mydomain.key 1024
คำสั่งนี้จะสร้างคีย์ส่วนตัว 1024 บิตและวางไว้ในไฟล์ mydomain.key
ขั้นตอนที่ 2:สร้างใบรับรองของคุณเอง
$ openssl req -new -key mydomain.key -x509 -out mydomain.crt
ขั้นตอนที่ 3:เก็บกุญแจส่วนตัวในไดเรกทอรีและใบรับรองในไดเรกทอรี/etc/apache2/ssl.key/
/etc/apache2/ssl.crt/
หมายเหตุ:ssl.key
ไดเรกทอรีจะต้องสามารถอ่านได้เท่านั้นโดยราก
ขั้นตอนที่ 4:ตอนนี้คุณต้องแก้ไขไฟล์ในhttpd.conf
/etc/apache2
ตอนนี้ไฟล์นี้ควรมีเนื้อหาเช่นนี้:
NameVirtualHost *:80
NameVirtualHost *:443
Listen 443
<VirtualHost *:80>
ServerAdmin webmaster@mydomain.com
DocumentRoot /srv/www/htdocs/mydomain
ServerName www.mydomain.com
ServerAlias mydomain.com
</VirtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@mydomain.com
DocumentRoot /srv/www/htdocs/mydomain-secure
ServerName mail.mydomain.com
SSLEngine on
SSLCertificateFile /etc/apache2/ssl.crt/mydomain.crt
SSLCertificateKeyFile /etc/apache2/ssl.key/mydomain.key
</VirtualHost>
<Directory /srv/www/htdocs/mydomain-secure>
SSLRequireSSL
</Directory>
<VirtualHost *:80>
ServerAdmin webmaster@mydomain.com
DocumentRoot /srv/www/htdocs/mydomain
ServerName mail.mydomain.com
RedirectMatch permanent (/.*) https://mail.mydomain.com$1
</VirtualHost>
NameVirtualHost
เลิกใช้แล้วและจะถูกลบใน Apache รุ่นอนาคต ปัจจุบันมันไม่มีอยู่แล้ว 2.Listen 443
สามารถทำให้เกิดปัญหาหาก apache ได้รับการกำหนดค่าให้ฟังบนพอร์ต 443 ซึ่งในการกระจาย linux จำนวนมากเป็นกรณีที่แล้ว เพิ่มเฉพาะเมื่อคุณแน่ใจว่าบรรทัดนี้ไม่ได้กำหนดค่าไว้ที่อื่น