Nextcloud adalah rangkaian perangkat lunak aplikasi untuk menyimpan dan menyinkronkan file dan data di beberapa perangkat. Ini adalah solusi lokal sepenuhnya untuk berbagi dan berkolaborasi pada dokumen, mengelola kalender, dan mengirim serta menerima email.
Nextcloud memberi Anda kontrol dan perlindungan data Anda sambil memfasilitasi komunikasi. Ini dapat mengaktifkan produktivitas karena Anda dapat mengakses, menyinkronkan, dan berbagi data yang ada pada drive FTP di beberapa perangkat yang terhubung di pengaturan rumah atau kantor. Selain itu, privasi data sangat penting, dan menjalankan server Nextcloud pribadi adalah cara terbaik untuk memulai.
Menginstal server Nextcloud pribadi di Fedora 34
Tutorial ini akan menunjukkan cara menginstal server Nextcloud pribadi di server berbasis Fedora 34. Kami akan menginstal server web Apache, PHP 7.4, dan server dan klien MariaDB sebagai prasyarat.
Langkah 1. Prasyarat
Langkah pertama adalah memenuhi prasyarat berikut.
- Server yang menjalankan Fedora. (Saya akan menggunakan Fedora Workstation 34 untuk demonstrasi)
- Pengguna sudo non-root.
- Perbarui paket Anda.
sudo dnf update
- Paket dan dependensi penting.
Sistem Anda mungkin sudah menginstal beberapa paket ini.dnf install wget curl bzip2 nano unzip policycoreutils-python-utils -y
Catatan:jika Anda memiliki beberapa prasyarat dan paket yang sudah dikonfigurasi, maka Anda dapat melewati langkah-langkah tersebut.
Mengonfigurasi Firewall di Fedora
Langkah pertama adalah mengkonfigurasi firewall dari Firewalld melalui baris perintah. Perhatikan bahwa Firewalld sudah diinstal sebelumnya di server Fedora.
Periksa status firewall untuk memastikannya berjalan:
sudo firewall-cmd --state running
Langkah selanjutnya adalah mengizinkan port HTTP dan HTTPS.
Periksa layanan dan port yang diizinkan:
sudo firewall-cmd --permanent --list-services dhcpv6-client mdns samba-client ssh
Izinkan port HTTP dan HTTPS.
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent –add-service=https
Periksa kembali layanan dan port yang diizinkan.
sudo firewall-cmd --permanent --list-services dhcpv6-client http https mdns samba-client ssh
Muat ulang firewall.
sudo systemctl reload firewalld
Instal Apache Webserver
Jalankan perintah berikut dengan hak sudo untuk menginstal server web Apache.
dnf install httpd
Instal PHP
Langkah selanjutnya adalah menginstal PHP dan modul tambahan lainnya. Jika Anda sudah memiliki PHP, pastikan versi PHP memenuhi persyaratan Nextcloud.
dnf install php php-gd php-mbstring php-intl php-pecl-apcu php-mysqlnd php-pecl-redis php-opcache php-imagick php-zip php-process
Setelah PHP terinstal, aktifkan dan mulai server web Apache:
systemctl enable --now httpd
Periksa apakah PHP sedang berjalan.
php -version PHP 7.4.19 (cli) (built: May 4 2021 11:06:37) ( NTS ) Copyright (c) The PHP Group
Menginstal server dan klien MariaDB
Server MariaDB adalah pengganti drop-in untuk MySQL, yang berarti bahwa perintah untuk menjalankan dan mengoperasikan MariaDB dan MySQL adalah sama.
Periksa apakah Anda memiliki server MariaDB default di server Anda atau instal dengan menjalankan perintah berikut.
dnf install mariadb mariadb-server
Aktifkan dan mulai server MariaDB:
systemctl enable --now mariadb
Jalankan perintah mysql_secure_installation untuk mengamankan server MariaDB Anda.
Perintah tersebut akan melakukan konfigurasi default, menyetel kata sandi root, menghapus pengguna anonim, melarang login root dari jarak jauh, dan menghapus tabel pengujian.
sudo mysql_secure_installation [sudo] password for tuts: Securing the MySQL server deployment. Enter the password for user root: The 'validate_password' component is installed. >> The subsequent steps will run the existing configuration of the component. >> We are using an existing root password Estimated strength of the password: 100 Change the password for root? ((Press YY | Y for Yes, any other key for No) : >> By default, a MariaDB server installation has an anonymous user >>> is intended only for testing. Remove anonymous users? (Press Y y | Y for Yes, any other key for No) : y Success. Normally, 'root' should only be allowed to connect from 'localhost.' This ensures that someone cannot guess the root password from the network. (ensure you read this policy while installing MariaDB server) Disallow root login remotely? (Press Y y | y Y for Yes, any other key for No) : Y y Success. >>> (removing test database) Remove test database and access to it? (Press Y y | Y for Yes, any other key for No) : y >>> Dropping test database. Success. >>> Removing privileges on test database. Success. Reload privilege tables now? (Press Y y | Y for Yes, any other key for No) : y Success. All done!
Buat pengguna dan database khusus untuk server Nextcloud.
mysql -p
Buat database 'nextcloud'.
mysql> create database nextcloud;
Buat pengguna MySQL khusus untuk menangani database 'nextcloud'
mysql> create user 'nextclouduser'@'localhost' identified by 'SeCrEttErCeS';
Berikan semua hak istimewa ke database (nextcloud) kepada pengguna (nextclouduser) yang kami buat.
mysql> grant all privileges on nextcloud_db.* to 'nextclouduser'@'localhost';
Hapus hak istimewa agar perubahan yang Anda buat diterapkan.
mysql> flush privileges;
Keluar dari Shell MySQL.
mysql> exit;
Konfigurasikan izin SELinux
Anda harus mengonfigurasi SELinux/permissions untuk bekerja dengan Nextcloud.
Jalankan perintah berikut untuk pengaturan SELinux dasar Anda. Ini akan bekerja dengan instalasi Anda.
Pastikan untuk menyesuaikan jalur file dengan tepat sesuai sistem Anda. Kalau-kalau mereka berbeda.
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/config(/.*)?' semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/apps(/.*)?' semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/data(/.*)?' semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/.user.ini' semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/3rdparty/aws/aws-sdk-php/src/data/logs(/.*)?' # restorecon -Rv '/var/www/html/nextcloud/'
Anda dapat mempelajari lebih lanjut perintah SELinux yang bekerja dengan Nextcloud di konfigurasi SELinux Nextcloud.
Langkah 2. Memasang Server Nextcloud
Langkah kedua kami adalah mengunduh dan menginstal Nextcloud. Buka situs web resmi dan salin tautan unduhan file zip.
Unduh dan unzip arsip Nextcloud menggunakan wget. Pastikan untuk menempelkan tautan yang disalin setelah wget pada perintah di bawah ini.
wget https://download.nextcloud.com/server/releases/nextcloud-21.0.2.zip
Buka zip arsip ke direktori ‘/var/www/html/’.
unzip nextcloud-21.0.2.zip -d /var/www/html/
Langkah selanjutnya adalah memberikan akses baca dan tulis Apache ke pohon direktori Nextcloud:
Buat folder data di direktori ‘/var/www/html/nextcloud/’.
mkdir /var/www/html/nextcloud/data
Berikan akses baca dan tulis Apache menggunakan Chown.
chown -R apache:apache /var/www/html/nextcloud
Langkah 3. Konfigurasi server Nextcloud
Anda dapat mengonfigurasi Nextcloud melalui antarmuka web atau baris perintah.
Metode 1:antarmuka web
Akses 'http://your_server_ip/nextcloud' dari browser web Anda.
Dalam kasus kami, server dijalankan dari localhost;
http://localhost/nextcloud or http://127.0.0.0/nextcloud
Metode 2:baris perintah
Jalankan perintah berikut untuk mengonfigurasi Nexcloud dari baris perintah.
sudo -u apache php occ maintenance:install --data-dir /var/www/html/nextcloud/data/ --database "mysql" --database-name "nextcloud" --database-user "nextclouduser" --database-pass "SeCrEttErCeS" --admin-user "admin" --admin-pass "AdMin_PAssWOrd"
Masukkan detail login administrasi Anda dan konfigurasikan Nextcloud untuk penggunaan pertama.
Menutup
Batas memori PHP yang direkomendasikan untuk Nextcloud adalah 512M. Anda dapat mengedit variabel memory_limit di file konfigurasi /etc/php.ini dan memulai ulang layanan httpd Anda.
Keamanan sangat penting, dan Anda harus selalu mengonfigurasi SELinux daripada menonaktifkannya. Bukan ide yang baik untuk menonaktifkan SELinux. Praktik yang disarankan adalah selalu menerapkannya dalam mode penegakan.
Itu menyimpulkan demonstrasi kami tentang menginstal server Nextcloud pribadi di server Fedora 34. Jika Anda mengalami tantangan atau masalah, jangan ragu untuk bertanya atau menambahkan komentar.