NextCloud adalah file hosting dan file sharing server yang free dan open-source yang diambil dari proyek ownCloud. NextCloud sangat mirip dengan layanan berbagi file lainnya seperti Google Drive, Dropbox dan iCloud.
NextCloud memungkinkan Anda untuk menyimpan file, dokumen, gambar, Film, dan Video dari lokasi terpusat. Dengan NextCloud, Anda dapat berbagi file, kontak, dan media lainnya dengan teman dan klien Anda. NextCloud terintegrasi dengan surat, kalender, kontak, dan fitur lain yang akan membantu tim Anda menyelesaikan pekerjaan mereka lebih cepat dan mudah.
Anda dapat menginstal NextCloud client pada mesin desktop untuk menyinkronkan file dengan server Nextcloud Anda. Desktop clients tersedia untuk sebagian besar sistem operasi termasuk, Windows, macOS, FreeBSD, dan Linux.
Dalam tutorial ini, kami akan menjelaskan cara menginstal NextCloud dan mengamankannya dengan Let’s Encrypt SSL pada Debian 10.
Prasyarat Tutorial
- Server yang menjalankan Debian 10.
- Nama domain yang valid yang menunjuk ke IP server Anda. dalam tutorial ini, kita akan menggunakan domain nextcloud.example.com.
- Masuk sebagai root atau user dengan hak sudo.
Instal Apache, MariaDB dan PHP
NextCloud berjalan di web server , ditulis dalam bahasa PHP dan menggunakan MariaDB untuk menyimpan data mereka. Jadi Anda perlu menginstal Apache, MariaDB, PHP dan paket lain yang diperlukan pada sistem. Anda dapat menginstal semuanya dengan menjalankan perintah berikut:
apt-get install apache2 libapache2-mod-php mariadb-server php-xml php-cli php-cgi php-mysql php-mbstring php-gd php-curl php-zip wget unzip -y
Setelah semua paket diinstal, buka file php.ini dan atur beberapa pengaturan yang disarankan:
nano /etc/php/7.3/apache2/php.ini
Ubah pengaturan berikut:
memory_limit = 512M upload_max_filesize = 500M post_max_size = 500M max_execution_time = 300 date.timezone = Asia/Jakarta
Simpan dan tutup file setelah Anda selesai. Kemudian, mulai layanan Apache dan MariaDB dan memungkinkan mereka untuk memulai setelah sistem reboot dengan perintah berikut:
systemctl start apache2 systemctl start mariadb systemctl enable apache2 systemctl enable mariadb
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Konfigurasi Database untuk NextCloud
Selanjutnya, Anda perlu membuat basis data dan pengguna basis data untuk NextCloud. Untuk melakukannya, masuk ke shell MariaDB dengan perintah berikut:
mysql -u root -p
Berikan kata sandi root Anda saat diminta lalu buat database dan buat user untuk database dengan perintah berikut:
CREATE DATABASE nextclouddb; CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'GantiDenganPassword';
jangan lupa ganti kata “GantiDenganPassword” dengan kata sandi yang kuat.
Selanjutnya, berikan semua hak istimewa ke nextclouddb dengan perintah berikut:
GRANT ALL ON nextclouddb.* TO 'nextclouduser'@'localhost';
Selanjutnya, flush privilege dan keluar dari shell MariaDB dengan perintah berikut:
FLUSH PRIVILEGES; EXIT;
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Download NextCloud
Pertama, kunjungi halaman download NextCloud dan download versi terbaru dari NextCloud. Pada saat menulis artikel ini, versi terbaru dari NextCloud adalah 17.0.1
. Anda dapat mengunduhnya dengan perintah wget
berikut:
wget https://download.nextcloud.com/server/releases/nextcloud-17.0.1.zip
Setelah unduhan selesai, unzip file yang diunduh dengan perintah berikut:
unzip nextcloud-17.0.1.zip
Selanjutnya, pindahkan direktori yang diekstrak ke direktori root web Apache:
mv nextcloud /var/www/html/
Selanjutnya, berikan izin dan kepemilikan yang tepat ke direktori nextcloud dengan perintah berikut:
chown -R www-data:www-data /var/www/html/nextcloud/ chmod -R 755 /var/www/html/nextcloud/
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Konfigurasi Apache untuk NextCloud
Selanjutnya, Anda harus membuat file konfigurasi host virtual Apache untuk melayani NextCloud. Anda dapat membuatnya dengan perintah berikut:
nano /etc/apache2/sites-available/nextcloud.conf
Tambahkan baris berikut:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/nextcloud/ ServerName nextcloud.example.com Alias /nextcloud "/var/www/html/nextcloud/" <Directory /var/www/html/nextcloud/> Options +FollowSymlinks AllowOverride All Require all granted <IfModule mod_dav.c> Dav off </IfModule> SetEnv HOME /var/www/html/nextcloud SetEnv HTTP_HOME /var/www/html/nextcloud </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Simpan dan tutup file setelah Anda selesai. Kemudian, aktifkan file virtual host Apache dan modul lain yang diperlukan menggunakan perintah berikut:
a2ensite nextcloud.conf a2enmod rewrite a2enmod headers a2enmod env a2enmod dir a2enmod mime
Terakhir, restart Apache untuk menerapkan konfigurasi baru:
systemctl restart apache2
Amankan NextCloud dengan SSL Let’s Encrypt
NextCloud sekarang diinstal dan dikonfigurasi. Selanjutnya, disarankan untuk mengamankannya dengan SSL gratis Let’s Encrypt. Untuk melakukannya, instal klien Certbot terlebih dahulu dengan perintah berikut:
apt-get install python-certbot-apache -y
Setelah terinstal, Anda dapat menjalankan perintah berikut untuk menginstal Let’s Encrypt Certificate untuk domain Anda nextcloud.example.com.
certbot --apache -d nextcloud.example.com
Selama instalasi, Anda akan diminta untuk memberikan alamat email Anda dan menerima ketentuan layanan seperti yang ditunjukkan di bawah ini:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Obtaining a new certificate Performing the following challenges: http-01 challenge for nextcloud.example.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/nextcloud-le-ssl.conf Deploying Certificate to VirtualHost /etc/apache2/sites-available/nextcloud-le-ssl.conf Enabling available site: /etc/apache2/sites-available/nextcloud-le-ssl.conf Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Selanjutnya, ketik 2 dan tekan Enter untuk mengunduh dan menginstal sertifikat SSL gratis untuk domain Anda. Setelah instalasi selesai dengan sukses. Anda harus mendapatkan output berikut:
Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/nextcloud.conf to ssl vhost in /etc/apache2/sites-available/ nextcloud-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://nextcloud.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=nextcloud.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem Your cert will expire on 2019-10-22. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Akses Web Interface NextCloud
NextCloud Anda sekarang dikonfigurasikan dan diamankan dengan SSL Let’s Encrypt. Selanjutnya, buka browser web Anda dan ketik URL https://nextcloud.example.com. Anda akan diarahkan ke halaman berikut:
Sekarang, berikan nama pengguna dan kata sandi admin, folder Data, kredensial database yang benar dan klik tombol Finish setup. Anda akan dialihkan ke dasbor NextCloud di halaman berikut:
Pada poin ini, NextCloud sudah terinstall dan sudah dapat Anda gunakan.
Kesimpulan
Selamat! Anda telah berhasil menginstal dan mengamankan NextCloud dengan Let’s Encrypt Free SSL di Debian 10. Sekarang Anda dapat dengan mudah berbagi file, dokumen, dan media dengan pengguna lain menggunakan antarmuka web NextCloud.