Apa itu Web Hosting?
Web hosting adalah sebuah ruang di internet yang bisa kita gunakan untuk menyimpan data untuk membuat aplikasi berbasis website yang dapat diakses melalui Internet.
Secara sederhana, web hosting umumnya terdiri dari beberapa aplikasi yang saling terintegrasi, seperti Web Server (Apache, Nginx, dll), Database (MySQL, MariaDB, dll) dan Bahasa pemprograman (php).
Seiring perkembangan jaman, fitur web hosting semakin bertambah. Sekarang web hosting tidak hanya bisa untuk menyimpan file untuk keperluan website saja, kita bisa juga menambahkan fitur email, ftp, dll.
Cara Kerja Web Hosting
Seperti yang sudah dijelaskan sebelumnya, web hosting terdiri dari beberapa komponen seperti Web Server, Database, Software, Storage (Media penyimpanan), dll.
Web hosting adalah kesatuan dari berbagai komponen tersebut yang berjalan di dalam sistem operasi (operating system). Jenis Operating System (OS) yang sering digunakan oleh web hosting adalah Linux, seperti Debian, Ubuntu, CentOS, Red Hat, dll.
Walaupun web hosting bisa juga berjalan di OS berbasis Windows bahkan MacOS sekalipun, tapi tidak direkomendasikan terkait kompatbilitas dan kecepatan nya.
Operating System ini juga membutuhkan resource untuk bisa berjalan (CPU, RAM, Storage) yang berupa perangkat fisik (Sever/PC/laptop) maupun virtual (Virtual Machine).
Web hosting sendiri OS nya lebih banyak dijalankan pada Virtual Machine atau yang sering disebut sebagai Virtual Private Server (VPS).
Setiap web hosting memiliki IP Address yang melekat pada Server/VPS nya. Dengan IP Address inilah website yang kita buat di web hosting ini bisa diakses melalui internet.
Namun bagi user yang mau mengakses website tersebut tentunya akan kesulitan jika harus memasukkan IP Address website nya tiap kali mau mengakses. Untuk itu kita bisa padukan web hosting dengan nama domain.
Domain ini lah yang nantinya akan diakses oleh user yang kemudian akan diarahkan ke alamat IP web hosting kita.
Cara Membuat Web Hosting Sendiri Gratis
Kita bisa membuat web hosting sendiri bahkan secara gratis dengan beberapa langkah mudah. Untuk membuat web hosting sendiri gratis tentunya kita membutuhkan server/VPS yang bisa digunakan untuk menginstall web hosting nya.
Setelah daftar VPS Vultr, silakan untuk melakukan deploy instance baru untuk diinstall dengan Linux Debian 11 berulah kita akan mulai Tutorial Cara Membuat Web Hosting Sendiri Gratis Menggunakan VPS Debian 11.
Cara Install VPS Debian 11 dengan Nginx, php 8.1 & MariaDB
Untuk tutorial cara install Nginx, php 8.1 dan MariaDB di Debian 11 pada VPS Vultr sudah pernah saya bahas pada artikel sebelumnya. Silakan lihat caranya disini :
Cara Membuat Web Server di Debian 11 : Install Nginx, MariaDB, PHP 8 Terbaru
Cara Install Wordpress di Debian 11 pada VPS Vultr
Setelah melakukan instalasi Nginx, php8.1 dan Database MariaDB pada Debian 11 berarti kita sudah berhasil membuat web hosting sendiri.
Sekarang kita akan bahas cara membuat website pada web hosting tersebut menggunakan Wordpress. Website berbasis Wordpress banyak digunakan karena mudah digunakan dan yang jelas gratis.
Cara Install SSL Certificate Wordpress di Debian
Hal pertama yang akan kita lakukan adalah melakukan generate SSL Certificate untuk domain nya supaya lebih secure dan bisa diakses menggunakan protocol https.
Pada tutorial kali ini saya menggunakan domain rizkyagung.com sehingga nantinya bisa mengakses domain nya dengan protocol https://rizkyagung.com.
Caranya masuk dulu ke direktori SSL nya
cd /etc/ssl/certs/
Kemudian eksekusi perintah ini :
openssl req -newkey rsa:2048 -nodes -keyout rizkyagung.com.key -x509 -days 365 -out rizkyagung.com.crt
Pada perintah tersebut, silakan ganti nama domain rizkyagung.com dengan domain Anda.
Ketika perintah dieksekusi, maka akan muncul opsi yang harus kita isi, silakan isikan seperti contoh berikut ini :
Generating a RSA private key................................................................................ .......+++++.............................+++++writing new private key to 'rizkyagung.com.key'-----You are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [AU]:IDState or Province Name (full name) [Some-State]:BaliLocality Name (eg, city) []:DenpasarOrganization Name (eg, company) [Internet Widgits Pty Ltd]:Agung ChannelOrganizational Unit Name (eg, section) []:adminCommon Name (e.g. server FQDN or YOUR name) []:rizkyagung.comEmail Address []:admin@rizkyagung.com
Silakan isi sesuai dengan data Anda dan pastikan pada Common Name FQDN diisi dengan nama domain Anda.
Sampai disini kita sudah berhasil melakukan generate SSL yang menghasilkan dua file dengan ekstensi .crt dan .key. Kedua file ini nantinya akan kita masukkan ke dalam file konfigurasi Nginx nya.
Cara Setting php-fpm untuk Wordpress di Debian
Hal kedua yang kita lakukan yaitu membuat file konfigurasi php8.1-fpm pool nya. Masuk dulu ke direktori konfigurasi php8.1-fpm pool nya dengan perintah :
cd /etc/php/8.1/fpm/pool.d/
Buat file konfigurasi baru untuk domain yang akan digunakan dengan perintah :
nano rizkyagung.com.conf
Copy dan paste file konfigurasi berikut ini dan pastikan mengganti nama domain nya :
[rizkyagung.com]user = www-datagroup = www-datalisten = /run/php/php8.1-rizkyagung.com-fpm.socklisten.owner = www-datalisten.group = www-datapm = ondemandpm.max_children = 100pm.max_requests = 500request_terminate_timeout = 6000
Jika sudah, simpan file konfigurasinya dengan menekan tombol ctrl + o –> enter –> ctrl + x untuk keluar.
Restart service php8.1-fpm nya dengan perintah :
service php8.1-fpm restart
Cara Setting Nginx untuk Wordpress di Debian
Selanjutnya kita setting Nginx nya supaya bisa terintegrasi dengan file konfigurasi SSL dan php8.1-fpm yang sebelumnya sudah kita siapkan.
Masuk ke direktori konfigurasi nginx dengan perintah :
cd /etc/nginx/conf.d/
Buat file konfigurasi nginx baru untuk domain yang digunakan dengan perintah :
nano rizkyagung.com.conf
Silakan copy & paste file konfigurasi berikut. Pastikan mengganti nama domain rizkyagung.com dengan nama domain yang digunakan :
server {listen 80;listen 443 ssl http2;ssl_certificate /etc/ssl/certs/rizkyagung.com.crt;ssl_certificate_key /etc/ssl/certs/rizkyagung.com.key;root /usr/share/nginx/html/rizkyagung.com;index index.php index.html index.htm;error_log /var/log/nginx/rizkyagung.com.error.log;server_name rizkyagung.com www.rizkyagung.com;location / {try_files $uri $uri/ /index.php?$args;}location ~ \.php$ {fastcgi_split_path_info ^(.+\.php)(/.+)$;fastcgi_pass unix:/run/php/php8.1-rizkyagung.com-fpm.sock;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/rizkyagung.com$fastcgi_script_name;include fastcgi_params;}location ~ /\.ht {deny all;}location ~ /\.us {deny all;}location = /xmlrpc.php {return 403;}rewrite ^/sitemap_index\.xml$ /index.php?sitemap=1 last;rewrite ^/([^/]+?)-sitemap([0-9]+)?\.xml$ /index.php?sitemap=$1&sitemap_n=$2 last;}
Jika sudah simpan file nya dengan ctrl + o –> enter dan ctrl + x untuk keluar.
Kita coba tes dulu file konfigurasinya apakah ada yang error. Masukkan perintah ini :
nginx -t
Jika ada info error silakan dicek kembali file konfigurasinya dan perbaiki sesuai info dari hasil tes ada di line berapa error nya.
Jika sudah tidak ada error kita bisa restart service nginx nya dengan perintah :
service nginx restart
Cara Download Wordpress di Linux Debian
Sekarang kita sudah siap untuk install wordpress di Nginx Debian 11 nya. Caranya kita download dulu file installer Wordpress nya.
Pastikan kita sudah masuk ke direktori html nya nginx. Jika belum masukkan perintah ini :
cd /usr/share/nginx/html/
Kemudian kita download file installer Wordpress nya dengan perintah :
wget https://wordpress.org/latest.zip
Extract file latest.zip nya dengan perintah :
unzip latest.zip
Jika aplikasi unzip belum ada di Debian nya, silakan install dulu dengan perintah :
apt install unzip
Setelah selesai proses unzip nya kita rename folder wordpress nya menjadi nama domain yang kita gunakan dengan perintah :
mv wordpress rizkyagung.com
Kemudian kita rubah pemilik folder nya dari root menjadi www-data yang digunakan oleh php dan nginx nya dengan perintah :
chown -R www-data:www-data .
Cara Membuat Database untuk Wordpress di Debian
Sebelum kita bisa melakukan instalasi Wordpress di Debian 11 nya, kita harus membuat database yang akan digunakan oleh wordpress nya.
Masuk ke console Database MariaDB nya dengan perintah
mysql -u root -p
Masukkan password database mariadb yang sudah diseting sebelumnya setelah instalasi mariadb nya.
Jika sudah masuk ke console mariadb nya, masukkan perintah berikut :
CREATE DATABASE rizkyagung;
Silakan ganti rizkyagung menjadi nama database yang Anda inginkan.
Jika sudah ketikkan perintah exit untuk keluar.
Oke sampai disini konfigurasi pada web hosting nya sudah selesai. Sekarang kita lanjut setting domain nya supaya bisa terkoneksi dengan web hosting nya.
Cara Setting Domain dengan Cloudflare ke VPS Debian
Disini kita akan menggunakan Cloudflare untuk mendapatkan SSL yang valid untuk domain yang digunakan.
Jika Anda belum punya akun cloudflare silakan daftar dulu di website nya cloudflare.com. Tenang saja pakai cloudflare ini gratis juga kok.
Setelah daftar, login ke dashboard cloudflare nya. Tambahkan domain nya dengan klik menu Add a Site –> Masukkan nama domain nya –> Klik Add site.
Selanjutnya pilih plan yang gratis atau Free (paling bawah) –> klik Continue
Cloudflare akan melakukan scanning pada DNS records domain nya. Jika ditemukan ada entri DNS Records nya bisa dihapus semua.
Jika sudah kosong tidak ada DNS Records nya kita tambahkan record baru dengan klik Add record dengan detail berikut :
Type : AName : @IPv4 address : IPAddressVPSnya
Tambahkan satu record lagi dengan detail :
Type : CNAMEName : wwwTarget : @
Pada opsi @ bisa diganti dengan nama domain nya. Jika kedua DNS records itu sudah ditambahkan, lanjut klik Continue.
Selanjutnya copy nameserver dari cloudflare dan paste ke setingan nameserver domain nya. Silakan masuk ke pengaturan domain nya masing-masing untuk mengganti nameserver nya.
Jika sudah klik Done, check nameservers. Perubahan nameserver ini kadang bisa makan waktu yang cukup lama hingga 24 jam, tapi biasanya bisa lebih cepat cuma beberapa menit atau detik saja.
Kita bisa tes apa DNS Record nya sudah benar dengan akses domain nya via web browser. Jika semua sudah benar seharusnya akan muncul tampilan wizard instalasi Wordpress nya.
Silakan lakukan proses instalasi Wordpress nya dengan memasukkan detail database MariaDB di VPS nya.
Kemudian tinggal masukkan detail dari website nya berupan nama, username, password, dsb.
Sampai disini kita sudah bisa membuat website yang jalan di web hosting yang dibuat sendiri di Debian 11 pada VPS.