Lewati ke isi

Panduan instalasi Sovereign

Persiapan

Daftar persyaratan sebelum memulai:

Instalasi

Pengamanan pertama kali

# mengganti sandi root
passwd

# Galat locale
locale-gen en_US.UTF-8 && localedef -i en_US -f UTF-8 en_US.UTF-8
export LANGUAGE=en_US.UTF-8 && export LANG=en_US.UTF-8 && export LC_ALL=en_US.UTF-8
locale-gen en_US.UTF-8 && dpkg-reconfigure locales
echo 'export LC_ALL="en_US.UTF-8"' >> ~/.bashrc
sed -e '/SendEnv/ s/^#*/#/' -i /etc/ssh/ssh_config
update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8

# Menyesuiakan zona waktu untuk server
dpkg-reconfigure tzdata

# menjalankan pembaruan
apt-get update && apt-get upgrade -y

# instalasi paket yang akan dibutuhkan
apt-get install -y \
    fail2ban \
    htop \
    git \
    logwatch \
    screen \
    sudo \
    ufw \
    unattended-upgrades

# membuang paket yang sudah tidak dibutuhkan    
apt-get autoremove -y

# membuat pengguna deploy
adduser deploy

# menyiapkan kunci privat untuk koneksi ke server
mkdir -p /home/deploy/.ssh
chmod 700 /home/deploy/.ssh

# salin dan tempel kunci publik kedalam berkas ini
nano /home/deploy/.ssh/authorized_keys

# mengamankan dan memberikan akses sudo tanpa kata sandi bagi pengguna deploy
chmod 400 /home/deploy/.ssh/authorized_keys
chown deploy:deploy /home/deploy -R

# menamankan pengguna deploy
passwd deploy
echo 'deploy ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/deploy

# pengaturan akses ssh
nano /etc/ssh/sshd_config

# ubah sesuaikan nilain seperti di bawah
PermitRootLogin no
PasswordAuthentication no

/etc/init.d/ssh restart

# pengaturan firewall (ufw)
ufw allow 22
ufw allow 80
ufw allow 443
ufw enable

# pembaruan bekala
nano /etc/apt/apt.conf.d/10periodic
# salin rekat baris di bawah
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

# pemantauan harian server
nano /etc/cron.daily/00logwatch
# salin rekat baris di bawah
/usr/sbin/logwatch --output mail --mailto [email protected] --detail high

# restart server
shutdown -r now

Persiapan server dengan pengguna root sudah selesai, mulai sekarang kita bisa melupakan menggunakan pengguna root/

Ansible

sudo easy_install pip
sudo pip install ansible

git clone https://github.com/sovereign/sovereign.git
cd sovereign

group_vars/sovereign

nano group_vars/sovereign

# ubah sesuaikan nilai
domain: (wajib)
main_user_name: (wajib)

password_hash: (buat terlebih dahulu)

Nilai password_hash dapat dibuat terlebih dahulu dengan cara menjalankan perintah di bawah pada sesi baru

python3 -c 'import crypt; print(crypt.crypt("sandipilihananda", salt=crypt.METHOD_SHA512))'

hosts

Terakhir, sesuaikan nilai host.example.net pada berkas hosts menjadi naman host dari mesin atau alamat IP yang dimiliki

nano hosts
kotak.peladen.xyz

Rujukan:

Tautan: