Серверы · 4 min read · Dec 12, 2025
Идеальный сервер - Fedora 13 x86_64 [ISPConfig 2] - Страница 5
11 Apache2 с PHP, Ruby, Python, WebDAV
Теперь мы устанавливаем Apache с PHP5 (это PHP 5.3.2):
yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mapserver php-mbstring php-mcrypt php-mhash php-mssql php-shout php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-develЗатем редактируем /etc/httpd/conf/httpd.conf:
vi /etc/httpd/conf/httpd.confи изменяем DirectoryIndex на
| [...] DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl [...] |
Теперь настройте вашу систему для автоматического запуска Apache при загрузке:
chkconfig --levels 235 httpd onЗапустите Apache:
/etc/init.d/httpd start11.1 Отключение PHP глобально
(Если вы не планируете устанавливать ISPConfig на этом сервере, пожалуйста, пропустите этот раздел!)
В ISPConfig вы будете настраивать PHP для каждого сайта отдельно, т.е. вы можете указать, какой сайт может запускать PHP-скрипты, а какой нет. Это может работать только если PHP отключен глобально, потому что в противном случае все сайты смогут запускать PHP-скрипты, независимо от того, что вы укажете в ISPConfig.
Чтобы отключить PHP глобально, редактируем /etc/httpd/conf.d/php.conf и закомментируем строки AddHandler и AddType:
vi /etc/httpd/conf.d/php.conf| # # PHP - это язык сценариев, встроенный в HTML, который пытается сделать его # простым для разработчиков писать динамически генерируемые веб-страницы. # |
После этого перезапускаем Apache:
/etc/init.d/httpd restart11.2 Ruby
Начиная с версии 2.2.20, ISPConfig имеет встроенную поддержку Ruby. Вместо использования CGI/FastCGI, ISPConfig зависит от наличия mod_ruby в Apache сервера.
Для Fedora 13 пакет mod_ruby недоступен, поэтому мы должны скомпилировать его самостоятельно. Сначала установим некоторые предварительные условия:
yum install httpd-devel ruby ruby-develЗатем загружаем и устанавливаем mod_ruby следующим образом:
cd /tmp
wget http://modruby.net/archive/mod_ruby-1.3.0.tar.gz
tar zxvf mod_ruby-1.3.0.tar.gz
cd mod_ruby-1.3.0/
./configure.rb --with-apr-includes=/usr/include/apr-1
make
make installНаконец, мы должны добавить модуль mod_ruby в конфигурацию Apache, поэтому создаем файл /etc/httpd/conf.d/ruby.conf…
vi /etc/httpd/conf.d/ruby.conf| LoadModule ruby_module modules/mod_ruby.so |
… и перезапускаем Apache:
/etc/init.d/httpd restartВы можете найти больше деталей о mod_ruby в этой статье.
11.3 Установка mod_python
Чтобы установить mod_python, просто выполните…
yum install mod_python… и затем перезапустите Apache:
/etc/init.d/httpd restart11.4 WebDAV
WebDAV должен быть уже включен, но чтобы проверить это, откройте /etc/httpd/conf/httpd.conf и убедитесь, что следующие два модуля активны:
vi /etc/httpd/conf/httpd.conf| [...] LoadModule dav_module modules/mod_dav.so [...] LoadModule dav_fs_module modules/mod_dav_fs.so [...] |
Если вам нужно изменить /etc/httpd/conf/httpd.conf, не забудьте перезапустить Apache после этого:
/etc/init.d/httpd restart12 ProFTPd
ISPConfig имеет лучшую поддержку для proftpd, чем для vsftpd, поэтому давайте удалим vsftpd и установим proftpd:
yum remove vsftpdyum install proftpdТеперь мы можем создать системные ссылки для запуска Proftpd и запустить его:
chkconfig --levels 235 proftpd on
/etc/init.d/proftpd start13 Webalizer
Чтобы установить webalizer, просто выполните
yum install webalizer14 Синхронизация системных часов
Если вы хотите, чтобы системные часы были синхронизированы с NTP сервером, выполните следующее:
yum install ntpchkconfig --levels 235 ntpd on
tpdate 0.pool.ntp.org
/etc/init.d/ntpd start15 Установка некоторых модулей Perl
ISPConfig поставляется с SpamAssassin, который требует несколько модулей Perl для работы. Мы устанавливаем необходимые модули Perl одной командой:
yum install perl-HTML-Parser perl-DBI perl-Net-DNS perl-Digest-SHA1 perl-ExtUtils-AutoInstall perl-NetAddr-IP perl-Archive-Tar16 ISPConfig
Конфигурация сервера теперь завершена. Теперь вы можете установить ISPConfig на него, следуя этим инструкциям: http://www.ispconfig.org/manual_installation.htm
Перед установкой ISPConfig есть одна важная вещь, которую вы должны сделать. Откройте /usr/include/stdio.h и замените getline на parseline в строке 673:
vim /usr/include/stdio.h| [...] /* Как `getdelim', но читает до новой строки. Эта функция не является частью POSIX и, следовательно, не имеет официальной точки отмены. Но из-за сходства с интерфейсом POSIX или из-за реализации это точка отмены и поэтому не помечена как __THROW. */ extern _IO_ssize_t parseline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream) __wur; #endif [...] |
Если вы этого не сделаете, установка завершится неудачей из-за следующей ошибки:
htpasswd.c:101: ошибка: конфликтующие типы для âgetlineâ
/usr/include/stdio.h:653: примечание: предыдущее объявление âgetlineâ было здесь
make[2]: * [htpasswd.o] Ошибка 1
make[2]: Выход из директории `/home/install_ispconfig/compile_aps/apache_1.3.41/src/support'
make[1]: * [build-support] Ошибка 1
make[1]: Выход из директории `/home/install_ispconfig/compile_aps/apache_1.3.41'
make: *** [build] Ошибка 2
ERROR: Не удалось создать ApacheВы можете отменить изменение в /usr/include/stdio.h после успешной установки ISPConfig (но не забудьте вернуть его обратно, когда захотите обновить ISPConfig!).
16.1 Примечание о SuExec
Если вы хотите запускать CGI-скрипты под suExec, вы должны указать /var/www как корневую директорию для сайтов, созданных ISPConfig, так как suExec Fedora скомпилирован с /var/www как Doc_Root. Выполните
/usr/sbin/suexec -Vи вывод должен выглядеть так:
[root@server1 ~]# /usr/sbin/suexec -V
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="apache"
-D AP_LOG_EXEC="/var/log/httpd/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=500
-D AP_USERDIR_SUFFIX="public_html"
[root@server1 ~]#Так что если вы хотите использовать suExec с ISPconfig, не изменяйте корневую директорию (которая является /var/www), если вы используете экспертный режим во время установки ISPConfig (в стандартном режиме вы все равно не сможете изменить корневую директорию, так что вы сможете использовать suExec в любом случае).
17 Ссылки
- Fedora: http://fedoraproject.org/
- ISPConfig: http://www.ispconfig.org/
Get new posts in your inbox
No spam. Unsubscribe anytime.