Nextcloud adalah perangkat lunak sumber terbuka yang memungkinkan Anda membuat layanan penyimpanan file pribadi dan publik. Fungsinya mirip dengan Dropbox, Google Drive, atau Mega.nz, namun Anda yang memegang kendali penuh atas data Anda. Awalnya, Nextcloud dikembangkan oleh Frank Karlitschek, pendiri Owncloud. Pada tahun 2016, ia memisahkan diri dari proyek Owncloud dan menciptakan proyek baru bernama “Nextcloud”.
Popularitas Nextcloud terus meningkat, dan fungsinya tak hanya sebatas penyimpanan file. Nextcloud kini menjelma menjadi platform sinkronisasi file dan kolaborasi konten yang handal. Dengan bantuan plugin, Nextcloud dapat menjelma menjadi perangkat lunak kolaborasi yang sangat kuat. Anda dapat menginstal plugin untuk manajemen proyek, konferensi video, pengeditan kolaboratif, pembuatan catatan, klien email, dan masih banyak lagi.
Panduan ini akan menunjukkan cara menginstal Nextcloud pada server Ubuntu 24.04. Kita akan menggunakan LAMP Stack (Linux, Apache, MySQL/MariaDB, dan PHP) untuk menjalankan Nextcloud, lalu mengamankannya dengan HTTPS menggunakan Certbot dan Letsencrypt.
Prasyarat:
- Server Ubuntu 24.04
- Pengguna non-root dengan hak administrator
- Nama domain yang diarahkan ke alamat IP server
- UFW (Uncomplicated Firewall) aktif dan berjalan
Instalasi Dependensi
Pertama, kita perlu menginstal paket dependensi untuk Nextcloud. Kita akan menggunakan LAMP Stack untuk menjalankan Nextcloud, curl
untuk mengunduh kode sumber Nextcloud, dan Certbot
serta Letsencrypt untuk mengamankan Nextcloud dengan HTTPS.
Sebelum memulai, perbarui indeks paket Ubuntu Anda dengan perintah berikut:
Bash
sudo apt update
Selanjutnya, instal dependensi Nextcloud menggunakan perintah apt install
berikut. Ini akan menginstal LAMP Stack (Linux, Apache, MySQL/MariaDB, dan PHP), curl
, unzip
, ImageMagick
, dan certbot
.
Bash
sudo apt install apache2 mariadb-server php php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 php-bcmath php-gmp php-apcu libmagickcore-dev php-redis php-memcached curl unzip imagemagick certbot python3-certbot-apache
Ketik Y
untuk mengonfirmasi instalasi.
Setelah instalasi selesai, periksa status server web Apache menggunakan perintah berikut. Anda akan melihat server web Apache sedang berjalan dan aktif.
Bash
sudo systemctl is-enabled apache2
sudo systemctl status apache2
Sekarang, periksa status server MariaDB dengan perintah berikut. Anda akan melihat output yang menunjukkan MariaDB sedang berjalan.
Bash
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Terakhir, jalankan perintah di bawah ini untuk memeriksa versi PHP sistem Anda. Anda akan melihat PHP 8.3 terinstal.
Bash
php -v
Konfigurasi PHP
Setelah dependensi terinstal, kita perlu mengkonfigurasi PHP dengan mengedit file php.ini
. Anda dapat menyesuaikan konfigurasi PHP sesuai kebutuhan, seperti batas memori maksimum dan ukuran unggahan maksimum.
Buka file /etc/php/8.3/apache2/php.ini
dengan editor nano
.
Bash
sudo nano /etc/php/8.3/apache2/php.ini
Ubah konfigurasi default dengan pengaturan berikut. Pastikan untuk menyesuaikan memory_limit
dengan memori maksimum yang Anda inginkan dan date.timezone
dengan lokasi/zona waktu server Anda.
date.timezone = Asia/Jakarta # Ganti dengan zona waktu Anda
memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 600M
max_execution_time = 300
file_uploads = On
allow_url_fopen = On
display_errors = Off
output_buffering = Off
Setelah selesai, simpan file dan keluar.
Sekarang, jalankan perintah systemctl
berikut untuk memulai ulang server web Apache dan menerapkan konfigurasi PHP baru Anda.
Bash
sudo systemctl restart apache2
Konfigurasi Server MariaDB
Setelah mengkonfigurasi PHP, kita perlu mengkonfigurasi server MariaDB dan membuat database serta pengguna baru untuk Nextcloud. Kita akan mengamankan MariaDB dengan utilitas mariadb-secure-installation
, lalu membuat database dan pengguna baru melalui klien mariadb
.
Melanjutkan Instalasi Nextcloud di Ubuntu 24.04
Menyiapkan Port HTTP dan HTTPS
Pada langkah ini, kita akan membuka port HTTP dan HTTPS untuk memungkinkan akses ke Nextcloud. Pastikan UFW telah dikonfigurasi dan diaktifkan di server Ubuntu Anda.
Untuk membuka port HTTP dan HTTPS di Ubuntu, jalankan perintah ufw
berikut. Profil Apache Full
akan memungkinkan koneksi ke port HTTP dan HTTPS.
Bash
sudo ufw allow 'Apache Full'
sudo ufw reload
Sekarang, verifikasi daftar aturan pada UFW dengan perintah berikut. Pastikan profil Apache Full
diaktifkan di server Ubuntu Anda.
Bash
sudo ufw status
Mengunduh Nextcloud
Setelah mengkonfigurasi PHP, MariaDB, dan UFW, kita akan mengunduh kode sumber Nextcloud dan menyiapkan direktori root dokumen untuk instalasi Nextcloud.
Buka direktori /var/www
dan unduh kode sumber Nextcloud dengan perintah curl
berikut.
Bash
cd /var/www/
sudo curl -o nextcloud.zip https://download.nextcloud.com/server/releases/latest.zip
Setelah diunduh, jalankan perintah unzip
berikut untuk mengekstrak Nextcloud. Ini akan mengatur direktori root Nextcloud ke /var/www/nextcloud
.
Bash
sudo unzip nextcloud.zip
Sekarang, jalankan perintah berikut untuk mengubah kepemilikan direktori /var/www/nextcloud
menjadi pengguna www-data
.
Bash
sudo chown -R www-data:www-data /var/www/nextcloud
Membuat Virtual Host Apache untuk Nextcloud
Setelah mengunduh Nextcloud, kita akan membuat virtual host Apache baru untuk Nextcloud. Kemudian, kita akan menghasilkan sertifikat SSL dan mengamankan Nextcloud dengan HTTPS.
Buat konfigurasi virtual host Apache baru /etc/apache2/sites-available/nextcloud.conf
dengan editor nano
.
Bash
sudo nano /etc/apache2/sites-available/nextcloud.conf
Masukkan konfigurasi berikut dan pastikan untuk mengubah nama domain nextcloud.howtoforge.local
dengan nama domain Anda.
<VirtualHost *:80>
ServerName nextcloud.howtoforge.local # Ganti dengan nama domain Anda
DocumentRoot /var/www/nextcloud/
# log files
ErrorLog /var/log/apache2/nextclouds.howtoforge.local-error.log
CustomLog /var/log/apache2/nextcloud.howtoforge.local-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
</Directory>
</VirtualHost>
Setelah selesai, simpan file dan keluar dari editor.
Sekarang, jalankan perintah berikut untuk mengaktifkan file virtual host nextcloud.conf
dan memverifikasi sintaks Apache Anda. Jika sintaks Apache Anda benar, Anda akan mendapatkan output Syntax is OK
.
Bash
sudo a2ensite nextcloud.conf
sudo apachectl configtest
Selanjutnya, jalankan perintah systemctl
berikut untuk memulai ulang server web Apache dan menerapkan perubahan Anda.
Bash
sudo systemctl restart apache2
Setelah Apache dimulai ulang, jalankan perintah certbot
berikut untuk menghasilkan sertifikat SSL dan mengamankan instalasi Nextcloud Anda dengan HTTPS. Pastikan untuk mengubah nama domain dan alamat email dengan informasi Anda.
Bash
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email user@howtoforge.local -d nextcloud.howtoforge.local # Ganti dengan nama domain dan alamat email Anda
Menginstal Nextcloud
Buka browser web Anda dan kunjungi https://nextcloud.howtoforge.local
. Jika konfigurasi Anda berhasil, Anda akan melihat halaman instalasi Nextcloud.
Pada halaman instalasi Nextcloud, konfigurasikan hal-hal berikut:
- Masukkan nama pengguna dan kata sandi admin untuk Nextcloud
- Pilih jalur penyimpanan sebagai direktori default
- Masukkan detail database Nextcloud yang telah Anda buat
- Klik Install untuk memulai instalasi
Anda dapat menginstal beberapa aplikasi Nextcloud atau klik Skip.
Setelah proses selesai, Anda akan melihat halaman berikut:
Kesimpulan
Selamat! Anda telah menyelesaikan instalasi Nextcloud di server Ubuntu 24.04. Nextcloud telah terinstal dan berjalan dengan LAMP Stack dan diamankan dengan HTTPS melalui Certbot dan Letsencrypt.