- 1 1. Pengenalan
 - 2 2. Memasang dan Persediaan Awal Ubuntu
 - 3 3. Memasang dan Menyediakan Apache
 - 4 4. Menyediakan Virtual Host (Menguruskan Pelbagai Laman Web)
 - 5 5. Mengaktifkan SSL/TLS (HTTPS)
 - 6 6. Meningkatkan Keselamatan Pelayan Web
 - 7 7. Pengoptimuman Prestasi
 - 8 8. Penyelesaian Masalah
 - 9 9. Ringkasan
- 9.1 Apa Yang Anda Pelajari
 - 9.2 Langkah Seterusnya
 - 9.3 Soalan Lazim (FAQ)
- 9.3.1 S1: Haruskah saya memilih Nginx atau Apache untuk pelayan web saya?
 - 9.3.2 S2: Bolehkah sijil SSL diperbaharui secara automatik?
 - 9.3.3 S3: Bagaimana saya boleh meningkatkan keselamatan pelayan saya lebih lanjut?
 - 9.3.4 S4: Bagaimana saya boleh meningkatkan prestasi Apache?
 - 9.3.5 S5: Mengapa saya mendapat ralat “403 Forbidden”?
 
 - 9.4 Pemikiran Akhir
 
 
1. Pengenalan
Apakah Pelayan Web Ubuntu?
Pelayan web adalah sistem yang menyampaikan laman web melalui internet. Perisian pelayan web popular termasuk Apache, Nginx, dan LiteSpeed, tetapi yang paling digunakan pada Ubuntu ialah Apache.
 Ubuntu adalah ringan, sangat stabil, dan sumber terbuka, menjadikannya pilihan popular untuk individu dan perniagaan. Ia amat sesuai untuk membina tumpukan LAMP (Linux, Apache, MySQL/MariaDB, PHP), yang biasa digunakan untuk menjalankan laman web dan aplikasi web.
Untuk Siapa Panduan Ini?
Artikel ini direka untuk pemula yang menyediakan pelayan web untuk pertama kali. Ia menyediakan panduan langkah demi langkah tentang cara memasang Apache pada Ubuntu, menyediakan hos maya, menyediakan sijil SSL, mengoptimumkan prestasi, dan meningkatkan keselamatan.
Apa Yang Anda Akan Belajar
- Cara menyediakan pelayan web pada Ubuntu (Memasang dan menyediakan Apache)
 - Menyediakan hos maya untuk mengurus pelbagai laman web
 - Memasang sijil SSL percuma dengan Let’s Encrypt
 - Meningkatkan keselamatan dan mengoptimumkan prestasi pelayan
 - Menyelesaikan masalah biasa pelayan web
 
2. Memasang dan Persediaan Awal Ubuntu
Keperluan Sistem
Untuk menjalankan Ubuntu sebagai pelayan web, spesifikasi sistem minimum berikut disyorkan:
| Component | Minimum Requirements | Recommended Requirements | 
|---|---|---|
| OS | Ubuntu 22.04 LTS | Ubuntu 22.04 LTS | 
| CPU | 1GHz or higher | 2GHz or higher | 
| Memory | 512MB | 2GB or higher | 
| Storage | 10GB or more | 20GB or more | 
| Network | Internet connection | High-speed connection recommended | 
Memuat Turun dan Memasang Ubuntu
Anda boleh memuat turun Ubuntu dari laman web rasmi: https://ubuntu.com/download/server. Setelah anda memperoleh fail ISO, anda boleh memasangnya menggunakan VirtualBox atau VMware untuk persekitaran maya, atau pada pelayan khusus atau VPS.
Langkah Pemasangan:
- Cipta media pemasangan
 
- Gunakan pemacu USB (dengan alat seperti Rufus)
 - Pasang fail ISO dalam mesin maya
 
- Ikuti penyihir pemasangan
 
- Tetapkan bahasa kepada Inggeris
 - Semak sambungan rangkaian
 - Konfigurasi nama pengguna dan kata laluan
 - Pasang pelayan SSH (pilihan, boleh dilakukan kemudian)
 
- Lengkapkan persediaan OS dan mulakan semula
 - Log masuk dan mulakan konfigurasi awal
 
