Cara Memasang Apache dengan Hos Maya di CentOS 8

Cara Memasang Apache dengan Hos Maya di CentOS 8

The Apache Webserver adalah pelayan web OpenSource dan popular HTTP Web yang terus menikmati bahagian pasaran yang besar dalam industri hosting. Ia dihantar dengan banyak ciri termasuk peningkatan modul, sokongan multi-protokol, konfigurasi mudah, dan sokongan pelbagai bahasa untuk menyebut hanya beberapa.

Baca juga: Cara memasang Nginx pada CentOS 8

Dalam panduan ini, kami akan membimbing anda melalui pemasangan Apache webserver pada Centos 8 dan RHEL 8 dengan persekitaran tuan rumah maya. Pada masa menulis tutorial ini, versi terbaru Apache adalah Apache 2.2.43.

Memasang pelayan web Apache

Untuk memulakan, terlebih dahulu mengemas kini anda Centos 8 atau RHEL 8 Senarai Pakej Sistem menggunakan arahan DNF berikut.

Kemas kini $ sudo DNF 

Setelah kemas kini selesai, pasang Apache webserver dengan melaksanakan arahan berikut.

$ sudo DNF Pasang HTTPD 

Setelah dipasang, anda boleh mengesahkan versi Apache dengan menjalankan arahan RPM.

$ rpm -qi httpd 
Sahkan versi Apache

Perintah mencetak pelbagai maklumat seperti versi, tarikh pelepasan, membina dan seni bina pakej.

Untuk memulakan Perkhidmatan Web HTTP Apache, jalankan arahan SystemCtl.

$ sudo systemctl start httpd 

Untuk mengesahkan jika perkhidmatan sedang berjalan, laksanakan.

$ sudo Systemctl Status httpd 
Sahkan status perkhidmatan Apache

Dari output, 'aktif'Status dalam hijau menunjukkan bahawa webserver Apache sedang berjalan dan berjalan.

Untuk membersihkan sebarang keraguan bahawa webserver sedang berjalan, minta halaman ujian dari Apache dengan melayari alamat IP atau nama domain pelayan anda seperti yang ditunjukkan.

http: // server-ip 

Anda boleh mendapatkan ip pelayan anda dengan menjalankan perintah ifconfig. Sekiranya pelayan anda dihoskan di awan, anda boleh mendapatkan IP awam dengan menjalankan perintah curl.

$ curl ifconfig.saya atau $ curl -4 icanhazip.com 
Cari alamat IP pelayan CentOS

Apabila anda melayari alamat IP pelayan, anda perlu mendapatkan laman web berikut yang dipaparkan.

Semak laman web Apache

Ini adalah pengesahan yang pasti bahawa webserver sedang berjalan.

Menguruskan Webserver Apache

Dengan Apache dipasang dan berjalan, anda boleh menggunakan Systemctl alat pemeriksaan untuk menguruskan Apache.

Sebagai contoh, untuk menghentikan Apache, jalankan arahan:

$ sudo systemctl stop httpd 

Untuk memulakan perkhidmatan sekali lagi, laksanakan:

$ sudo systemctl start httpd 

Jika anda telah membuat perubahan pada mana -mana fail konfigurasinya dan anda perlu memulakan semula untuk memohon perubahan, laksanakan arahan:

$ sudo systemctl mulakan semula httpd 

Memulakan semula perkhidmatan biasanya menyebabkan gangguan perkhidmatan. Alternatif yang lebih baik adalah dengan hanya memuat semula tanpa sebarang gangguan dengan sambungan.

$ sudo systemctl Reload httpd 

Untuk memulakan pelayan web Apache secara automatik apabila boot atau reboot jalankan arahan di bawah. Ini akan memastikan Apache bermula secara automatik tanpa campur tangan anda.

$ sudo systemctl enable httpd 

Jika anda memilih untuk tidak memulakan perkhidmatan secara automatik pada boot, jalankan:

$ sudo systemctl melumpuhkan httpd 

Menyediakan tuan rumah maya Apache

Secara lalai, pelayan web Apache dikonfigurasi untuk berkhidmat atau menjadi tuan rumah hanya satu laman web. Sekiranya anda ingin menjadi tuan rumah hanya satu laman web, maka langkah ini tidak diperlukan. Tetapi sekiranya anda merancang untuk menjadi tuan rumah pelbagai domain di pelayan anda, maka anda perlu mengkonfigurasi tuan rumah maya Apache.

