Artikel ini memberikan petunjuk langkah demi langkah tentang cara menginstal Apache 2 dengan mod_ssl.
Saya lebih suka menginstal Apache dari sumber, karena memberi saya lebih banyak fleksibilitas pada modul apa yang ingin saya aktifkan atau nonaktifkan, dan saya juga dapat meningkatkan atau menerapkan patch segera setelah dirilis oleh Apache foundation.
1. Unduh Apache
Unduh Apache dari httpd.apache.org. Rilis stabil saat ini adalah 2.2.17.
Setelah Anda mendapatkan URL langsung untuk mengunduh Apache versi stabil terbaru, gunakan wget seperti yang ditunjukkan di bawah ini untuk mengunduhnya langsung ke server Anda.
cd ~ wget http://www.eng.lsu.edu/mirrors/apache//httpd/httpd-2.2.17.tar.gz tar xvfz httpd-2.2.17.tar.gz
2. Instal Apache dengan SSL/TLS
Lihat semua opsi instalasi dan konfigurasi Apache yang tersedia seperti yang ditunjukkan di bawah ini.
cd httpd-2.2.17 ./configure --help
Untuk menginstal modul Apache, Anda biasanya akan mengatakan –enable-{module-name}. Misalnya, untuk menginstal SSL dengan Apache, itu adalah –enable-ssl. Untuk menginstal modul ldap adalah –enable-ldap.
Untuk menghapus modul default apa pun yang disertakan dengan Apache, Anda biasanya akan mengatakan –disable-{module-name}. Misalnya, untuk menonaktifkan otentikasi dasar di Apache, itu adalah –disable-auth-basic
Dalam contoh ini, kita akan menginstal Apache dengan semua modul default, dengan tambahan –enable-ssl (untuk menginstal mod_ssl untuk dukungan SSL), dan –enable-so, yang membantu memuat modul di Apache selama run-time melalui Dynamic Shared Mekanisme objek (DSO), daripada membutuhkan kompilasi ulang.
./configure --enable-ssl --enable-so make make install
Catatan :Secara default di atas menginstal Apache di bawah /usr/local/Apache2. Jika Anda ingin mengubah lokasi ini, gunakan opsi –prefix di ./configure.
3. Aktifkan SSL di httpd.conf
File konfigurasi Apache httpd.conf terletak di bawah /usr/local/apache2/conf.
Batalkan komentar pada baris Sertakan httpd-ssl.conf di file /usr/local/Apache2/conf/httpd.conf.
# vi /usr/local/apache2/conf/httpd.conf Include conf/extra/httpd-ssl.conf
Lihat httpd-ssl.conf untuk meninjau semua konfigurasi SSL default. Untuk sebagian besar kasus, Anda tidak perlu mengubah apa pun dalam file ini.
vi /usr/local/apache2/conf/extra/httpd-ssl.conf
Sertifikat dan kunci SSL diperlukan sebelum kita memulai Apache. File server.crt dan server.key yang disebutkan dalam httpd-ssl.conf perlu dibuat sebelum kita melanjutkan.
# egrep 'server.crt|server.key' httpd-ssl.conf SSLCertificateFile "/usr/local/apache2/conf/server.crt" SSLCertificateKeyFile "/usr/local/apache2/conf/server.key"
4. Buat file server.crt dan server.key
Pertama, Buat server.key menggunakan openssl.
cd ~ openssl genrsa -des3 -out server.key 1024
Perintah di atas akan meminta kata sandi. Pastikan untuk mengingat kata sandi ini. Anda memerlukan ini saat memulai Apache nanti.
Jika Anda tidak memberikan kata sandi, Anda akan mendapatkan pesan kesalahan berikut.
2415:error:28069065:lib(40):UI_set_result:result too small:ui_lib.c:849:You must type in 4 to 8191 characters
Selanjutnya, buat file permintaan sertifikat (server.csr) menggunakan file server.key di atas.
openssl req -new -key server.key -out server.csr
Terakhir, buat sertifikat ssl yang ditandatangani sendiri (server.crt) menggunakan file server.key dan server.csr di atas.
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Untuk detail lebih lanjut, lihat:Cara Membuat Kunci SSL, CSR, dan Sertifikat yang Ditandatangani Sendiri Untuk Apache
5. Salin server.key dan server.crt
Salin file server.key dan server.crt ke lokasi direktori konfigurasi Apache yang sesuai.
cd ~ cp server.key /usr/local/apache2/conf/ cp server.crt /usr/local/apache2/conf/
6. Mulai apache dan verifikasi SSL
Jalankan Apache seperti yang ditunjukkan di bawah ini.
/usr/local/apache2/bin/apachectl start
Ini akan meminta Anda untuk memasukkan kata sandi untuk kunci pribadi Anda.
Apache/2.2.17 mod_ssl/2.2.17 (Pass Phrase Dialog) Some of your private key files are encrypted for security reasons. In order to read them you have to provide the pass phrases. Server www.example.com:443 (RSA) Enter pass phrase: OK: Pass Phrase Dialog successful.
Secara default Apache SSL berjalan pada port 443. Buka browser web dan verifikasi bahwa Anda dapat mengakses Apache Anda menggunakan https://{your-ip-address}