Pasang Apache di CentOS7

Rujukan resmi

Halaman wéb resmi Dokuméntasi Produk HTTPS Gzip

Ngalakukeun pamasangan

            yum -y install libmcrypt libmcrypt-devel mcrypt mhash
yum -y install httpd
        

Ngarobih file konfigurasi

Saatos instalasi réngsé, urang kedah ngalakukeun sababaraha modifikasi kana file konfigurasi. Eusi modifikasi khusus biasana kalebet: IP terikat sareng port, transmisi komprési gzip, jumlah sambungan anu sasarengan, sareng SSL. Hayu urang jelaskeun hiji-hiji ieu di handap.

Ngarobih IP sareng port anu kaiket

IP standar sareng port anu didangukeun Apache nyaéta 0,0.0.0:80. Upami urang kedah ngarobih IP sareng port anu diawasi, urang tiasa ngarobih langsung. Upami urang kedah ngabeungkeut sababaraha palabuhan, urang ogé tiasa nambihan. Dina conto ieu, urang ngabeungkeut palabuhan 80 sareng 443. Port 443 mangrupikeun nomer port standar pikeun HTTPS.

            Listen 80
Listen 443 https
        

Pangiriman gzip kabuka

Kusabab kinerja CPU komputer urang kawilang tinggi, biasana bottleneck bakal muncul dina bandwidth jaringan, janten urang tiasa milih pikeun ngahurungkeun transmisi komprési gzip. Aya 9 tingkat komprési. Urang tiasa milih numutkeun kinerja server kami sareng mendakan tingkat anu paling merenah. Dina conto di handap ieu, urang atur kana tingkat 1. Jinis file anu dikomprés nyaéta: html, xml, php, css, js, urang ogé tiasa nambihan jinis file anu dikomprés sakumaha diperyogikeun.

            <IfModule mod_deflate.c>
    DeflateCompressionLevel 1
    AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript application/x-httpd-php
    AddOutputFilter DEFLATE js css
</IfModule>
        

Siapkeun KeepAlive

Fungsi KeepAlive nyaéta ngajaga klien sareng sérver nyambung salami hiji waktos. Nalika urang muka halaman wéb, biasana urang kedah ngamuat kontén utama, js, css, sareng gambar. Kusabab unggal sumber kedah ngamimitian pamundut HTTP anu misah, urang ngaktipkeun KeepAlive pikeun ngirangan waktos anu diperyogikeun pikeun masing-masing paménta pikeun ngawangun tautan TCP / IP. Tapi KeepAlive ogé ngagaduhan kalemahan. Éta bakal nyababkeun sumberdaya IO sérver dikuasai, janten urang kedah milih naha ngaktipkeun KeepAlive numutkeun kaayaan anu saleresna. Upami KeepAlive diaktipkeun, urang ogé kedah nyetél waktos waktos anu wajar pikeun ngajauhan pangladén IO kanggo waktos anu lami. Conto ieu ngandung sababaraha setélan utama KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Konpigurasikeun jumlah sakaligus

Konfigurasi anu wajar tina jumlah sakaligus tiasa ningkatkeun pisan pangladén. Biasana Apache urang tiasa dianggo dina modeu mpm_prefork. Urang kedah ngonpigurasikeun sababaraha parameter konci. Anu kedah urang perhatoskeun nyaéta jumlah konéksi anu maksimum kedah henteu sakedik teuing, leutik teuing bakal ngabalukarkeun sajumlah ageung pamundut pangguna ditolak nalika kasepakatan tinggi. Nilai lumrah anu kami tetepkeun kedah ngarujuk kana CPU sareng mémori sérver. Salami sumberdaya cekap, urang kedah netepkeun saageung mungkin, tapi upami urang netepkeun ageung teuing, sumber daya server bakal béak sareng Apache ogé bakal ngadat.

            <IfModule mpm_prefork_module>
    StartServers         10
    MinSpareServers      25
    MaxSpareServers      50
    ServerLimit          1500
    MaxClients           1000
    MaxRequestsPerChild  3000
</IfModule>
        

Konpigurasikeun SSL

Kaseueuran halaman wéb ayeuna gaduh SSL diaktipkeun pikeun ngadukung sambungan HTTPS anu aman. Kauntungannana HTTPS nyaéta kontén nalika transmisi énkripsi, janten teu kedah hariwang ngeunaan kabocoran inpormasi kusabab diinterupsi ku batur. Sateuacan ngamungkinkeun SSL, urang kedah nerapkeun heula sertipikat. Saatos nampi sertipikat, tingali kana konfigurasi ieu kanggo ngalengkepan setélan SSL.

            <VirtualHost *:443>
    ServerAdmin www.test.com
    ServerName www.testl.com
    DocumentRoot  /var/www/test
    SSLEngine on
    SSLProtocol all -SSLv2 -SSLv3
    SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
    SSLHonorCipherOrder on
    SSLCertificateFile /etc/httpd/conf/cert/public.crt
    SSLCertificateKeyFile /etc/httpd/conf/cert/1533528967430.key
    SSLCertificateChainFile /etc/httpd/conf/cert/chain.crt
    AllowEncodedSlashes on
    <Directory "/var/www/test.com">
         Options FollowSymLinks
         AllowOverride All
         Order allow,deny
         Allow from all
    </Directory>
</VirtualHost>