GNU/Linux >> Belajar Linux >  >> AlmaLinux

Cara Install &Konfigurasi Apache (httpd) dengan Let's Encrypt TLS/SSL di AlmaLinux 8

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 AlmaLinux 8.

Prasyarat

  • OS yang Disarankan: AlmaLinux 8.
  • Akun pengguna: Akun pengguna dengan hak istimewa sudo atau akses root (perintah su) .

Memperbarui Sistem Operasi

Perbarui AlmaLinux . Anda sistem operasi untuk memastikan semua paket yang ada mutakhir:

sudo dnf update && sudo dnf upgrade -y

Tutorial akan menggunakan perintah sudo dan dengan asumsi Anda memiliki status sudo . Untuk memverifikasi status sudo di akun Anda:

sudo whoami

Contoh keluaran yang menunjukkan status sudo:

[joshua@localhost ~]$ sudo whoami
root

Jika Anda belum membuat akun pengguna sudo dan ingin melakukannya, kunjungi tutorial kami di Cara Menambahkan Pengguna ke Sudoers di AlmaLinux .

Untuk menggunakan akun root , gunakan perintah berikut dengan kata sandi root untuk masuk.

su

Instal Apache (HTTPD)

Apache, secara default, ada di aliran Aplikasi AlmaLinux 8. Ini lebih praktis bagi sebagian besar pengguna karena sangat stabil dan aman. Untuk menginstal Apache, buka terminal Anda dan jalankan perintah berikut:

sudo dnf install httpd

Contoh keluaran:

Ketik “Y” , lalu tekan “ENTER KEY” untuk melanjutkan.

Selanjutnya, secara default Apache (HTTPD) datang dinonaktifkan dan tidak diaktifkan. Pertama, mulai layanan.

sudo systemctl start httpd

Secara opsional, aktifkan Apache pada boot sistem.

sudo systemctl enable httpd

Contoh keluaran jika berhasil:

Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

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

systemctl status httpd

Contoh keluaran jika semuanya baik-baik saja:

Konfigurasikan Aturan Firewall

Itu tidak secara otomatis menambahkan aturan firewall ke port standar 80 atau 443 port saat menginstal Apache. Sebelum melanjutkan, Anda harus menetapkan aturan berikut, ini akan tergantung pada port apa yang akan Anda gunakan, tetapi semua opsi terdaftar.

Buka port 80 atau HTTP:

sudo firewall-cmd --permanent --zone=public --add-service=http

Buka port 443 atau HTTPS:

sudo firewall-cmd --permanent --zone=public --add-service=https

Muat ulang firewall untuk menerapkan perubahan

sudo firewall-cmd --reload

Verifikasi Server Web Apache

Setelah Anda menginstal dan mengonfigurasi, sekarang saatnya menguji untuk melihat 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 dnf 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.

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 thanks to Linuxcapable.com</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. Secara default, direktori yang diperlukan perlu dibuat dan disiapkan.

Pertama, buat direktori yang diperlukan untuk situs-tersedia dan situs-diaktifkan. Pengguna Nginx juga akan terbiasa dengan pengaturan ini.

sudo mkdir /etc/httpd/sites-available
sudo mkdir /etc/httpd/sites-enabled

Langkah selanjutnya yang harus Anda lakukan adalah menginstruksikan Apache untuk mencari file virtual host yang perlu ditempatkan di /etc/httpd/sites-available direktori.

Buka file konfigurasi.

sudo nano /etc/httpd/conf/httpd.conf

Tambahkan berikut ini di akhir file.

IncludeOptional sites-enabled/*.conf

Opsional, Anda dapat menonaktifkan folder default yang Apache mencari file host virtual yang mungkin ingin menghindari kebingungan. Cukup beri komentar di sebelah IncludeOptional conf.d/*.conf .

Contoh:

#IncludeOptional conf.d/*.conf
IncludeOptional sites-enabled/*.conf

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

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

sudo nano /etc/httpd/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 /var/www/example_domain/error.log
    CustomLog /var/www/example_domain/requests.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

Langkah selanjutnya adalah mengaktifkan virtual host. Awalnya, Anda membuat dua direktori, sites-available dan berfungsi dengan situs. Sekarang, Anda perlu membuat symlink untuk berfungsi dengan situs untuk mengaktifkan host virtual.

Untuk membuat symlink, gunakan contoh berikut di terminal Anda.

sudo ln -s /etc/httpd/sites-available/example_domain.conf /etc/httpd/example_domain.conf

Setelah selesai, restart layanan Apache.

sudo systemctl restart httpd

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 EPEL repositori dan mod_ssl paket untuk paket dan keamanan yang lebih baik.

sudo dnf install epel-release mod_ssl -y

Selanjutnya, instal paket certbot sebagai berikut:

sudo dnf 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 .

Secara opsional, Anda dapat mengatur tugas cron untuk memperbarui sertifikat secara otomatis. Certbot menawarkan skrip yang melakukan ini secara otomatis, dan Anda dapat menguji terlebih dahulu untuk memastikan semuanya berfungsi dengan menjalankan dry run.

sudo certbot renew --dry-run

Jika semuanya berfungsi, buka jendela crontab Anda dengan menggunakan perintah terminal berikut.

sudo crontab -e

Selanjutnya, tentukan waktu kapan harus diperpanjang secara otomatis. Ini harus diperiksa minimal setiap hari, dan jika sertifikat perlu diperbarui, skrip tidak akan memperbarui sertifikat. Jika Anda memerlukan bantuan untuk menemukan waktu yang tepat untuk menyetel, gunakan alat gratis crontab.guru.

00 00 */1 * * /usr/sbin/certbot-auto renew

Simpan (CTRL+O) lalu keluar dari (CTRL+X), dan cronjob akan diaktifkan secara otomatis.

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/www/example_domain dengan custom.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 httpd

Untuk memulai server web Apache:

sudo systemctl start httpd

Untuk memulai ulang server web Apache:

sudo systemctl restart httpd

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

sudo systemctl reload httpd

Untuk menonaktifkan Apache pada boot server:

sudo systemctl disable httpd

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

sudo systemctl enable httpd

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 dnf update

Jika upgrade Apache tersedia, gunakan perintah:

sudo dnf upgrade

Cara Menghapus (Menghapus) Apache

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

sudo dnf autoremove httpd

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


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

  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 Let's Encrypt SSL di Apache di Debian 11

  2. Cara Instal Apache dengan Let's Encrypt di RHEL 8

  3. Cara Instal Apache untuk Menghosting Situs Web dengan SSL di AlmaLinux

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

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

  3. Cara Menginstal Nginx dengan Let's Encrypt TLS/SSL di Ubuntu 20.04