Post

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.

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 apache2 mariadb-server 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 libmagickcore-dev php-redis php-memcached

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

Security & setup warnings

Salin setiap pesan kesalahan dan tempelkan ke dalam kolom pencarian pada browser untuk mencari solusi pemecahan masalah.

Security & setup warnings

Pranala Menarik

Referensi

This post is licensed under CC BY 4.0 by the author.