Nextcloud

Nextcloud

Nextcloud adalah platform self-hosted cloud storage yang memungkinkan pengguna untuk menyimpan, mengelola, dan berbagi file secara aman melalui internet. Nextcloud dirancang untuk memberikan kontrol penuh atas data pengguna tanpa bergantung pada layanan cloud pihak ketiga. Dengan fitur seperti sinkronisasi file, kolaborasi dokumen real-time, kalender, kontak, dan kemampuan untuk menambahkan aplikasi tambahan, Nextcloud sangat cocok digunakan oleh individu, organisasi, dan perusahaan yang ingin menjaga privasi data mereka.

Sebagai solusi open source, Nextcloud dapat diinstal di server pribadi, VPS, atau perangkat NAS, serta mendukung integrasi dengan berbagai protokol seperti WebDAV, CalDAV, dan CardDAV. Keunggulan utama Nextcloud adalah fleksibilitas, keamanan, dan kemampuan untuk memenuhi kebutuhan kolaborasi modern tanpa meninggalkan kendali data di tangan pihak ketiga.

1. Persyaratan Sistem

System requirements yang direkomendasikan untuk menjalankan Nextcloud v30:

  • Sistem operasi:
    • Ubuntu 22.04 LTS
    • Red Hat Enterprise Linux 9
  • Database:
    • MySQL 8.4
    • MariaDB 10.11
  • Web server:
    • Apache 2.4 dengan mod_php atau php-fpm
  • PHP Runtime:
    • PHP v8.3

Sebelum memulai deploy, siapkan:

  • VPS atau server dengan OS Ubuntu LTS
  • Akses SSH ke server
  • Domain yang sudah diarahkan ke server

2. Persiapan Server

Update sistem

sudo apt update
sudo apt upgrade -y

Install Apache

sudo apt install apache2 -y

Install MariaDB

sudo apt install mariadb-server -y

Pasang repository PPA ondrej/php

sudo add-apt-repository ppa:ondrej/php -y
sudo apt upgrade -y

Install PHP 8.3 dan extension yang dibutuhkan

sudo apt install libapache2-mod-php8.3 php8.3 php8.3-common \
    php8.3-cli php8.3-gd php8.3-xml php8.3-mbstring \
    php8.3-mysql php8.3-curl php8.3-zip php8.3-imagick zlib1g-dev -y

Buka file konfigurasi php.ini

sudo nano /etc/php/8.3/apache2/php.ini

Ubah nilai memory_limit

memory_limit = 512M

3. Buat Database

Login ke MariaDB

sudo mysql

Buat database dan user

CREATE DATABASE nextcloud;
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'rahasia';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
exit

4. Konfigurasi Apache

Buat konfigurasi virtual host untuk cloud.contoh.com

sudo nano /etc/apache2/sites-available/cloud.contoh.com.conf	

Masukkan konfigurasinya

<VirtualHost *:80>
    ServerName cloud.contoh.com
    DocumentRoot /var/www/cloud.contoh.com
    <Directory /var/www/cloud.contoh.com>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog /var/log/apache2/cloud.contoh.com_error.log
    CustomLog /var/log/apache2/cloud.contoh.com_access.log combined
</VirtualHost>

Aktifkan modul rewrite, virtual host, dan restart apache2

sudo a2enmod rewrite
sudo a2ensite cloud.contoh.com
sudo systemctl restart apache2	

Install certbot

sudo apt install certbot python3-certbot-apache -y	

Request sertifikat SSL

sudo certbot --non-interactive \
    -m [email protected] \
    --agree-tos \
    --no-eff-email \
    --apache -d cloud.contoh.com \
    --redirect	

5. Install Nextcloud

Download Nextcloud terbaru

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

Ekstrak nextcloud.zip

sudo apt install unzip -y
sudo unzip nextcloud.zip

Pindahkan hasil ekstrak ke /var/www

sudo mv nextcloud /var/www/cloud.contoh.com

Ubah user-group ke www-data

sudo chown -R www-data:www-data /var/www/cloud.contoh.com

Akses https://cloud.contoh.com untuk instalasi Nextcloud.

  1. Masukkan:
  • Login: username untuk akun admin Nextcloud
  • Password: password untuk akun admin Nextcloud
  • Data folder: lokasi folder data, /var/www/cloud.contoh.com/data
  • Database account: username database, nextcloud
  • Database password: password database, rahasia
  • Database name: nama database, nextcloud
  1. Lalu klik tombol Install
  2. Klik Skip, redirect ke Dashboard.

Deploy Nextcloud telah selesai, siap digunakan.