Thứ Sáu, 29 tháng 5, 2009

Setup Apache + SSL Dùng VirtualHost


######## Bạn cần tạo CA cho quá trình chứng thực:
- Tạo Keys
+ openssl genrsa -out mydomain.key 1024
- Tạo Certificates
+ Self-Signed Certificates:
openssl req -new -key mydomain.key -x509 -out mydomain.crt
+ Certificate Authority Signed Certificates:
openssl req -new -key mydomain.key -out mydomain.csr

######## Config VirtualHost với SSL Trong Apache
Listen 443
Listen 80
NameVirtualHost <IP>:80
NameVirtualHost <IP>:443

<VirtualHost <IP>:80>

ServerAdmin webmaster@mydomain.com

ServerName www.mydomain.com

ServerAlias mydomain.com

DocumentRoot "/var/www/htdocs/mydomain"

<Directory "/var/www/htdocs/mydomain">

Order allow,deny

Allow from all

</Directory>

</VirtualHost>







<VirtualHost <IP>:443>

ServerAdmin webmaster@mydomain.com

DocumentRoot /var/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 /var/www/htdocs/mydomain-secure>

SSLRequireSSL

</Directory>







<VirtualHost <IP>:80>

ServerAdmin webmaster@mydomain.com

DocumentRoot /srv/www/htdocs/mydomain

ServerName mail.mydomain.com

RedirectMatch permanent (/.*)

https://mail.mydomain.com$1


</VirtualHost>