Cara Menginstal Apache Dengan Host Virtual di Centos 8

Cara Menginstal Apache Dengan Host Virtual di Centos 8

Itu Apache WebServer adalah server web OpenSource dan HTTP populer yang terus menikmati pangsa pasar besar -besaran di industri hosting. Ini dikirimkan dengan banyak fitur termasuk peningkatan modul, dukungan multi-protokol, konfigurasi yang disederhanakan, dan dukungan multi-bahasa untuk menyebutkan hanya beberapa.

Baca juga: Cara menginstal nginx di centos 8

Dalam panduan ini, kami akan memandu Anda melalui pemasangan Apache server web di Centos 8 Dan RHEL 8 dengan lingkungan host virtual. Pada saat penulisan tutorial ini, versi terbaru Apache adalah Apache 2.2.43.

Menginstal Server Web Apache

Untuk memulai, pertama perbarui Centos 8 atau RHEL 8 Daftar Paket Sistem Menggunakan Perintah DNF berikut.

Pembaruan $ sudo DNF 

Setelah pembaruan selesai, instal Apache server web dengan menjalankan perintah berikut.

$ sudo dnf menginstal httpd 

Setelah diinstal, Anda dapat memverifikasi versi Apache dengan menjalankan perintah RPM.

$ rpm -qi httpd 
Verifikasi versi Apache

Perintah tersebut mencetak serangkaian informasi seperti versi, tanggal rilis, build dan arsitektur paket.

Untuk memulai layanan web Apache HTTP, jalankan perintah Systemctl.

$ sudo systemctl mulai httpd 

Untuk mengkonfirmasi jika layanan berjalan, jalankan.

$ sudo Systemctl Status httpd 
Verifikasi Status Layanan Apache

Dari output, 'aktif'Status berwarna hijau menunjukkan bahwa server web apache sedang dan berjalan.

Untuk menghapus keraguan bahwa server web sedang berjalan, minta halaman tes dari Apache dengan menjelajahi alamat IP server Anda atau nama domain seperti yang ditunjukkan.

http: // server-ip 

Anda dapat memperoleh IP server Anda dengan menjalankan perintah ifconfig. Jika server Anda di -host di cloud, Anda dapat memperoleh IP publik dengan menjalankan perintah curl.

$ curl ifconfig.saya atau $ curl -4 icanhazip.com 
Temukan Alamat IP Server CentOS

Saat Anda menelusuri alamat IP server, Anda harus mendapatkan halaman web berikut ditampilkan.

Periksa halaman web Apache

Ini adalah konfirmasi pasti bahwa server web sedang berjalan.

Mengelola Webserver Apache

Dengan Apache terpasang dan dijalankan, Anda dapat menggunakan Systemctl Alat Inspeksi untuk Mengelola Apache.

Misalnya, untuk menghentikan Apache, jalankan perintah:

$ sudo systemctl stop httpd 

Untuk memulai layanan sekali lagi, jalankan:

$ sudo systemctl mulai httpd 

Jika Anda telah membuat perubahan pada salah satu file konfigurasinya dan Anda perlu memulai ulang untuk menerapkan perubahan, jalankan perintah:

$ sudo systemctl restart httpd 

Memulai ulang layanan biasanya menyebabkan gangguan layanan. Alternatif yang lebih baik adalah dengan memuat ulang tanpa gangguan dengan koneksi.

$ sudo systemctl Reload httpd 

Untuk memulai server web Apache secara otomatis setelah booting atau reboot jalankan perintah di bawah ini. Ini akan memastikan apache dimulai secara otomatis tanpa intervensi Anda.

$ sudo systemctl mengaktifkan httpd 

Jika Anda memilih untuk tidak memulai layanan secara otomatis saat boot, jalankan:

$ sudo systemctl nonaktifkan httpd 

Menyiapkan Apache Virtual Hosts

Secara default, server web apache dikonfigurasi untuk melayani atau hanya meng -host satu situs web. Jika Anda ingin meng -host hanya satu situs web, maka langkah ini tidak diperlukan. Tetapi jika Anda berencana untuk meng -host beberapa domain di server Anda, maka Anda perlu mengonfigurasi host virtual apache.

