Tutorial

Cara Menginstal Server Web Apache pada Ubuntu 20.04

Published on October 26, 2020
Default avatar

By Erin Glass

Senior Manager, DevEd

Bahasa Indonesia
Cara Menginstal Server Web Apache pada Ubuntu 20.04

Pengantar

Server HTTP Apache adalah server web yang paling banyak digunakan di dunia. Server web ini menyediakan banyak fitur canggih termasuk modul yang dapat dimuat secara dinamis, dukungan media yang kokoh, dan integrasi ekstensif dengan perangkat lunak populer lainnya.

Dalam panduan ini, kami akan menjelaskan cara menginstal server web Apache di server Ubuntu 20.04 Anda.

Prasyarat

Sebelum Anda memulai panduan ini, Anda harus memiliki pengguna non-root reguler dengan privilese sudo yang terkonfigurasi di server Anda. Selain itu, Anda akan perlu mengaktifkan firewall dasar untuk memblokir porta non-esensial. Anda dapat mempelajari cara mengonfigurasi akun pengguna reguler dan menyiapkan firewall untuk server Anda dengan mengikuti Panduan penyiapan server awal untuk Ubuntu 20.04 dari kami.

Ketika Anda sudah memiliki akun, log masuk sebagai pengguna non-root untuk memulai.

Langkah 1 — Menginstal Apache

Apache tersedia di dalam repositori perangkat lunak asali Ubuntu, yang memungkinkan Apache terinstal dengan menggunakan alat manajemen paket konvensional.

Mari kita mulai dengan memperbarui indeks paket lokal untuk mencerminkan perubahan hulu terbaru:

  1. sudo apt update

Lalu, instal paket apache2:

  1. sudo apt install apache2

Setelah mengonfirmasi instalasi, apt akan menginstal Apache dan semua dependensi yang diperlukan.

Langkah 2 — Menyesuaikan Firewall

Sebelum menguji Apache, Anda perlu memodifikasi pengaturan firewall untuk mengizinkan akses dari luar ke porta web asali. Dengan asumsi bahwa Anda telah mengikuti instruksi di prasyarat, Anda seharusnya memiliki firewall UFW yang terkonfigurasi untuk membatasi akses ke server Anda.

Selama instalasi, Apache mendaftarkan dirinya dengan UFW untuk menyediakan beberapa profil aplikasi yang dapat digunakan untuk mengaktifkan atau menonaktifkan akses ke Apache melalui firewall.

Buat daftar profil aplikasi ufw dengan mengetik:

  1. sudo ufw app list

Anda akan menerima daftar profil aplikasi:

Output
Available applications: Apache Apache Full Apache Secure OpenSSH

Seperti yang ditunjukkan oleh keluaran, ada tiga profil yang tersedia untuk Apache:

  • Apache: Profil ini hanya membuka porta 80 (lalu lintas web normal dan tidak terenkripsi)
  • Apache Full: Profil ini membuka baik porta 80 (lalu lintas web normal dan tidak terenkripsi) serta porta 443 (lalu lintas terenkripsi TLS/SSL)
  • Apache Secure: Profile ini hanya membuka porta 443 (lalu lintas terenkripsi TLS/SSL)

Anda disarankan untuk mengaktifkan profil yang paling ketat yang masih akan mengizinkan lalu lintas yang telah Anda konfigurasikan. Karena kita belum mengonfigurasi SSL untuk server kita dalam panduan ini, kita hanya perlu mengizinkan lalu lintas pada porta 80:

  1. sudo ufw allow 'Apache'

Anda dapat memverifikasi perubahan dengan mengetik:

  1. sudo ufw status

Keluaran akan memberi daftar lalu lintas HTTP yang diizinkan:

Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Apache ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Apache (v6) ALLOW Anywhere (v6)

Seperti yang ditunjukkan oleh keluaran, profil itu telah diaktifkan untuk mengizinkan akses ke server web Apache.

