GlobalSign wildcard-AlphaSSL di CentOS Web Panel dengan IP Tunggal

Wildcard SSL by AlphaSSLPemasangan 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

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

Create Subdomain

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!