Host virtual adalah file terpisah yang berisi konfigurasi yang memungkinkan Anda mengatur domain terpisah dari yang default. Untuk panduan ini, kami akan menyiapkan host virtual untuk domain Crazytechgeek.info.

Host virtual default terletak di /var/www/html direktori. Ini hanya berfungsi untuk satu situs. Untuk membuat host virtual terpisah untuk domain kami, kami akan membuat struktur direktori lain di dalam /var/www direktori seperti yang ditunjukkan.

$ sudo mkdir -p/var/www/crazytechgeek.info/html 

Selain itu, Anda juga dapat membuat direktori untuk menyimpan file log.

$ sudo mkdir -p/var/www/crazytechgeek.info/log 

Selanjutnya, edit izin file menggunakan $ Pengguna variabel lingkungan seperti yang ditunjukkan.

$ sudo chown -r $ pengguna: $ user/var/www/crazytechgeek.info/html 

Juga, sesuaikan izin direktori webroot seperti yang ditunjukkan.

$ sudo chmod -r 755 /var /www 

Selanjutnya, buat sampel indeks.html file seperti yang ditunjukkan.

$ sudo vim/var/www/crazytechgeek.info/html/indeks.html 

Tekan surat itu 'Saya' pada keyboard dan tempel beberapa konten sampel seperti yang ditunjukkan yang akan ditampilkan di browser web saat menguji host virtual.

  Selamat datang di CrazyTechgeek.info!   

Kesuksesan! CrazyTechgeek.info virtual host sudah habis dan berfungsi dengan sempurna!

Simpan dan Keluar dari file konfigurasi.

Dengan file indeks sampel dan direktori situs, Anda sekarang dapat melanjutkan dan membuat file host virtual. File host virtual akan berisi konfigurasi situs domain Anda dan menginstruksikan apache bagaimana ia akan menanggapi permintaan klien.

File host virtual akan berisi konfigurasi situs domain Anda dan menginstruksikan apache bagaimana ia akan menanggapi permintaan klien. Tetapi melanjutkan, Anda perlu membuat 2 direktori: situs-tersedia Dan Situs-Enabled direktori.

File host virtual akan disimpan di situs-tersedia direktori saat Situs-Enabled Direktori akan berisi tautan simbolik ke host virtual.

Buat kedua direktori seperti yang ditunjukkan.

$ sudo mkdir/etc/httpd/situs-tersedia $ sudo mkdir/etc/httpd/diaktifkan situs 

Selanjutnya, modifikasi file konfigurasi utama server web Apache dan perintahkan Apache di mana untuk menemukan host virtual di dalam direktori yang diaktifkan oleh situs.

$ sudo vim/etc/httpd/conf/httpd.conf 

Tambahkan baris seperti yang ditunjukkan di akhir file konfigurasi.

