Installasi Nextcloud dengan SSL Let’s Encrypt pada Ubuntu 16.04

Posted by

Instalasi Nextcloud Ubuntu – Postingan kali ini kita akan membahas mengenai installasi Nextcloud pada Ubuntu 16.04. Sedikit penjelasan mengenai Nextcloud, Nextcloud merupakan suite software client-server untuk menciptakan layanan file hosting. Secara fungsional sangat mirip dengan Dropbox, dengan perbedaan fungsional utama adalah bahwa Nextcloud bersifat open-source, dan sehingga memungkinkan siapa saja untuk menginstal dan mengoperasikannya tanpa biaya pada server pribadi.

Disini pasti banyak yang bertanya-tanya, bedanya owncloud dan nextcloud itu apa? secara pengertian dan penggunaan, kedua nya memiliki fungsi yang hampir sama, yaitu untuk media penyimpanan, namun dari segi fitur, Nextcloud jauh lebih unggul dibanding Owncloud karena saat ini Nextcloud memiliki banyak add ons tambahan seperti fitur chat, video call dll. Oke langsung saja kita masuk tahap installasi.

Persiapan

Siapkan 1 buah server berbasis Ubuntu 16.04 64 Bit, kemudian siapkan juga file Nextcloud.zip yang bisa di download di situs resmi nya

wget -c https://download.nextcloud.com/server/releases/latest-12.zip

Selanjutnya extract file zip tersebut

unzip latest.zip

Nanti akan terlihat folder hasil extract bernama nextcloud, salin folder tersebut ke directory /var/www

cp -r nextcloud /var/www/

Installasi Paket yang Dibutuhkan

Lakukan installasi paket-paket yang dibutuhkan untuk konfigurasi nextcloud

apt-get install php7.0-common php7.0-gd php7.0-json php7.0-curl  php7.0-zip php7.0-xml php7.0-mbstring php7.0-mysql mysql-server mysql-client apache2 libapache2-mod-php

Tunggu hingga proses installasi selesai

Pembuatan Database

Nextcloud membutuhkan akses database untuk menangani user yang hendak login serta beberapa policy lainnya

mysql -u root -p
mysql> create database nextcloud;
Query OK, 1 row affected (0.00 sec)
mysql> create user nextcloud@localhost identified by 'password';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on nextcloud.* to nextcloud@localhost identified by 'password';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit

Buat VirtualHost untuk Nextcloud

Pada apache2 ini kita bisa membuat beberapa virtualhost untuk beberapa domain, untuk Nextcloud ini kita akan membuat virtualhost dengan nama domain akses cranzie.rizkypratama.id, lohhh kok cranzie? yaa karena tinggal di kranji, jadi saya buat cranzie supaya lebih keren gtu 😀

Pindah directory ke /etc/apache2/sites-available lalu buat sebuah file bernama nextcloud.conf, kemudian isikan seperti berikut

<VirtualHost *:80>

DocumentRoot “/var/www/nextcloud”

ServerName cranzie.rizkypratama.id

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /var/www/nextcloud/>

Options +FollowSymlinks

AllowOverride All

<IfModule mod_dav.c>

Dav off

</IfModule>

SetEnv HOME /var/www/nextcloud

SetEnv HTTP_HOME /var/www/nextcloud

Satisfy Any

</Directory>

</VirtualHost>

Pada bagian ServerName sesuaikan dengan nama yang akan kalian gunakan untuk akses, jika sudah, save file nya, kemudian enable kan site nya

a2ensite nextcloud.conf

a2dissite 000-default.conf

Kemudian enable module-module yang diperlukan oleh apache

a2enmod rewrite env headers mime dir ssl setenvif

Jangan lupa ubah kepemilikan directory root /var/www/nextcloud menjadi www-data

chown -R www-data:www-data /var/www/nextcloud

Jika sudah, silakan restart service apache2 nya

/etc/init.d/apache2 restart atau systemctl restart apache2

