Nextcloud: Difference between revisions
Line 80: | Line 80: | ||
Database Host: localhost | Database Host: localhost | ||
Klik "Install" | Klik "Install" | ||
1. Mengaktifkan HTTPS (SSL) | |||
Saat ini Nextcloud berjalan di HTTP, yang dianggap tidak aman. Jika hanya digunakan di jaringan lokal, ini tidak wajib, tetapi jika ingin menghilangkan peringatan, gunakan HTTPS. | |||
Opsi 1: Menggunakan Self-Signed Certificate (Jika Tidak Memiliki Domain) | |||
bash | |||
Salin | |||
Edit | |||
sudo apt install openssl | |||
sudo mkdir /etc/apache2/ssl | |||
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/nextcloud.key -out /etc/apache2/ssl/nextcloud.crt | |||
Saat diminta mengisi informasi, cukup tekan ENTER atau isi sesuai kebutuhan. | |||
Edit konfigurasi Apache untuk Nextcloud: | |||
bash | |||
Salin | |||
Edit | |||
sudo nano /etc/apache2/sites-available/nextcloud-ssl.conf | |||
Tambahkan konfigurasi berikut: | |||
bash | |||
Salin | |||
Edit | |||
<VirtualHost *:443> | |||
DocumentRoot /var/www/html/nextcloud | |||
ServerName 192.168.77.3 | |||
SSLEngine on | |||
SSLCertificateFile /etc/apache2/ssl/nextcloud.crt | |||
SSLCertificateKeyFile /etc/apache2/ssl/nextcloud.key | |||
<Directory /var/www/html/nextcloud/> | |||
Require all granted | |||
AllowOverride All | |||
Options FollowSymLinks MultiViews | |||
</Directory> | |||
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains" | |||
ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log | |||
CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined | |||
</VirtualHost> | |||
Simpan (CTRL+X, lalu Y, lalu ENTER). | |||
Aktifkan modul SSL dan konfigurasi baru: | |||
bash | |||
Salin | |||
Edit | |||
sudo a2enmod ssl | |||
sudo a2ensite nextcloud-ssl.conf | |||
sudo systemctl restart apache2 | |||
Sekarang akses Nextcloud melalui https://192.168.77.3. | |||
Opsi 2: Menggunakan Let's Encrypt (Jika Punya Domain) Pastikan domain sudah mengarah ke server, lalu jalankan: | |||
bash | |||
Salin | |||
Edit | |||
sudo apt install certbot python3-certbot-apache -y | |||
sudo certbot --apache -d domainanda.com | |||
Ikuti instruksi hingga sertifikat berhasil dipasang. | |||
2. Meningkatkan Memory Limit PHP | |||
Edit file konfigurasi PHP: | |||
bash | |||
Salin | |||
Edit | |||
sudo nano /etc/php/8.1/apache2/php.ini | |||
Cari baris berikut (CTRL+W untuk mencari): | |||
ini | |||
Salin | |||
Edit | |||
memory_limit = 128M | |||
Ubah menjadi: | |||
ini | |||
Salin | |||
Edit | |||
memory_limit = 512M | |||
Simpan lalu restart Apache: | |||
bash | |||
Salin | |||
Edit | |||
sudo systemctl restart apache2 | |||
3. Konfigurasi High-Performance Backend untuk Nextcloud Talk (Opsional) | |||
Jika menggunakan Nextcloud Talk untuk video call, Anda perlu menginstal High Performance Backend seperti Signaling Server atau TURN Server. Jika hanya digunakan untuk file sharing, bisa diabaikan. | |||
4. Mengatur Maintenance Window | |||
Buka konfigurasi Nextcloud: | |||
bash | |||
Salin | |||
Edit | |||
sudo nano /var/www/html/nextcloud/config/config.php | |||
Tambahkan baris berikut sebelum );: | |||
php | |||
Salin | |||
Edit | |||
'maintenance_window_start' => 3, | |||
Angka 3 berarti maintenance dilakukan pukul 03:00 pagi. | |||
5. Menjalankan Perintah Perbaikan | |||
a. Migrasi Mimetype | |||
Jalankan: | |||
bash | |||
Salin | |||
Edit | |||
sudo -u www-data php /var/www/html/nextcloud/occ maintenance:repair --include-expensive | |||
b. Tambahkan Indeks Database yang Hilang | |||
bash | |||
Salin | |||
Edit | |||
sudo -u www-data php /var/www/html/nextcloud/occ db:add-missing-indices | |||
c. Konfigurasi OPcache PHP | |||
Edit konfigurasi OPcache: | |||
bash | |||
Salin | |||
Edit | |||
sudo nano /etc/php/8.1/apache2/php.ini | |||
Cari dan ubah baris berikut: | |||
ini | |||
Salin | |||
Edit | |||
opcache.interned_strings_buffer=8 | |||
Menjadi: | |||
ini | |||
Salin | |||
Edit | |||
opcache.interned_strings_buffer=16 | |||
Simpan lalu restart Apache: | |||
bash | |||
Salin | |||
Edit | |||
sudo systemctl restart apache2 | |||
6. Upgrade PHP ke Versi 8.2 | |||
PHP 8.1 sudah usang, Nextcloud 32 akan membutuhkan PHP 8.2. | |||
a. Tambahkan Repository PHP PPA | |||
bash | |||
Salin | |||
Edit | |||
sudo add-apt-repository ppa:ondrej/php -y | |||
sudo apt update | |||
b. Install PHP 8.2 dan Modul yang Diperlukan | |||
bash | |||
Salin | |||
Edit | |||
sudo apt install php8.2 php8.2-mysql php8.2-xml php8.2-mbstring php8.2-zip php8.2-curl php8.2-gd php8.2-intl php8.2-bcmath php8.2-gmp libapache2-mod-php8.2 -y | |||
c. Ubah Versi PHP yang Digunakan Apache | |||
bash | |||
Salin | |||
Edit | |||
sudo a2dismod php8.1 | |||
sudo a2enmod php8.2 | |||
sudo systemctl restart apache2 | |||
Verifikasi: | |||
bash | |||
Salin | |||
Edit | |||
php -v | |||
Jika versi menunjukkan PHP 8.2, maka sudah berhasil. | |||
7. Restart dan Periksa Kembali | |||
Setelah semua perbaikan dilakukan, restart layanan: | |||
bash | |||
Salin | |||
Edit | |||
sudo systemctl restart apache2 mariadb | |||
Akses kembali Nextcloud di https://192.168.77.3 dan periksa apakah semua peringatan telah hilang. |
Revision as of 01:49, 1 March 2025
NextCloud membantu Anda untuk memperoleh: rumah yang aman untuk semua data Anda. Amankan, di bawah kendali Anda dan kembangkan secara terbuka, transparan, dan dapat dipercaya.
Nextcloud menawarkan sinkronisasi file lokal dan teknologi kolaborasi online terkemuka di industri. Keahlian kami dalam menggabungkan kenyamanan dan kemudahan penggunaan solusi tingkat konsumen seperti Dropbox dan Google Drive dengan keamanan, privasi, dan kebutuhan kontrol bisnis.
Solusi mandiri kami memastikan Anda tahu di mana data berada, siapa yang memiliki akses, dan bahkan meta-data tidak bocor.
NextCloud: Instalasi di ubuntu 22.04
Berikut adalah langkah-langkah instalasi Nextcloud di Ubuntu 22.04
Pastikan sistem Anda diperbarui:
sudo apt update && sudo apt upgrade -y
Instal paket yang diperlukan:
sudo apt install apache2 mariadb-server libapache2-mod-php php php-mysql php-xml php-mbstring php-zip php-curl php-gd php-intl php-bcmath php-gmp unzip -y
Buat Database untuk Nextcloud Masuk ke MySQL:
sudo mysql -u root -p
Di dalam MySQL, jalankan perintah berikut untuk membuat database dan user:
CREATE DATABASE nextcloud; CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'passwordku'; GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost'; FLUSH PRIVILEGES; EXIT;
Ganti passwordku dengan password yang kuat.
Unduh dan Ekstrak Nextcloud Pindah ke direktori web server:
cd /var/www/html
Unduh Nextcloud:
wget https://download.nextcloud.com/server/releases/latest.zip
Ekstrak file:
unzip latest.zip
Ubah kepemilikan folder:
sudo chown -R www-data:www-data /var/www/html/nextcloud sudo chmod -R 755 /var/www/html/nextcloud
Konfigurasi Apache Buat file konfigurasi Apache untuk Nextcloud:
sudo nano /etc/apache2/sites-available/nextcloud.conf
Tambahkan konfigurasi berikut:
<VirtualHost *:80> ServerAdmin admin@contoh.com DocumentRoot /var/www/html/nextcloud ServerName 192.168.77.3
<Directory /var/www/html/nextcloud/> Require all granted AllowOverride All Options FollowSymLinks MultiViews </Directory>
ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined </VirtualHost>
Simpan dengan CTRL+X, tekan Y, lalu ENTER.
Aktifkan konfigurasi:
sudo a2ensite nextcloud.conf sudo a2enmod rewrite headers env dir mime sudo systemctl restart apache2
Selesaikan Instalasi via Web Buka browser dan akses http://192.168.77.3 Buat akun admin Nextcloud Masukkan detail database: Database User: nextclouduser Password: (isi dengan password yang telah dibuat) Database Name: nextcloud Database Host: localhost Klik "Install"
1. Mengaktifkan HTTPS (SSL)
Saat ini Nextcloud berjalan di HTTP, yang dianggap tidak aman. Jika hanya digunakan di jaringan lokal, ini tidak wajib, tetapi jika ingin menghilangkan peringatan, gunakan HTTPS.
Opsi 1: Menggunakan Self-Signed Certificate (Jika Tidak Memiliki Domain)
bash Salin Edit sudo apt install openssl sudo mkdir /etc/apache2/ssl sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/nextcloud.key -out /etc/apache2/ssl/nextcloud.crt Saat diminta mengisi informasi, cukup tekan ENTER atau isi sesuai kebutuhan.
Edit konfigurasi Apache untuk Nextcloud:
bash Salin Edit sudo nano /etc/apache2/sites-available/nextcloud-ssl.conf Tambahkan konfigurasi berikut:
bash Salin Edit <VirtualHost *:443>
DocumentRoot /var/www/html/nextcloud ServerName 192.168.77.3
SSLEngine on SSLCertificateFile /etc/apache2/ssl/nextcloud.crt SSLCertificateKeyFile /etc/apache2/ssl/nextcloud.key
<Directory /var/www/html/nextcloud/> Require all granted AllowOverride All Options FollowSymLinks MultiViews </Directory>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined
</VirtualHost> Simpan (CTRL+X, lalu Y, lalu ENTER).
Aktifkan modul SSL dan konfigurasi baru:
bash Salin Edit sudo a2enmod ssl sudo a2ensite nextcloud-ssl.conf sudo systemctl restart apache2 Sekarang akses Nextcloud melalui https://192.168.77.3.
Opsi 2: Menggunakan Let's Encrypt (Jika Punya Domain) Pastikan domain sudah mengarah ke server, lalu jalankan:
bash Salin Edit sudo apt install certbot python3-certbot-apache -y sudo certbot --apache -d domainanda.com Ikuti instruksi hingga sertifikat berhasil dipasang.
2. Meningkatkan Memory Limit PHP Edit file konfigurasi PHP:
bash Salin Edit sudo nano /etc/php/8.1/apache2/php.ini Cari baris berikut (CTRL+W untuk mencari):
ini Salin Edit memory_limit = 128M Ubah menjadi:
ini Salin Edit memory_limit = 512M Simpan lalu restart Apache:
bash Salin Edit sudo systemctl restart apache2 3. Konfigurasi High-Performance Backend untuk Nextcloud Talk (Opsional) Jika menggunakan Nextcloud Talk untuk video call, Anda perlu menginstal High Performance Backend seperti Signaling Server atau TURN Server. Jika hanya digunakan untuk file sharing, bisa diabaikan.
4. Mengatur Maintenance Window Buka konfigurasi Nextcloud:
bash Salin Edit sudo nano /var/www/html/nextcloud/config/config.php Tambahkan baris berikut sebelum );:
php Salin Edit 'maintenance_window_start' => 3, Angka 3 berarti maintenance dilakukan pukul 03:00 pagi.
5. Menjalankan Perintah Perbaikan a. Migrasi Mimetype Jalankan:
bash Salin Edit sudo -u www-data php /var/www/html/nextcloud/occ maintenance:repair --include-expensive b. Tambahkan Indeks Database yang Hilang bash Salin Edit sudo -u www-data php /var/www/html/nextcloud/occ db:add-missing-indices c. Konfigurasi OPcache PHP Edit konfigurasi OPcache:
bash Salin Edit sudo nano /etc/php/8.1/apache2/php.ini Cari dan ubah baris berikut:
ini Salin Edit opcache.interned_strings_buffer=8 Menjadi:
ini Salin Edit opcache.interned_strings_buffer=16 Simpan lalu restart Apache:
bash Salin Edit sudo systemctl restart apache2 6. Upgrade PHP ke Versi 8.2 PHP 8.1 sudah usang, Nextcloud 32 akan membutuhkan PHP 8.2.
a. Tambahkan Repository PHP PPA
bash Salin Edit sudo add-apt-repository ppa:ondrej/php -y sudo apt update b. Install PHP 8.2 dan Modul yang Diperlukan
bash Salin Edit sudo apt install php8.2 php8.2-mysql php8.2-xml php8.2-mbstring php8.2-zip php8.2-curl php8.2-gd php8.2-intl php8.2-bcmath php8.2-gmp libapache2-mod-php8.2 -y c. Ubah Versi PHP yang Digunakan Apache
bash Salin Edit sudo a2dismod php8.1 sudo a2enmod php8.2 sudo systemctl restart apache2 Verifikasi:
bash Salin Edit php -v Jika versi menunjukkan PHP 8.2, maka sudah berhasil.
7. Restart dan Periksa Kembali Setelah semua perbaikan dilakukan, restart layanan:
bash Salin Edit sudo systemctl restart apache2 mariadb Akses kembali Nextcloud di https://192.168.77.3 dan periksa apakah semua peringatan telah hilang.