Termasuk situs yang diaktifkan/*.conf 

Simpan dan keluar.

Sekarang buat file host virtual seperti yang ditunjukkan:

$ sudo vim/etc/httpd/situs-tersedia/crazytechgeek.info 

Tempel konten di bawah ini dan ganti Crazytechgeek.info dengan nama domain Anda sendiri.

 Nama server www.Crazytechgeek.info Serveralias Crazytechgeek.info DocumentRoot/var/www/Crazytechgeek.info/html errorLog/var/www/Crazytechgeek.info/log/kesalahan.log customlog/var/www/Crazytechgeek.info/log/permintaan.log digabungkan  

Simpan dan Keluar dari file.

Sekarang aktifkan file host virtual dengan membuat tautan simbolik di Situs-Enabled direktori.

$ sudo ln -s/etc/httpd/situs -tersedia/crazytechgeek.info.conf/etc/httpd/Situs-Enabled/CrazyTechgeek.info.conf 

Menyesuaikan izin selinux untuk host virtual

Centos 8 Dan RHEL 8 kapal dengan Selinux yang merupakan modul keamanan untuk memperkuat keamanan sistem Linux. Karena Anda mengkonfigurasi kustom catatan Direktori pada langkah sebelumnya, Anda perlu memperbarui beberapa kebijakan selinux untuk menginstruksikan server web apache untuk menulis ke direktori.

Ada 2 pendekatan dalam menyesuaikan kebijakan selinux apache: menyesuaikan kebijakan penyesuaian secara universal & kebijakan pada direktori. Yang terakhir lebih disukai karena lebih disukai.

Menyesuaikan kebijakan selinux pada direktori

Pengeditan Selinux Izin untuk Direktori Log memberi Anda kendali mutlak atas kebijakan webserver Apache. Metode ini cukup panjang dan mengharuskan Anda untuk mengonfigurasi jenis konteks secara manual untuk direktori tambahan yang ditentukan dalam file konfigurasi host virtual.

Sebelum memulai, pertama kali konfirmasi jenis konteks yang ditetapkan ke Direktori Log oleh Selinux:

$ sudo ls -dlz/var/www/crazytechgeek.info/log/ 

Output harus mirip dengan apa yang kita miliki di bawah ini.

Atur Kebijakan Selinux di Direktori Log Apache

Dari output, konteks yang ditetapkan httpd_sys_content_t. Ini menunjukkan bahwa server web hanya dapat membaca file di direktori log. Anda perlu mengubah konteks ini menjadi httpd_log_t Untuk mengaktifkan Apache untuk menghasilkan dan menambahkan entri log ke direktori.

Oleh karena itu, jalankan perintah:

$ sudo semanage fcontext -a -t httpd_log_t "/var/www/crazytechgeek.info/log (/.*)?" 

Jika Anda kebetulan mendapatkan kesalahan di bawah ini "Sarganage: Command Not Found".

Itu menyiratkan bahwa paket yang menyediakan untuk SANMANAGE Perintah tidak diinstal. Untuk memperbaiki kesalahan ini, Anda perlu menginstal paket tersebut. Tapi pertama -tama, periksa paket mana yang menyediakan perintah semanage dengan menjalankan:

$ sudo dnf whatprovides/usr/sbin/semanage 

Output memberi kita paket yang menyediakan semanage, yaitu PolicyCoreutils-python-utils.

Sekarang instal paket seperti yang ditunjukkan menggunakan manajer paket DNF.

$ sudo dnf menginstal policycoreutils-python-utils 

Perintah untuk mengubah konteks sekarang harus berfungsi.

$ sudo semanage fcontext -a -t httpd_log_t "/var/www/crazytechgeek.info/log (/.*)?" 

Untuk menyimpan perubahan dan membuatnya gigih, keluarkan restorecon perintah seperti yang ditunjukkan:

$ sudo restorecon -r -v/var/www/crazytechgeek.info/log 

Anda dapat mengonfirmasi perubahan dengan sekali lagi menjalankan perintah:

$ sudo ls -dlz/var/www/crazytechgeek.info/log/ 
Periksa jenis konteks selinux

Pastikan untuk mencatat bahwa jenis konteks telah berubah menjadi httpd_log_t seperti yang terlihat di output.

Restart apache agar perubahan diterapkan.

$ sudo systemctl restart httpd 

Anda sekarang dapat mengonfirmasi apakah Apache menyimpan file log di direktori log dengan mendaftarkan isinya seperti yang ditunjukkan:

$ ls -l/var/www/crazytechgeek.info/log/ 

Anda harus dapat melihat dua file log seperti yang ditunjukkan: log kesalahan dan meminta file log.

Periksa file log Apache

Menguji Apache Virtual Host

Terakhir, Anda harus yakin bahwa server web Apache melayani file host virtual Anda. Untuk melakukan ini, buka browser Anda dan buka alamat IP server Anda atau nama domain:

http: // domain-name 
Periksa Apache Virtual Host untuk situs web

Sempurna! Ini menunjukkan bahwa semuanya berjalan dengan baik dan host virtual kami dilayani seperti yang diharapkan.

Kesimpulan

Dalam panduan ini, kami telah belajar cara menginstal Apache server web di Centos 8 Dan RHEL 8 dan juga cara mengkonfigurasi file host virtual untuk melayani konten untuk domain tambahan. Jangan ragu untuk mengkonfigurasi beberapa file host virtual yang Anda anggap cocok untuk mengakomodasi domain tambahan.

Jika Anda ingin mengatur tumpukan hosting lengkap, saya sarankan Anda memasang tumpukan lampu di Centos 8.