Knowledgebase

Cara Install Nextcloud di Debian 11 Bullseye Print

  • 0

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. Instalasi Nextcloud dari Source Code
  6. Instalasi SSL Letsencrypt
  7. Konfigurasi Apache Virtual Host untuk Nextcloud
  8. Setting Nextcloud

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

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

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

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!

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"


Was this answer helpful?
« Back