GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal &Mengonfigurasi Apache dengan Let's Encrypt TLS/SSL di Ubuntu 20.04

Apache , juga dikenal sebagai server HTTP Apache, telah menjadi salah satu aplikasi server web yang paling banyak digunakan secara global selama beberapa dekade terakhir. Ini adalah perangkat lunak aplikasi web sumber terbuka dan gratis yang dikelola oleh Apache Software Foundation . Apache menyediakan beberapa fitur canggih dengan modul yang dapat dimuat secara dinamis, integrasi yang mudah dengan perangkat lunak lain, dan penanganan file statis, di antara fitur populer lainnya.

Dalam tutorial berikut, Anda akan mempelajari cara Menginstal Apache Web Server di Ubuntu 20.04.

Prasyarat

  • OS yang Disarankan: Ubuntu 20.04 – opsional (Ubuntu 21.04 dan Linux Mint 20)
  • Akun pengguna: Akun pengguna dengan sudo atau akses root.

Memperbarui Sistem Operasi

Pertama, sebelum apa pun, perbarui Ubuntu . Anda sistem operasi untuk memastikan semua paket yang ada mutakhir:

sudo apt update && sudo apt upgrade -y

Akses Root atau Sudo

Secara default, akun yang dibuat dengan Ubuntu memberikan status sudo. Namun, misalkan Anda perlu memberikan akun tambahan akses sudo/root. Dalam hal ini, Anda harus memiliki akses ke sandi root untuk menggunakan perintah su atau kunjungi tutorial kami tentang Cara Menambahkan Pengguna ke Sudoers di Ubuntu.

Metode 1. Instal Apache dari Repositori Ubuntu

Opsi pertama untuk menginstal Apache adalah menggunakan repositori default Ubuntu. Ini lebih praktis bagi sebagian besar pengguna karena sangat stabil dan aman.

Untuk menginstal Apache, buka terminal Anda dan jalankan perintah berikut:

sudo apt install apache2 -y

Selanjutnya, verifikasi instalasi berhasil dengan memverifikasi versi build Apache:

sudo apache2 --version

Contoh keluaran:

Server version: Apache/2.4.51

Periksa untuk melihat apakah Apache2 berjalan dengan benar menggunakan berikut systemctl perintah:

systemctl status apache2

Contoh keluaran jika semuanya baik-baik saja:

Metode 2. Instal Apache Terbaru dari Ondřej Surý PPA

Secara default, Apache tersedia dalam repositori perangkat lunak Ubuntu , sehingga mudah dipasang. Namun, seperti kebanyakan repositori pada versi Ubuntu LTS, seringkali kurang dari apa yang ada saat ini, tidak begitu banyak untuk risiko keamanan. Namun, fitur dan peningkatan yang lebih baru tidak ada.

Disarankan agar Ubuntu menginstal Apache 2 versi Ondřej Surý , yang paling mutakhir dan dibuat sebelumnya dengan modul ekstra yang banyak digunakan.

Pertama, tambahkan Ondřej Surý PPA untuk Ubuntu sebagai berikut:

sudo add-apt-repository ppa:ondrej/apache2 -y && sudo apt update

Sekarang, Anda dapat menginstal paket Apache 2 dengan perintah berikut:

sudo apt install apache2

Instalasi akan menginstal semua dependensi yang diperlukan.

Jika Anda tidak ingin menggunakan PPA, Anda dapat melewatkan menambahkannya dan menginstal Apache 2 dari repositori Ubuntu.

Setelah diinstal, konfirmasikan versi yang menjalankan perintah berikut:

apache2 -v

Contoh keluaran:

Server version: Apache/2.4.51 (Ubuntu)

Perhatikan bahwa kedua repositori berada pada versi yang sama pada saat tutorial karena pembaruan CVE URGENT. Biasanya, PPA Ondřej Surý selalu mendahului Ubuntu 20.04 default.

Periksa untuk melihat apakah Apache2 berjalan dengan benar menggunakan berikut systemctl perintah:

sudo systemctl status apache2

Contoh keluaran jika semuanya baik-baik saja:

Konfigurasi Firewall UFW untuk Apache

Setelah menginstal server web Apache 2, Anda perlu mengubah aturan UFW untuk mengizinkan akses luar ke port web default. Untungnya, selama penginstalan, Apache mendaftarkan dirinya ke UFW untuk menyediakan beberapa profil yang dapat digunakan untuk mengaktifkan atau menonaktifkan akses, sehingga konfigurasinya mudah dan cepat.

Pertama, daftar profil aplikasi untuk melihat profil Apache yang tersedia dengan perintah berikut:

sudo ufw app list

Contoh keluaran:

Available applications:
  Apache
  Apache Full
  Apache Secure

Dari output di atas, Anda memiliki tiga opsi profil untuk dipilih. Untuk memecahnya, Apache berjalan pada port 80 (HTTP), Apache Secure berjalan pada port 443 (HTTPS), dan Apache Full adalah kombinasi yang memungkinkan keduanya. Yang paling umum adalah Apache Full atau Apache Secure.

Untuk tutorialnya, karena kita belum mengatur SSL, kita akan mengaktifkan profil (Apache) dengan perintah berikut:

sudo ufw allow 'Apache'

Contoh keluaran:

Rule added
Rule added (v6)

Seperti di atas, aturan telah ditambahkan untuk IPV4 dan IPV6. Nanti, Anda dapat menonaktifkan profil ini dan mengaktifkan hanya aman atau menonaktifkan aturan Apache dan menggunakan aturan Apache Full sebagai gantinya.

Verifikasi Server Web Apache

Setelah Anda menginstal dan mengonfigurasi firewall UFW, sekarang saatnya untuk menguji apakah Apache 2 dapat dijangkau dan berfungsi dengan benar dengan meminta halaman.

Anda dapat mengakses halaman arahan Apache default untuk memeriksa apakah perangkat lunak berjalan dengan benar melalui alamat IP server Anda. Untuk mengetahuinya, jika Anda tidak tahu, gunakan perintah berikut di bawah ini:

hostname -I

Anda harus mendapatkan kembali alamat IP internal server sebagai contoh:

###Example Only###
192.168.50.15 

Anda mungkin mendapatkan 2 hingga 3 hasil kembali. Coba masing-masing sampai Anda menemukan alamat IP yang benar.

Jika Anda memerlukan alamat IP publik Anda (eksternal), gunakan perintah berikut sebagai gantinya:

curl -4 icanhazip.com

Anda mungkin perlu menginstal paket CURL jika tidak ada. Untuk melakukannya, jalankan perintah berikut:

sudo apt install curl -y

Setelah Anda memiliki alamat IP server, buka Browser Internet favorit Anda dan masukkan berikut ini:

http://your_server_ip

Anda akan mendapatkan halaman berikut di Browser Internet Anda:

Selamat, Anda telah menginstal server web Apache 2 dan saat ini berfungsi.

Langkah selanjutnya adalah menyiapkan host virtual.

Membuat dan atau Mengonfigurasi Host Virtual untuk Apache

Dengan menggunakan server web Apache, Anda dapat membuat host virtual untuk mengelola konfigurasi untuk lebih dari satu domain yang berjalan di satu server. Jika Anda pernah menggunakan Nginx sebelumnya, ini setara dengan blok server. Pada contoh di bawah ini, tutorial akan membuat domain example-domain.com yang akan Anda ganti dengan nama domain Anda.

Secara default, Apache di Ubuntu 20.04 memiliki satu blok server yang diaktifkan secara default yang dikonfigurasi untuk melayani dokumen dari /var/www/html direktori. Jika Anda mengoperasikan satu situs web, Anda dapat memodifikasi blok server ini agar sesuai dengan milik Anda. Namun, jika Anda menghosting beberapa situs web, Anda perlu membuat struktur direktori baru untuk berbagai domain Anda.

Membuat dan atau Mengonfigurasi Direktori

Pertama, tinggalkan /var/www/html direktori utuh sebagai direktori default, lalu buat direktori baru, misalnya-domain.com, seperti di bawah ini:

sudo mkdir /var/www/example_domain

Langkah selanjutnya adalah menetapkan kepemilikan direktori dengan variabel lingkungan $USER:

sudo chown -R $USER:$USER /var/www/example_domain

Biasanya, izin root web harus disetel dengan benar, dan Anda dapat memverifikasi menggunakan perintah -ls l :

-ls l /var/www/example_domain
ls -l /var/www/example_domain

Contoh keluaran:

drwxr-xr-x 2 joshua joshua 4096 Oct 10 11:46 example_domain

Seperti yang Anda lihat, kami memiliki izin drwxr-xr-x, yang setara dengan chmod 755 . Jika Anda tidak memiliki izin ini, jalankan perintah berikut:

sudo chmod -R 755 /var/www/example_domain

Sekarang buat contoh halaman index.html menggunakan editor teks favorit Anda. Tutorial akan menggunakan nano seperti di bawah ini:

sudo nano /var/www/example_domain/index.html

Dalam file, salin dan tempel kode berikut:

<html>
    <head>
        <title>Welcome to Website!</title>
    </head>
    <body>
        <h1>Success! The virtual host is working! You did not mess it up.</h1>
    </body>
</html>

Simpan file (CTRL+O) , lalu keluar (CTRL+X) .

Buat Host Virtual

Sekarang Anda telah membuat halaman arahan dan mengatur kepemilikan dan izin yang benar. Anda sekarang dapat melanjutkan untuk membuat file host virtual. Secara default, semua file host virtual harus ditempatkan di /etc/Apache2/sites-available/ direktori.

Pertama, gunakan editor teks favorit Anda untuk membuat file konfigurasi yang terletak di /etc/apache2/sites-available/example_domain.conf seperti di bawah ini:

sudo nano /etc/apache2/sites-available/example_domain.conf

Sekarang, salin dan tempel berikut ini ke dalam file blok konfigurasi, perhatikan untuk mengganti ServerName, ServerAlias, Anda dan Akar dokumen dengan Anda sendiri:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName example_domain
    ServerAlias www.example_domain
    DocumentRoot /var/www/example_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Catatan, ingat jangan lupa untuk mengubah arahan Server yang diperlukan sesuai keinginan Anda.

Simpan file konfigurasi menggunakan (CTRL+O) dan keluar dengan (CTRL+X) .

Aktifkan Host Virtual

Sekarang setelah file konfigurasi host virtual Anda siap, sekarang saatnya untuk mengaktifkannya. Dengan Apache, tidak seperti Nginx, di mana Anda akan membuat symlink menggunakan perintah ln -s, Apache menggunakan alatnya, seperti yang akan ditunjukkan tutorial di bawah ini:

Pertama, nonaktifkan file blok server default yang ada 000-default.conf dengan perintah a2dissite:

sudo a2dissite 000-default.conf

Sekarang aktifkan file host virtual Anda dengan a2ensite perintah:

sudo a2ensite example_domain.conf

Sekarang, seperti kebanyakan aplikasi server web, Apache memiliki dry run fungsi. Sebelum membuat live, uji file konfigurasi Anda menggunakan perintah berikut:

sudo apache2ctl configtest

Jika semuanya bekerja dengan benar, contoh output seharusnya:

Syntax OK

Sekarang restart server web Apache untuk membuat virtual host baru Anda hidup dengan perintah berikut:

sudo systemctl restart apache2

Apache saat ini seharusnya melayani halaman arahan yang Anda buat untuk domain baru Anda. Untuk mengujinya, buka Browser Internet Anda dan ketik nama domain Anda HTTP://example_domain di mana Anda akan mendapatkan halaman arahan berikut yang Anda buat di file index.html:

Selamat, Anda telah berhasil membuat virtual host dan berhasil membuatnya bekerja di domain Anda.

Amankan Apache dengan Let's Encrypt SSL Free Certificate

Idealnya, Anda ingin menjalankan Apache di HTTPS menggunakan sertifikat SSL . Cara terbaik untuk melakukannya adalah dengan menggunakan Let's Encrypt, otoritas sertifikat gratis, otomatis, dan terbuka yang dijalankan oleh Internet Security Research Group (ISRG) nirlaba .

Pertama, instal paket certbot sebagai berikut:

sudo apt install python3-certbot-apache -y

Setelah terinstal, jalankan perintah berikut untuk memulai pembuatan sertifikat Anda:

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d www.example.com

Ini adalah pengaturan ideal yang mencakup pengalihan paksa HTTPS 301, header Strict-Transport-Security, dan Stapling OCSP. Pastikan untuk menyesuaikan email dan nama domain dengan kebutuhan Anda.

Sekarang URL Anda akan menjadi https://www.example.com alih-alih HTTP://www.example.com .

Perhatikan, jika Anda menggunakan URL HTTP old yang lama , secara otomatis akan dialihkan ke HTTPS .

Mengelola Layanan Apache

Sekarang Anda telah berhasil menjalankan Apache di server Anda, beberapa keynote manajemen adalah sebagai berikut.

Log Server Apache

Log server Apache dapat ditemukan di direktori /var/log/apache2/ dengan access.log dan error.log dengan hormat menjadi akses default dan nama kesalahan yang diberikan. Ini dapat diubah ke nama lain di file konfigurasi host virtual Anda di masa mendatang.

Perintah Apache

Perintah berikut yang pasti akan Anda gunakan dalam manajemen sehari-hari Anda saat bekerja dengan Apache. Beberapa yang paling umum adalah:

Untuk menghentikan server web Apache:

sudo systemctl stop apache2

Untuk memulai server web Apache:

sudo systemctl start apache2

Untuk memulai ulang server web Apache:

sudo systemctl restart apache2

Untuk memuat ulang server web Apache (Untuk perubahan kecil lainnya tidak memerlukan restart) :

sudo systemctl reload apache2

Untuk menonaktifkan Apache pada boot server:

sudo systemctl disable apache2

Untuk memulai Apache di server boot (Diaktifkan secara otomatis saat instalasi) :

sudo systemctl enable apache2

Cara Memperbarui Apache

Untuk memperbarui Apache di masa mendatang, ini dilakukan dengan perintah yang Anda gunakan untuk memeriksa apakah sistem Anda mutakhir. Catatan, selalu buat cadangan atau gambar jika Anda memiliki layanan Apache yang menjalankan layanan penting. Biasanya, upgrade cukup aman, tetapi terkadang bug dapat terjadi seperti upgrade perangkat lunak lainnya.

Untuk memperbarui Apache, gunakan perintah berikut:

sudo apt update

Jika upgrade Apache tersedia, gunakan perintah:

sudo apt upgrade

Cara Menghapus (Menghapus) Apache

Untuk menghapus Apache jika Anda tidak lagi menggunakannya, ini dapat dilakukan dengan menggunakan perintah berikut:

sudo apt autoremove apache2 --purge

Perintah ini juga akan menghapus semua dependensi yang tidak digunakan yang menyertai penginstalan.


Ubuntu
  1. Cara Menginstal dan Mengonfigurasi server FTP (vsftpd) dengan SSL/TLS di Ubuntu 20.04

  2. Cara Menginstal Let's Encrypt SSL di Ubuntu 18.04 dengan Nginx

  3. Cara Menginstal Let's Encrypt di Ubuntu 20.04 dengan Apache

  1. Cara Menginstal dan Mengonfigurasi Nextcloud dengan Apache di Ubuntu 18.04

  2. Cara Menginstal dan Mengkonfigurasi ownCloud dengan Apache di Ubuntu 18.04

  3. Cara Menginstal ProjectSend dengan Apache dan Lets Encrypt SSL di Ubuntu 20.04

  1. Cara Mengkonfigurasi VSFTPD FTPS dengan SSL/TLS di Ubuntu 18.04

  2. Cara Menginstal PrestaShop di Ubuntu 20.04 dengan Apache

  3. Cara Menginstal Let's Encrypt SSL di Apache di Debian 11