Ši pamoka pateikia informaciją apie tai, kokius pakeitimus reiktų atlikti Apache web serverio konfigūraciniuose failuose atlikus tarnybos atnaujinimą iš 2.2.x versijos į 2.4.x versiją. Prieš atnaujinant Apache serverį
BŪTINAI sukurkite konfigūracinių failų katalogo atsarginę kopiją.
Pageidaujant kur kas išsamesnės instrukcijos apie būtinus pokyčius atnaujinant Apache tarnybą, rekomenduojama pasinaudoti oficialiu gidu
http://httpd.apache.org/docs/2.4/upgrading.html.
Dėmesio! Ši pamoka neskirta serveriams kuriuose yra įdiegtas valdymo pultas ar serveriams kuriuose jau veikia Apache 2.4. Atnaujinkite Apache serverį tik tuomet, kuomet jums tikrai reikia tai atlikti. Jei jūsų sistema tinkamai veikia su Apache 2.2, tuomet nėra būtinybės atnaujinti Web serverio į 2.4 versiją.
0. Kadangi CentIOS 6.x repozitorijose nėra siūloma Apache 2.4 versija, jusm teks rankiniu būdu ją sukompiliuoti. Prieš tai pašalinkite esamą Apache servisą:
yum remove httpd
1. Atnaujiname apache vhost konfigūraciją (jei turite atskirus vhost failus, juos taip pat redaguokite):
nano /etc/httpd/conf/httpd.conf
Ties kiekviena "<Directory>" konfigūracijos eilute turite pridėti / pakeisti sintaksę iš:
Order allow,deny
Allow from all
arba
Order deny,allow
Deny from all
į:
Require all denied
arba
Require all granted
Konkretus pavyzdys:
<VirtualHost *:80>
...
<Directory /var/www/>
Require all granted
</Directory>
...
</VirtualHost>
Atminkite, jog atlikus aukščiau paminėtus pakeitimus esant Apache 2.2 versijai jūsų svetainė neveiks (bus pateikiama 500 klaida). Tad, pakeitimus reiktų atlikti tik tada, kuomet Apache servisas bus atnaujintas į 2.4 versiją.
Atlikus pakeitimus perkrauname serverį:
/etc/init.d/httpd reload
2. Modulių perkėlimas iš Apache 2.2 į 2.4. Šis žingsnis yra ganėtina svarbus ypač jei turite nestandartinių Apache modulių. Ne visi Apache 2.2 moduliai gali tinkamai veikti 2.4 versijoje, tad gali kilti keblumų startuojant tarnybą.
Skirtumas tarp Apache 2.2 ir 2.4 modulių klausimu yra tas, jog 2.4 versija nebesaugo įkraunamų modulių sąrašo viename httpd.conf faile. Naujoje versijoje moduliai saugomi aplankuose:
mods-available/
ir
mods-enabled/
Kievienas modulis turi atskirą konfigūracini failą, panašiu pavadinimu į:
modulis_pavadinimas.conf
Apache 2.4 palaikomų modulių sąrašą galite rasti adresu
http://httpd.apache.org/docs/2.4/upgrading.html.
3. Dažniausiai pasitaikančios klaidos po atnaujinimo:
Problema: Lankantis svetainėje pateikiamas pagal nutylėjimą esantis Apache puslapis "It works!"
Sprendimas: Peržiūrėkite vhost konfigūracinius failus ir jei reikia pridėkite failo pavadinimą galūnę .conf. Įsitikinkite jog vhost faile yra tinkamai aprašytas kelias iki svetainės direktorijos serveryje.
Problema: Lankantis svetainėje pateikiama klaida "403 Forbidden".
Sprendimas: Peržiūrėkite dar kartą "<Directory>" direktyvas konfigūraciniuose failuose. Tikėtina jog neįrašyta eilutė "Require all granted".
Problema: Po atnaujinimo pateikiama klaida perkraunant Apache serverį.
Sprendimas: Tikėtina jog yra naudojamas nesuderinamas Apache modulis su naujausia 2.4 versija. Peržiūrėkite suderinamų modulių sąrašą
http://httpd.apache.org/docs/2.4/upgrading.html ir pašalinkite / atnaujinkite / pakeiskite nesuderinamus modulius.