Cara Memasang dan Mengkonfigurasi Apache pada CentOS/RHEL 8

Cara Memasang dan Mengkonfigurasi Apache pada CentOS/RHEL 8

CentOS 8 adalah pelepasan terbaru Centos Linux Operating System, yang berdasarkan Red Hat Enterprise Linux 8. Dalam tutorial ini, kami akan membantu anda memasang Server Web Apache pada sistem CentOS 8 atau RHEL 8 dengan konfigurasi dan keselamatan tambahan.

Prerequsities

  • SSH ACCESS TO CENTOS/RHEL 8 SISTEM
  • Keistimewaan sudo kepada pengguna untuk memasang pakej

Langkah 1 - Pasang Apache pada CentOS 8

Pertama sekali, log masuk ke sistem CentOS 8 atau RHEL 8 anda melalui SSH. Kemudian pasang pakej pelayan http apache2 menggunakan arahan berikut. Ini juga akan memasang pakej tambahan yang diperlukan pada sistem anda.

SUDO DNF Pasang HTTPD 

Tunggu pemasangan selesai

Langkah 2 - Urus Perkhidmatan Apache

Perkhidmatan Apache diuruskan dengan baris arahan SystemCTL di CentOS/RHEL 8. Selepas pemasangan, gunakan arahan berikut untuk membolehkan perkhidmatan Apache dan kemudian mulakannya.

sudo systemctl enable httpd.Perkhidmatan sudo Systemctl Mula httpd.perkhidmatan 

Berikut adalah arahan lain untuk menghentikan dan memulakan semula perkhidmatan Apache melalui baris arahan.

SUDO Systemctl Stop Apache2.perkhidmatan sudo sistemctl mulakan semula apache2.perkhidmatan 

Langkah 3 - Ujian persediaan Apache

Anda boleh melihat butiran versi Apache yang dipasang menggunakan arahan berikut.

Versi pelayan httpd -v: Apache/2.4.Pelayan 37 (CentOS) Dibina: 7 Okt 2019 21:42:02 

Buat halaman ujian HTML di bawah direktori root dokumen lalai (/var/www/html).

sudo echo "hello tecadmin.bersih ">/var/www/html/indeks.html 

Sekarang akses pelayan Apache anda menggunakan alamat IP pelayan atau domain yang menunjuk ke IP pelayan.

Langkah 4 - Membuat VirtualHost

Mari buat hos maya pertama di pelayan Apache anda. Untuk tutorial, kami menggunakan contoh domain "contohnya.com "". Di sini kita akan mencipta hos maya sebagai contoh.com di port 80.

Buat fail indeks sampel dalam direktori:

sudo mkdir -p/var/www/contoh.com echo "contoh hello.com "| sudo tee/var/www/contoh.com/indeks.html 

Kemudian buat fail konfigurasi VirtualHost dan edit dalam editor:

sudo vim/etc/httpd/conf.d/contoh.com.Conf 

Tambahkan kandungan berikut pada akhir fail konfigurasi. Anda boleh menukar nama domain mengikut domain anda.

Contoh [email protected] dokumen/var/www/contoh.COM SERVERNAME Contoh.com serveralias www.Contoh.com #allowoverride semua ### uncomment jika diperlukan log/contoh errorlog yang diperlukan.com_error.Log log/contoh CustomLog.com_access.log digabungkan
12345678910111213 Contoh [email protected] dokumen/var/www/contoh.COM SERVERNAME Contoh.com serveralias www.Contoh.com #Allowoverride semua ### uncomment jika diperlukan Log/contoh errorlog.com_error.Log log/contoh CustomLog.com_access.log digabungkan

Simpan fail konfigurasi VirtualHost dan muat semula perkhidmatan Apache menggunakan arahan berikut:

Sudo Systemctl Reload Httpd.perkhidmatan 

Langkah 5 - Konfigurasikan SSL VirtualHost

Anda boleh melangkau langkah ini jika anda tidak memerlukan SSL. Tetapi keselamatan selalu menjadi kebimbangan utama bagi mana -mana laman web. Untuk menggunakan SSL dengan Apache, pasang pakej mod_ssl pada sistem anda.

SUDO DNF Pasang MOD_SSL 

Untuk tutorial, saya telah mengikuti arahan ini untuk menghasilkan sijil SSL yang ditandatangani sendiri untuk domain kami.

Anda boleh menggunakan /etc/httpd/conf/ssl.Conf Untuk hos maya SSL atau anda boleh menggunakan fail konfigurasi hos maya yang berasingan untuk domain anda. Sebagai contoh:

sudo vim/etc/httpd/conf.d/contoh.com_ssl.Conf 

dengan kandungan berikut:

