воскресенье, 7 апреля 2013 г.

Настройка Courier-IMAP/Courier-POP3, Apache/PHP/Python/Ruby/WebDav

Эта заметка является продолжением статьи Идеальный сервер — Ubuntu Server Precise Pangolin 12.04. Посвящена базовой настройке Courier-IMAP/Courier-POP3, Apache/PHP/Python/Ruby/WebDav.

The Courier Mail Server — это почтовый сервер (сервер электронной почты) на основе открытых протоколов, таких, как ESMTP, IMAP, POP3, LDAP, SSL и HTTP. Этот почтовый сервер наиболее известен за свою серверную компоненту IMAP.

Apache — свободный веб-сервер.
Apache является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD и т.д.

PHP — скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов.

Ruby — динамический, рефлективный, интерпретируемый высокоуровневый язык программирования для быстрого и удобного объектно-ориентированного программирования. Язык обладает независимой отоперационной системы реализацией многопоточности, строгой динамической типизацией, сборщиком мусора и многими другими возможностями.

WebDAV (Web-based Distributed Authoring and Versioning) — защищённый сетевой протокол высокого уровня, работающий поверх HTTP для доступа к объектам и коллекциям.

Python —высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода.

1. Courier-IMAP/Courier-POP3

Установка:
# aptitude install courier-authdaemon courier-base courier-imap courier-imap-ssl courier-pop courier-pop-ssl courier-ssl gamin libgamin0 libglib2.0-0



Во время установки, создадутся сертификаты для IMAP-SSL и POP3-SSL с именем localhost. Для его изменения на корректный (server.example.com), нужно удалить:
# cd /etc/courier
# rm -f /etc/courier/imapd.pem
# rm -f /etc/courier/pop3d.pem


И модифицировать файлы /etc/courier/imap.cnf и /etc/courier/pop3d.cnf.
Строчку 
CN=localhost 
заменить на 
CN=server.example.com

Затем нужно заново сконфигурировать cертификаты:
# mkimapdcert
# mkpop3dcert


И перезапустить сервисы:
# /etc/init.d/courier-map-ssl restart
# /etc/init.d/courier-pop-ssl restart

2. Apache/PHP/Ruby/WebDAV

Установим Apache: Python 
# aptitude install apache2 apache2-doc apache2-mpm-prefork apache2-utils apache2-suexec libexpat1 ssl-cert

Далее установим PHP5, Ruby и Python:
# aptitude install libapache2-mod-php5 libapache2-mod-ruby libapache2-mod-python php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Далее редактируем файл /etc/apache2/mods-available/dir.conf и изменяем строку DirectoryIndex с 
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
на
DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml

Далее мы должны включить некоторые модули Apache:
# a2enmod ssl
# a2enmod rewrite
# a2enmod suexec
# a2enmod include
# a2enmod dav_fs
# a2enmod dav


Перезапустим Apache:
# /etc/init.d/apache2 restart

Теперь нужно исправить небольшую проблему с Ruby. 
Если вы устанавливаете ISPConfig и включаете Ruby для вашего веб-сайта, файлы .rbx будут включены и отображены в браузере, но это это не будет работать с файлами .rb — вам будет предложено загрузить файл .rb. 
То же самое происходит, если при настройке Ruby настраивать вручную виртуальный хост. 

Для того чтобы это исправить, открываем файл /etc/mime.types и комментируем строку:
# application/x-ruby

Совет. Чтобы не лопатить весь код конфига, в vim достаточно ввести /x-ruby и нажать Enter, курсор перейдет в нужную нам строку.

Перезагружаем Apache:
# /etc/init.d/apache2 restart

Теперь файлы .rb будут запускаться и отображаться в браузере, так же как и файлы .rbx.

Теперь мы хотим отключить PHP, это опять же нужно для работы ISPConfig. В отличие от PHP, Ruby и Python по умолчанию отключены.
В ISPConfig будет настроен PHP для каждого сайта, то есть мы можем указать, какой веб-сайт может запускать PHP-скрипты, а какие не могут. Это работает только если PHP полностью отключен.

Чтобы отключить PHP глобально, нужно отредактировать файл /etc/mime.types и закомментировать строчки: 
# application/x-httpd-php phtml pht php 
# application/x-httpd-php-source phps 
# application/x-httpd-php3 php3 
# application/x-httpd-php3-preprocessed php3p 
# application/x-httpd-php4 php4 
# application/x-httpd-php5 php5

Теперь редактируем файл /etc/apache2/mods-enabled/php5.conf и закомментируем строчки: 
# SetHandler application/x-httpd-php 
# SetHandler application/x-httpd-php-source

Перезапустим Apache снова:
# /etc/init.d/apache2 restart

Комментариев нет: