Difference between revisions of "Proses deployment aplikasi web menggunakan Apache"
Jump to navigation
Jump to search
Onnowpurbo (talk | contribs) (Created page with "Berikut adalah **modul lengkap** untuk bagian **"Proses Deployment Aplikasi Web menggunakan Apache"**, sebagai bagian dari kuliah **Pengenalan Deployment Aplikasi Web** untuk...") |
Onnowpurbo (talk | contribs) |
||
Line 1: | Line 1: | ||
− | + | ==Tujuan Pembelajaran:== | |
+ | Setelah mempelajari modul ini, mahasiswa mampu: | ||
+ | * Menginstal dan mengonfigurasi Apache Web Server | ||
+ | * Meletakkan dan menjalankan aplikasi web di server | ||
+ | * Mengatur virtual host dan domain lokal | ||
+ | * Mengamankan aplikasi dengan hak akses file yang tepat | ||
− | + | ==Persiapan Awal== | |
− | + | '''Sistem:''' | |
+ | * Ubuntu Server/Desktop 24.04 | ||
+ | * Akses sudo | ||
+ | * Aplikasi web berbasis PHP/HTML/CSS/JS | ||
− | + | ==1. Instalasi Apache Web Server== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | '''Langkah:''' | |
− | + | sudo apt update | |
+ | sudo apt install apache2 -y | ||
− | + | '''Cek Status:''' | |
− | |||
− | |||
− | |||
− | + | sudo systemctl status apache2 | |
− | |||
− | sudo | ||
− | |||
− | + | > Akses `http://localhost` atau IP server di browser → harus muncul "Apache2 Ubuntu Default Page" | |
− | |||
− | ` | ||
− | http:// | ||
− | ` | ||
− | |||
− | + | ==2. Instalasi Pendukung (untuk PHP Project)== | |
− | + | sudo apt install php libapache2-mod-php php-mysql -y | |
− | + | '''Cek Versi PHP:''' | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | - | + | php -v |
− | + | ==3. Struktur Direktori Web== | |
− | |||
− | |||
− | |||
− | |||
− | + | '''Lokasi default:''' | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | `/var/www/html/` | |
− | ` | ||
− | |||
− | |||
− | |||
− | + | '''Ganti isi default:''' | |
− | + | sudo rm /var/www/html/index.html | |
+ | sudo nano /var/www/html/index.php | ||
− | + | '''Isi contoh:''' | |
− | |||
− | |||
− | |||
− | + | <pre> | |
− | < | + | <?php |
− | < | + | echo "Halo dunia dari Apache!"; |
− | + | ?> | |
− | + | </pre> | |
− | </ | ||
− | |||
− | + | Akses di browser: `http://localhost` | |
− | ` | ||
− | |||
− | |||
− | + | ==4. Deploy Aplikasi Web Sederhana== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Misal folder aplikasi bernama `projectku`, letakkan di `/var/www/` | |
− | ``` | ||
− | |||
− | |||
− | |||
− | + | sudo cp -r ~/projectku /var/www/projectku | |
− | |||
− | |||
− | |||
− | + | ==5. Konfigurasi Virtual Host (Multiple Projects)== | |
− | + | '''Buat File Config Baru:''' | |
− | + | sudo nano /etc/apache2/sites-available/projectku.conf | |
− | + | Isi contoh: | |
− | |||
− | |||
− | |||
− | + | <VirtualHost *:80> | |
− | + | ServerAdmin webmaster@localhost | |
− | + | DocumentRoot /var/www/projectku | |
− | + | ServerName projectku.local | |
+ | |||
+ | <Directory /var/www/projectku> | ||
+ | Options Indexes FollowSymLinks | ||
+ | AllowOverride All | ||
+ | Require all granted | ||
+ | </Directory> | ||
+ | |||
+ | ErrorLog ${APACHE_LOG_DIR}/projectku_error.log | ||
+ | CustomLog ${APACHE_LOG_DIR}/projectku_access.log combined | ||
+ | </VirtualHost> | ||
− | + | '''Aktifkan Virtual Host:''' | |
− | |||
− | |||
− | |||
− | |||
− | + | sudo a2ensite projectku.conf | |
− | + | sudo systemctl reload apache2 | |
− | + | '''(Opsional) Tambah ke `/etc/hosts` untuk domain lokal:''' | |
− | + | sudo nano /etc/hosts | |
− | + | Tambahkan: | |
− | |||
− | |||
− | |||
− | + | 127.0.0.1 projectku.local | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | > Sekarang akses `http://projectku.local` di browser | |
− | ` | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ==6. Set Hak Akses Folder== | |
− | |||
− | |||
− | |||
− | + | sudo chown -R www-data:www-data /var/www/projectku | |
− | + | sudo chmod -R 755 /var/www/projectku | |
− | |||
− | |||
− | + | ==7. Tambahan: HTTPS dengan Let's Encrypt== | |
− | |||
− | |||
− | |||
− | + | Jika menggunakan domain publik: | |
− | |||
− | |||
− | + | sudo apt install certbot python3-certbot-apache -y | |
− | + | sudo certbot --apache -d namadomainkamu.com | |
− | + | ==Praktik Mahasiswa== | |
− | |||
− | |||
− | + | '''Tugas Praktik''' | |
− | + | * Install Apache di Ubuntu lokal atau server | |
− | + | * Deploy proyek web pribadi (HTML/PHP) | |
− | `` | + | * Konfigurasi virtual host dengan domain lokal (`.local`) |
+ | * Berikan screenshot hasil deploy + isi file konfigurasi | ||
− | + | '''Laporan''' | |
− | + | * Penjelasan tahapan deploy | |
− | + | * Struktur file proyek | |
− | `` | + | * Kode virtual host (`.conf`) |
+ | * Link GitHub (jika proyek open-source) | ||
− | + | ==Referensi== | |
− | |||
− | |||
− | |||
− | + | * [Apache2 Ubuntu Docs](https://ubuntu.com/server/docs/web-servers-apache) | |
+ | * [DigitalOcean – Apache Virtual Hosts](https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu) | ||
+ | * [Let's Encrypt Certbot](https://certbot.eff.org/instructions) | ||
− | |||
− | + | ==Pranala Menarik== | |
− | + | * [[Web Programming]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 11:46, 8 April 2025
Tujuan Pembelajaran:
Setelah mempelajari modul ini, mahasiswa mampu:
- Menginstal dan mengonfigurasi Apache Web Server
- Meletakkan dan menjalankan aplikasi web di server
- Mengatur virtual host dan domain lokal
- Mengamankan aplikasi dengan hak akses file yang tepat
Persiapan Awal
Sistem:
- Ubuntu Server/Desktop 24.04
- Akses sudo
- Aplikasi web berbasis PHP/HTML/CSS/JS
1. Instalasi Apache Web Server
Langkah:
sudo apt update sudo apt install apache2 -y
Cek Status:
sudo systemctl status apache2
> Akses `http://localhost` atau IP server di browser → harus muncul "Apache2 Ubuntu Default Page"
2. Instalasi Pendukung (untuk PHP Project)
sudo apt install php libapache2-mod-php php-mysql -y
Cek Versi PHP:
php -v
3. Struktur Direktori Web
Lokasi default:
`/var/www/html/`
Ganti isi default:
sudo rm /var/www/html/index.html sudo nano /var/www/html/index.php
Isi contoh:
<?php echo "Halo dunia dari Apache!"; ?>
Akses di browser: `http://localhost`
4. Deploy Aplikasi Web Sederhana
Misal folder aplikasi bernama `projectku`, letakkan di `/var/www/`
sudo cp -r ~/projectku /var/www/projectku
5. Konfigurasi Virtual Host (Multiple Projects)
Buat File Config Baru:
sudo nano /etc/apache2/sites-available/projectku.conf
Isi contoh:
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/projectku ServerName projectku.local <Directory /var/www/projectku> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/projectku_error.log CustomLog ${APACHE_LOG_DIR}/projectku_access.log combined </VirtualHost>
Aktifkan Virtual Host:
sudo a2ensite projectku.conf sudo systemctl reload apache2
(Opsional) Tambah ke `/etc/hosts` untuk domain lokal:
sudo nano /etc/hosts
Tambahkan:
127.0.0.1 projectku.local
> Sekarang akses `http://projectku.local` di browser
6. Set Hak Akses Folder
sudo chown -R www-data:www-data /var/www/projectku sudo chmod -R 755 /var/www/projectku
7. Tambahan: HTTPS dengan Let's Encrypt
Jika menggunakan domain publik:
sudo apt install certbot python3-certbot-apache -y sudo certbot --apache -d namadomainkamu.com
Praktik Mahasiswa
Tugas Praktik
- Install Apache di Ubuntu lokal atau server
- Deploy proyek web pribadi (HTML/PHP)
- Konfigurasi virtual host dengan domain lokal (`.local`)
- Berikan screenshot hasil deploy + isi file konfigurasi
Laporan
- Penjelasan tahapan deploy
- Struktur file proyek
- Kode virtual host (`.conf`)
- Link GitHub (jika proyek open-source)
Referensi
- [Apache2 Ubuntu Docs](https://ubuntu.com/server/docs/web-servers-apache)
- [DigitalOcean – Apache Virtual Hosts](https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu)
- [Let's Encrypt Certbot](https://certbot.eff.org/instructions)