Apache tīmekļa serveris
Uzstādīšana
- Kā root lietotājs izpilda komandu:
- 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:
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/apache.key -out /etc/ssl/certs/apache.crt
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.
Brīdinājums: 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
Ja sertifikāta faili ir iegūti sertifikātu reģistrā, novieto failus sekojoši:
- *.crt failu mapē /etc/ssl/certs/
- *.key failu mapē /etc/ssl/private/
- 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>
- Pārliecinās, ka /etc/apache2/sites-available noklusētais ports ir 80, nevis *, un sākuma rinda izskatās kā <VirtualHost *:80> nevis <VirtualHost *:*>.
- Izveido tai līdzīgu vietnes definīciju priekš SSL ar komandām:
cd /etc/apache2/sites-available
cp default ssl
sed -i '1,2s/\*:80/*:443/' ssl
sed -i "3a\\\tSSLEngine On\n\tSSLCertificateFile /etc/ssl/certs/apache.crt\n\tSSLCertificateKeyFile /etc/ssl/private/apache.key" ssl
kur apache.crt un apache.key ir attiecīgie sertifikāta un privātās atslēgas faili.
- Ja nepieciešams izmantot vairāk par vienu sertifikātu, (sertifikātu ķēdi), tad norāda tos visus failā //etc/apache2/sites-available/ssl, piemēram, sekojoši:
SSLCertificateFile /etc/ssl/certs/apache.crt
SSLCertificateChainFile /etc/ssl/certs/CA.crt
…
SSLCertificateKeyFile /etc/ssl/certs/apache.key
- Iespējo Apache servera SSL vietni:
- Pārstartē Apache serveri:
/etc/init.d/apache2 restart
- Pieslēdzas serverim uz https://localhost
Saites
- Ja ir gatavi *.key un *.cer (*.crt) faili, iespējams, ka atslēgas fails pieprasa paroli. Ar paroli aizsargātu atslēgas failu var pārtaisīt par neaizsargātu (tad jāpārliecinās, ka tam tiek klāt tikai autorizēti lietotāji) sekojoši:
openssl rsa -in apache.key -out apache1.key
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