Cara Install NextCloud di Ubuntu 22.04 dengan Apache

Apa Itu Nextcloud ?

Cara Install Nextcloud di Ubuntu 22.04 – Nextcloud adalah sebuah web aplikasi berbasis cloud storage atau penyimpanan cloud yang bisa digunakan untuk menyimpan, mengakses, dan berbagi berbagai jenis file dan data secara online. Nextcloud ini hampir mirip dengan layanan penyimpanan data seperti Google Drive atau Dropbox, tetapi yang membuat Nextcloud istimewa adalah kemampuannya untuk di-hosting di server pribadi atau di dalam infrastruktur Anda sendiri.

Fitur-Fitur Nextcloud

  1. Gratis dan open source
  2. Enkripsi end-to-end, artinya file dienkripsi di perangkatmu sebelum diunggah ke server, jadi meskipun ada yang mencuri servermu, mereka tidak akan bisa membaca file-filemu.
  3. Bisa diintegrasikan dengan paket kantor online (Collobora Online, OnlyOffice) jadi bisa langsung bikin dan edit dokumen, presentasi, dan tabel di NextCloud.
  4. Ada toko aplikasi dengan ratusan aplikasi untuk nambah fungsionalitas (macem aplikasi kalender, kontak, catatan, video konferensi, dll).
  5. Aplikasi sinkronisasi tersedia di Linux, macOS, Windows, iOS, dan Android.

Baca Juga : Cara Install Nextcloud dengan PHP-FPM di Ubuntu 22.04

Cara Install Nextcloud dengan Apache di Ubuntu 22.04

Setelah mengetahui apa itu nextcloud dan beberapa fitur andalanya, selanjutnya adalah proses instalasi nextcloud. Pada tutorial kali ini kita akan menggunakan VPS Ubuntu versi 22.04 LTS

Untuk spesifikasi VPS yang akan kita pakai adalah 2 Core vCPU, 4 GB RAM, serta 40GB SSD. Untuk VPSnya sendiri menggunakan provider dari AlibabaCloud Free Trial. Oke,, Jika VPS sudah ada dan siap bertempur, cekidot..

Langkah #1 : Menginstall Apache Web Server

Sebelum memulai proses instal-install, wajib untuk mengupdate dan mengupgrade server terlebih dulu.

sudo apt update & sudo apt upgrade -y

Kemudian install web server Apache. berikut perintahnya.

sudo apt install apache2 -y

Cek status apache dan pastikan statusnya running. Buat juga agar service apache auto running dengan perintah berikut.

sudo service apache2 start
sudo systemctl enable apache2
sudo service apache2 status

Terakhir search IP Publik VPS di address bar browser chrome, edge, firefox, atau browser lain dan pastikan halaman Apache Default Page terbuka seperti ini.

Apache Default Page

Langkah #2 : Menginstall Mariadb Database

Database yang akan kita pakai kali ini adalah Mariadb Server. berikut cara installnya

sudo apt install mariadb-server -y

Setelah berhasil menginstall service mariadb server, jalankan service mariadbnya dan buat agar service mariadb autostart. Terakhir cek status mariadb dan pastikan servicenya aktif.

sudo service mariadb start
sudo systemctl enable mariadb
sudo service mariadb status

Pastikan service mariadb running seperti ini.

Mariadb Status

Langkah #3 : Menginstall PHP8.2 dan Modul Ekstensi

Nextcloud membutuhkan PHP karena aplikasi ini dibangun menggunakan bahasa pemrograman PHP, yang berfungsi untuk menjalankan kode server-side dan menghasilkan antarmuka pengguna serta melakukan pemrosesan data.

Pertama Kita install dulu paket dependensi dengan menambahkan repository ondrej php.

sudo apt update
sudo apt install -y lsb-release gnupg2 ca-certificates apt-transport-https software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

Setelah repository berhasil ditambah, install php8.2 dan modul ekstensinya.

sudo apt install -y imagemagick php-imagick php8.2-common libapache2-mod-php8.2 php8.2-mysql php8.2-fpm php8.2-gd php8.2-curl php8.2-zip php8.2-xml php8.2-mbstring php8.2-bz2 php8.2-intl php8.2-gmp

Terakhir enable modul php8.2 dan reload service apache2

sudo a2enmod php8.2
sudo systemctl reload apache2

Kemudian buat file info.php untuk mengecek php sudah terinstall dengan benar di server kita

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

Lalu search IP Publik VPS di address bar browser dengan atribut info.php. lihat pada gambar dibawah ini

Info PHP – www.awanservers.com

Proses instalasi PHP8.2 sudah berhasil dan selesai. Langkah selanjutnya adalah hapus file info.php untuk menjaga keamanan server.

