frame

Sveiki apsilankę!

Jei forume lankaisi pirmą kartą, kviečiame registruotis ir prisijungti prie diskusijų.

Prisijungti Registruotis

Apache 2.2.x atnaujinimas į 2.4 CentOS 6.x operacinės sistemos aplinkoje

IV_RomanLIV_RomanL Interneto vizija
edited 12:27 Į Web serveriai
Š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

Gidas Apache 2.4.x kompiliavimui pateikiamas adresu:

http://configure.systems/centos-6-5-building-apache-2-4-9-from-source/


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.
Pažymėtos temos:
Norėdami palikti komentarą, turite prisijungti arba registruokis.