Cara Install Nextcloud di Debian 11 Bullseye

Nextcloud adalah perangkat opensource untuk penyimpanan dan file sharing publik dan konten pribadi seperti dokumen dan gambar, di server terpusat. Ini memungkinkan Anda membuat layanan yang dihosting sendiri seperti Dropbox, Google Drive, atau Mega.nz. Awalnya, itu dibuat oleh pengembang owncloud Frank Karlitschek. Pada tahun 2016, dia membagi proyek Owncloud dan membuat proyek baru dengan nama baru "Nextcloud"

Dalam panduan ini, Anda akan belajar cara menginstal Nextcloud di Debian 11 Bullseye terbaru. Anda akan menginstal Nextcloud di dengan LAMP Stack (Linux, Apache2/httpd, MySQL/MariaDB, dan PHP).

Persiapan Pra Instalasi

  • Server Debian 11. Pastikan semua paket diperbarui ke versi terbaru.
  • Akses root atau pengguna dengan hak akses root.

Ada beberapa langkah untuk Instalasi Nextcloud:

  1. Update Repository
  2. Instalasi web server apache
  3. Instalasidan konfigurasi PHP
  4. Instalasidan Konfigurasi MariaDB
  5. Membuat Database dan user nextcloud
  6. Instalasi Nextcloud dari Source Code
  7. Konfigurasi Apache Virtual Host untuk Nextcloud
  8. Instalasi SSL Letsencrypt
  9. Setting Nextcloud

Langkah 1: Update Repositori

Pertama, jalankan perintah berikut untuk mendapatkan hak akses root.

1. Jika Anda telah menginstal 'sudo', jalankan perintah sudo di bawah ini.

sudo su

Sekarang ketik login kata sandi untuk pengguna Anda.

2. Jika Anda tidak memiliki paket sudo, jalankan perintah 'su' seperti di bawah ini

su

Sekarang ketik password root Anda lalu tekan 'Enter'.

3. Setelah itu, update semua repositori Debian Anda menggunakan perintah apt di bawah ini.

apt update

Langkah 2 : Instal Web Server Apache

Setelah memperbarui repositori Debian, sekarang saatnya melakukan instalasi web server apache dan mengaktifkan beberapa modul Apache untuk Nextcloud.

apt install apache2

Ketik 'y' dan tekan 'Enter' untuk melanjutkan instalasi.

Jika instalasi sudah selesai, cek service apache dengan menggunakan perintah berikut.

systemctl is-enabled apache2
systemctl status apache2

Anda akan melihat output 'enabled', yang berarti layanan apache akan running secara otomatis saat startup sistem. Dan status layanan apache saat ini, 'active (running)'.

Selanjutnya, aktifkan modul Apache 'ssl, rewrite, dan headers' dengan menjalankan perintah a2enmod di bawah ini.

a2enmod ssl rewrite headers

akan menampilkan hasil

Setelah itu, jalankan perintah berikut untuk me-restart layanan apache.

systemctl restart apache2

Ok ya setelah apache direstart, maka modul baru akan aktif. sekarang coba untuk verifikasi modul tersebut menggunakan perintah apachectl di bawah ini.

apachectl -M | egrep "ssl|rewrite|headers"

jika menampilkan seperti dibawah ini, maka module berhasil di aktifkan
abaikan Could not reliably determine the server full qualified domain name

Langkah 3 : Install dan konfigurasi PHP

Untuk panduan ini,  Nextcloud akan menggunakan PHP dengan versi stabil terbaru PHP 8.0.

Secara default, repositori Debian menyediakan paket untuk PHP 8.0. Namun, Nextcloud memerlukan beberapa paket PHP tambahan yang dapat diinstal dari repositori pihak ke-3. Dan Anda akan menambahkan repositori baru ke sistem Debian Anda.

1. Jalankan perintah di bawah ini untuk menambahkan repositori PHP untuk sistem Debian.

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main"\
| sudo tee /etc/apt/sources.list.d/sury-php.list

Download GPG key ke '/etc/apt/trusted.gpg.d' .

curl -o /etc/apt/trusted.gpg.d/sury-php8.gpg https://packages.sury.org/php/apt.gpg

Sekarang jalankan perintah  'apt update'  untuk memperbarui semua repositori.

apt update

2. Instal paket PHP dan modul PHP tambahan untuk Nextcloud menggunakan perintah apt di bawah ini.

apt install -y 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

Setelah itu, jalankan lagi perintah apt untuk menginstal beberapa paket tambahan.

apt install -y libmagickcore-dev

paket library 'libmagickcore-dev' diperlukan oleh php-imagick untuk pemrosesan gambar SVG di Nextcloud.

3. Jika semua instalasi paket selesai, ubah direktori kerja to '/etc/php/8.0/apache2' dan edit konfigurasi 'php.ini' . bisa menggunakan nano atau vi

cd /etc/php/8.0/apache2/
nano php.ini

Silahkan ubah beberapa opsi default dengan konfigurasi berikut.

file_uploads = On
allow_url_fopen = On
memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 600M 
max_execution_time = 300
display_errors = Off
date.timezone = Europe/Amsterdam
output_buffering = Off

Hilangkan komentar opsi 'zend_extension=opcache' untuk memuat ekstensi opcache.

zend_extension=opcache

Cari bagian '[opcache]' ubah dengan konfigurasi dibawah ini

[opcache]
opcache.enable = 1
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 10000
opcache.memory_consumption = 128
opcache.save_comments = 1
opcache.revalidate_freq = 1

Simpan konfigurasi dengan menekan tombol 'Ctrl+x' dan ketik 'y', lalu tekan 'Enter' untuk keluar.

restart layanan apache menggunakan perintah di bawah ini.