Persediaan Awal Asas
Selepas pemasangan, lakukan langkah persediaan awal berikut:
- Kemas kini pakej sistem
 
sudo apt update && sudo apt upgrade -y
→ Ini memastikan bahawa tambalan keselamatan dan kemas kini perisian diaplikasikan.
- Tetapkan zon masa
 
sudo timedatectl set-timezone America/New_York
→ Tetapkan zon masa untuk sepadan dengan lokasi pelayan anda.
- Dayakan pagar api
 
sudo ufw enable
→ Ini melindungi pelayan daripada akses tidak dibenarkan.
- Konfigurasi SSH (untuk pengurusan jauh)
 
- Semak jika SSH diaktifkan: 
sudo systemctl status ssh - Jika tidak diaktifkan, mulakan: 
sudo systemctl enable --now ssh 
Setelah tetapan awal ini diaplikasikan, pelayan Ubuntu sedia untuk dikonfigurasi sebagai pelayan web.
3. Memasang dan Menyediakan Apache
Apakah Apache?
Apache (secara rasmi Apache HTTP Server) adalah perisian pelayan web sumber terbuka yang dikenali kerana kestabilan, skalabiliti, dan keselamatannya. Kira-kira 30% pelayan web di seluruh dunia menggunakan Apache.
Ciri Utama:
- Percuma dan sumber terbuka
 - Arsitektur modular untuk penyesuaian mudah
 - Menyokong SSL/TLS untuk sambungan HTTPS selamat
 - Sokongan hos maya untuk mengurus pelbagai laman web
 
Memasang Apache
Pada Ubuntu, Apache boleh dipasang dengan mudah menggunakan pengurus pakej apt.
Pasang Apache
Jalankan arahan berikut untuk memasang Apache:
sudo apt update
sudo apt install apache2 -y
Sahkan Pemasangan
Selepas pemasangan, semak versi Apache:
apache2 -v
Contoh output:
Server version: Apache/2.4.52 (Ubuntu)
Server built:   2023-07-01T12:34:56
Jika anda melihat mesej ini, Apache dipasang dengan berjaya.
Memulakan, Menghentikan, dan Memulakan Semula Apache
Apache diurus menggunakan arahan systemctl.
Mulakan Apache
sudo systemctl start apache2
Dayakan Apache untuk Dimulakan semasa Boot
sudo systemctl enable apache2
Semak Status Apache
Untuk mengesahkan bahawa Apache sedang berjalan:
sudo systemctl status apache2
Jika Apache sedang berjalan, anda akan melihat status “active (running)”.
Mulakan Semula atau Hentikan Apache
Jika anda perlu memulakan semula Apache selepas membuat perubahan konfigurasi:
sudo systemctl restart apache2
Untuk menghentikan Apache secara sementara:
sudo systemctl stop apache2
4. Menyediakan Virtual Host (Menguruskan Pelbagai Laman Web)
Apa itu Virtual Host?
Virtual host ialah ciri yang membolehkan satu pelayan Apache untuk menghoskan pelbagai domain (atau subdomain).
 Sebagai contoh, satu pelayan boleh menghoskan example.com dan test.com.
Terdapat dua jenis virtual host:
- Virtual Host Berasaskan Nama
 
- Menghoskan pelbagai laman pada alamat IP yang sama
 - Cara paling umum untuk menguruskan pelbagai laman web
 
- Virtual Host Berasaskan IP
 
- Setiap laman diberikan alamat IP yang berbeza
 - Memerlukan berbilang antara muka rangkaian pada pelayan
 
