Setelah berhasil login ssh, kita update repository terlebih dahulu. Saya akan menggunakan php8 maka kita perlu tambahkan repository baru
Tambahkan repository
sudo add-apt-repository ppa:ondrej/php BashJika perintah tidak dikenali maka jalankan perintah ini terlebih dahulu
apt install software-properties-commonUpdate apt
sudo apt updateBashInstall php8
sudo apt install php8.0 -yBashInstall module yang dibutuhkan, misal
sudo apt install -y php8.0-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm,curl,dom} Untuk database mysql saya akan menggunakan versi 5.7
mkdir downloads
cd downloads
wget wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.12-1_all.debConfigure pilih Bionic, kemudian ganti mysql 8 ke mysql 5.7
update repository
sudo apt updatesudo apt install mysql-client=5.7* mysql-community-server=5.7* mysql-server=5.7*Kemudian Masukkan password root untuk mysql
Untuk web server saya akan menggunakan Nginx
sudo systemctl disable apache2
sudo systemctl stop apache2
sudo apt install nginx -yMembuat virtual host NGINX (saya menggunakan domain fahram.com Buat directory untuk document rootsudo mkdir /var/www/fahram.comsudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/fahram.com Edit file fahram.com sudo nano /etc/nginx/sites-available/fahram.com Sehingga menjadi seperti berikut
server {
listen 80 ;
listen [::]:80;
root /var/www/fahram.com;
index index.php index.html index.htm index.nginx-debian.html;
server_name www.fahram.com fahram.com;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}Buat link ke site enable
sudo ln -s /etc/nginx/sites-available/fahram.com /etc/nginx/sites-enabled/Test terlebih dahulu cofig nginx nya
sudo nginx -tJIka berhasil maka kita bisa restart service nginxnya
sudo service nginx restartBuat file php untuk mencoba koneksi ke mysql
sudo nano /var/www/fahram.com/index.phpisi dengan kode berikut, sesuaikan password yang tadi dibuat ketika instalasi mysql-server
<?php
$conn = mysqli_connect("localhost","root","gantipassword","sys");
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";Setelah berhasil kita lanjut install ssl
sudo apt install certbot python3-certbot-nginx
Install sertifiakt untuk domain fahram.com dan www.fahram.com
sudo certbot -d www.fahram.com -d fahram.comUntuk pertama kali akan diminta email dan Agreement, selanjutnya pilih 2 untuk redirect semua trafik http ke https

Tambahan
Composer
curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
install supervisor (untuk menjalankan job secara otomatis di laravel)
sudo apt install supervisor
rclone
Backup ke Dropbox
curl https://rclone.org/install.sh | sudo bash