Install dan Konfigurasi Web Hosting di Ubuntu Server 20.04
Apa Itu Web Hosting?
Web hosting adalah layanan yang memungkinkan individu atau organisasi untuk mempublikasikan situs web atau aplikasi web mereka di internet. Secara sederhana, web hosting menyediakan ruang di server (komputer khusus) tempat menyimpan file-file website agar bisa diakses oleh siapa saja secara online melalui alamat website (domain).
Bahan:
Topologi :
Penjelasan:
Topologi diatas adalah rancangan dasar tentang alur koneksi dari perangkat
yang akan digunakan didalam rancangan. Berikut ini adalah penjelasannya:
1. Penyedia Layanan Internet (ISP):
Terdapat satu Internet Service Provider (ISP)
yang bertugas sebagai penyedia akses internet untuk jaringan di bawahnya. ISP
ini menjadi sumber utama koneksi internet untuk seluruh perangkat yang
terhubung dalam jaringan.
2. Access Point:
Access Point berfungsi sebagai media
distribusi internet, memungkinkan perangkat-perangkat dalam jaringan untuk
terhubung ke jaringan lokal maupun internet secara nirkabel.
3. Laptop Administrator:
Digunakan untuk menjalankan virtualisasi (virtualization)
serta melakukan konfigurasi server web hosting. Proses ini mencakup instalasi
dan pengelolaan server serta perangkat lunak pendukung.
4. Cloudflare Tunnel:
Cloudflare Tunnel berfungsi sebagai tunnel
untuk membuat server web hosting tetap online dan dapat diakses dari mana saja
menggunakan domain yang telah dikonfigurasi pada server.
5. Perangkat Klien (Handphone dan Laptop):
Handphone dan laptop digunakan untuk mengakses
situs web menggunakan domain yang telah diberikan oleh administrator. Akses ini
dapat dilakukan dari mana saja secara online, memberikan fleksibilitas kepada
pengguna dalam menggunakan layanan yang disediakan.
Berikut Langkah Instalasi dan Konfigurasi :
2. Remote Server Menggunakan SSH
Langkah pertama adalah melakukan remote ke server menggunakan protokol Secure Shell (SSH). SSH memungkinkan administrator untuk mengakses server secara aman melalui jaringan. Perintah dasar untuk remote server "ssh user@server-ip"
3. Update Repositori
Repositori perlu diperbarui untuk memastikan semua paket dan dependensi terbaru tersedia, sehingga instalasi berjalan lancar dan bebas dari masalah kompatibilitas. "sudo apt update -y"
Perintah ini menginstal Webmin, sebuah antarmuka berbasis web yang digunakan untuk mempermudah pengelolaan server. Instalasi dilakukan menggunakan package manager bawaan.
"curl -o webmin-setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/webmin-setup-repos.sh"
"
sh webmin-setup-repos.sh"
5. Instalasi Usermin
Usermin adalah alat berbasis web yang mirip dengan Webmin, tetapi ditujukan untuk pengguna biasa. Langkah ini memungkinkan pengguna non-administrator untuk mengelola file manager, tanpa memerlukan akses administratif penuh.
"curl -o usermin-setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh"
"sh usermin-setup-repos.sh"
"apt-get install webmin usermin --install-recommends"
6. Instalasi Virtual Server Apache2 di Webmin
Server Apache2 akan digunakan untuk menjalankan situs web. Instalasi dilakukan langsung melalui webmin. Cek terlebih dahulu ip servernya, dengan perintah berikut:
"ip a"
Buka ip server di browser, tambahkan port 10000 di belakang ip. Lalu isi username dan password. Lalu klik Sign In.
Pilih menu Un-used Modules dan pilih Apache Webserver lalu klik Install Now.
Jika proses scanning packet telah selesai, selajutnya klik Install Now, maka akan menginstall packet yang terdapat tabel tersebut.
Tampilan jika packet berhasil di install, akan muncul Installing Complete.
7. Install PHP
Perintah ini menginstal PHP dan modul libapache2-mod-php untuk mengintegrasikan PHP dengan Apache, memungkinkan server menangani aplikasi berbasis PHP. "sudo apt install php libapache2-mod-php -y"
8. Membuat Group Pengguna untuk User
Grup pengguna bernama client dibuat melalui antarmuka Webmin. Tujuan dari langkah ini adalah untuk mengelompokkan pengguna dengan peran yang sama, sehingga pengelolaan hak akses lebih terorganisasi.
Pilih Menu System -> User and Groups -> Local Groups -> Create a new group.
Isi Group namenya menggunakan name client, klik create.
9. Instalasi Cloudflare Tunnel
Langkah ini membuat direktori baru untuk menyimpan kunci penandatanganan, lalu mengunduh dan menyimpan kunci tersebut dari Cloudflare. Kunci ini digunakan untuk memverifikasi paket yang diunduh.
"sudo mkdir -p --mode=0755 /usr/share/keyrings"
"curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null"
Tambahkan Repositori Cloudflare
"echo "deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflared.list"
Perbarui Repositori dan Instal Cloudflared.
"sudo apt-get update && sudo apt-get install cloudflared -y"
10. Autentikasi Cloudflared
Perintah ini membuka browser untuk mengautentikasi akun Cloudflare. Setelah proses ini selesai, server terhubung dengan akun Cloudflare yang di gunakan
"cloudflared tunnel login"
Klik link setelah perintah di jalankan..
Maka akan otomatis membuka website autentikasi cloudflare. Lalu pilih domain.
Jika berhasil maka tampilan di webnya Success.
Tampilan di terminal jika sukses autentikasi.
Perintah ini membuat tunnel dengan nama yang di tentukan di bagian <NAME>. Tunnel ini adalah jalur yang digunakan untuk menghubungkan lalu lintas internet ke server.
"
cloudflared tunnel create <NAME>"
12. Verifikasi Pembuatan Tunnel
Gunakan perintah ini untuk memastikan tunnel yang telah dibuat muncul dalam daftar. Ini juga menampilkan detail tentang UUID dan status tunnel.
"cloudflared tunnel list"
13. Mengarahkan Lalu Lintas melalui Tunnel
Langkah ini menetapkan domain yang ingin di gunakan untuk tunnel. Perintah ini menghubungkan UUID atau nama tunnel ke hostname tertentu. Disini saya menambahkan wildcard.
"cloudflared tunnel route dns <UUID or NAME> <hostname>"
14. Konfigurasi Cloudflared
Pindah ke direktori konfigurasi:
"cd ~/.cloudflared"
Buka atau buat file konfigurasi:
"nano config.yml"
Di dalam file ini, dapat mengatur detail seperti nama tunnel, kredensial, dan domain.
Salin isi file ini:
SALINSave dengan cara tekan keyboard CTRL + X lalu Y dan ENTER.
15. Menjalankan Tunnel
Perintah ini menjalankan tunnel, memungkinkan lalu lintas masuk ke server sesuai pengaturan yang telah dibuat.
"cloudflared tunnel run <UUID or NAME>"
Uji akses menggunakan subdomain yang sudah di konfig di server.
Webmin.
16. Instalasi Layanan Service Cloudflared
Langkah ini memastikan bahwa Cloudflare Tunnel dijalankan sebagai layanan sistem, sehingga akan aktif secara otomatis saat server dihidupkan.
"cloudflared service install"
"systemctl start cloudflared"
"systemctl status cloudflared"
17. Script Membuat user dan subdomain webserver
Buat File script.sh
"nano filename.sh"
Paste scriptnya di file.sh yang sudah di buat.
18. Ubah Izin File Menjadi Eksekusi (+x)
Perintah ini mengubah izin file sehingga dapat dieksekusi seperti program. Option +x berarti menambahkan izin eksekusi (executable) pada file. Langkah ini penting untuk memastikan file dapat dijalankan langsung dari terminal.
"chmod +x <filename.sh>"
19. Jalankan File
Perintah ini digunakan untuk menjalankan file script. Tanda ./ menunjukkan bahwa file berada di direktori saat ini. "./filename.sh"
20. Isi data yang dibutuhkan oleh script
Membuat user baru, untuk klien
Isi subdomainya, gunakan domain team2vps.cloud.
Tampilan jika berhasil membuat user dan subdomain. Maka akan tampil Link login, username, password dan link domain.
21. Akses web usermin dan upload file web
Setelah halaman login muncul, akan diminta untuk memasukkan username dan password yang telah dikonfigurasi untuk Usermin. Masukkan informasi yang sesuai dengan yang di buat sebelumnya.
Akses Modul File Manager di Usermin Setelah berhasil login ke Usermin, pilih modul File Manager dari dashboard utama. Modul ini memungkinkan untuk mengelola file di server.
Unggah File index.html atau index.php Di dalam folder public_html, pilih opsi Upload Files. Setelah itu, pilih file yang ingin unggah, apakah itu file index.html atau index.php dari komputer. Klik Upload untuk mengunggah file ke server.
File -> Upload to current directory
Cek File yang Diunggah Setelah file diunggah, pastikan file index.html atau index.php muncul di dalam folder public_html. periksa apakah file sudah berhasil diunggah dengan melihat file yang ada dalam folder tersebut.
Tes Akses Website Setelah file index.html atau index.php berhasil diunggah ke folder public_html, buka browser dan masukkan nama domain atau subdomain.
FOLLOW INSTGRAM SAYA BIAR TIDAK KETINGGALAN INFO TERBARU SEPUTAR TKJ.
Follow @artha_sa_