Pemasangan wildcard AlphaSSL dari GlobalSign di CentOS Web Panel (CWP) dengan IP address tunggal sebenarnya tidak sulit. Yang membuat membingungkan, justru ditawarkannya fitur GUI dari CWP untuk instalasi SSL yang saat ini belum berfungsi sempurna (dibandingkan dengan CPanel, misalnya). Dengan perpaduan GUI dan command line, maka akan berjalan lancar. Bagaimana caranya?
Pada tutorial ini diasumsikan menggunakan nama “domain.tld” sehingga wildcard akan menjadi *.domain.tld. Nama subdomain yang akan dibuat adalah alpha.domain.tld dan beta.domain.tld.
Cara Instalasi
1. Masuk ke dashboard CWP sebagai root, tujulah menu Security –> SSL Generator
2. Generate CSR misal sesuai data dibawah. Pastikan memakai wildcard (*.domain.tld)!
CWP CSR
3. Gunakan CSR yang didapat untuk memroses pemesanan & pembayaran wildcard SSL di provider. Jika proses approval lancar maka akan didapatkan sertifikat (.cert) dari GlobalSign untuk alphaSSL.
4. Masuk ke SSH, gantikan isi /etc/pki/tls/certs/*.domain.tld.cert dengan yang didapat dari GlobalSign. Oleh sebab hal yang tidak pasti, editing .cert via GUI CWP akan kembali ke default, maka dari itu gunakan commandline.
[root@linuxaja ~]# cp /etc/pki/tls/certs/*.domain.tld.cert /etc/pki/tls/certs/*.domain.tld.bak [root@linuxaja ~]# nano /etc/pki/tls/certs/*.domain.tld.cert # ubah sesuai .cert dari provider
5. Dari dashboard CWP sebagai root, masuk ke Apache Settings –> SSL Cert Manager, install sertifikat untuk *.domain.tld
6. Buat .bundle secara manual di path /etc/pki/tls/certs/*.domain.tld.bundle dengan struktur mengikuti petunjuk alphaSSL.
-----BEGIN CERTIFICATE----- GlobalSign Root CA Certificate -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- AlphaSSL intermediate Certificate -----END CERTIFICATE-----
Informasi root certificates dan intermediate CA dapat disalin dari https://www.alphassl.com/support/install-root-certificate.html
7. Restart webserver
[root@linuxaja ~]# service httpd restart
Sampai disini HTTPS://domain.tld dan HTTPS://www.domain.tld telah dapat diakses. Namun konfigurasi ini belum mengakomodir wildcard SSL untuk subdomain.
Setelan Wildcard SSL dengan IP Address Tunggal
Sesuai skenario sebelumnya, dikehendaki akses HTTPS untuk subdomain alpha.domain.tld dan beta.domain.tld. Bagaimana penyelesaiannya?
1. Tentu saja langkah pertama membuat subdomain dengan terlebih dulu login ke CWP sebagai klien, bukan root.
Create Subdomain - CWP
2. Masuk ke SSH sebagai root untuk mengubah konfigurasi virtual host SSL. Ini adalah langkah krusial supaya subdomain dapat diakses menggunakan HTTPS.
Contoh konfigurasi SSL vhost untuk domain utama dan subdomain alpha :
[root@linuxaja ~]# cat /usr/local/apache/conf.d/vhosts-ssl.conf Listen 443 NameVirtualHost *:443 # vhost_start domain.tld <VirtualHost *:443> ServerName domain.tld ServerAlias www.domain.tld DocumentRoot /home/webuser/public_html SSLEngine on SSLCertificateFile /etc/pki/tls/certs/*.domain.tld.cert SSLCertificateKeyFile /etc/pki/tls/certs/*.domain.tld.key SSLCertificateChainFile /etc/pki/tls/certs/*.domain.tld.bundle <IfModule mod_suexec.c> SuexecUserGroup webuser webuser </IfModule> <IfModule mod_suphp.c> suPHP_UserGroup webuser webuser suPHP_ConfigPath /home/webuser </IfModule> <Directory "/home/webuser/public_html"> AllowOverride All </Directory> </VirtualHost> # vhost_end domain.tld # vhost_start alpha.domain.tld <VirtualHost *:443> ServerName alpha.domain.tld ServerAlias www.alpha.domain.tld DocumentRoot /home/mindbnet/public_html/alpha SSLEngine on SSLCertificateFile /etc/pki/tls/certs/*.domain.tld.cert SSLCertificateKeyFile /etc/pki/tls/certs/*.domain.tld.key SSLCertificateChainFile /etc/pki/tls/certs/*.domain.tld.bundle <IfModule mod_suexec.c> SuexecUserGroup webuser webuser </IfModule> <IfModule mod_suphp.c> suPHP_UserGroup webuser webuser suPHP_ConfigPath /home/webuser </IfModule> <Directory "/home/mindbnet/public_html/alpha"> AllowOverride All </Directory> </VirtualHost> # vhost_end alpha.domain.tld
Point-point krusial :
- IP address tidak perlu disertakan
- Seluruh path SSLCertificate memakai /etc/pki/tls/certs/
- Data .cert, .key, maupun .bundle tetap tunggal dari *.domain.tld
- Direktori, servername, dan alias disesuaikan dengan subdomain.
3. Restart apache, dan subdomain telah dapat diakses dari HTTPS. Update konten vhost ssl dengan skema yang sama untuk subdomain baru lainnya.
Semoga bermanfaat!