Het Lab backports

Aangezien ik bezig ben om in WordPress een gallery toe te voegen heb ik de php gd library nodig. Als ik die probeer te installeren dan schrik ik echter van de dependency’s:

Arkon:~# aptitude install php5-gd
Reading package lists... Done
Building dependency tree... Done
Reading extended state information
Initializing package states... Done
Writing extended state information... Done
Building tag database... Done
The following NEW packages will be automatically installed:
  defoma file fontconfig-config libexpat1 libfontconfig1 libfreetype6
  libft-perl libgd2-xpm libjpeg62 libpng12-0 libt1-5 libttf2 libx11-6
  libx11-data libxau6 libxdmcp6 libxpm4 ttf-dejavu x11-common
The following packages have been kept back:
  linux-image-2.6.18-6-486
The following NEW packages will be installed:
  defoma file fontconfig-config libexpat1 libfontconfig1 libfreetype6
  libft-perl libgd2-xpm libjpeg62 libpng12-0 libt1-5 libttf2 libx11-6
  libx11-data libxau6 libxdmcp6 libxpm4 php5-gd ttf-dejavu x11-common
0 packages upgraded, 20 newly installed, 0 to remove and 1 not upgraded.
Need to get 6345kB of archives. After unpacking 15.0MB will be used.
Do you want to continue? [Y/n/?] n
Abort.

Ik heb dus blijkbaar X-Windows nodig op mijn server, enkel en alleen om de webserver een plaatje te kunnen laten bewerken. Dat moet ook anders kunnen. Voor de oplettenden, er staat inderdaad ook een kernel upgrade tussen die nog uitgevoerd moet worden. Ik had het mailtje daarover al gehad.

Om een uitgeklede php5 versie te installeren kan ik op zoek gaan naar iemand die dat al gedaan heeft en dan moet ik die persoon nog vertrouwen. Gelukkig heeft Henk van de Kamer dit gedaan en vertrouw ik hem al, anders had ik niet gebruik gemaakt van zijn handleidingen voor de installatie en de bijbehorende configuratiebestanden. Als eerste even het toevoegen van zijn server aan de sources.list:

deb http://backports.armorica.tk/ etch php5

En vervolgens nog zorgen dat apt die sources vertrouwd:

Arkon:~# nano /etc/apt/sources.list
Arkon:~# wget http://backports.armorica.tk/backports.gpg
--23:43:38--  http://backports.armorica.tk/backports.gpg
           => `backports.gpg'
Resolving backports.armorica.tk... 88.198.41.48
Connecting to backports.armorica.tk|88.198.41.48|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1,336 (1.3K) [application/octet-stream]

100%[====================================>] 1,336         --.--K/s

23:43:58 (15.30 MB/s) - `backports.gpg' saved [1336/1336]

Arkon:~# apt-key add backports.gpg
OK
Arkon:~# aptitude update
Get:1 http://ftp.nl.debian.org etch Release.gpg [378B]
Hit http://ftp.nl.debian.org etch Release
Get:2 http://backports.armorica.tk etch Release.gpg [189B]
Get:3 http://backports.armorica.tk etch Release [6848B]
Get:4 http://security.debian.org etch/updates Release.gpg [189B]
Get:5 http://security.debian.org etch/updates Release [37.6kB]
Ign http://ftp.nl.debian.org etch/main Packages/DiffIndex
Hit http://ftp.nl.debian.org etch/main Packages
Get:6 http://backports.armorica.tk etch/php5 Packages [8161B]
Ign http://security.debian.org etch/updates/main Packages/DiffIndex
Hit http://security.debian.org etch/updates/main Packages
Fetched 53.3kB in 21s (2524B/s)
Reading package lists... Done

Hierna voer ik een upgrade uit om alle debian pakketten voor php5 te vervangen door zijn versie’s. Hier komt ook meteen de kernel upgrade mee:

Arkon:~# aptitude upgrade
Reading package lists... Done
Building dependency tree... Done
Reading extended state information
Initializing package states... Done
Building tag database... Done
The following packages will be upgraded:
  linux-image-2.6.18-6-486 php5-cgi php5-common php5-mysql
4 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 21.2MB of archives. After unpacking 0B will be used.
Do you want to continue? [Y/n/?] y

Na het toevoegen van de backports van Henk van de Kamer in mijn sources.list ziet de installatie er een stuk prettiger uit:

Arkon:~# aptitude install php5-gd
Reading package lists... Done
Building dependency tree... Done
Reading extended state information
Initializing package states... Done
Building tag database... Done
The following NEW packages will be automatically installed:
  libfreetype6 libgd2-noxpm libjpeg62 libpng12-0
The following NEW packages will be installed:
  libfreetype6 libgd2-noxpm libjpeg62 libpng12-0 php5-gd
0 packages upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 841kB of archives. After unpacking 1982kB will be used.
Do you want to continue? [Y/n/?] y

Toch geen X11 nodig 😀

Nog even de webserver herstarten en we kunnen gebruik maken van de nieuwe library:

Arkon:~# /etc/init.d/lighttpd restart
Stopping web server: lighttpd.
Starting web server: lighttpd.

Helaas moet ik vanwege de kernel update wel even het systeem rebooten. Ik raak dus mijn mooie uptime kwijt:

Arkon:~# uptime
 00:00:49 up 96 days, 11:03,  1 user,  load average: 0.08, 0.24, 0.25

Lighttpd staakt (2)

Zowel gisteren als vandaag begon de webserver weer kuren te vertonen. Na het updaten van een aantal posts op dit blog kreeg ik geen reactie meer terug. Dus toch maar weer eens de logbestanden nageplozen. Vreemd genoeg is er niets te vinden wat een probleem zou kunnen geven.

Als laatste redmiddel dan toch maar een mailtje gewaagd aan Henk van de Kamer, ik heb tenslotte van hem afgekeken hoe ik de server opzetten kan.

Gelukkig tref ik het want ik heb dezelfde avond nog een mailtje terug ontvangen. Henk was dus beschikbaar en hij had een oplossing voor me. Hij heeft hetzelfde probleem namelijk al eens eerder ondervonden. En aangezien ik zijn configuratie bestanden overgenomen en dus ook zijn achteraf gezien wat ongelukkig instelling:

http://www.hetlab.tk/asterix/tunen-webserver

Wat hier dus gebeurt is dat bij sommige handelingen er door php teveel tijd besteed wordt. Doordat er maar maximaal 1 proces mag zijn volgens de configuratie kom je in de problemen als dit proces ermee ophoud door geheugenproblemen. Door dus het maximale aantal processen te verhogen voorkom je dat de server in  staking gaat.

Na het aanpassen van het php configuratiebestand en het herstarten van lighttpd draait de webserver deze keer hoogstwaarschijnlijk een stuk langer.

Bedankt Henk!