Cara Setup VPS dengan Mudah dan Murah di IDCloudhost
Pada artikel ini kita akan belajar mengenai cara setup VPS (Virtual Private Server) mulai dari pembuatan resource, konfigurasi atau pemilihan spesifikasi VPS, setting SSH, setup Apache sebagai web server, virtual host, FTP, Firewall, PHP, Database MySQL dengan engine MariaDB, setup SSL dengan Let's Encrypt dan masih banyak lagi.
Kamu cuma perlu menyiapkan investasi sebesar +- Rp 60.000 saja untuk mulai belajar setup yang biayanya terdiri dari VPS bulanan sebesar Rp 50.000 dan domain berekstensi .my.id sebesar Rp 10.000 saja.
Tanpa panjang lebar lagi silahkan tonton video yang ada dibawah ini dengan memperhatikan atau copy paste perintah yang sudah saya siapkan juga setelah video ini.
Tahapan Install VPS dengan LAMP STACK (Linux, Apache, MySQL dan PHP)
Pastikan sudah membuat resource seperti pada video diatas. Jika belum, maka silahkan daftar melalui link berikut:https://bit.ly/server-lokal-murah-cepat-handal
Jika kamu mendaftar menggunakan link diatas maka akan mendapatkan bonus saldo tambahan sebesar Rp 25.000.Login via SSH
Login ke server via koneksi SSH dengan format:ssh username@ip_public
Setelah berhasil login, maka update dan upgrade dulu OSnya dengan perintah:
sudo apt update
sudo apt upgrade
SSH
Ganti Port SSH dengan perintah:sudo nano /etc/ssh/sshd_config
Cari baris opsi #Port 22, hapus simbol # dan ganti nomor 22 ke yang lain, misalnya: 60000.
Port 60000 merupakan custom port sesuai pilihan Anda, pilihannya mulai dari 49152 - 65535.
Tutup akses login user ROOT
sudo nano /etc/ssh/sshd_config
Ganti nilai PermitRootLogin menjadi no
Restart service ssh, cek status SSH, keluar dari akses SSH dan coba login kembali ke SSH
sudo systemctl restart ssh
sudo systemctl status ssh
exit
ssh username@ip_public
APACHE
sudo apt install apache2
sudo systemctl status apache2
Buat Folder Web
sudo mkdir /var/www/belajarvps.my.id
Buat User FTP Baru
sudo adduser namauser
Set Permission
sudo chown -R www-data:ftpbelajarvps /var/www/belajarvps.my.id
sudo chmod -R 775 /var/www/belajarvps.my.id
Virtual Host
sudo nano /etc/apache2/sites-available/belajarvps.my.id.conf
Lalu isikan baris dibawah ini di dalam file belajarvps.my.id.conf:
<VirtualHost *:80>
ServerName belajarvps.my.id
ServerAlias www.belajarvps.my.id
ServerAdmin [email protected]
DocumentRoot /var/www/belajarvps.my.id
ErrorLog /var/log/apache2/belajarvps.my.id_error.log
CustomLog /var/log/apache2/belajarvps.my.id_access.log combined
</VirtualHost>
Tekan tombol CTRL + S untuk menyimpan dan CTRL + X untuk keluar dari text editor nano
Kemudian masukkan perintah berikut di terminal:
sudo a2ensite belajarvps.my.id;
sudo systemctl restart apache2
FTP
Install VSFTPDsudo apt install vsftpd
Backup Settingan Original
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original
Supaya user bisa login ke root folder per akun website saja:
sudo usermod -d /var/www/belajarvps.my.id/ -m ftpbelajarvps
Setting VSFTPD
sudo nano /etc/vsftpd.conf
Atur/Edit:
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
Tambah:
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
user_sub_token=$USER
allow_writeable_chroot=YES
Tambahkan User ke Daftar User VSFTPD
echo "ftpbelajarvps" | sudo tee -a /etc/vsftpd.userlist
Cek Status dan Restart VSFTPD
cat /etc/vsftpd.userlist
sudo systemctl restart vsftpd
FIREWALL
Instalasi, Check Status dan Aktivasi UFWsudo apt install ufw
sudo ufw status
sudo ufw enable
Membuka Port Penting
sudo ufw allow 80
sudo ufw allow 443
sudo ufw allow 40000:50000/tcp
sudo ufw allow 60000/tcp
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 990/tcp
sudo ufw allow 3306
CATATAN:
- 80 adalah port http
- 443 adalah port https
- 40000:50000 adalah passive port
- 60000 adalah port pengganti port ssh (22)
- 20 dan 21 adalah port FTP dan SFTP
- 990 adalah port FTPS (FTP SSL)
- 3306 adalah mysql
PHP
Instalasi PHP 8sudo apt install php libapache2-mod-php php-mysql
Instalasi PHP 7.4 (opsional)
sudo add-apt-repository ppa:ondrej/php
sudo apt install php7.4 libapache2-mod-php7.4 php7.4-cli php7.4-common php7.4-mbstring php7.4-gd php7.4-intl php7.4-xml php7.4-mysql php7.4-zip php7.4-json
SETTING PHP
sudo nano /etc/php/8.1/apache2/php.ini
Sesuaikan:
upload_max_filesize = 10M
post_max_size = 10M
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
MARIADB
Instalasi MariaDBsudo apt install mariadb-server mariadb-client
sudo mysql_secure_installation
Buat Database
sudo mysql
CREATE DATABASE belajarvps_db;
Buat User MySQL Baru
Jika ingin 1 user dapat mengakses semua database, maka:
CREATE USER 'belajarvps_user' IDENTIFIED BY ‘password';
GRANT ALL PRIVILEGES ON *.* TO 'belajarvps_user';
Tapi, jika ingin 1 user di 1 database saja:
CREATE USER 'belajarvps_single_user'@'%' IDENTIFIED BY 'password';
GRANT ALL ON belajarvpssingle_db.* TO 'belajarvps_single_user'@'%';
FLUSH PRIVILEGES;
Jika ingin menghapus user:
DROP USER ‘namauser’@’host’;
Cek Status User dan Host
select user, host from mysql.user;
Cara Remote Database via Third Party Apps (Dbeaver, HeidiSQL, dll)
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Ganti nilai: Bind-address dari 127.0.0.1 menjadi 0.0.0.0
sudo systemctl restart mariadb
SSL
Install SSL dengan Let’s Encryptsudo apt install certbot python3-certbot-apache
Pasang SSL ke Domain
sudo certbot --apache -d belajarvps.my.id -d www.belajarvps.my.id
Belajarvps.my.id merupakan nama domain tujuan, jika subdomain maka:
sudo certbot --nginx -d subdomain.belajarvps.my.id
Semoga bermanfaat.
Artikel Terkait
Cara Upload Project Codeigniter ke Server Shared Hosting
Dalam pembuatan suatu aplikasi web, seseorang biasanya dihadapkan dengan 2 pilihan yaitu kerjakan di localhost atau langsung di server. Bagi Anda yang...
SelengkapnyaCara Mudah Membuat Domain Website http Menjadi https dengan Let's Encrypt
Pertama-tama, kita harus tahu dulu apa itu http dan https. Mengutip dari halaman wikipedia tentang http dan https. Hypertext Transfer Protocol (H...
SelengkapnyaCara Install Nginx, MySQL, dan PHP di OS Linux (LEMP)
Jika Anda ingin membuat server web berbasis Linux yang cepat dan handal, kombinasi **LEMPP** (Linux, Nginx, MySQL, PHP) adalah pilihan tepat. Artikel...
SelengkapnyaCara Deploy Project Website atau Aplikasi di Server Linux Menggunakan LEMP Stack
VPS (Virtual Private Server) dengan LEMP stack adalah pilihan tepat bagi Anda yang menginginkan aplikasi web yang ringan dan cepat. LEMPP merupakan si...
Selengkapnya- Membuat Auto Complete Tag PHP pada Visual Studio Code
- Cara Mendownload Git Repository atau Sebuah Project di Github
- Cara Install PhpMyAdmin di Laragon
- Cara Mengatur Waktu dan Tanggal di MySQL Secara Otomatis Setelah Input atau Update Data
- Cara Mengaktifkan Allow Less Secure Apps Access pada Akun Google