Перейти к собственно контенту

Архив

Метка: isp

В дополнение к этой статье решил написать данный мануал. Заказчику потребовалось с выходом PHP 7 поставить эту версию как вторую. Сервер с CentOS 6 , ISPmanager 4 и PHP 5.4.45.

Качаем последнюю версию PHP 7.0.2, распаковываем
[root@hz2 ~]# wget http://php.net/get/php-7.0.2.tar.gz/from/this/mirror
[root@hz2 ~]# tar xzvf php-7.0.2.tar.gz
[root@hz2 ~]# cd ./php-7.0.2

Конфигурируем PHP:
[root@hz2 ~]# mkdir -p /opt/php70

[root@hz2 ~]# ./configure --prefix=/opt/php70 --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-soap --enable-calendar --with-curl --with-mcrypt --with-zlib --with-gd --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-openssl --with-libdir=lib64 --enable-ftp --with-imap --with-imap-ssl --with-kerberos --with-gettext --enable-cgi

Если появляются ошибки о нехватке необходимого ПО или сорцов ставим все это дело:
[root@hz2 ~]# yum install libxml2-devel bzip2-devel curl-devel libjpeg-devel libpng-devel libX11-devel gd-devel libc-client-devel libmcrypt-devel mysql-devel

Собираем и ставим
[root@hz2 ~]# make && make install

Нам нужно сделать, что бы при использовании php как модуля апача использовалась версия 5.4.45, а при втором варианте 7.0. Будет удобно если можно будет прям определять какая версия нужна для какого сайта и пользователя. Для этого нам нужно просто заменить файл php-cgi, что мы и сделаем, но для начала сбекапим старый.

[root@hz2 ~]# mv /usr/bin/php-cgi php-cgi.back
[root@hz2 ~]# ln -s /opt/php70/bin/php-cgi /usr/bin/php-cgi

На этом все!. Заходим в панель ISPmanager и выбираем «PHP как CGI», для того, что бы у вас использовалась версия php 7.0

Иногда получается так,что почтовый сервер настраивается по умолчанию на формат mbox (хранение в одном файле),что имеет ряд своих минусов. В статье расскжу как мигрировать с mbox на maildir на связке Exim + Dovecot.

1) Конвертируем почту из mbox формата в .maildir
Для этого ставим утилиту mb2md из портов
deathstar# /usr/ports/mail/mb2md make install clean (FreeBSD)
или с репозиториев
deathstar@deathstar.name$: sudo aptitude install mb2md (Linux Debian)
И используем утииту так:
deathstar# mb2md -s /var/www/data/deathstar/email/deathstar.name/deathstar -d /var/www/data/deathstar/email/deathstar.name/deathstar/.maildir/

Где /var/www/data/deathstar/email/deathstar.name/deathstar — путь до файла mbox,тут же и будет каталог maildir.
Дописываем в конфиг /usr/local/ispmgr/etc/ispmgr.conf рядом с другими Option (после MTA и POP3)
Option MailDir
Заменям конфиг Dovecot

Настройка dovecot:

Заменяем в конфиге с пользователями mbox на maildir:

deathstar# cat dovecot.passwd | \
awk -F\: '{ print $1":"$2":"$3":"$4"::"$6":::maildir:"$6"/.maildir" }' > dovecot.passwd.new
mv dovecot.passwd.new dovecot.passwd

Находим конфиг exim и заменяем в нем строчку
file = ${extract{4}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim4/passwd}}}}/mbox
на две строки
directory = ${extract{4}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim4/passwd}}}}/.maildir
maildir_format

Перезапускаем сервисы и проверяем работу.