Membangun Server Storage Untuk Sharing File Dengan Next Cloud
Selamat pagi para pembaca, kali ini saya akan berbagi bagaimana membangun sebuah server untuk sharing file seperti halnya dropbox atau google drive menggunakan software open source dari Next Cloud. Nextcloud sendiri mempunyai lebih banyak fitur dari pada dropbox dan tentunya gratis atau open source, jadi kita tidak perlu membayar bulanan atau tahunan, kita hanya perlu menyiapkan servernya saja.
Untuk instalasi nextcloud pastikan server Cent OS 8 sobat terhubung dengan internet, karena nanti akan banyak mengunduh file -file yang diperlukan untuk instalasi nextcloud. Untuk mengetahui apakah server sudah terhubung seng internet bisa menggunakan perintah ping. Sebelum melakukan perintah ping anda diharuskan login dulu server centos. Gunakan user root dan password yang sudah dibuat sebelumnya saat instalasi Cent OS 8. Step by step atau langkah urutannya sebagai seperti dibawah ini :
Cek Koneksi Internet
# ping google.com
Apabila terdapat respon seperti gambar diatas, maka server sudah terhubung dengan internet, untuk menghentikan proses ping tekan CTRL + C. Selanjutnya instalasi nextcloud. Untuk instalasi nextcloud pada centos komponen yang diperlukan adalah sebagai berikut :
- MariaDB
- PHP 7.3 atau diatasnya
- Apache 2.4 dengan mod_php module
Update Cent OS 8
Sebelum instalasi sistem CentOS 8 perlu di update secara keseluruhan agar paket-paket dari CentOS 8 terupdate ke versi terbaru. Untuk melakukan update lakukan perintah seperti dibawah ini :
# yum –y update
Apabila sudah tampil pesan Complete! Seperti gambar diatas artinya proses update paket CentOS 8 sudah terupdate ke versi terbaru. Selanjutnya intsall yum-utils. Untuk install yum-utils jalankan perintah berikut :
# yum install yum-utils –y
Setting Firewall di Cent OS 8
Selanjutnya yaitu menonaktifkan fitur firewalld dan selinux , fitur ini berpotensi menggagalkan instalasi nextcloud karena terkait keamanan dalam sistem linux centos, sehingga perlu di nonaktifkan atau disable. Untuk melakukan disable filewald jalankan perintah berikut :
# systemctl stop firewalld
# systemctl disable firewalld
Sedangkan untuk disable selinux jalankan perintah sebagai berikut :
# vi /etc/selinux/config
Tekan tombol i untuk melakukan edit, akan muncul pesan INSERT di baris paling bawah artinya sudah bisa melakukan perubahan.
ganti baris enforcing menjadi disabled,
lalu tekan tombol esc, maka pesan INSERT di baris paling bawah akan hilang, selanjutnya ketik :wq untuk melalukan penyimpan dan tekan enter untuk mengakhiri perintah selinux. Selanjutnya hidupkan ulang server dengan melakukan perintah # reboot
Installasi Database MariaDB
Tahap selanjutnya yaitu instalasi database MariaDB, untuk melakukan instalasi database MariaDB lakukan perintah berikut :
# yum –y install mariadb mariadb-server
Apabila sudah tampil pesan Complete! Seperti gambar diatas artinya proses instalasi berhasil. Selanjutnya aktifkan mariadb agar dapat berjalan setiap sistem booting. Jalankan perintah berikut :
# systemctl start mariadb
# systemctl enable mariadb
Selanjutnya untuk menyelesaikan proses instalasi konfigurasi mariadb saat pertama kali jalankan, lakukan perintah berikut :
# mysql_secure_installation
Biarkan kosong dan tekan tombol Enter untuk melanjutkan
Selanjutnya tekan tombol Y, kemudian masukkan password baru. Pada contoh ini password disamakan dengan login server centos yaitu bulan123456.
Enter root password : bulan123456
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Untuk proses lebih jelasnya bisa perhatikan gambar dibawah ini :
Akan muncul pesan Thanks for using MariaDB, artinya proses instalasi mariadb sudah berhasil. Selanjutnya yaitu membuat database baru dan hak akses untuk nextcloud. Jalankan perintah berikut untuk masuk ke database mariadb :
# mysql -u root -p
Masukkan password yang sebelumnya sudah dibuat yaitu bulan123456.
Sampai disini sudah masuk ke dalam database mariadb, selanjutnya jalankan perintah dibawah ini :
MariaDB [(none)]> CREATE DATABASE nextcloud;
Perintah untuk membuat database baru dengan nama nextcloud.
MariaDB [(none)]> CREATE USER superadmin;
Perintah untuk membuat user baru dengan nama superadmin.
MariaDB [(none)]> SET PASSWORD FOR superadmin =
PASSWORD(“bulan123456”);
Perintah untuk memberi password superadmin.
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO ‘superadmin
‘@’localhost’ IDENTIFIED BY ‘bulan123456’;
Perintah untuk memberi semua akses penuh kepada superadmin .
MariaDB [(none)]> FLUSH PRIVILEGES;
Perintah reload untuk membaca ulang hak akses.
MariaDB [(none)]> \q
Perintah untuk keluar dari database mariadb.
Untuk lebih jelasnya bisa lihat gambar dibawah ini :
Untuk instalasi dan kofigurasi database mariadb sudah selesai. Selanjutnya yaitu install Apache Web Server
Installasi Apache Web Server
Untuk install Apache Web Server jalankan perintah berikut :
# yum install httpd –y
Tunggu sampai proses selesai. Selanjutnya agar apache web server jalan setiap
sistem booting lakukan perintah berikut :
# systemctl start httpd.service
# systemctl enable httpd.service
Installasi instalasi PHP 7
Tahap selanjutnya adalah instalasi PHP 7, pada contoh ini menggunakan php versi 7.3. Untuk instalasi php versi 7.3 perlu menambahkan paket repository di CentOS, yaitu dengan cara menambahkan repository epel dan remi. Repository pihak ketiga ini yang menyediakan paket-paket aplikasi terbaru di Centos. Untuk menambahkan repository epel jalankan perintah berikut :
# yum install epel-release
Ketik tombol Y untuk melanjutkan instalasi, selanjuntnya untuk i nstalasi repository remi jalankan perintah berikut :
# rpm –Uvh http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Selanjutnya jalankan perintah berikut untuk mengaktifkan php versi 7.3
# dnf module enable php:remi-7.3
Ketik tombol Y kemudian Enter untuk melanjutkan proses instalasi. Selanjutnya install komponen php yang diperlukan, jalankan perintah berikut ini :
# yum -y install php php-mysql php-opcache php-xml php-mbstring phppecl-zip php-gd php-curl php-mysqlnd
Setelah proses instalasi selesai, secara default nextcloud hanya mampu mengupload file sebesar 2MB, oleh karena itu perlu diubah dan dinaikkan menjadi 10GB. Untuk mengubah ukuran pengunggahan file hingga 10GB adalah dengan cara mengkonfigurasi post_max_size dan upload_max_filesize pada/etc/php.ini. Jalankan kedua perintah berikut ini :
# sed -i “s/post_max_size = 8M/post_max_size = 10000M/” /etc/php.ini
# sed –i “s/upload_max_filesize = 2M/upload_max_filesize = 10000M/” /etc/php.ini
Terakhir restart Apache web server agar semua konfigurasi yang sudah lakukan dapat berjalan. Jalankan perintah dibawah ini :
# systemctl restart httpd
Installasi Nextcloud
Setelah semua komponen yang diperlukan nextcloud terinstall, selanjutnya install wget agar dapat download nextcloud. Jalankan perintah berikut ini :
# yum install wget
Ketik Y untuk menlanjutkan instalasi wget. Setelah instalasi wget selesai, selanjutnya download nextcloud versi 19 dari situs resminya. Jalankan perintah dibawah ini :
# wget https://download.nextcloud.com/server/releases/nextcloud-19.0.0.zip
Selanjutnya file hasil download tersebut di ekstrak ke direktori /var/www/html dimana direktori tersebut adalah direktori root dari apache web server. Untuk dapat melakukan ekstraksi perlu install unzip, jalankan perintah dibawah ini :
# yum install unzip
Setelah selesai install unzip jalankan perintah dibawah ini untuk ekstrak nextcloud ke direktori apache web server :
# unzip nextcloud-19.0.0.zip -d /var/www/html/
Selanjutnya beri hak akses folder nextcloud pada user dan grup apache web server, user dan grup default ini nantinya yang bertanggung jawab menjalankan layanan webserver di centos 8.
# chown -R apache:apache /var/www/html/nextcloud/
Kemudian akses nextcloud melalui browser komputer klien yang terhubung dalam satu jaringan ke alamat
http://192.168.1.250/nextcloud
Tampilan awal konfigurasi nextcloud adalag sebagai berikut :
Pada konfigurasi awal masukkan Username dan Password sebagai user administrator baru untuk Nextcloud. Contoh sebagai berikut :
Username : admin
Password : bulan123456
Kemudian klik pada bagian Storage & database, masukkan konfigurasi database sesuai dengan database Nextcloud yang sudah dibuat sebelumnya, yaitu :
Database user : superadmin
Database password : bulan123456
Database name : nextcloud
Host : localhost
Kemudian klik Finish Setup dan tunggu proses konfigurasi selesai. Untuk lebih jelasnya perhatikan gambar dibawah ini :
Setelah konfigurasi selesai, akan diarahkan ke halaman utama sebagai user administrator dan tampilan halaman utama sebagai berikut :
Nextcloud yang berhasil diinstall masih ada kelemahan, yaitu masih menggunakan protokol HTTP bukan HTTPS, sehingga memiliki celah keamanan terbesar. Protokol HTTP sama sekali tidak menggunakn enskripsi, sehingga data yang berlalu-lalang di jaringan sangat rawan untuk disadap data-data sensitif dari Nextcloud seperti username, password, dan email dari user pengguna. Oleh karena itu disini Nextcloud dikonfigurasi agar support SSL/HTTPS sehingga setiap data-data yang
tersebar di jaringan akan di enkripsi. Pada artikel selanjutkan akan dibahas bagaimana cara installasi dan konfigurasi SSL agar nextcloud diakses melalui protokol HTTPS. Sampai jumpa sobat, semoga bermanfaat.