Эта заметка является продолжением статьи Идеальный сервер — 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.
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 —высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода.
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.
Строчку
# aptitude install courier-authdaemon courier-base courier-imap courier-imap-ssl courier-pop courier-pop-ssl courier-ssl gamin libgamin0 libglib2.0-0
# 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
# 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 с
Затем нужно заново сконфигурировать 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.
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-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 и закомментируем строчки:
Теперь редактируем файл /etc/apache2/mods-enabled/php5.conf и закомментируем строчки:
# SetHandler application/x-httpd-php
# SetHandler application/x-httpd-php-source
Перезапустим Apache снова:
# /etc/init.d/apache2 restart
Перезапустим Apache снова:
# /etc/init.d/apache2 restart
Комментариев нет:
Отправить комментарий