Biasanya, virtual hosting berasaskan nama digunakan.
Langkah-langkah untuk Menyediakan Virtual Host
1. Cipta Direktori untuk Setiap Laman
Setiap virtual host memerlukan direktori khusus untuk menyimpan fail laman webnya.
sudo mkdir -p /var/www/example.com/public_html
sudo mkdir -p /var/www/test.com/public_html
2. Tukar Pemilikan Direktori
Untuk memastikan Apache dapat mengakses fail, tetapkan pemilik kepada www-data.
sudo chown -R www-data:www-data /var/www/example.com/public_html
sudo chown -R www-data:www-data /var/www/test.com/public_html
3. Cipta Fail HTML Ujian
Untuk pengesahan, cipta fail index.html untuk setiap laman.
echo "<h1>Welcome to example.com</h1>" | sudo tee /var/www/example.com/public_html/index.html
echo "<h1>Welcome to test.com</h1>" | sudo tee /var/www/test.com/public_html/index.html
4. Cipta Fail Konfigurasi Virtual Host
Fail konfigurasi virtual host disimpan dalam /etc/apache2/sites-available/.
Konfigurasi untuk example.com
Cipta dan edit fail konfigurasi:
sudo nano /etc/apache2/sites-available/example.com.conf
Tambah konfigurasi berikut:
<VirtualHost *:80>
    ServerAdmin admin@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html
    <Directory /var/www/example.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
    CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>
Konfigurasi untuk test.com
sudo nano /etc/apache2/sites-available/test.com.conf
Tambah kandungan berikut:
<VirtualHost *:80>
    ServerAdmin admin@test.com
    ServerName test.com
    ServerAlias www.test.com
    DocumentRoot /var/www/test.com/public_html
    <Directory /var/www/test.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/test.com_error.log
    CustomLog ${APACHE_LOG_DIR}/test.com_access.log combined
</VirtualHost>
5. Dayakan Virtual Host
Setelah fail konfigurasi dicipta, dayakan mereka dengan a2ensite.
sudo a2ensite example.com.conf
sudo a2ensite test.com.conf
Uji Konfigurasi Apache
Periksa ralat sintaks:
sudo apachectl configtest
Jika outputnya:
Syntax OK
Mulakan semula Apache untuk melaksanakan perubahan:
sudo systemctl restart apache2
6. Menguji Secara Tempatan (Menyunting Fail hosts)
Untuk mengesahkan bahawa virtual host berfungsi dengan betul, sunting fail hosts tempatan anda.
sudo nano /etc/hosts
Tambah baris berikut:
127.0.0.1 example.com
127.0.0.1 test.com
Selepas disimpan, buka pelayar dan masukkan:
http://example.com/
Jika anda melihat “Welcome to example.com”, pemasangan berjaya.
5. Mengaktifkan SSL/TLS (HTTPS)
Apa itu SSL/TLS?
SSL (Secure Sockets Layer) dan TLS (Transport Layer Security) adalah teknologi penyulitan yang mengamankan komunikasi di internet.
Manfaat SSL/TLS:
✅ Menyulitkan komunikasi (mengurangkan risiko kecurian data dan pengubahsuaian)
 ✅ Meningkatkan kedudukan SEO (Google memberi keutamaan kepada laman HTTPS dalam hasil carian)
 ✅ Mencegah amaran pelayar (laman HTTP mungkin memaparkan “Tidak Selamat”)
 ✅ Mengamankan pembayaran dalam talian dan kelayakan log masuk
Menggunakan Let’s Encrypt untuk SSL Percuma
Let’s Encrypt ialah pihak berkuasa pensijilan yang menyediakan sijil SSL percuma. Kami menggunakan certbot untuk memasangnya dengan mudah.
Pasang Certbot
sudo apt update
sudo apt install certbot python3-certbot-apache -y
Konfigurasi SSL Secara Automatik untuk Apache
sudo certbot --apache -d example.com -d www.example.com
Sahkan HTTPS Berfungsi
Selepas pemasangan, periksa:
https://example.com/
Jika anda melihat ikon kunci dalam pelayar, SSL berfungsi.
6. Meningkatkan Keselamatan Pelayan Web
Menetapkan Firewall (UFW)
Aktifkan Firewall dan Buka Port yang Diperlukan
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp   # SSH
sudo ufw allow 80/tcp   # HTTP
sudo ufw allow 443/tcp  # HTTPS
sudo ufw enable
Melindungi SSH
Tukar Port SSH
sudo nano /etc/ssh/sshd_config
Tukar:
Port 2222  # Change 22 to a custom port
Mulakan semula SSH:
sudo systemctl restart ssh
7. Pengoptimuman Prestasi
Penalaan Apache
Secara lalai, Apache tidak selalu dioptimumkan untuk mengendalikan trafik tinggi dengan cekap.
 Anda boleh menyesuaikan tetapan berikut untuk meningkatkan prestasi.
Mengoptimumkan MPM (Modul Pemprosesan Berbilang)
MPM (Modul Pemprosesan Berbilang) menentukan cara Apache memproses permintaan.
Semak konfigurasi MPM semasa:
apachectl -M | grep mpm
Contoh output:
mpm_prefork_module (shared)
Jika anda melihat mpm_prefork_module, pertimbangkan untuk menukar kepada mpm_event bagi prestasi yang lebih baik.
Tukar kepada MPM Event:
sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
sudo systemctl restart apache2
Mengaktifkan KeepAlive
KeepAlive membenarkan sambungan berterusan, mengurangkan bilangan permintaan baru.
Edit fail konfigurasi Apache:
sudo nano /etc/apache2/apache2.conf
Tambah atau ubah suai tetapan berikut:
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
Mulakan semula Apache:
sudo systemctl restart apache2
Memanfaatkan Caching
Menggunakan caching pelayar dan sisi pelayan mengurangkan permintaan berulang, meningkatkan masa respons.
Aktifkan mod_expires untuk Caching Pelayar
sudo a2enmod expires
sudo systemctl restart apache2
Edit fail konfigurasi virtual host anda:
sudo nano /etc/apache2/sites-available/example.com.conf
Tambah:
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 1 month"
    ExpiresByType image/jpg "access plus 1 year"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"
</IfModule>
Mulakan semula Apache:
sudo systemctl restart apache2
Mengaktifkan Pemampatan Gzip
Aktifkan pemampatan untuk mengurangkan saiz fail dan meningkatkan kelajuan pemuatan.
Aktifkan mod_deflate
sudo a2enmod deflate
sudo systemctl restart apache2
Edit fail konfigurasi virtual host:
sudo nano /etc/apache2/sites-available/example.com.conf
Tambah:
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>
Mulakan semula Apache:
sudo systemctl restart apache2
Mengehadkan Sumber
Untuk mengelakkan penggunaan sumber yang berlebihan, hadkan bilangan sambungan per IP.
Aktifkan mod_ratelimit
sudo a2enmod ratelimit
sudo systemctl restart apache2
Edit fail konfigurasi virtual host:
sudo nano /etc/apache2/sites-available/example.com.conf
Tambah:
<Location />
    SetOutputFilter RATE_LIMIT
    SetEnv rate-limit 200