sudo rm /var/www/html/info.php

Langkah #4 : Mendownload File Master Nextcloud

Untuk mendowload file master nextcloud, Anda bisa mengunjungi web official nextcloud di https://nextcloud.com/install . Di tutorial kali ini kita akan menginstal nextcloud versi terbaru.

cd ~
wget https://download.nextcloud.com/server/releases/latest.zip

kemudian ekstrak dengan unzip

sudo apt install unzip
sudo unzip latest.zip -d /var/www/

Terakhir ubah kepemilikan direktori ke www-data

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

Langkah #5 : Membuat Database dan User untuk Nextcloud

Untuk masuk ke server database MariaDB, Anda bisa menggunakan perintah berikut. Karena MariaDB sekarang menggunakan plugin unix_socket untuk mengautentikasi login, jadi tidak perlu memasukkan password root MariaDB. Cukup tambahkan awalan “sudo” sebelum perintah mysql.

sudo mysql

Kemudian buat database untuk nextcloud, buat juga usernya agar terpisah dari yang lain dan beri akses user agar bisa mengakses databasenya. seperti ini contohnya, pastikan kalian mengganti ‘your-password’ dengan password yang asli.

CREATE DATABASE nextcloud_db;
CREATE USER nextclouduser@localhost identified by 'your-password';
grant all privileges on nextcloud_db.* to nextclouduser@localhost identified by 'your-password';

Terakhir Flush Privileges dan keluar dari konsol mysql.

flush privileges;
exit;

Kurang lebih beginilah prosesnya

Membuat Database - www.awanservers.com
Membuat Database – www.awanservers.com

Langkah #6 : Membuat Apache Virtual Host

Aapache Virtualhost ini yang akan digunakan untuk menyeting nama domain nextcloud, menyeting lokasi root dokumen, dan mengatur konfigurasi keamanan.

Untuk membuat apache virtualhost sendiri caranya adalah sebagai berikut :
Buat file conf di  /etc/apache2/sites-available menggunakan text editor nano atau vim.

sudo nano /etc/apache2/sites-available/nextcloud.conf

Kemudian isikan dengan konfigurasi di bawah ini :

<VirtualHost *:80>
        DocumentRoot "/var/www/nextcloud"
        ServerName nextcloud.awanservers.com

        ErrorLog ${APACHE_LOG_DIR}/nextcloud.error
        CustomLog ${APACHE_LOG_DIR}/nextcloud.access combined

        <Directory /var/www/nextcloud/>
            Require all granted
            Options FollowSymlinks MultiViews
            AllowOverride All

           <IfModule mod_dav.c>
               Dav off
           </IfModule>

        SetEnv HOME /var/www/nextcloud
        SetEnv HTTP_HOME /var/www/nextcloud
        Satisfy Any

       </Directory>

</VirtualHost>

Jika sudah, test kode konfigurasi virtualhost di atas dengan perintah berikut :
Pastikan hasilnya “Syntax Ok”.

sudo apache2ctl configtest

Langkah berikutnya aktifkan virtualhostnya

sudo a2ensite nextcloud.conf

Terakhir restart service apache untuk memuat perubahan.

sudo systemctl reload apache2

Langkah #7 : Mempointing Domain

Langkah wajib yang harus dilakukan selanjutnya adalah mempoiting domain, yaitu mengarahkan ip address ke domain website. Untuk mempointing domain, Anda bisa masuk ke panel domain manajemen tempat Anda membeli domain.

Atau jika Anda menggunakan cloudflare, bisa mempointing domain seperti gambar di bawah ini. Saya rasa untuk domain kontrol selain cloudflare, cara pointingnya sama saja. Tinggal masukkan IP Publik server VPS ke A record domain.

Langkah #8 : Menginstall SSL

Untuk SSL yang akan kita gunakan adalah dari lets encrypt dan menggunakan certbot untuk proses requestnya. Sebelum menginstall SSL, pertama install dulu paket dan dependensi yang diperlukan.

sudo apt install certbot python3-certbot-apache -y

Kemudian request SSL Sertifikat Lets Encrypt dengan perintah seperti ini

sudo certbot --apache --agree-tos --redirect --email [email protected] -d nextcloud.awanservers.com

Pastikan proses request SSL berhasil seperti ini :

Request SSL -www.awanservers.com
Request SSL -www.awanservers.com

Setelah request SSL berhasil, Sekarang website nextcloud Anda sudah menjadi HTTPS. Sertifikat SSL dari Lets Encrypt berlaku selama 90 hari atau 3 bulan. Nantinya setiap kali sertifikat SSL habis masa berlakunya akan otomatis direnew oleh server.

