Dev Tools

Setup Server WEB di vps linux idcloudhost.com

23 Jun 2021Khaidir Fahram

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 
Bash

Jika perintah tidak dikenali maka jalankan perintah ini terlebih dahulu

apt install software-properties-common

Update apt

sudo apt update
Bash

Install php8

sudo apt install php8.0 -y
Bash

Install 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.deb

Configure pilih Bionic, kemudian ganti mysql 8 ke mysql 5.7

update repository

sudo apt update
sudo 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 -y
Membuat virtual host NGINX (saya menggunakan domain fahram.com  Buat directory untuk document root
sudo mkdir /var/www/fahram.com
sudo 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 -t

JIka berhasil maka kita bisa restart service nginxnya

sudo service nginx restart

Buat file php untuk mencoba koneksi ke mysql

sudo nano /var/www/fahram.com/index.php

isi 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.com

 Untuk pertama kali akan diminta email dan Agreement, selanjutnya pilih 2 untuk redirect semua trafik http ke https

IDCloudHost | SSD Cloud Hosting Indonesia

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