Hos maya adalah fail berasingan yang mengandungi konfigurasi yang membolehkan anda menyediakan domain berasingan dari yang lalai. Untuk panduan ini, kami akan menyediakan tuan rumah maya untuk domain CrazyTechgeek.maklumat.

Hos maya lalai terletak di /var/www/html direktori. Ini hanya berfungsi untuk satu laman web. Untuk mewujudkan tuan rumah maya yang berasingan untuk domain kami, kami akan mewujudkan struktur direktori lain dalam /var/www direktori seperti yang ditunjukkan.

$ sudo mkdir -p/var/www/crazytechgeek.INFO/HTML 

Di samping itu, anda juga boleh membuat direktori untuk menyimpan fail log.

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

Seterusnya, edit kebenaran fail Gunakan $ Pengguna Pemboleh ubah persekitaran seperti yang ditunjukkan.

$ sudo chown -r $ user: $ user/var/www/crazytechgeek.INFO/HTML 

Juga, laraskan keizinan direktori webroot seperti yang ditunjukkan.

$ sudo chmod -r 755 /var /www 

Seterusnya, buat sampel indeks.html fail seperti yang ditunjukkan.

$ sudo vim/var/www/crazytechgeek.Maklumat/HTML/Indeks.html 

Memukul surat 'Saya' Di papan kekunci dan tampal beberapa kandungan sampel seperti yang ditunjukkan yang akan dipaparkan pada pelayar web semasa menguji tuan rumah maya.

  Selamat datang ke CrazyTechgeek.maklumat!   

Kejayaan! The CrazyTechgeek.Maklumat Hos Maya sudah siap dan berfungsi dengan sempurna!

Simpan dan keluar dari fail konfigurasi.

Dengan fail indeks sampel dan direktori tapak yang dibuat, kini anda boleh meneruskan dan membuat fail tuan rumah maya. Fail hos maya akan mengandungi konfigurasi tapak domain anda dan mengarahkan Apache bagaimana ia akan bertindak balas terhadap permintaan pelanggan.

Fail hos maya akan mengandungi konfigurasi tapak domain anda dan mengarahkan Apache bagaimana ia akan bertindak balas terhadap permintaan pelanggan. Tetapi meneruskan, anda perlu membuat 2 direktori: Tapak-tapak tersedia dan Tapak yang dibolehkan direktori.

Fail tuan rumah maya akan disimpan di Tapak-tapak tersedia direktori semasa Tapak yang dibolehkan Direktori akan mengandungi pautan simbolik ke tuan rumah maya.

Buat kedua -dua direktori seperti yang ditunjukkan.

$ sudo mkdir/etc/httpd/sites-tersedia $ sudo mkdir/etc/httpd/enabled sites 

Seterusnya, ubah fail konfigurasi utama pelayan web Apache dan ajarkan Apache di mana untuk mencari hos maya di dalam direktori yang dibolehkan tapak.

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

Tambahkan garis seperti yang ditunjukkan pada akhir fail konfigurasi.

