Setting Konfigurasi SSL di Nextcloud

Selamat siang sobat Indonesia, sebelum setting konfigurasi SSL pada nextcloud pastikan sobat membaca artikel sebelumnya yaitu Membuat Server Cloud Storage Ala Dropbox dengan Nextcloud. Seperti yang sudah dijelaskan sebelumnya, konfigurasi SSL sangat penting untuk dilakukan agar nextcloud dapat diakses melalui protokol HTTPS. SSL yang digunakan adalah tipe Self Signed karena SSL tipe ini gratis untuk digunakan. Kalaupun ada sedikit kekurangan yaitu pada awal pengaksesan Nextcloud nantinya akan muncul peringatan bahwa sertifikat SSL tidak dipercaya. Meskipun demikian hal ini sebenarnya tidak mengurangi tingkat keamanan dari SSL yang diinstalasi. Langkah untuk instalasi dan konfigurasi SSL sebagai berikut :

Instalasi Mod SLL

Paket mod_ssl merupakan salah satu dari modul Apache Web Server yang bertugas untuk proses enkripsi. Jalankan perintah berikut untuk melakukan instalasi SSL :
# yum install mod_ssl

Selanjutnya ketik Y untuk melanjutkan proses instalasi. Tunggu sampai proses instalasi selesai. Jika muncul pesan completed pada baris akhir artinya proses instalasi mod_ssl berhasil. Lebih jelasnya perhatikan gambar dibawah ini :

 

Membuat serfitikat SSL

Langkah selanjutnya yaitu membuat setifikat SSL baru, sertifikat SSL ini memiliki sebuah file privat.key berisi tentang informasi terkait dengan nextcloud yang digunakan oleh browser sebagai kunci utama untuk melakukan proses enkripsi. Teridiri dari kode unik terenkripsi 256 bit dengan kode RSA sepanjang 2048 bit. Sebelum membuat sertifikat baru, buatlah direktori untuk menyimpan serifikat ini. Jalankan perintah berikut untuk membuat direktori baru :

# mkdir /etc/ssl/private
Selanjutnya beri hak akses hanya user root saja yang dapat mengakses direktori private tersebut. Jalankan perintah dibawah ini :
# chmod 700 /etc/ssl/private

Selanjutnya buat sertifikat baru dengan perintah openssl. Jalankan perintah dibawah ini untuk membuat sertifikat baru :
# openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/private-ssl.key -out /etc/ssl/certs/private-ssl.crt
kemudian akan muncul beberapa inputan yang harus diisi terkait dengan informasi nextcloud yang telah di install, sebagai cont oh bisa perhatikan dibawah ini :
Country Name (2 letter code) [XX]:ID
State or Province Name (full name) []:Jawa Tengah
Locality Name (eg, city) [Default City]:Kudus
Organization Name (eg, company) [Default Company Ltd]:Individual
Organizational Unit Name (eg, section) []:Divisi IT
Common Name (eg, your name or your server’s hostname) []:afanin.my.id
Email Address []:lunave94@gmail.com

Untuk hostname bisa diisi nama domain, sehingga nanti nextcloud bisa diakses sesuai dengan nama domain tersebut. Pada direktori /etc/ssl/private sudah terdapat file private-ssl.key dan private-ssl.crt. Selanjutnya openssl digabungkan dengan menggunakan perintah berikut :
# openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Tunggu sampai proses selesai, akan muncul file dhparam.pem pada direktori /etc/ssl/certs yang mana ini sudah dibuat. Selanjutnya isi dari file dhparam.pem ini harus digabungkan dengan sertifikati SSL yang sudah dibuat sebelumnya dengan cara jalankan perintah berikut:
# cat /etc/ssl/certs/dhparam.pem | sudo tee –a /etc/ssl/certs/private-ssl.crt
Hasilnya bisa lihat gambar dibawah ini :

Untuk membuat sertifikat ssl baru sudah selesai, selanjutnya akan mengkonfigurasi ssl nya.

Konfigurasi SLL

