Download PuTTY https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Daftar VPS (via Private Cloud IDCloudHost)
Daftar ke IDCloudHost Console (Bisa pake Login with Google) https://console.idcloudhost.com/hub/login
Topup untuk bisa buat VPS Private Cloud (atau bisa apply free credit, informasi cek link paling bawah)
Klik Compute lalu klik New

Isi sesuai form

Masuk ke Server
Informasi SSH dapat diakses di bagian kiri, lalu di klik, akan muncul seperti ini

Gunakan Public IP untuk dapat masuk ke server dengan menggunakan PuTTY

Masukkan username dan password

Masuk sebagai root sudo su
Mengatur Firewall Referensi: https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-18-04
Install LEMP Referensi: https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-ubuntu-18-04
Install Nginx
sudo apt update
sudo apt install nginx
sudo ufw allow 'Nginx HTTP'
sudo ufw status
Buka IP kamu, harusnya muncul seperti ini

Install MySQL
Install PHP
Tes PHP
sudo nano /etc/nginx/sites-available/default
Ubah ke:
index index.php index.html index.htm index.nginx-debian.html;
Tambahin lagi :
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
sudo nano /var/www/html/info.php
Isi code didalemnya
<?php
phpinfo();
sudo nginx -t
sudo systemctl reload nginx
Buka URL http://IP_SERVER_ANDA/info.php
Install Composer
Install modul PHP
Buat Database
Setup aplikasi
cd /var/wwwgit clone URL_GITHUB_KALIAN NAMA_DOMAIN_KALIANls lalu cd NAMA_DOMAIN_KALIANcomposer installnano .envAPP_DEBUG=false dan APP_ENV=production biar kalau error ga muncul (mengamankan coding)php artisan storage:linkSetting nginx
sudo chown -R www-data.www-data /var/www/NAMA_DOMAIN_KALIAN/storage
sudo chown -R www-data.www-data /var/www/NAMA_DOMAIN_KALIAN/bootstrap/cache
sudo nano /etc/nginx/sites-available/NAMA_DOMAIN_KALIAN
server {
listen 80;
server_name NAMA_DOMAIN_KALIAN;
root /var/www/NAMA_DOMAIN_KALIAN/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
index index.html index.htm index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
Ganti bagian server_name jadi NAMA_DOMAIN_KALIAN
Ganti bagian root jadi /var/www/NAMA_DOMAIN_KALIAN/public;
Save filenya
sudo ln -s /etc/nginx/sites-available/NAMA_DOMAIN_KALIAN /etc/nginx/sites-enabled/
sudo nginx -t
Harus muncul kayak gini:
sudo systemctl reload nginx
Setting Database dan Migration
Setting domain kalian
Install PHPMyAdmin (opsional)
nano /etc/nginx/sites-available/default
Masukkan include snippets/phpmyadmin.conf; didalam block server{}
sudo nginx -t
sudo systemctl reload nginx
Masuk ke http://IP_SERVER_KALIAN/phpmyadmin/
Kalau nemu error, jalanin ini : sudo sed -i "s/|\s*\((count(\$analyzed_sql_results\['select_expr'\]\)/| (\1)/g" /usr/share/phpmyadmin/libraries/sql.lib.php Petiknya jangan dicopas ketik manual