One place for hosting & domains

      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:

      Lalu, instal paket 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:

      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:

      Anda dapat memverifikasi perubahan dengan mengetik:

      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:

      • 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:

      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:

      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:

      • sudo systemctl stop apache2

      Untuk memulai server web saat berhenti, ketik:

      • sudo systemctl start apache2

      Untuk menghentikan lalu memulai layanan lagi, ketik:

      • sudo systemctl restart apache2

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

      • 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:

      • sudo systemctl disable apache2

      Untuk mengaktifkan kembali layanan agar memulai saat boot, ketik:

      • 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:

      • sudo mkdir /var/www/your_domain

      Selanjutnya, tentukan kepemilikan direktori dengan variabel lingkungan $USER:

      • 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:

      • sudo chmod -R 755 /var/www/your_domain

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

      • 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:“

      • 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:

      • sudo a2ensite your_domain.conf

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

      • sudo a2dissite 000-default.conf

      Selanjutnya, mari kita uji untuk kesalahan konfigurasi:

      • sudo apache2ctl configtest

      Anda akan menerima keluaran berikut:

      Output

      Syntax OK

      Mulai ulang Apache untuk menerapkan perubahan Anda:

      • 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



      Source link