Setelah sertifikat SSL selesai dibuat selanjutnya konfigurasi SSL dengan cara mengaktifkan SSL pada virtual host agar nextcloud dapat diakses melalui protokol https. Yang perlu dilakukan adalah mengubah file ssl.conf yang berada di direktori /etc/httpd/conf.d. Untuk mengubahnya jalankan perintah berikut :
# vi /etc/httpd/conf.d/ssl.conf
Selanjutnya tekan tombol i akan muncul pesan -–INSERT– artinya sudah dapat melakukan pengubahan pada file tersebut. Cari baris <VirtualHost_default_:443>, kemudian ubah pada bagian DocumentRoot arahkan ke direktori /var/www/html/nextcloud agar tidak perlu mengakses https://192.168.1.250/nextcloud cukup hanya https://192.168.1.250. Untuk lebih jelasnya bisa perhatikan ganbar dibawah ini :

Selanjutnya cari baris SSLCertificateFile dan SSLCertificateKeyFile kemudian ganti ke file-file sertifikat yang sudah dibuat sebelumnya yaitu menjadi seperti berikut :
SSLCertificateFile /etc/ssl/certs/private-ssl.crt
SSLCertificateKeyFile /etc/ssl/private/private-ssl.key
Untuk lebih jelasnya bisa lihat gambar dibawah ini :

Selanjutnya tekan tombol esc kemudian ketik :wq lalu tekan enter. Perintah tersebut sekaligus keluar dan menyimpan perubahan yang ada pada file ssl.conf. Untuk lebih jelasnya bisa lihat gambar dibawah ini :

Selanjutnya aktifkan sertifikat ssl dengan perintah dibawah ini :
# apachectl configtest
Apabila muncul pesan Syntax OK artinya sertifikat ssl berhasil diaktifkan.  Selanjutnya nyalakan ulang layanan httpd dari apache web server dengan menjalankan perintah berikut :
# systemctl restart httpd.service
Sampai disini nextcloud sudah bisa diakses menggunakan alamat sebagai berikut https://192.168.1.250. Agar nextcloud bisa diakses menggunakan nama domain perlu konfigurasi pada hostname, sebagai contoh menggunakan domain afanin.my.id. Untuk konfigurasi hostname jalankan perintah berikut :
# hostnamectl set-hostname afanin.my.id
Selanjutnya agar akses http langsung diarahkan ke https, perlu dibuatkan vhost pada server. Jalankan perintah berikut untuk membuat vhost :
# vi /etc/httpd/conf.d/vhost.conf
Selanjutnya tekan tombol i akan muncul pesan –INSERT– artinya sudah dapat melakukan pengubahan pada file tersebut dan input script seperti dibawah ini :
<VirtualHost *:80>
DocumentRoot /var/www/html/nextcloud
ServerName afanin.my.id
ErrorLog logs/virtual.hostl-error_log
CustomLog logs/virtual.hostl-acces_log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =afanin.my.id
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
Selanjutnya tekan tombol esc kemudian ketik :wq lalu tekan enter. Perintah tersebut sekaligus keluar dan menyimpan perubahan yang ada pada file vhost.conf lebih jelasnya perhatikan gambar dibawah ini :

Script pada vhost diatas adalah mengarahkan protokol HTTP ke HTTPS, jadi apabila mengakses http://afanin.my.id akan otomatis di arahkan ke https://afanin.my.id. Terakhir yaitu menambahkan hostname ke nextcloud pada direktori /var/www/nextcloud/config/config.php, jalankan perintah
berikut :
# vi /var/www/html/nextcloud/config/config.php
Selanjutnya tekan tombol i akan muncul pesan -–INSERT– artinya sudah dapat melakukan pengubahan pada file config.php, pada bagian bagian trusted_domains tambahkan nama domain seperti dibawah ini :

Seluruh konfigurasi server CentOS deng nextcloud sudah selesai. Saat pertama kali mengakses nextcloud dengan nama domain, akan muncul peringatan Connection is Not Secure. Maka perlu dikonfirmasi bahwa sertifikat ini sebenarnya terpercaya. Pada browser Mozilla caranya dengan memilih Advanced lalu pilih Accept the Risk and Continue. Untuk lebih jelasnya bisa perhatikan gambar dibawah ini :

Jika berhasil tampilan nextcloud akan terbuka seperti dibawah ini :

https://afanin.my.id adalah nama hostname yang sudah dibuat pada server, sehingga alamat tersebut hanya bisa diakses client user yang terhubung dalam satu jaringan. Agar dapat diakses diluar jaringan melalui internet perlu untuk sewa domain kemudian diarahkan ke ip publik milik server tersebut. Sekian tutorial bagaimana cara pasang ssl di nextcloud, semoga bermanfaat, terimakasih

Leave a Reply

Your email address will not be published.