Apache

Apache 2 dan SSL

Tanggal 08 Aug 2008
Kategori : Aplikasi Linux
Tag : , , , ,

Artikel ini menguraikan langkah demi langkah instalasi dan konfigurasi yang dibutuhkan untuk menggunakan SSL pada Apache HTTP Server anda. Contoh kasus menggunakan SSL yang digunakan adalah self-signed-certificate.

Fasilitas komentar untuk artikel ini dimatikan, feedback dan error yang anda dapatkan saat menjalankan langkah-langkah yang diuraikan disini silahkan diutarakan melalui Forum Magnet http://forum.magnet-id.com/.

Mod SSL dan openSSL

Mod SSL adalah module Apache yang dibutuhkan untuk melayani request SSL pada default port 443. Kita juga membutuhkan openssl (sudah terinstall sebelumnya) untuk mengenerate key dan certificate yang dibutuhkan. Install mod_ssl melalui yum, dan reload apache.

yum install mod_ssl
service httpd reload

Jalankan apachectl -M untuk memastikan mod_ssl sudah diload oleh Apache anda;

apachectl -M
Loaded Modules:
...
ssl_module (shared)
Syntax OK

Generate Keys, CSR dan Certificate

Generate keys dan certificate yang dibutuhkan pada temporary folder untuk kemudian dipindahkan ke folder Apache. Dalam contoh ini kita akan membuat certificate untuk vhost1.magnet-id.com;

mkdir /root/temp && cd /root/temp
openssl genrsa -des3 -rand file1:file1 -out vhost1.key 1024

Kemudian dianjurkan untuk menhapus password key, karena kalau tidak kita harus terlebih dahulu memasukkan password ketika apache atau mesin di restart.

cp vhost1.key vhost1.key.org
openssl rsa -in vhost1.key.org -out vhost1.key

Setelah pasangan key dibuat, kita dapat mengenerate CSR atau Certificate Signing Request. Masukkan informasi yang dibutuhkan, dianjurkan untuk memasukkan commonname sesuai dengan domain yang akan dilayani melalui SSL.

openssl req -new -key vhost1.key -out vhost1.csr
Country Name (2 letter code) [GB]:ID
State or Province Name (full name) [Berkshire]:DKI Jakarta
Locality Name (eg, city) [Newbury]:Jakarta Timur
Organization Name (eg, company) [My Company Ltd]:Magnet
Organizational Unit Name (eg, section) []:Technical
Common Name (eg, your name or your server's hostname) []:vhost1.magnet-id.com
Email Address []:[email protected]

Setelah itu certificate dapat digenerate, untuk self signed certificate dapat dilakukan dengan openssl, sementara untuk memiliki certificate berbayar melalui Certificate Authority (CA) anda dapat menggunakan fasilitas yang disediakan oleh CA Terkait.

Dalam contoh kasus ini kita menggunakan self signed digital certificate melalui perintah;

openssl x509 -req -days 3650 -in vhost1.csr -signkey vhost1.key -out vhost1.crt

Install Certificate

Letakkan key dan crt pada sebuah direktori untuk kemudian dipanggil oleh konfigurasi apache, dalam hal ini direktori yang digunakan adalah /etc/httpd/cert/

mkdir /etc/httpd/cert/
mv /root/temp/vhost1.crt /root/temp/vhost1.key /etc/httpd/cert/

Tambahkan direktif berikut di /etc/httpd/conf/httpd.conf dan reload Apache.

NameVirtualHost 117.103.57.23:443
<VirtualHost 117.103.57.23:443>
  ServerAdmin [email protected]
  DocumentRoot /var/www/vhost1.magnet-id.com/public_html
  ServerName vhost1.magnet-id.com
  ErrorLog /var/log/httpd/ssl.vhost1.magnet-id.com-error_log
  TransferLog /var/log/httpd/ssl.vhost1.magnet-id.com-access_log
  SSLEngine on
  SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
  SSLCertificateFile /etc/httpd/cert/vhost1.crt
  SSLCertificateKeyFile /etc/httpd/cert/vhost1.key
  <Directory "/var/www/vhost1.magnet-id.com/public_html">
    Options Indexes FollowSymLinks
    AllowOverride None
  </Directory>
</VirtualHost>

Silahkan hapus file pada direktori temporer anda apabila semua proses telah selesai dilakukan dengan sukses.

Situs ini dibuat dengan memanfaatkan Teknologi Open Source Wordpress, Nginx, 960 Grid System dan Linux CentOS.
Isi dari situs diutamakan untuk membantu Pengguna Layanan Magnet Hosting dalam memanfaatkan layanannya, disediakan tanpa jaminan, dapat dimanfaatkan, diperbanyak ataupun ditulis kembali dengan resiko masing-masing.
Copyright PT. Indonesia Digital Media © 2008-2009. (Top)