Langkah #9 : Install Nextcloud di Web Browser

Setelah semua proses di atas sudah selesai dilakukan. Langkah selanjutnya adalah melakukan instalasi nextcloud di web browser.

https://namadomain.com
Install Nextcloud di Browser
Install Nextcloud di Browser

Isi username dan password terserah Anda, Untuk bagian configure database pilih MySQL/Mariadb dan isi sesuai nama database, username, dan password yang tadi sudah di buat. Terakhir klik Install.

Kurang lebih begini tampilan awal nextcloud.

Tampilan Awal Nextcloud  - www.awanservers.com
Tampilan Awal Nextcloud – www.awanservers.com

Langkah #10 : Konfigurasi Redis ke Nextcloud

Redis server ini akan berperan sebagai penyimpanan cache. Fungsinya agar mempercepat akses dan respons nextcloud. Karena dengan Redis, Nextcloud dapat mengurangi beban server dan meningkatkan kinerja secara keseluruhan.

Pertama kita install dulu redis servernya

sudo apt install redis-server -y

Kemudian start dan enable autorun service redis dan pastikan statusnya active (running)

sudo systemctl start redis-server
sudo systemctl enable redis-server
sudo systemctl status redis

setelah itu untuk mengkonfigurasi Redis menjadi cache nextcloud, Perlu menginstal ekstensi PHP-Redis agar nextcloud dapat berkomunikasi dengan Redis.

sudo apt install php8.2-redis

Kemudian cek ekstensi redis dan pastikan sudah enable seperti ini.

PHP Redis Status – www.awanservers.com

Kemudian hubungkan redis ke nextcloud agar menjadi cache.

sudo nano /var/www/nextcloud/config/config.php

Tambahkan baris konfigurasi berikut di atas simbol );

'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.local' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
     'host' => 'localhost',
     'port' => 6379,
     ),

Lihat pada gambar dibawah ini ! Taruh di bawah baris ‘installed’ => true,

Redis Netxlcoud – www.awanservers.com

Terakhir restart service php dan nginx

sudo systemctl restart nginx php8.2-fpm

Tambahan & Tips Konfigurasi

Berikut ini adalah beberapa tambahan konfigurasi untuk nextcloud, diantaranya troubleshooting error dan reset password lewat CLI.

A. Reset Password Nextcloud Lewat CLI Command

Masukkan perintah berikut untuk mereset password user nextcloud. Ganti nextcloud_username dengan username asli akun Anda.

sudo -u www-data php /var/www/nextcloud/occ user:resetpassword nextcloud_username

B. Menambah Ukuran Maksimal Upload File

Di sini kita akan mengubah batas maksimal upload file dari yang awalnya 2MB menjadi 1 GB. Berikut caranya.

sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 1024M/g' /etc/php/8.2/php.ini
sudo systemctl restart php8.2-fpm

C. Menggunakan Cron Untuk Background Proses

Secara default, nextcloud menggunakan AJAX untuk memproses setiap task per load page. Agara penggunaan sistem lebih efisien, Anda bisa menggantinya dengan cron proses.

Pertama masuk ke dashboard nextcloud Anda, pergi ke Administration Settings ->Basic Settings kemudian ganti Background Job ke Cron

Kemudian tambahkan cron proses dengan user www-data

sudo -u www-data crontab -e

Tambahkan baris berikut untuk menjalankan cron setiap 5 menit sekali.

*/5 * * * * php8.2 -f /var/www/nextcloud/cron.php

Save dan keluar. Sekarang Background Job nextcloud sudah berganti menggunakan cron.

Penutup

Jadi begitulah Cara Install Nextcloud di Ubuntu 22.04 menggunakan LAMP Stack. Setelah Langkah 1 sampai 9 sudah dilakukan, harusnya server nextcloud Anda sudah berjalan dengan lancar. Terimakasih sudah mengikuti tutorial ini. Untuk informasi lebih lanjut Anda bisa menulis komentar di bawah atau menghubungi saya melalui email di [email protected]

Suka Menulis

You might also like
Cara Install FileGator di Ubuntu Server 22.04 dan 24.04

Cara Install FileGator di Ubuntu Server 22.04 dan 24.04

Cara Menginstall Mattermost di Ubuntu 22.04 Dengan Nginx Proxy

Cara Menginstall Mattermost di Ubuntu 22.04 Dengan Nginx Proxy

Cara Mengamankan Server Ubuntu dari Peretas

Cara Mengamankan Server Ubuntu dari Peretas

Cara Install Nextcloud di Ubuntu 22.04 dengan Nginx

Cara Install Nextcloud di Ubuntu 22.04 dengan Nginx