Langkah 3 — Memeriksa Server Web Anda

Pada akhir proses instalasi, Ubuntu 20.04 memulai Apache. Server web seharusnya sudah aktif dan berjalan.

Periksa dengan sistem init systemd untuk memastikan layanan sedang berjalan dengan mengetik:

  1. sudo systemctl status apache2
Output
● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-04-23 22:36:30 UTC; 20h ago Docs: https://httpd.apache.org/docs/2.4/ Main PID: 29435 (apache2) Tasks: 55 (limit: 1137) Memory: 8.0M CGroup: /system.slice/apache2.service ├─29435 /usr/sbin/apache2 -k start ├─29437 /usr/sbin/apache2 -k start └─29438 /usr/sbin/apache2 -k start

Sebagaimana dikonfirmasi oleh keluaran ini, layanan telah berhasil dimulai. Namun, cara terbaik untuk menguji ini adalah dengan benar-benar meminta satu laman dari Apache.

Anda dapat mengakses laman landas Apache asali untuk mengonfirmasi bahwa perangkat lunak berjalan dengan baik melalui alamat IP Anda. Jika Anda tidak mengetahui alamat IP server Anda, Anda bisa mendapatkannya dengan beberapa cara berbeda dari baris perintah.

Coba ketik ini di prompt perintah server Anda:

  1. hostname -I

Anda akan mendapat beberapa alamat yang dipisahkan dengan spasi. Anda dapat mencoba masing-masing alamat di peramban web Anda untuk melihat apakah alamat itu berfungsi.

Opsi lain adalah dengan menggunakan alat Icanhazip, yang akan memberi Anda alamat IP publik Anda sebagaimana yang terbaca dari lokasi lain di internet:

  1. curl -4 icanhazip.com

Saat Anda memiliki alamat IP server Anda, masukkan alamat itu ke dalam bilah alamat peramban Anda:

http://your_server_ip

Anda akan melihat laman web Apache Ubuntu 20.04 asali:

Laman asali Apache

Laman ini mengindikasikan bahwa Apache berfungsi dengan benar. Ini juga mencakup beberapa informasi dasar tentang berkas dan lokasi direktori penting Apache.

Langkah 4 — Mengelola Proses Apache

Karena sekarang server web Anda telah aktif dan berjalan, mari kita bahas beberapa perintah manajemen dasar dengan menggunakan systemctl.

Untuk menghentikan server web Anda, ketik:

  1. sudo systemctl stop apache2

Untuk memulai server web saat berhenti, ketik:

  1. sudo systemctl start apache2

Untuk menghentikan lalu memulai layanan lagi, ketik:

  1. sudo systemctl restart apache2

Jika Anda hanya membuat perubahan konfigurasi, Apache seringkali dapat memuat ulang tanpa memutus koneksi. Untuk melakukan ini, gunakan perintah ini:

  1. sudo systemctl reload apache2

Secara asali, Apache dikonfigurasikan untuk memulai secara otomatis saat server melakukan boot. Jika ini bukan apa yang Anda inginkan, Anda dapat menonaktifkan perilaku ini dengan mengetik:

  1. sudo systemctl disable apache2

Untuk mengaktifkan kembali layanan agar memulai saat boot, ketik:

  1. sudo systemctl enable apache2

Apache sekarang akan memulai secara otomatis saat server melakukan boot kembali.

Langkah 5 — Menyiapkan Hos Virtual (Disarankan)

Ketika menggunakan server web Apache, Anda dapat menggunakan hos virtual (mirip seperti blok server di Nginx) untuk mengenkapsulasi detail konfigurasi dan menjadi hos untuk lebih dari satu domain dari server tunggal. Kita akan menyiapkan domain bernama your_domain, tetapi Anda harus menggantinya dengan nama domain Anda sendiri. Jika Anda menyiapkan nama domain dengan DigitalOcean, silakan merujuk ke Dokumentasi Jaringan kami.