Contoh [email protected] dokumen/var/www/contoh.COM SERVERNAME Contoh.com serveralias www.Contoh.com #allowoverride semua ### uncomment jika diperlukan sslengine pada sslcertificatefile/etc/pki/tls/certs/contoh.com.CRT SSLCertificateSeyFile/etc/pki/tls/certs/contoh.com.Log/contoh errorlog utama.COM_SSL-ERROR.Log log/contoh CustomLog.com_ssl-access.log digabungkan
123456789101112131415161718 Contoh [email protected] dokumen/var/www/contoh.COM SERVERNAME Contoh.com serveralias www.Contoh.com #Allowoverride semua ### uncomment jika diperlukan Sslengine on sslcertificatefile/etc/pki/tls/certs/contoh.com.CRT SSLCertificateSeyFile/etc/pki/tls/certs/contoh.com.Log/contoh errorlog utama.COM_SSL-ERROR.Log log/contoh CustomLog.com_ssl-access.log digabungkan

Berikut adalah tiga istilah yang digunakan untuk mengkonfigurasi SSL VirtualHost:

  • Sslengine - Tetapkan ini ke "ON"
  • SSLCertificateFile - Tetapkan jalan sijil SSL anda
  • SSLCertificateKeyFile - Ini adalah fail utama peribadi yang digunakan untuk menjana sijil SSL

Selepas itu membolehkan VirtualHost dan memuatkan semula perkhidmatan Apache menggunakan arahan berikut:

SUDO Systemctl Reload Apache2.perkhidmatan 

Langkah 6 - Pelayan Apache selamat

Keselamatan adalah bahagian paling penting dalam hosting. Penggodam sudah bersedia untuk mengeksploitasi pelayan web anda. Edit fail konfigurasi utama Apache

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

Tambahkan nilai berikut pada akhir fail:

Servertokens prod serversignature off boleh dilacak
123 Servertokens prod serversignature off boleh dilacak

Selepas itu edit fail konfigurasi SSL lalai Apache:

sudo vim/etc/httpd/conf.D/SSL.Conf 

Berikut adalah tetapan yang berkaitan dengan keselamatan. Tambahkan atau kemas kini tetapan berikut. Kami tidak akan membuat deskripsi terperinci mengenainya tetapi tetapan ini sangat berguna untuk pelayan pengeluaran.

#Rules diambil dari https: // cipherli.ST/ SSLCIPHERSUITE EECDH+AESGCM: EDH+AESGCM # Memerlukan Apache 2.4.36 & OpenSSL 1.1.1 sslprotocol -all +tlsv1.3 +TLSV1.2 Sslopensslconfcmd Curves x25519: Secp521r1: secp384r1: prime256v1 # versi lama # sslprotocol all -sslv2 -sslv3 -tlsv1 -tlsv1.1 sslhonorcipherorder pada header sentiasa menetapkan ketat-pengangkutan-keselamatan "max-age = 63072000; inclenddomains; preload" header sentiasa menetapkan x-frame-options menafikan header selalu menetapkan X-content-type-options nosniff # memerlukan apache> = 2.4 SSLCompression Off SsluseStapling pada SSLSTAPLINGCACHE "SHMCB: LOGS/STAPLING-CACHE (150000)" # Memerlukan Apache> = 2.4.11 SSLSessionTickets Off
123456789101112131415161718#Rules diambil dari https: // cipherli.ST/ SSLCIPHERSUITE EECDH+AESGCM: EDH+AESGCM# Memerlukan Apache 2.4.36 & OpenSSL 1.1.1SSLPROTOCOL -All +TLSV1.3 +TLSV1.2SSLOPENSSLCONFCMD Curves x25519: Secp521r1: Secp384r1: prime256v1# Versi lama# sslprotocol all -sslv2 -sslv3 -tlsv1 -tlsv1.1SSLHonorCipherOrder Onheader Sentiasa menetapkan ketat-pengangkutan-keselamatan "max-age = 63072000; inclenddomains; preload" Header sentiasa menetapkan X-Frame-Options DenyHeader Sentiasa Tetapkan X-Content-Type-Options Nosniff# Memerlukan Apache>.4SSLCompression Offsslusestapling OnsslStaplingCache "SHMCB: Log/Stapling-Cache (150000)"# Memerlukan Apache> = 2.4.11SSLSessionTickets Off

Setelah membuat perubahan mulakan semula perkhidmatan Apache untuk menggunakan konfigurasi baru.

SUDO Systemctl Reload Apache2.perkhidmatan 

Kesimpulan

Semua selesai, anda menjalankan pelayan Apache yang dijamin pada sistem CentOS 8 atau RHEL 8 Linux anda.