Apache Self Sign Certificate (CentOS)

1. Getting the required software
สำหรับการเข้ารหัส SSL จะต้องมี OpenSSL หรือก็คือ mod_ssl ของ Apache ติดตั้งแค่ครั้งแรกครั้งเดียว

yum install mod_ssl openssl

2. Generate a self-signed certificate

# Generate private key
openssl genrsa -out ca.key 2048

# Generate CSR
openssl req -new -key ca.key -out ca.csr

# Generate Self Signed Key
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

3. หากต้องการย้ายที่จัดเก็บ ให้คัดลอกไฟล์ไปยังตำแหน่งที่ต้องการ

cp ca.crt /etc/pki/tls/certs
cp ca.key /etc/pki/tls/private/ca.key
cp ca.csr /etc/pki/tls/private/ca.csr

4. ตัวอย่างการตั้งค่า VirtualHost

<VirtualHost *:443>
   SSLEngine on
   SSLCertificateFile /etc/pki/tls/certs/ca.crt
   SSLCertificateKeyFile /etc/pki/tls/private/ca.key

   <Directory /var/www/vhosts/yoursite.com/httpsdocs>
      AllowOverride All
   </Directory>
   DocumentRoot /var/www/vhosts/yoursite.com/httpsdocs
   ServerName yoursite.com
</VirtualHost>

5. หากต้องการกำหนด SSL ให้กับ localhost ด้วยก็ให้แก้ไขไฟล์ /etc/httpd/conf.d/ssl.conf โดยกำหนด ca ให้ตรงกับ path ที่สร้างตอนแรก

vi +/SSLCertificateFile /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key

reference : https://wiki.centos.org/HowTos(2f)Https.html