Apache pada Ubuntu 20.04 memiliki satu blok server yang aktif secara asali, yang dikonfigurasi untuk menyajikan dokumen-dokumen dari direktori /var/www/html. Meskipun ini berfungsi baik untuk situs tunggal, ini bisa menjadi sulit dijalankan jika Anda menjadi hos dari beberapa situs. Alih-alih memodifikasi /var/www/html, mari kita ciptakan struktur direktori di dalam /var/www untuk situs your_domain, dengan membiarkan /var/www/html di tempatnya sebagai direktori asali yang akan disajikan jika permintaan klien tidak cocok dengan situs lain apa pun.

Buat direktori untuk your_domain sebagai berikut:

  1. sudo mkdir /var/www/your_domain

Selanjutnya, tentukan kepemilikan direktori dengan variabel lingkungan $USER:

  1. sudo chown -R $USER:$USER /var/www/your_domain

Izin dari root web Anda seharusnya benar jika Anda belum mengubah nilai umask Anda, yang menetapkan izin berkas asali. Untuk memastikan izin Anda benar dan memperbolehkan pemilik untuk membaca, menulis, dan mengeksekusi berkas, sementara memberikan izin hanya untuk membaca dan mengeksekusi kepada grup dan lainnya, Anda dapat memasukkan perintah berikut:

  1. sudo chmod -R 755 /var/www/your_domain

Selanjutnya, buat laman index.html dengan menggunakan nano atau editor favorit Anda:

  1. sudo nano /var/www/your_domain/index.html

Di dalam, tambahkan HTML sampel berikut ini:

/var/www/your_domain/index.html
<html>
    <head>
        <title>Welcome to Your_domain!</title>
    </head>
    <body>
        <h1>Success!  The your_domain virtual host is working!</h1>
    </body>
</html>

Simpan dan tutup berkas saat Anda sudah selesai.

Agar Apache menyajikan konten ini, kita perlu menciptakan berkas hos virtual dengan arahan yang benar. Alih-alih memodifikasi berkas konfigurasi asali yang terletak di /etc/apache2/sites-available/000-default.conf secara langsung, mari kita ciptakan yang baru di /etc/apache2/sites-available/your_domain.conf:``

  1. sudo nano /etc/apache2/sites-available/your_domain.conf

Tempel di blok konfigurasi berikut, yang serupa dengan yang asali, tetapi diperbarui untuk nama domain dan direktori baru kita:

/etc/apache2/sites-available/your_domain.conf
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName your_domain
    ServerAlias www.your_domain
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Perhatikan bahwa kita telah memperbarui DocumentRoot ke direktori baru kita dan ServerAdmin ke suatu surel yang dapat diakses oleh administrator situs your_domain. Kita juga telah menambah dua arahan: ServerName, yang menjadikan domain dasar yang seharusnya sesuai dengan definisi hos virtual ini, dan ServerAlias, yang mendefinisikan nama lebih lanjut yang seharusnya sesuai, sebagaimana jika itu adalah nama dasarnya.

Simpan dan tutup berkas saat Anda sudah selesai.

Mari kita aktifkan berkas dengan alat a2ensite:

  1. sudo a2ensite your_domain.conf

Nonaktifkan situs asali yang ditetapkan di dalam 000-default.conf:

  1. sudo a2dissite 000-default.conf

Selanjutnya, mari kita uji untuk kesalahan konfigurasi:

  1. sudo apache2ctl configtest

Anda akan menerima keluaran berikut:

Output
Syntax OK

Mulai ulang Apache untuk menerapkan perubahan Anda:

  1. sudo systemctl restart apache2

Apache sekarang seharusnya menyajikan nama domain Anda. Anda dapat menguji ini dengan bernavigasi ke http://your_domain, di mana Anda akan melihat sesuatu seperti ini:

Contoh hos virtual Apache

Langkah 6 — Membiasakan Diri dengan Berkas dan Direktori Penting Apache

