avatar RicalDocs

The Daily Stack

  • HOME
  • CATEGORIES
  • TAGS
  • ARCHIVES
  • ABOUT
Home Home Server
Article

Home Server

Bangun home server untuk mengoptimalkan keamanan dan privasi data pribadi. Dengan cara ini, kita dapat mengendalikan sepenuhnya penyimpanan dan akses informasi tanpa harus bergantung pada layanan cloud pihak ketiga yang dapat menjadi titik lemah.

Published Aug 20, 2024 Updated Oct 3, 2025
By Risnanda Pascal
4 min read
Home Server
Home Server

Persiapan

Membangun infrastruktur data pribadi yang aman dan terkontrol merupakan tindakan proaktif yang krusial. Ini adalah langkah berani untuk melindungi informasi pribadi dari pengawasan luar dan memastikan bahwa hak digital tetap terjaga dengan baik.

Memperbarui Sistem

Perbarui sistem dengan menjalankan perintah berikut:

1
sudo apt update && sudo apt upgrade -y

Instalasi LAMPP

Instal dan konfigurasi LAMPP (Linux, Apache, MySQL, PHP), karena Nextcloud memerlukan server web dan basis data. Jalankan perintah berikut:

1
sudo apt install -y apache2 mariadb-server php libapache2-mod-php php-cgi php-mysqli php-pear php-phpseclib php-mysql php-mbstring php-zip php-gd php-curl php-common php-imagick php-gmp php-intl php-apcu

Unduh Nextcloud menggunakan wget:

1
wget https://download.nextcloud.com/server/releases/latest.zip

Ekstrak file yang telah diunduh dan pindahkan ke direktori /var/www/html:

1
sudo unzip latest.zip -d /var/www/html

Akses direktori Nextcloud:

1
cd /var/www/html

Ubah kepemilikan direktori Nextcloud:

1
sudo chown -R www-data:www-data nextcloud

Konfigurasi MySQL

Atur kata sandi root untuk basis data dengan menjalankan:

1
sudo mysql_secure_installation

Login ke MySQL menggunakan perintah berikut:

1
mysql -u root -p

Membuat Basis Data dan Pengguna

Gantilah username dan password sesuai kebutuhan:

1
CREATE DATABASE home_server;
1
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

Izinkan pengguna untuk mengakses basis data home_server:

1
GRANT ALL PRIVILEGES ON home_server.* TO 'username'@'localhost';
1
FLUSH PRIVILEGES;
1
exit

Konfigurasi Virtual Host

Buat konfigurasi virtual host dengan perintah berikut:

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

Isi berkas dengan konfigurasi berikut:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<VirtualHost *:80>
    ServerName localhost

    ServerAdmin admin@example.com
    DocumentRoot /var/www/html/nextcloud

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    <Directory /var/www/html/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All

        <IfModule mod_dav.c>
            Dav off
        </IfModule>

        SetEnv HOME /var/www/html/nextcloud
        SetEnv HTTP_HOME /var/www/html/nextcloud
    </Directory>
</VirtualHost>

Simpan berkas dan aktifkan konfigurasi:

1
sudo a2ensite nextcloud.conf && sudo systemctl restart apache2

Konfigurasi Nextcloud

Buka browser dan akses http://localhost/nextcloud.

Petunjuk instalasi Nextcloud akan muncul. Selama proses instalasi, atur basis data MariaDB, akun admin, dan direktori penyimpanan data. Ikuti instruksi yang diberikan.

Selesai. Sekarang, unduh aplikasi Nextcloud ke perangkat dan mulai mengunggah serta mengelola file secara mandiri.

Selain untuk home server, Nextcloud juga menjadi fondasi utama untuk pengembangan NextCrow berkat sifatnya yang open source, memberikan kontrol penuh atas data, serta fitur keamanan tingkat tinggi.

Selanjutnya, jalankan perintah berikut untuk membuat crontab baru yang akan digunakan untuk menjalankan skrip crontab Nextcloud:

1
sudo crontab -u www-data -e

Parameter -u www-data digunakan karena server web Apache2 berjalan di atas pengguna tersebut.

Tambahkan konfigurasi berikut ke file crontab:

1
*/5  *  *  *  * php -f /var/www/html/nextcloud/cron.php

Simpan dan keluar dari file setelah selesai.

Mengganti Alamat IP

Ubah trusted domain di berkas config.php:

1
sudo nano /var/www/html/nextcloud/config/config.php

Isi dari berkas tersebut akan menampilkan seperti ini:

1
2
3
4
5
6
7
8
9
$CONFIG = array (
    'instanceid' => 'ocfwe8edkz4v',
    'passwordsalt' => 'kf0eOXdbetRdsrobORxjkHefQoa/SJ',
    'secret' => 'nl6PNO/1Yhd1ZSefWBiPBLRhucTZLXuq7fqTn1FhCixufSqm',
    'trusted_domains' =>
    array (
        0 => 'masukkan alamat ip atau domain di sini',
    ),
);

