Bekijk Volledige Versie : HOWTO: IMAP (SSL) Support op CentOS 5 x64
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.
super dat je dit deelt...
'EXTRACFLAGS=-fPIC'
Mist een "-"
Tnx!
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).
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)
My bad, dat stukje niet gezien idd :).
Opzich wel tijd om te slapen idd.
Leuk, je eigen howto's opzoeken:
Kleine aanvulling:
Verander: yum install krb5 krb5-devel
In: yum install krb5 krb5-devel pam-devel
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
Ja hoor, waarom niet. Met de juiste berichtregels komt alles ook meteen op de goede plek terecht.
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?
Lijkt me eerder een permission probleem op de server zelf
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?
bestaat de map /usr/local/imap-2007e ? en waar staat deze lijn/parameter in je config?
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
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
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
Apache wel opnieuw opgestart?
/etc/init.d/htpd restart
htTpd restart natuurlijk. Mijn toetsenbord heeft teveel koffie op en pakt dubbele aanslagen niet altijd even lekker.
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 :)
wil je
#cat /usr/local/directadmin/custombuild/custom/suphp/configure.php5
ook even posten?
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"
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"
[QUOTE=Geert-Jan;1083948]Maak daar dit eens van, en compile php dan nog eens;
[code]
Top! Gefixt :-)
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.
In welke file denk je dat je nu zou moeten zoeken Dries? ->|
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...