Date: Wed, 28 Dec 2005 23:17:53 +0100 From: Erik Nordstrom Andersen <none@erik--erik-n-andersen.dk.lh.bsd-dk.dk> To: bsd-dk@bsd-dk.dk Subject: HOWTO: opgradering fra apache2 til apache22
Hej alle
Nu hvor Apache 2.2 er den anbefalede version af apache, satte jeg mig
ned for at opgradere min Apache2 + PHP5 installation. Det burde være
simpelt, men jeg stødte ind i nogle småproblemer, og derfor har jeg
skrevet en lille howto, som andre måske kan have glæde af. Jeg er
relativt newbie, så mange ting her kan sikkert gøres bedre. Forslag er
velkomne :-)
Mvh Erik
--------------------
HOWTO: Opgradering af Apache2+PHP5 til Apache22+PHP5
Først: Det burde ikke være nødvendigt at sige, men husk at tage backup
af httpd.conf, htpasswd, /usr/local/www/data, ~/public_html osv. inden
du går i gang.
Start med en helt frisk cvsup af ports. Der er vigtige ændringer til
Apache22, som netop er committed:
> su
Password:
# cvsup -L 2 /etc/stable-supfile
# portsdb -Uu
Afinstallér Apache2 og installér Apache22
# cd /usr/ports/www/apache20
# make deinstall
# cd ../apache22
# make install clean
Den gamle http.conf kan ikke bruges direkte, bl.a. fordi mange moduler
har skiftet navn og placering, så det er bedre at flytte egne rettelser
over manuelt. I apache22 er flere dele af den velkendte
/usr/local/etc/apache2/httpd.conf splittet op i mindre config-filer, som
ligger i /usr/local/etc/apache22/extras/. Det gælder f.eks. virtual
hosts (httpd-vhosts.conf) og user homedirs (httpd-userdir.conf). Disse
ekstra config-filer skal inkluderes explicit nederst i
/usr/local/etc/apache22/httpd.conf. Jeg er ikke stødt på nogen ændringer
i syntaksen, men man skal alligevel holde tungen lige i munden.
Se efter at DocumentRoot peger det rigtige sted, den er
"/usr/local/www/apache22/data" som default nu. Hvis du vil beholde den
gamle struktur skal DocumentRoot rettes til "/usr/local/www/data", og
følgende symlink tilføjes:
# cd /usr/local/www
# ln -s data-dist data
Tag backup, og ret dine config-filer:
# cd /usr/local/etc/apache22
# mv httpd.conf httpd.conf.bak
# ee httpd.conf
(lav dine rettelser)
# httpd -k restart
Når apache starter får jeg en "[warn] (2)No such file or directory:
Failed to enable the 'httpready' Accept Filter", som ser ud til at være
harmløs.
Nu burde følgende folder kunne fjernes:
# rm -r /usr/local/etc/apache2
Installering og opsætning af PHP:
Det ser ud til at man ikke længere behøver "WITH_APACHE2= true" i
/etc/make.conf
Geninstallér mod_php5:
# cd /usr/ports/www/mod_php5
# make deinstall
# make install clean
Rettelser til httpd.conf:
I LoadModule-afsnittet tilføjes:
LoadModule php5_module libexec/apache22/libphp5.so
I afsnittet "<IfModule dir_module>" tilføjes:
DirectoryIndex index.html index.html.var index.php
I afsnittet "<IfModule mime_module>" tilføjes:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Nu burde følgende folder kunne fjernes:
# rm -r /usr/local/libexec/apache2
For at rette eventuelle afhængigheder fra den gamle til den nye apache:
# pkgdb -F
Til sidst:
# httpd -k restart
This archive was generated by hypermail 2b30 : Wed 15 Nov 2006 - 18:24:55 CET