Kini setelah Anda mengetahui cara mengelola layanan Apache sendiri, Anda perlu waktu beberapa menit untuk membiasakan diri dengan beberapa direktori dan berkas penting.

Isi

  • /var/www/html: Konten web aktual, yang secara asali hanya terdiri dari halaman Apache asali yang Anda lihat sebelumnya, yang disajikan dari direktori /var/www/html. Ini dapat diubah dengan mengubah berkas konfigurasi Apache.

Konfigurasi Server

  • /etc/apache2: Direktori konfigurasi Apache. Semua berkas konfigurasi Apache berada di sini.
  • /etc/apache2/apache2.conf: Berkas konfigurasi utama Apache. Ini dapat dimodifikasi untuk membuat perubahan pada konfigurasi global Apache. Berkas ini bertanggung jawab atas pemuatan banyak berkas lainnya di dalam direktori konfigurasi.
  • /etc/apache2/port.conf: Berkas ini menetapkan porta yang akan didengar oleh Apache. Secara asali, Apache mendengarkan porta 80 dan sebagai tambahan juga mendengarkan porta 443 saat modul yang menyediakan kemampuan SSL diaktifkan.
  • /etc/apache2/sites-available/: Direktori di mana hos virtual per situs dapat disimpan. Apache tidak akan menggunakan berkas konfigurasi yang ditemukan dalam direktori ini kecuali jika berkas tersebut terhubung ke direktori sites-enabled. Biasanya, semua konfigurasi blok server dilakukan di dalam direktori ini, lalu diaktifkan dengan menghubungkannya ke direktori lain dengan perintah a2ensite.
  • /etc/apache2/sites-enabled/: Direktori tempat menyimpan hos virtual per situs yang diaktifkan. Biasanya, ini diciptakan dengan menghubungkan ke berkas konfigurasi yang ditemukan di dalam direktori sites-available dengan a2ensite. Apache membaca berkas konfigurasi dan tautan yang ditemukan di dalam direktori ini saat memulai atau memuat ulang untuk mengompilasi konfigurasi yang lengkap.
  • /etc/apache2/conf-available/, /etc/apache2/conf-enabled: Direktori ini memiliki hubungan yang sama seperti sites-available dan direktori sites-enabled, tetapi digunakan untuk menyimpan fragmen konfigurasi yang tidak seharusnya berada di hos virtual. Berkas dalam direktori conf-available dapat diaktifkan dengan perintah a2enconf dan dinonaktifkan dengan perintah a2disconf.
  • /etc/apache2/mods-available/, /etc/apache2/mods-enabled/: Direktori-direktori ini berisi modul yang tersedia dan diaktifkan, secara berurutan. Berkas yang berakhiran .load berisi fragmen untuk memuat modul tertentu, sedangkan berkas yang berakhiran .conf berisi konfigurasi untuk modul tersebut. Modul dapat diaktifkan dan dinonaktifkan dengan menggunakan perintah a2enmod dan a2dismod.

Log Server

  • /var/log/apache2/access.log: Secara asali, setiap permintaan ke server web Anda direkam di dalam berkas log ini kecuali Apache dikonfigurasikan untuk melakukan sebaliknya.
  • /var/log/apache2/error.log: Secara asali, semua kesalahan direkam di dalam berkas ini. Arahan LogLevel dalam konfigurasi Apache menetapkan seberapa banyak detail yang akan dicatat dalam log kesalahan.

Kesimpulan

Setelah server web Anda terinstal, Anda memiliki banyak opsi untuk tipe konten yang Anda dapat layani dan teknologi yang Anda dapat gunakan untuk menciptakan pengalaman yang lebih kaya.

Jika Anda ingin membangun tumpukan aplikasi yang lebih lengkap, Anda dapat membaca artikel yang berjudul cara mengonfigurasi tumpukan LAMP pada Ubuntu 20.04

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors
Default avatar

Senior Manager, DevEd

Open source advocate and lover of education, culture, and community.

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel