GNU/Linux >> Belajar Linux >  >> Debian

Cara Menginstal &Mengonfigurasi Apache dengan Let's Encrypt TLS/SSL di Debian 11 Bullseye

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 Debian 11 Bullseye.

Prasyarat

  • OS yang Disarankan: Debian 11 Bullseye
  • Akun pengguna: Akun pengguna dengan hak istimewa sudo atau akses root (perintah su) .

Memperbarui Sistem Operasi

Perbarui Debian 11 Bullseye . Anda sistem operasi untuk memastikan semua paket yang ada mutakhir:

sudo apt update && sudo apt upgrade

Akses Root atau Sudo

Secara default, ketika Anda membuat akun Anda saat memulai dengan Debian dibandingkan dengan distribusi lain, itu tidak secara otomatis menerima status sudoers. Anda harus memiliki akses ke sandi root untuk menggunakan perintah su atau kunjungi tutorial kami tentang Cara Menambahkan Pengguna ke Sudoers di Debian.

Tutorial akan menggunakan perintah sudo dan dengan asumsi Anda memiliki status sudo . Jika Anda belum menyiapkan pengguna sudo, gunakan perintah berikut untuk masuk ke root untuk melanjutkan.

su

Metode 1. Instal Apache dari Repositori Debian

Opsi pertama untuk menginstal Apache adalah menggunakan repositori default Debian. 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 Repositori Ondřej Surý

Secara default, Apache tersedia dalam repositori perangkat lunak Debian , sehingga mudah dipasang. Namun, seperti yang diketahui banyak orang dengan Debian, sering kali ada kekurangan di belakang apa yang ada saat ini, tidak begitu banyak untuk risiko keamanan. Namun, fitur dan peningkatan yang lebih baru tidak ada.

Disarankan bagi pengguna yang menginginkan Apache terbaru untuk menginstal Apache 2 versi Ondřej Surý , yang paling mutakhir dan dibuat sebelumnya dengan modul ekstra yang banyak digunakan.

Pertama, jika Anda belum menginstal curl, gunakan perintah berikut:

sudo apt install curl -y

Untuk menambahkan Repositori, gunakan perintah berikut di terminal Anda:

curl -sSL https://packages.sury.org/apache2/README.txt | sudo bash -x

Perbarui repositori Anda untuk mencerminkan perubahan baru:

sudo apt update

Sekarang Anda telah menginstal repositori Apache dan perbarui daftar repositori, instal Apache2 dengan yang berikut:

sudo apt install apache2 -y

Instalasi akan menginstal semua dependensi yang diperlukan.

Setelah diinstal, konfirmasikan versi yang menjalankan perintah berikut:

apache2 -v

Contoh keluaran:

Server version: Apache/2.4.51

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

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

systemctl status apache2

Contoh keluaran jika semuanya baik-baik saja:

Opsional – Konfigurasikan Firewall UFW untuk Apache

Pengguna Debian yang telah menginstal UFW perlu menyesuaikan 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.

Secara default, UFW tidak diinstal. Jika Anda ingin menginstal UFW, jalankan perintah berikut di terminal Anda:

sudo apt install ufw -y

Selanjutnya, aktifkan UFW. Saat Anda mengaktifkan firewall, firewall akan menolak semua yang masuk dan mengizinkan semua yang keluar secara default.

sudo ufw enable

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 pada Debian 11 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

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 milik 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 membuatnya hidup, 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 menguji ini, 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, cukup aman untuk meningkatkan, tetapi terkadang bug dapat terjadi seperti peningkatan 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.


Debian
  1. Cara Menginstal dan Mengkonfigurasi Drupal dengan Apache di Debian 9

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

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

  1. Cara Menginstal Joomla dengan Apache dan Mengenkripsi SSL di Debian 10

  2. Cara Menginstal Drupal dengan Apache dan Mengenkripsi SSL di Debian 11

  3. Cara Menginstal DokuWiki dengan Lets Encrypt SSL di Debian 11

  1. Cara Instal WordPress dengan Apache dan Mari Enkripsi SSL di Debian 11

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

  3. Cara Instal Drupal dengan Nginx dan Mari Enkripsi SSL di Debian 11