PDA

Bekijk Volledige Versie : HOWTO: IMAP (SSL) Support op CentOS 5 x64



Randy
21/12/08, 09:41
Als freelance systeenbeheerder bij ISPI krijg ik regelmatig vragen om extra PHP modules te installeren op het DirectAdmin platform. Een lastige daarbij is de IMAP module onder CentOS 5, de 64-bit versie. Vandaar dat ik even een howto geschreven heb voor de interne Wiki, maar ik zal hem even sharen. Er wordt hier gebruik gemaakt van de IMAP 2007e extenties en niet de 2004x library zoals je ze standaard bij Directadmin tegen komt.

Deze gaat uit van PHP in een CGI omgeving met suPHP. Gebruik je PHP als standaard Apachemodule (psst, overweeg eens suPHP of mod_ruid!), dan is het path 'custombuild/custom/suphp/configure.php5' -> 'custombuild/custom/ap2/configure.php5'

De oplossing: (Centos 5.2 x64 bit)

yum install krb5 krb5-devel
wget ftp://ftp.cac.washington.edu/mail/imap.tar.Z
tar zxf imap.tar.Z
cd imap-2007e

Nu moeten we de 'Makefile' even aanpassen. Zoek naar de variabele "EXTRACFLAGS='. Deze zal nog leeg zijn en maak hiervan 'EXTRACFLAGS=fPIC'


