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.