Selanjutnya coba silakan akses via browser ke alamat cranzie.rizkypratama.id, jika berhasil maka akan muncul tampilan awal nextcloud

 

Silakan isi data-data seperti diatas untuk konfigurasi awal.

Dalam kasus sebelum-sebelumnya, apabila akses nextcloud tidak menggunakan port 443 https, biasanya suka muncul error atau bahkan tidak bisa login, nah sekalian aja untuk akses kita buat agar menggunakan port 443 https, untuk SSL yang digunakan kita pakai let’s encrypt saja.

Install SSL Let’s Encrypt

Untuk installasi SSL ini cukup mudah, pertama add repository certbot

add-apt-repository ppa:certbot/certbot

Jika ada piihan, tekan enter untuk melanjutkan, kemudian jalankan update untuk refresh repository

apt-get update

Installasi paket certbot nya

apt-get install python-certbot-apache

Setup SSL Certificate menggunakan certbot

certbot –apache -d cranzie.rizkypratama.id

Nanti akan muncul beberapa pertanyaan, di setujui saja, yang terpenting yaitu ketika ditanyakan apakah ingin dilakukan redirect dari http ke https atau mesti akses ke https saja tanpa redirection, nahh yang ini pilih redirect

Tunggu hingga proses installasi selesai, dan silakan dicoba akses kembali ke alamat cranzie.rizkypratama.id, nanti akan otomatis redirect ke https, berikut tampilan nya setelah menggunakan https

Silakan login dengan username admin yang sudah dibuat sebelumnya, jika berhasil login, berikut tampilan nya

Mungkin cukup sekian tutorial kali ini, semoga bermanfaat

14 comments

    1. iya betul gan, kalau mau pakai lets encrypt mesti ada domain publik dan IP publik juga, namun jika untuk lokal saja bisa tanpa harus menggunakan domain publik, namun jika lokal, tidak bisa pakai lets encrypt gan

    1. Maksudnya penyimpanan ini Data Folder ya mas? secara default ada di file /var/www/nextcloud/data/, ketika pertama kali akses web nya dan setup, otomatis mengarah ke directory tersebut, namun jika ingin diubah juga bisa mas, misal mau diarahkan ke folder /home/nextcloud dll, pastikan saja folder nya permission nya diubah ke 777 dan owner nya www-data:www-data

  1. Gan,

    File video di nextcloud tidak bisa di-embed ya? Saya mau embed (play) videonya di post wordpress.
    Akses lgsg ke url file tidak ada maslaah, video bisa diplay di browser.

    Saya cari2 info, kita mesti disable ini:
    header(‘X-Frame-Options: SAMEORIGIN’); // Disallow iFraming from other domains

    sudah saya comment-out tapi tidak ada efeknya.

    Bisa bantu, gan? Thanks

  2. Gan Rizky,

    Adakah private cloud yg file2 didalamnya bisa kita iframe?
    NextCloud ada X-Frame-Options: sameorigin yg membatasi iframing dari domain berbeda. Jika kita set X-Frame-Options: allow-from https://domainlain,com/ tetap aja ada masalah dg Browser compatiility.

    Saya mau iframing file di NextCloud (atau private cloud lain) ke wordpress post.

    Thanks Gan pencerahannya.

  3. mau nanya gan , kalo enkripsi dari ssl tadi digunakan untuk owncloud degan ip publik yg di dapat dari vpn bisa ??

  4. gan user AD udh sinkrong ama Nextcloud tapi pas user mau ubah password ga keruba password nya di AD giman atuh ?

    1. Kebetulan saya blm pernah sinkronisasi ke AD, tapi ada beberapa kemungkinan
      1. skema Nextcloud hanya melakukan query user dan password saja ke AD, jadi semua perubahan password mesti dilakukan disisi AD, bukan di Nextcloud
      2. konfigurasi authentikasi belum menggunakan akun setara administrator AD

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.