Apache tīmekļa serveris
Uzstādīšana
- Kā root lietotājs izpilda komandu:
- Ja grib, lai Apache serveris parāda vienkāršu "It works!" lapu saknes direktorijā , ievieto simbolisko saiti uz saknes direktoriju:
ln -s /var/www/apache2-default/index.html /var/www/index.html
- Ja grib, lai web servera failu saturs atrodas /home katalogā:
- Aptur Apache:
- Pārvieto to no /var/www un izveido simbolisko saiti:
mv /var/www /home
ln -s /home/www /var/www
- Palaiž Apache:
/etc/init.d/apache2 start
- Pārliecinās ar Firefox pārlūkprogrammu, ka Apache Web servera paziņojums "It works!" parādās, atverot adresi http://localhost
HTTPS uzstādīšana
Lai datu plūsmu starp web serveri un klientu nevarētu noklausīties, to nepieciešams šifrēt. Šim nolūkam izmanto
SSL protokolu, kas, izmantojot publiskās/privātās atslēgas (
PKI) metodi, nodrošina uzticamu un drošu pārraides kanālu starp klientu un serveri.
HTTP pārraidītu pa SSL kanālu, sauc par
HTTPS.
- Vispirms nepieciešams uzlikt SSL rīkus, kas ļauj pašam izveidot servera privātā/publiskā atslēgu pāra sertifikātus:
apt-get install ssl-cert
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/private/apache.pem
un ievada atbildes uz vedņa uzdotajiem jautājumiem. Ja pirmajās atbildes nešķiet pareizas, komandu var izsaukt atkārtoti, un izveidot jaunu sertifikātu.
Warning: Tā kā šis servera sertifikāts nav autorizēts uzticamās sertifikātu organizācijās kā Verisign vai citās mazākās
CA, pārlūkprogramma par to brīdinās
- Iespējo Apache SSL moduli ar komandu:
- Pārliecinās, ka /etc/apache2/ports.conf fails satur rindas:
<IfModule mod_ssl.c>
Listen 443
</IfModule>
- /etc/apache2/sites-available noklusētajai vietnei pievieno filtru klausīties tikai uz 80 porta, un izveido tai līdzigu vietnes definīciju priekš SSL ar komandām:
cd /etc/apache2/sites-available
sed -i '1,2s/\*/*:80/' default
cp default ssl
sed -i '1,2s/\*:80/*:443/' ssl
sed -i "3a\\\tSSLEngine On\n\tSSLCertificateFile /etc/ssl/private/apache.pem" ssl
- Iespējo Apache servera SSL vietni:
- Pārstartē Apache serveri:
/etc/init.d/apache2 restart
Sertifikāta datu maiņa
- ievada komandu:
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/private/apache.pem --force-overwrite
un atbild uz vedņa uzdotajiem jautājumiem
- Pieslēdzas serverim uz https://localhost
Saites
Kataloga iekļaušana
Lai padarītu pieejamu failu sistēmas katalogu ar failu pārlūkošanu web serverī, iekopē to kā simbolisko saiti zem
/var/www. Piemēram:
ln -s /home/vmware/ /var/www/
Lai failu sistēma būtu pārlūkojama
www-data vai jebkuram lietotājam vai grupai ir jābūt kataloga lasīšanas un izpildes (t.i. pārlūkošanas) tiesībām.
Ja pārlūkošanas tiesības pievieno jebkuram, izpilda komandu:
Indeksēšanas aizliegšana
- Ja servera dati ir pieejami tikai autorizētiem lietotājiem, nav vajadzības indeksēt pieejamo (pieteikšanās u.rml.) lapu saturu,
- Izveido failu /var/www/robots.txt un tajā ieliek sekojošu saturu:
User-agent: *
Disallow: /
Veiktspējas skaņošana
Apache tīmekļa servera paralēlu darbību nodrošina ar diviem savstarpēji izslēdzošiem (PMP -- Multi-Processing Module) moduļu veidiem:
prefork un
worker. Prefork ir vecāks, vienkāršāks un drošāks paņēmiens, jo veido atsevišķus
procesus, tomēr atsevišķu procesu apstrāde un palaišana ir lēnāka, kā Worker modulī, kurā veido atsevišķus
pavedienus.
- Kā ir nokompilēts konkrētais serveris, apskata, ievadot komandu:
- Ja parāda
Compiled in modules:
…
prefork.c
...
tad serveris darbojas ar prefork moduli
- Ja parāda:
Compiled in modules:
…
worker.c
...
tad serveris darbojas ar worker moduli
- Noklusētie iestatījumi ir piemēroti serverim, kas strādā tika kā tīmekļa serveris. Ja tīmekļa funkcijas ir tikai vienas no daudzām, vai serveris tiek izmantots testēšanai, tad noklusētos iestatījumus var samazināt, lai samazinātu servera dīko slodzi. Failā /etc/apache2/apache2.conf nomainot iestatījumus, piemēram, uz sekojošiem:
- Prefork modulim:
…
<IfModule mpm_prefork_module>
StartServers 2
MinSpareServers 2
MaxSpareServers 6
MaxClients 100
MaxRequestsPerChild 50
</IfModule>
...
- Worker modulim:
…
<IfModule mpm_worker_module>
StartServers 1
MaxClients 50
MinSpareThreads 4
MaxSpareThreads 25
ThreadsPerChild 10
MaxRequestsPerChild 50
</IfModule>
...
Skatīt arī
Saites