systemctl restart apache2

Langkah 4 : Install dan Konfigurasi MariaDB

instal server database mariadb, jalankan perintah di bawah ini.

apt install mariadb-server mariadb-client

Ketik 'y' untuk konfirmasi dan menginstal paket mariadb.

Setelah instalasi selesai, periksa layanan mariadb menggunakan perintah berikut.

systemctl is-enabled mariadb
systemctl status mariadb

Amankan instalasi database dengan kata sandi root, menonaktifkan login remote root, dan menghapus database test

Untuk melakukannya, Anda dapat perintah 'mysql_secure_installation', yang disertakan pada instalasi default mariadb.
Jalankan perintah dibawah ini:

mysql_secure_installation

Tekan 'Enter' untuk melanjutkan

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Ketik 'Y' untuk enable 'unix_socket' otentifikasi user 'root'.

Switch to unix_socket authentication [Y/n] Y
Enabled successfully!
Reloading privilege tables..
 ... Success!

Ketika password untuk mariadb , lalu enter

Change the root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!

Ketik "Y" lalu tekan "Enter" untuk menghapus anonymous user dari mariadb.

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
 ... Success!

 disable  remote login untuk user 'root'. ketik "Y" dan tekan "Enter" untuk melanjutkan.

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
 ... Success!

Ketik "Y" untuk menghapus database "test" dan tekan "Enter".

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

terakhir ketik "Y" untuk reload all tables privileges 

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
 ... Success!

Ok, instalasi mariadb selesai

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Langkah 5 : Membuat Database dan user Nextcloud

masuk ke shell mariadb menggunakan perintah mysql di bawah ini.

mysql -u root -p

Buat database baru dengan nama nextcloud_db

CREATE DATABASE nextcloud_db;

Buat user dan password 

CREATE USER nextclouduser@localhost IDENTIFIED BY 'StrongPassword';

izinkan user "nextclouduser" untuk akses tulis ke database "nextcloud_db

GRANT ALL PRIVILEGES ON nextcloud_db.* TO nextclouduser@localhost;

 reload all tables privileges

FLUSH PRIVILEGES;

Ok instalasi mariadb selesai , bisa keluar dengan ketik "quit" dan tekan "Enter"

Langkah 6 : Instalasi Nextcloud dari Source Code

sudo apt install curl unzip -y
cd /var/www/
curl -o nextcloud.zip https://download.nextcloud.com/server/releases/latest.zip

Sekarang ekstrak file nextcloud.zip melalui perintah unzip, lalu ubah kepemilikan direktori nextcloud menjadi www-data.

unzip nextcloud.zip
sudo chown -R www-data:www-data nextcloud

Langkah 7 : Konfigurasi apache dan Virtualhost

Setelah melakukan download source code Nextcloud, Anda harus membuat konfigurasi host virtual Apache2 yang baru yang akan digunakan untuk menjalankan Nextcloud. Pastikan nama domain Anda diarahkan ke alamat IP server untuk instalasi Nextcloud Anda.

Buat konfigurasi host virtual Apache2 baru /etc/apache2/sites-available/nextcloud.conf menggunakan perintah nano di bawah ini.

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

Ubah nama domain dalam parameter ServerName dengan domain Anda, dan jalur log lengkap untuk parameter ErrorLog dan CustomLog.


    ServerName nextcloud.plasawebhost.local
    DocumentRoot /var/www/nextcloud/

    # log files
    ErrorLog /var/log/apache2/files.plasawebhost.local-error.log
    CustomLog /var/log/apache2/files.plasawebhost.local-access.log combined

    
        Options +FollowSymlinks
        AllowOverride All

        
            Dav off
        

        SetEnv HOME /var/www/nextcloud
        SetEnv HTTP_HOME /var/www/nextcloud
    

Setelah selesai, lalu simpan simpan 

Selanjutnya, jalankan perintah a2ensite di bawah ini untuk mengaktifkan konfigurasi host virtual nextcloud.conf. Lalu verifikasi konfigurasi Apache2 secara keseluruhan melalui perintah apachectl di bawah ini.

sudo a2ensite nextcloud.conf
sudo apachectl configtest

sudo systemctl restart apache2

Setelah dilakukan restart apache2 , instalasi Nextcloud Anda seharusnya dapat diakses melalui protokol HTTP . Silahkan coba untuk mengetik nama domain Nextcloud Anda dan akan muncuk halaman instalasi seperti ini:

Langkah 8 : Instalasi SSL Letsencrypt

Jalankan perintah apt install di bawah ini untuk menginstal Certbot dan plugin apache Certbot. Masukkan y, saat diminta untuk konfirmasi, dan tekan ENTER untuk melanjutkan.

sudo apt install certbot python3-certbot-apache
  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

Cara Akses Terminal Linux menggunakan PuTTy

Cara Akses Terminal Linux menggunakan PuTTy -----------------silahkan dilanjutkan--------------

Memperbaiki - Tidak dapat Copy Paste File melalui Remote Desktop Windows

Saya memiliki masalah aneh dengan copy dan paste file dari komputer lokal saya ke server/VPS...

Mengganti Repository Lokal Ubuntu 16.04 Lts Xenial Xerus

Untuk cara menggantinya kita tinggal menghapus (disarankan backup terlebih dahulu) isi pada...

Cara Mengakses VPS Windows dengan RDP/Remote Desktop

Apa itu Remote Desktop Protocol (RDP) ? Remote Desktop/RDP adalah sebuah protokol komunikasi...

Kenapa saya tidak bisa mengakses VPS saya melalui RDP/Remote Desktop Windows atau SSH Linux

Terkadang pengguna VPS mengalami tidak bisa login RDP windows atau SSH linux. Ada beberapa...