</Location>
Mulakan semula Apache:
sudo systemctl restart apache2
8. Penyelesaian Masalah
Apache Tidak Dapat Dimulakan atau Berhenti Secara Tidak Dijangka
Periksa Status Apache
sudo systemctl status apache2
Jika output mengandungi:
Active: failed
Maka terdapat ralat.
Periksa Log Ralat
sudo journalctl -xe
sudo tail -f /var/log/apache2/error.log
Periksa Konflik Port
sudo netstat -tulnp | grep ':80'
Atau:
sudo lsof -i:80
Isu Sijil SSL
Sijil SSL Tamat Tempoh
sudo certbot renew --force-renewal
Ralat Konfigurasi SSL Apache
Edit fail konfigurasi SSL Apache:
sudo nano /etc/apache2/sites-available/example.com-le-ssl.conf
Sahkan:
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
Mulakan semula Apache:
sudo systemctl restart apache2
Laman Web Tidak Dimuat (Ralat 403, 404, 500)
403 Dilarang
sudo chown -R www-data:www-data /var/www/example.com/public_html
sudo chmod -R 755 /var/www/example.com/public_html
404 Tidak Ditemui
Periksa konfigurasi virtual host:
DocumentRoot /var/www/example.com/public_html
Dayakan mod_rewrite jika diperlukan:
sudo a2enmod rewrite
sudo systemctl restart apache2
500 Ralat Pelayan Dalaman
Periksa log ralat:
sudo tail -f /var/log/apache2/error.log
Cuba menamakan semula .htaccess:
mv /var/www/example.com/public_html/.htaccess /var/www/example.com/public_html/.htaccess.bak
9. Ringkasan
Apa Yang Anda Pelajari
Mari kita semak topik utama yang dibincangkan dalam panduan ini.
| Section | Key Points | 
|---|---|
| 1. Introduction | Overview of Ubuntu Web Server and the purpose of this guide | 
| 2. Installing and Initial Setup of Ubuntu | Setting up Ubuntu, updating packages, and configuring the firewall | 
| 3. Installing and Configuring Apache | Installing Apache, starting the service, and verifying functionality | 
| 4. Configuring Virtual Hosts | Hosting multiple websites on a single Apache server | 
| 5. Enabling SSL/TLS | Using Let’s Encrypt for HTTPS setup | 
| 6. Enhancing Web Server Security | Firewall setup, SSH security, and Apache hardening | 
| 7. Performance Optimization | Using caching, compression, and tuning Apache settings | 
| 8. Troubleshooting | Fixing Apache errors, SSL issues, and common website errors | 
Langkah Seterusnya
Kini server web Ubuntu anda sudah berfungsi, pertimbangkan untuk mempelajari topik lanjutan bagi meningkatkan keupayaan server anda:
✅ Menyebarkan aplikasi WordPress atau PHP
 ✅ Menetapkan pelayan pangkalan data (MySQL / MariaDB)
 ✅ Mengkonfigurasi Nginx sebagai proksi songsang untuk Apache
 ✅ Melaksanakan auto-scaling dengan platform awan (AWS, GCP, Azure)
 ✅ Log dan pemantauan lanjutan (Fail2Ban, Logwatch, Prometheus)
Soalan Lazim (FAQ)
S1: Haruskah saya memilih Nginx atau Apache untuk pelayan web saya?
J1: Jika laman web anda kebanyakannya menyajikan kandungan statik, Nginx disarankan. Jika anda memerlukan pemprosesan kandungan dinamik (seperti PHP), Apache adalah pilihan yang lebih baik. Anda juga boleh menggunakan Nginx sebagai proksi songsang di hadapan Apache.
S2: Bolehkah sijil SSL diperbaharui secara automatik?
J2: Ya, Certbot menyokong pembaharuan automatik. Anda boleh memeriksa status pembaharuan dengan:
sudo certbot renew --dry-run
Untuk pembaharuan sepenuhnya automatik, disarankan untuk menetapkan kerja cron.
S3: Bagaimana saya boleh meningkatkan keselamatan pelayan saya lebih lanjut?
J3: Laksanakan Fail2Ban untuk menghalang serangan brute-force, sembunyikan butiran versi Apache, lumpuhkan modul yang tidak digunakan, dan tegakkan amalan keselamatan SSH yang kuat.
S4: Bagaimana saya boleh meningkatkan prestasi Apache?
J4: Tukar kepada MPM Event, dayakan caching (mod_cache), gunakan pemampatan gzip (mod_deflate), dan optimumkan tetapan KeepAlive.
S5: Mengapa saya mendapat ralat “403 Forbidden”?
J5: Pastikan pemilikan direktori ditetapkan kepada www-data dan laraskan kebenaran fail:
sudo chown -R www-data:www-data /var/www/example.com/public_html
sudo chmod -R 755 /var/www/example.com/public_html
Pemikiran Akhir
Menetapkan pelayan web Ubuntu melibatkan pelbagai langkah, dari pemasangan dan konfigurasi hingga pengoptimuman dan penyelesaian masalah. Walau bagaimanapun, setelah anda memahami prosesnya, anda boleh membina dan mengurus persekitaran hosting web yang berkuasa.
🚀 Ikuti panduan ini untuk membuat pelayan web yang selamat, pantas, dan boleh dipercayai, serta terus meningkatkan kemahiran anda sebagai pentadbir pelayan! 🚀

 
![Punca dan Penyelesaian untuk Tidak Dapat Memasukkan Kata Laluan atau Log Masuk di Ubuntu [Panduan Lengkap untuk Pemula]](https://www.linux.digibeatrix.com/wp-content/uploads/2025/01/222e1410df4982d8e85d09bb3e3389af-375x214.webp)