make lr5 PASSWDTYPE=std SSLTYPE=unix.nopwd IP6=4
echo "set disable-plaintext nil" > /etc/c-client.cf
mkdir /usr/local/imap-2007e
mkdir /usr/local/imap-2007e/include/
mkdir /usr/local/imap-2007e/lib/
chmod -R 077 /usr/local/imap-2007e
rm -rf /usr/local/imap-2007e/include/*
rm -rf /usr/local/imap-2007e/lib/*
rm -f /usr/sbin/imapd
cp imapd/imapd /usr/sbin/
cp c-client/*.h /usr/local/imap-2007e/include/
cp c-client/*.c /usr/local/imap-2007e/lib/
cp c-client/c-client.a /usr/local/imap-2007e/lib/libc-client.a

Vervolgens pas je de suPHP configuratie aan, zodat de IMAP modules geladen worden:


cd /usr/local/directadmin/custombuild
cp -Rp configure custom
nano custom/suphp/configure.php5

Zet onderstaande twee opties erbij (onder zip)


"--with-imap-ssl=/usr/local/imap-2007a" \
"--with-imap=/usr/local/imap-2007a" \


cd /usr/local/directadmin/custombuild
./build clean
./build update
./build php5-cgi n

Nu wordt PHP opnieuw gecompileerd en moet je IMAP support hebben. Controleer dit via een phpinfo() bestand. Ik heb in deze optie de 2007e-versie van IMAP gebruikt inplaats van de stokoude 2004-versie. Ook support voor IMAP over SSL wordt meegecompileerd, zodat je beveiligde mailservers ook kunt benaderen.

westm003
20/02/09, 17:54
super dat je dit deelt...

'EXTRACFLAGS=-fPIC'

Mist een "-"

Tnx!

santema
27/02/09, 01:43
Staan nog een paar foutjes in :):

'custombuild/custom/ap2/configure.php5'

Moet zijn:

'custombuild/configure/ap2/configure.php5'

ene regel praat je over imap-2007e, maar in configure.php5 zet je imap-2007a

Als laatste voor vandaag, als je ./build update doet, update DirectAdmin volgens mij ook het bestand configure.php5 (en zijn dus je imap regeltjes weer weg).

Randy
27/02/09, 01:58
Staan nog een paar foutjes in :):

'custombuild/custom/ap2/configure.php5'

Moet zijn:

'custombuild/configure/ap2/configure.php5'

ene regel praat je over imap-2007e, maar in configure.php5 zet je imap-2007a

Als laatste voor vandaag, als je ./build update doet, update DirectAdmin volgens mij ook het bestand configure.php5 (en zijn dus je imap regeltjes weer weg).

Nee, dit is geen fout. Je kopieert de 'configure' dir naar 'custom'. Doe je dit niet, zal hij de configure.php5 bestanden bij de volgende build-update overschrijven en is je --with-imap regel hier uit. Daarom zetten we deze bestanden in de map custom, zodat Directadmin hier niet aan komt. Je noemt hem zelf al.

:lovewht:
(En nu slapen)

santema
27/02/09, 01:59
My bad, dat stukje niet gezien idd :).

Opzich wel tijd om te slapen idd.

Randy
02/05/09, 13:00
Leuk, je eigen howto's opzoeken:

Kleine aanvulling:

Verander: yum install krb5 krb5-devel
In: yum install krb5 krb5-devel pam-devel

Viperium
14/05/09, 12:49
Is het dan ook mogelijk om sub-mappen te maken bijvoorbeeld van postvak IN/Werk ofzo? Ik heb nu het probleem dat er geen sub-map wordt aangemaakt met centOS 5 x64

Randy
14/05/09, 13:50
Ja hoor, waarom niet. Met de juiste berichtregels komt alles ook meteen op de goede plek terecht.

Viperium
14/05/09, 15:19
Ja hoor, waarom niet. Met de juiste berichtregels komt alles ook meteen op de goede plek terecht.

Want ik weet dat mijn provider deze OS gebruikt maar ik kan hierop geen sub-mappen aanmaken alleen mappen onder mijn email adres dus op de zelfde hoogte als postvak IN.

Is dit een kwestie van instellen? Of heeft het met iets anders te maken?

phreak
14/05/09, 15:21
Lijkt me eerder een permission probleem op de server zelf

tvdh
18/05/09, 21:54
ik heb de handleiding gevolgd, echter wel met centos 32 bit en mod ruid

Mappen bestaan ed.

Maar krijg steeds deze error:

/usr/local/directadmin/custombuild/custom/ap2/configure.php5: line 25: --with-imap=/usr/local/imap-2007e: No such file or directory


enig idee waar dit aan zou kunnen liggen?

MMaI
18/05/09, 22:47
bestaat de map /usr/local/imap-2007e ? en waar staat deze lijn/parameter in je config?

Geert-Jan
18/05/09, 22:48
locate?

MMaI
18/05/09, 22:51
misschien heb je hier wat aan, gezien het feit dat de originele handleiding in dit topic vooral voor de x64 omgeving is

(http://danielschoone.nl/2008/10/07/imap-functions-in-php-op-directadmin/)

volgens DA forum zou het op deze manier kunnen

http://www.directadmin.com/forum/showthread.php?p=103264#post103264

ju5t
18/05/09, 23:18
Zover ik weet werkt de handleiding van Randy ook prima op 32bits systemen.


make lr5 PASSWDTYPE=std SSLTYPE=unix.nopwd IP6=4

Puur uit nieuwsgierigheid. Waarom compile je met IPv4? Dit is sowieso default, werkt het (nog?) niet goed met IPv6? Heb zelf nog niet getest (wij hebben ook nog geen IPv6 helaas).


The default build on many systems with IPv4 only. To build with IPv6,
add "IP=6" to the make command line, e.g.
make lnp IP=6

DsWz
08/06/09, 08:55
Hoi Allemaal,

Bedankt voor de informatie, goede samenvatting. Ik heb bovenstaande stappen gevolgd maar de IMAP-module komt niet tevoorschijn in phpinfo(); Ik heb de --with regels toegevoegd aan custombuild/custom/suphp/configure.php5 en voor de zekerheid ook aan custombuild/custom/ap2/configure.php5.

Er zijn geen rare foutmeldingen ontstaan en ik heb apache gerestart. De module is volgens mij wel succesvol geinstalleerd maar wordt niet ge-enabled door apache (denk ik).

Wat zie ik over het hoofd?! Ik hoor het als ik meer info moet plaatsen!

Bij voorbaat dank.

Daniel

Edit: CentOS 5 x64

Randy
08/06/09, 20:41
Apache wel opnieuw opgestart?

/etc/init.d/htpd restart

Randy
24/06/09, 04:09
htTpd restart natuurlijk. Mijn toetsenbord heeft teveel koffie op en pakt dubbele aanslagen niet altijd even lekker.

MortyDot
05/09/09, 14:16
Hmmzz ik probeer deze tut ook op een 32Bit CentOS machine... krijg deze error:



Thank you for using PHP.

/usr/local/directadmin/custombuild/custom/suphp/configure.php5: line 26: --with-imap=/usr/local/imap-2007e: No such file or directory

*** There was an error while trying to configure php. Check the custom/suphp/configure.php5 file
/usr/local/imap-2007e bestaat met twee submapjes die ook weer ieder bestanden bevatten.

'EXTRACFLAGS=-fPIC' is ok met die -

Enig idee wat het kan zijn?
Alvast bedankt :)

Geert-Jan
05/09/09, 14:37
wil je


#cat /usr/local/directadmin/custombuild/custom/suphp/configure.php5
ook even posten?

MortyDot
05/09/09, 15:15
wil je


#cat /usr/local/directadmin/custombuild/custom/suphp/configure.php5 ook even posten?



#!/bin/sh
"./configure" \
"--prefix=/usr/local/php5" \
"--enable-force-cgi-redirect" \
"--enable-fastcgi" \
"--with-config-file-path=/usr/local/etc/php5/cgi" \
"--with-curl=/usr/local/lib" \
"--with-gd" \
"--with-gettext" \
"--with-jpeg-dir=/usr/local/lib" \
"--with-freetype-dir=/usr/local/lib" \
"--with-kerberos" \
"--with-openssl" \
"--with-mcrypt" \
"--with-mhash" \
"--with-mysql=/usr" \
"--with-mysqli=/usr/bin/mysql_config" \
"--with-pdo-mysql=/usr" \
"--with-pear" \
"--with-png-dir=/usr/local/lib" \
"--with-zlib" \
"--with-zlib-dir=/usr/local/lib" \
"--enable-zip" \
"--with-imap-ssl=/usr/local/imap-2007e" \
"--with-imap=/usr/local/imap-2007e" \
"--enable-gd-native-ttf" \
"--with-iconv=/usr/local" \
"--enable-bcmath" \
"--enable-calendar" \
"--enable-ftp" \
"--enable-magic-quotes" \
"--enable-sockets" \
"--enable-mbstring"

Geert-Jan
05/09/09, 15:37
Maak daar dit eens van, en compile php dan nog eens;


#!/bin/sh
"./configure" \
"--prefix=/usr/local/php5" \
"--enable-force-cgi-redirect" \
"--enable-fastcgi" \
"--with-config-file-path=/usr/local/etc/php5/cgi" \
"--with-curl=/usr/local/lib" \
"--with-gd" \
"--with-gettext" \
"--with-jpeg-dir=/usr/local/lib" \
"--with-freetype-dir=/usr/local/lib" \
"--with-kerberos" \
"--with-openssl" \
"--with-mcrypt" \
"--with-mhash" \
"--with-mysql=/usr" \
"--with-mysqli=/usr/bin/mysql_config" \
"--with-pdo-mysql=/usr" \
"--with-pear" \
"--with-png-dir=/usr/local/lib" \
"--with-zlib" \
"--with-zlib-dir=/usr/local/lib" \
"--with-iconv=/usr/local" \
"--with-imap-ssl=/usr/local/imap-2007e" \
"--with-imap=/usr/local/imap-2007e" \
"--enable-zip" \
"--enable-gd-native-ttf" \
"--enable-bcmath" \
"--enable-calendar" \
"--enable-ftp" \
"--enable-magic-quotes" \
"--enable-sockets" \
"--enable-mbstring"

MortyDot
05/09/09, 16:00
[QUOTE=Geert-Jan;1083948]Maak daar dit eens van, en compile php dan nog eens;

[code]

Top! Gefixt :-)

Dries.S
28/09/09, 10:45
Ik probeer deze te installeren, maar bij de laatste stap :


./build php5-cgi n

geeft hij mij de volgende fout:

Can not build PHP5 as CGI because it is not set in options.conf.

Randy
28/09/09, 10:48
In welke file denk je dat je nu zou moeten zoeken Dries? ->|

Dries.S
28/09/09, 11:06
In welke file denk je dat je nu zou moeten zoeken Dries? ->|

Inderdaad, stomme vraag.

Nu heb ik alle stappen doorlopen maar zie in de php_info() nog niets staan met betrekking tot imap...