По некоторым причинам в базированных на Redhat дистрибутивах (RedHat, Fedora, CentOS) нет доступных пакетов для Courier (courier-imap, courier-authlib, maildrop) и только в сторонних репозитариях можно найти готовые пакеты. В данной статье объясняется как вы можете создать и установить свой собственный Courier rpm пакет. Эта статья является моим корявым переводом статьи с www.howtoforge.com и в ней описывается сборка под Fedora 8. Данным руководством пользовался я собирая указанные пакеты под Centos. Текущие версии немного отличаются от указанных в статье, поэтому заходите на сайт и скачивайте новые версии. Готовые пакеты для Centos я скорее всего выложу тут.
Я выполнял все действия на своей системе под управлением Fedora 8 (i386) ; и также хорошо все должно работать в RedHat и CentOS. Если вы имеете систему x86_64, замените все упоминания i386 в этой статье на x86_64.
Устанавливаем зависимости
Прежде чем вы начнем компилировать Courier нам необходимо установить следующие пакеты:
yum groupinstall 'Development Tools'
yum groupinstall 'Development Libraries'
yum install rpm-build gcc mysql-devel openssl-devel cyrus-sasl-devel pkgconfig zlib-devel pcre-devel openldap-devel postgresql-devel expect libtool-ltdl-devel openldap-servers libtool gdbm-devel pam-devel gamin-devel
Создаем непривилигированный аккаунт пользователя
RPM пакет не должен собираться под аккаунтом суперпользователя root, courier-imap выдаст ошибку компиляции если определит что компиляции происходит под root’ом. Поэтому мы создадим новый аккаунт:
useradd -m -s /bin/bash falko
passwd falko
Нам потребуется команда sudo позднее, чтобы пользователь falko мог компилировать и устанавливать rpm пакет. Но сперва мы должны разрешить аккаунту falko запускать все команды используя sudo:
Запустите
visudo
В этом файле найдите строчку root ALL=(ALL) ALL. Добавьте после неё подобную строчку для пользователя falko :
[...]## Allow root to run any commands anywhereroot ALL=(ALL) ALL falko ALL=(ALL) ALL [...] |
Создаем пакеты courier-authlib, courier-imap, и maildrop
Теперь мы готовы к созданию наших rpm пакетов. Сперва станем пользователем falko:
su falko
Далее создадим окружение для сборки пакетов:
mkdir $HOME/rpm mkdir $HOME/rpm/SOURCES mkdir $HOME/rpm/SPECS mkdir $HOME/rpm/BUILD mkdir $HOME/rpm/SRPMS mkdir $HOME/rpm/RPMS mkdir $HOME/rpm/RPMS/i386
echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros
Теперь мы создаем директорию для скачивания файлов и скачиваем свежие дистрибутивы с сайта http://www.courier-mta.org/download.php:
mkdir $HOME/downloads cd $HOME/downloads
wget http://prdownloads.sourceforge.net/courier/courier-authlib-0.60.2.tar.bz2 wget http://prdownloads.sourceforge.net/courier/courier-imap-4.2.1.tar.bz2 wget http://prdownloads.sourceforge.net/courier/maildrop-2.0.4.tar.bz2
Создаем и устанавливаем courier-authlib
Теперь (мы все ещё в $HOME/downloads) мы можем создать пакет courier-authlib:
sudo rpmbuild -ta courier-authlib-0.60.2.tar.bz2
После процесса создания пакета он находится в $HOME/rpm/RPMS/i386:
cd $HOME/rpm/RPMS/i386
Команда
ls -l
покажет вам доступные rpm пакеты:
[falko@server1 i386]$ ls -l total 600 -rw-r--r-- 1 root root 137335 2007-11-13 18:02 courier-authlib-0.60.2-1.fc8.i386.rpm -rw-r--r-- 1 root root 323827 2007-11-13 18:02 courier-authlib-debuginfo-0.60.2-1.fc8.i386.rpm -rw-r--r-- 1 root root 34201 2007-11-13 18:02 courier-authlib-devel-0.60.2-1.fc8.i386.rpm -rw-r--r-- 1 root root 18039 2007-11-13 18:02 courier-authlib-ldap-0.60.2-1.fc8.i386.rpm -rw-r--r-- 1 root root 14258 2007-11-13 18:02 courier-authlib-mysql-0.60.2-1.fc8.i386.rpm -rw-r--r-- 1 root root 13602 2007-11-13 18:02 courier-authlib-pgsql-0.60.2-1.fc8.i386.rpm -rw-r--r-- 1 root root 8336 2007-11-13 18:02 courier-authlib-pipe-0.60.2-1.fc8.i386.rpm -rw-r--r-- 1 root root 36859 2007-11-13 18:02 courier-authlib-userdb-0.60.2-1.fc8.i386.rpm [falko@server1 i386]$
Установите необходимые вам пакеты следующей командой:
sudo rpm -ivh courier-authlib-0.60.2-1.fc8.i386.rpm sudo rpm -ivh courier-authlib-devel-0.60.2-1.fc8.i386.rpm sudo rpm -ivh courier-authlib-mysql-0.60.2-1.fc8.i386.rpm
Создаем и устанавливаем courier-imap
Вернемся в директорию с скаченными файлами:
cd $HOME/downloads
и запустим rpmbuild опять, на этот раз без sudo, в противном случае компиляции будет прервана из за ошибки:
rpmbuild -ta courier-imap-4.2.1.tar.bz2
После процесса создания пакета он находится в $HOME/rpm/RPMS/i386:
cd $HOME/rpm/RPMS/i386
Команда
ls -l
покажет вам доступные пакеты:
[falko@server1 i386]$ ls -l total 1284 -rw-r--r-- 1 root root 137335 2007-11-13 18:02 courier-authlib-0.60.2-1.fc8.i386.rpm -rw-r--r-- 1 root root 323827 2007-11-13 18:02 courier-authlib-debuginfo-0.60.2-1.fc8.i386.rpm -rw-r--r-- 1 root root 34201 2007-11-13 18:02 courier-authlib-devel-0.60.2-1.fc8.i386.rpm -rw-r--r-- 1 root root 18039 2007-11-13 18:02 courier-authlib-ldap-0.60.2-1.fc8.i386.rpm -rw-r--r-- 1 root root 14258 2007-11-13 18:02 courier-authlib-mysql-0.60.2-1.fc8.i386.rpm -rw-r--r-- 1 root root 13602 2007-11-13 18:02 courier-authlib-pgsql-0.60.2-1.fc8.i386.rpm -rw-r--r-- 1 root root 8336 2007-11-13 18:02 courier-authlib-pipe-0.60.2-1.fc8.i386.rpm -rw-r--r-- 1 root root 36859 2007-11-13 18:02 courier-authlib-userdb-0.60.2-1.fc8.i386.rpm -rw-rw-r-- 1 falko falko 383455 2007-11-13 18:21 courier-imap-4.2.1-1.8.i386.rpm -rw-rw-r-- 1 falko falko 917771 2007-11-13 18:21 courier-imap-debuginfo-4.2.1-1.8.i386.rpm [falko@server1 i386]$
Устанавливаем courier-imap:
sudo rpm -ivh courier-imap-4.2.1-1.8.i386.rpm
Создаем и устанавливаем maildrop
Возвращаемся в директорию:
cd $HOME/downloads
Запускаем rpmbuild опять:
sudo rpmbuild -ta maildrop-2.0.4.tar.bz2
Переходим к созданным пакетам
cd $HOME/rpm/RPMS/i386
Проверяем пакеты:
[falko@server1 i386]$ ls -l total 3128 -rw-r--r-- 1 root root 137343 2007-11-13 18:02 courier-authlib-0.60.2-1.fc8.i386.rpm -rw-r--r-- 1 root root 324618 2007-11-13 18:02 courier-authlib-debuginfo-0.60.2-1.fc8.i386.rpm -rw-r--r-- 1 root root 34208 2007-11-13 18:02 courier-authlib-devel-0.60.2-1.fc8.i386.rpm -rw-r--r-- 1 root root 18042 2007-11-13 18:02 courier-authlib-ldap-0.60.2-1.fc8.i386.rpm -rw-r--r-- 1 root root 14254 2007-11-13 18:02 courier-authlib-mysql-0.60.2-1.fc8.i386.rpm -rw-r--r-- 1 root root 13599 2007-11-13 18:02 courier-authlib-pgsql-0.60.2-1.fc8.i386.rpm -rw-r--r-- 1 root root 8339 2007-11-13 18:02 courier-authlib-pipe-0.60.2-1.fc8.i386.rpm -rw-r--r-- 1 root root 36855 2007-11-13 18:02 courier-authlib-userdb-0.60.2-1.fc8.i386.rpm -rw-rw-r-- 1 falko falko 383455 2007-11-13 18:21 courier-imap-4.2.1-1.8.i386.rpm -rw-rw-r-- 1 falko falko 917771 2007-11-13 18:21 courier-imap-debuginfo-4.2.1-1.8.i386.rpm -rw-r--r-- 1 root root 299030 2007-11-13 18:35 maildrop-2.0.4-1.8.i386.rpm -rw-r--r-- 1 root root 752872 2007-11-13 18:35 maildrop-debuginfo-2.0.4-1.8.i386.rpm -rw-r--r-- 1 root root 136235 2007-11-13 18:35 maildrop-devel-2.0.4-1.8.i386.rpm -rw-r--r-- 1 root root 58439 2007-11-13 18:35 maildrop-man-2.0.4-1.8.i386.rpm [falko@server1 i386]$
Устанавливаем maildrop:
sudo rpm -ivh maildrop-2.0.4-1.8.i386.rpm
После создания и установки пакетов опять становимя рутом, набрав команду
exit
Постовой
У нас есть барсетки для любого покупателя.
Все профилактории и санатории Урала. Такой огромный выбор уральских мест для отдыха только у нас.