Penyempurnaan konfigurasi melalui menu Administration settings → Overview menjadi langkah wajib setelah instalasi Nextcloud dengan Nginx di Ubuntu 24.04 selesai dilakukan. Artikel sebelumnya memang telah membahas proses instalasi dasar, namun penyelesaian security & setup warnings sangat krusial untuk memastikan server berjalan aman dan optimal. Panduan ini akan menjelaskan cara membereskan setiap peringatan tersebut agar sistem Anda mencapai status keamanan tertinggi.
Maintenance window start
Peringatan ini muncul karena Nextcloud tidak tahu kapan waktu "sepi" di server Anda. Akibatnya, tugas berat seperti pembersihan file sampah, pembuatan thumbnail, atau pengecekan integritas bisa berjalan saat pengguna sedang ramai, yang membuat server terasa lambat. Anda perlu menentukan jendela waktu (biasanya dini hari) agar tugas-tugas tersebut dijalankan saat beban kerja rendah.
Buka file konfigurasi Nextcloud:
sudo nano /var/www/nextcloud/config/config.phpTambahkan baris berikut sebelum tanda penutup );:
'maintenance_window_start' => 1,- Angka 1 berarti jam 01:00 AM (UTC).
- Jika server Anda menggunakan WIB (UTC+7) dan Anda ingin pemeliharaan dilakukan jam 02:00 pagi, maka isi dengan 19 (karena 19:00 UTC = 02:00 WIB).
Mimetype migrations available
Peringatan ini muncul karena Nextcloud ingin memperbarui daftar MIME types (pengenalan format file) agar bisa menangani file baru dengan lebih baik (misalnya file video atau gambar modern agar muncul ikon/thumbnail-nya).
Jalankan perintah berikut:
sudo -u www-data php /var/www/nextcloud/occ maintenance:repair --include-expensiveHTTP Headers 'HSTS'
Pesan ini muncul karena HSTS (HTTP Strict Transport Security) belum aktif. HSTS sangat penting untuk keamanan karena memaksa browser hanya berkomunikasi dengan Nextcloud melalui koneksi HTTPS yang aman, bukan HTTP biasa.
Buka file konfigurasi Nginx:
sudo nano /etc/nginx/sites-enabled/nextcloud.confCari blok server { ... } yang menangani SSL (port 443). Tambahkan baris berikut di dalam blok tersebut:
add_header Strict-Transport-Security "max-age=15552000; includeSubDomains; preload" always;Simpan perubahan dan jalankan perintah ini:
# Cek apakah ada kesalahan penulisan
sudo nginx -t
# Jika muncul "syntax is ok", restart nginx
sudo systemctl restart nginxDatabase missing indices
Masalah ini sangat umum terjadi setelah pembaruan (update) aplikasi Nextcloud, khususnya aplikasi Mail. Indeks database yang hilang ini membuat pencarian dan sinkronisasi email menjadi lambat.
Jalankan perintah ini sebagai user web server:
sudo -u www-data php /var/www/nextcloud/occ db:add-missing-indicesPHP getenv
Peringatan ini biasanya muncul karena konfigurasi PHP-FPM yang membatasi akses PHP ke variabel lingkungan (environment variables) sistem demi alasan keamanan.
Buka file konfigurasi pool PHP-FPM v8.3:
sudo nano /etc/php/8.3/fpm/pool.d/www.confCari baris ;clear_env = no. Hapus tanda titik koma (;) di depannya agar menjadi:
clear_env = noRestart service PHP-FPM dan NGINX:
sudo systemctl restart php8.3-fpm
sudo systemctl restart nginxClient Push
Peringatan ini muncul karena Nextcloud Anda belum menggunakan fitur Notify Push (Client Push). Tanpa fitur ini, aplikasi desktop/mobile harus terus-menerus "bertanya" ke server (polling) apakah ada perubahan file, yang bisa membebani server dan baterai perangkat Anda.
Buka dashboard Nextcloud:
- Buka menu
Apps - Cari
Client Push - Klik
Download and enable
Buat file service:
sudo nano /etc/systemd/system/notify_push.serviceMasukkan konfigurasi berikut:
[Unit]
Description=Push daemon for Nextcloud
[Service]
Environment=PORT=7867
Environment=NEXTCLOUD_URL=https://nextcloud.example.com
ExecStart=/var/www/nextcloud/apps/notify_push/bin/x86_64/notify_push /var/www/nextcloud/config/config.php
User=www-data
Restart=always
[Install]
WantedBy=multi-user.targetAktifkan service-nya:
sudo systemctl daemon-reload
sudo systemctl enable --now notify_push
sudo systemctl status notify_pushBuka file konfigurasi Nginx Nextcloud:
sudo nano /etc/nginx/sites-enabled/nextcloud.confMasukkan blok berikut ke dalam blok server { ... }:
location ^~ /push/ {
proxy_pass http://127.0.0.1:7867/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Test dan restart Nginx:
sudo nginx -t
sudo systemctl restart nginx
sudo systemctl status nginxBuka file konfigurasi Nextcloud:
sudo nano /var/www/nextcloud/config/config.phpTambahkan konfigurasi berikut. Ganti SERVER_IP dengan server IP address.
'trusted_proxies' => [
'127.0.0.1',
'SERVER_IP',
],Jalankan perintah ini untuk memberitahu Nextcloud bahwa push server sudah siap:
sudo -u www-data php /var/www/nextcloud/occ notify_push:setup https://nextcloud.example.com/pushContoh output:
✓ redis is configured
✓ push server is receiving redis messages
✓ push server can load mount info from database
✓ push server can connect to the Nextcloud server
✓ push server is a trusted proxy
✓ push server is running the same version as the app
configuration savedAppAPI deploy daemon
Pesan ini muncul karena Nextcloud sekarang mendukung External Apps (Ex-Apps) yang berjalan di luar server utama (menggunakan Docker). Untuk menginstal aplikasi jenis ini, Nextcloud membutuhkan "Deploy Daemon" (biasanya bernama AppAPI) untuk mengelola kontainernya.
Jika Ingin Menggunakan Fitur External Apps
Memasang dan mengonfigurasi AppAPI:
- Buka menu Apps di Nextcloud.
- Cari dan instal aplikasi bernama AppAPI.
- Buka Administration settings -> AppAPI.
- Daftarkan "Deploy Daemon". Biasanya ini melibatkan koneksi ke Docker Socket (misalnya unix:///var/run/docker.sock) agar Nextcloud bisa menjalankan kontainer aplikasi eksternal.
Jika Tidak Membutuhkan External Apps
Jika hanya menggunakan aplikasi standar Nextcloud dan tidak berencana menjalankan aplikasi eksternal yang berbasis Docker, Anda bisa menonaktifkan atau menghapus aplikasi AppAPI agar peringatannya hilang.
- Buka menu Apps -> Active apps.
- Cari AppAPI.
- Klik Disable.
Default phone region
Pesan ini muncul karena Nextcloud perlu tahu kode negara mana yang harus digunakan secara default saat seseorang memasukkan nomor telepon tanpa kode negara (seperti +62) di profil mereka.
Buka file config.php:
sudo nano /var/www/nextcloud/config/config.phpTambahkan baris berikut di dalam daftar konfigurasi. Jika Anda berada di Indonesia, gunakan kode 'ID':
'default_phone_region' => 'ID',PHP Imagick module
Pesan ini muncul karena modul PHP Imagick di server Anda sudah terpasang, tetapi tidak memiliki pustaka tambahan untuk membaca file gambar berbasis vektor (SVG). Ini penting agar Nextcloud bisa menampilkan preview atau thumbnail untuk file SVG.
Jalankan perintah berikut:
sudo apt install libmagickcore-6.q16-6-extra -yKesimpulan
Penyelarasan konfigurasi antara Nginx, PHP-FPM, dan database sangat penting untuk menjamin keamanan serta stabilitas Nextcloud. Langkah teknis seperti perbaikan header HSTS, instalasi modul PHP, dan pembaruan indeks database melalui occ secara efektif menghilangkan kendala performa. Penerapan pengaturan ini menciptakan sistem yang lebih responsif dan aman bagi seluruh pengguna.