Ubah Virtual Host dengan memasukkan perintah:

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

Pada bagian:

1
ServerName *masukkan ip address atau domain di sini*

Untuk mengaktifkan protokol HTTPS, tambahkan baris berikut ke dalam konfigurasi server:

1
Redirect permanent / https://ip_address

Simpan berkas dan aktifkan konfigurasi:

1
sudo a2ensite nextcloud.conf && sudo systemctl restart apache2

Mengatasi Security & setup warnings

Sistem Nextcloud secara berkala melakukan pemeriksaan keamanan dan konfigurasi untuk memastikan lingkungan operasi yang optimal. Jika terdapat peringatan keamanan atau setup, sistem akan menampilkan notifikasi di halaman admin.

Untuk menyelesaikan permasalahan yang muncul, gunakan AI atau salin pesan kesalahan spesifik dan tempelkan ke mesin pencari browser untuk menemukan solusi terkini dari komunitas Nextcloud.

Panel Peringatan Keamanan Nextcloud

Pemecahan Masalah Konfigurasi Dasar

Beberapa peringatan umum dapat diselesaikan dengan modifikasi file konfigurasi config.php. Tambahkan atau perbarui parameter berikut sesuai kebutuhan:

1
2
3
4
5
6
'maintenance' => false,
'background_jobs_mode' => 'cron', // Ubah dari 'ajax' ke 'cron' melalui pengaturan dasar admin
'maintenance_start' => '',
'maintenance_window_start' => 1,
'memcache.local' => '\OC\Memcache\APCu',
'memcache.locking' => '\OC\Memcache\APCu',

Konfigurasi Header HSTS pada File .htaccess

Peringatan HSTS (HTTP Strict Transport Security) dapat diatasi dengan modifikasi file .htaccess di direktori root Nextcloud. Lokasi file umumnya berada di:

  • /var/www/html/nextcloud/.htaccess (Apache pada Ubuntu/Debian)
  • /usr/share/nginx/nextcloud/.htaccess (Nginx)

Langkah Implementasi

  1. Akses file .htaccess menggunakan editor teks dengan hak akses sudo:
    1
    
    sudo nano /var/www/nextcloud/.htaccess
    
  2. Tambahkan konfigurasi HSTS dalam blok <IfModule mod_headers.c> setelah direktif X-XSS-Protection:
    1
    2
    
    Header onsuccess unset Strict-Transport-Security
    Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"
    
  3. Simpan perubahan dan restart layanan web:
    • Apache:
      1
      
      sudo systemctl restart apache2
      
    • Nginx:
      1
      
      sudo systemctl restart nginx
      

Contoh Struktur File .htaccess yang Diperbarui

1
2
3
4
5
6
7
8
9
10
11
12
<IfModule mod_headers.c>
  <IfModule mod_env.c>
    ...
    Header onsuccess unset X-XSS-Protection
    Header always set X-XSS-Protection "1; mode=block"
    
    # HSTS Header Configuration
    Header onsuccess unset Strict-Transport-Scurity
    Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"
    ...
  </IfModule>
</IfModule>

Pertimbangan Keamanan

  1. Pastikan sertifikat SSL/TLS telah terkofigurasi dengan benar sebelum mengaktifkan HSTS
  2. Parameter preload bersifat permanen dan memerlukan komitmen jangka panjang
  3. Untuk lingkungan dengan reverse proxy, konfigurasi HSTS mungkin perlu diterapkan di level proxy
  4. Selalu buat backup file konfigurasi sebelum melakukan modifikasi

Dengan menerapkan konfigurasi ini, peringatan keamanan terkait HSTS pada Nextcloud seharusnya teratasi.

Untuk peringatan keamanan lainnya, selalu merujuk kepada dokumentasi resmi Nextcloud untuk panduan penyelesaian yang terperinci.

Pranala Menarik

  • Jellyfin
  • Mastering Self-Signed Certificates
  • Matrix Protocol with Synapse and Element
  • Membangun VoIP Server
  • Perjalanan ke Dunia Open Source
  • WeeBeeTalk
Tech Sovereign, Cloud
self-hosted
This content is licensed under CC BY 4.0 by the author.
Share
External Links
  • RicalNet

Table of Contents

Related Articles

Aug 31, 2025

Jellyfin

Membangun konten multimedia pribadi dengan penyajian streaming yang aman serta memberikan kontrol penuh atas akses.

Aug 31, 2025

Ghost - Platform blog & buletin open source

Panduan instalasi dan konfigurasi platform penerbitan yang dirancang untuk membangun dan mengoperasikan situs web independen.

Aug 28, 2025

Discourse

Panduan langkah-langkah untuk instalasi dan konfigurasi platform forum internet pada lingkungan pengembangan lokal.

Prabu Incognito

Membangun VoIP Server

RicalNet © Some rights reserved

This site was last updated on October 03, 2025

Privacy Policy • Source code

Trending Tags

linux cloud computing privacy docker self-hosted cryptography android cisco packet tracer tools telecommunications

An updated version of this content is available