Termasuk laman web-enabled/*.Conf 

Simpan dan keluar.

Sekarang buat fail hos maya seperti yang ditunjukkan:

$ sudo vim/etc/httpd/laman web yang tersedia/crazytechgeek.maklumat 

Tampal kandungan di bawah dan ganti CrazyTechgeek.maklumat dengan nama domain anda sendiri.

 Nama pelayan www.CrazyTechgeek.maklumat Serveralias CrazyTechgeek.maklumat Documentroot/var/www/CrazyTechgeek.maklumat/HTML errorlog/var/www/CrazyTechgeek.maklumat/log/ralat.log customlog/var/www/CrazyTechgeek.maklumat/log/permintaan.log digabungkan  

Simpan dan keluar dari fail.

Sekarang aktifkan fail tuan rumah maya dengan membuat pautan simbolik di Tapak yang dibolehkan direktori.

$ sudo ln -s/etc/httpd/sites -available/CrazyTechgeek.maklumat.conf/etc/httpd/enabled sites/CrazyTechgeek.maklumat.Conf 

Melaraskan keizinan Selinux untuk tuan rumah maya

Centos 8 dan RHEL 8 kapal dengan Selinux yang merupakan modul keselamatan untuk memperkuat keselamatan sistem Linux. Oleh kerana anda mengkonfigurasi adat log Direktori Dalam langkah sebelumnya, anda perlu mengemas kini beberapa dasar Selinux untuk mengarahkan webserver Apache untuk menulis ke direktori.

Terdapat 2 pendekatan dalam menyesuaikan dasar Selinux Apache: menyesuaikan dasar penyesuaian secara universal & dasar di direktori. Yang terakhir lebih disukai kerana lebih disukai.

Menyesuaikan dasar selinux di direktori

Penyuntingan Selinux Kebenaran untuk direktori log memberi anda kawalan mutlak ke atas dasar webserver Apache. Kaedah ini agak panjang dan memerlukan anda mengkonfigurasi jenis konteks secara manual untuk direktori tambahan yang dinyatakan dalam fail konfigurasi hos maya.

Sebelum memulakan, mula -mula mengesahkan jenis konteks yang diberikan kepada direktori log oleh Selinux:

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

Output harus sama dengan apa yang kita ada di bawah.

Tetapkan dasar selinux pada direktori log apiche

Dari output, konteks yang ditetapkan adalah httpd_sys_content_t. Ini menunjukkan bahawa webserver hanya boleh membaca fail dalam direktori log. Anda perlu mengubah konteks ini ke httpd_log_t Untuk membolehkan Apache menjana dan menambah entri log ke direktori.

Oleh itu, laksanakan arahan:

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

Sekiranya anda mendapat ralat di bawah "Semanage: Perintah tidak dijumpai".

Ia menunjukkan bahawa pakej yang disediakan untuk sememi Perintah tidak dipasang. Untuk menyelesaikan ralat ini, anda perlu memasang pakej tersebut. Tetapi pertama, periksa pakej mana yang disediakan untuk perintah semenage dengan menjalankan:

$ sudo dnf whatprovides/usr/sbin/semanage 

Output memberi kita pakej yang menyediakan untuk sememia, iaitu Policycoreutils-python-utils.

Sekarang pasang pakej seperti yang ditunjukkan menggunakan Pengurus Pakej DNF.

$ sudo dnf memasang policycoreutils-python-utils 

Perintah untuk mengubah konteks sekarang harus berfungsi.

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

Untuk menyelamatkan perubahan dan menjadikannya berterusan, mengeluarkan restorecon perintah seperti yang ditunjukkan:

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

Anda boleh mengesahkan perubahan dengan sekali lagi menjalankan arahan:

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

Pastikan anda ambil perhatian bahawa jenis konteks telah berubah menjadi httpd_log_t Seperti yang dilihat dalam output.

Mulakan semula Apache untuk perubahan yang akan digunakan.

$ sudo systemctl mulakan semula httpd 

Anda kini boleh mengesahkan jika Apache menyimpan fail log dalam direktori log dengan menyenaraikan kandungannya seperti yang ditunjukkan:

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

Anda sepatutnya dapat melihat dua fail log seperti yang ditunjukkan: log ralat dan meminta fail log.

Periksa fail log Apache

Menguji Hos Maya Apache

Akhir sekali, anda perlu memastikan bahawa webserver Apache melayani fail hos maya anda. Untuk melakukan ini, buka penyemak imbas anda dan pergi ke alamat IP pelayan atau nama domain anda:

http: // domain-name 
Semak Apache Hos Maya untuk Laman Web

Sempurna! Ini menunjukkan bahawa semua berjalan lancar dan tuan rumah maya kami dihidangkan seperti yang diharapkan.

Kesimpulan

Dalam panduan ini, kami telah belajar bagaimana memasang Apache webserver pada Centos 8 dan RHEL 8 dan juga cara mengkonfigurasi fail hos maya untuk melayani kandungan untuk domain tambahan. Jangan ragu untuk mengkonfigurasi pelbagai fail hos maya yang anda anggap sesuai untuk menampung domain tambahan.

Sekiranya anda ingin menyediakan timbunan hosting lengkap, saya cadangkan anda memasang timbunan lampu di CentOS 8.