Серверные инструкции · 4 min read · Nov 24, 2025
Идеальный сервер - Mandriva 2010.0 Free (x86_64) [ISPConfig 2] - Страница 6
12 Apache2 с PHP5, Ruby и Python
Чтобы установить Apache2, PHP5 и Ruby, выполните следующую команду (в одну строку):
urpmi apache-mod_suexec apache-mod_ssl apache-mod_php apache-mod_ruby apache-mod_python lib64php5_common5 php-bz2 php-calendar php-ctype php-curl php-devel php-dio php-dom php-eaccelerator php-enchant php-esmtp php-event php-exif php-fam php-ffmpeg php-fileinfo php-filepro php-ftp php-gd php-gettext php-gmp php-iconv php-id3 php-idn php-imap php-imlib2 php-mailparse php-mbstring php-mcache php-mcrypt php-ming php-mysql php-mysqli php-newt php-odbc php-oggvorbis php-pcntl php-pcre php-pear-Net_IDNA php-posix php-pspell php-readline php-recode php-session php-shmop php-simplexml php-snmp php-soap php-sockets php-sqlite php-ssh2 php-suhosin php-sysvmsg php-sysvsem php-sysvshm php-tclink php-tcpwrap php-tidy php-xml php-xmlrpc php-zip php-ini curl lib64curl4-devel perl-libwww-perl ImageMagickСоздайте ссылки для запуска системы для Apache…
chkconfig httpd on… и запустите его:
/etc/init.d/httpd restart12.1 Отключение PHP глобально
(Если вы не планируете устанавливать ISPConfig на этом сервере, пропустите этот раздел!)
В ISPConfig вы будете настраивать PHP для каждого веб-сайта, т.е. вы можете указать, какой веб-сайт может выполнять PHP-скрипты, а какой нет. Это может работать только если PHP отключен глобально, потому что в противном случае все веб-сайты смогут выполнять PHP-скрипты, независимо от того, что вы укажете в ISPConfig.
Отредактируйте /etc/httpd/modules.d/70_mod_php.conf и закомментируйте строки AddType:
vi /etc/httpd/modules.d/70_mod_php.conf| |
Отредактируйте /etc/httpd/conf/httpd.conf и добавьте следующую строку в раздел LoadModule:
vi /etc/httpd/conf/httpd.conf| [...] LoadModule php5_module extramodules/mod_php5.so [...] |
(Хотя эта строка уже есть в /etc/httpd/modules.d/70_mod_php.conf, это очень важно, потому что в противном случае команда
httpd -tбудет сообщать об ошибках вместо Syntax OK, когда виртуальные хосты, созданные ISPConfig, содержат строки типа php_admin_flag safe_mode On или подобные!)
Перезапустите Apache:
/etc/init.d/httpd restart12.2 Отключение Ruby глобально
(Если вы не планируете устанавливать ISPConfig на этом сервере, пропустите этот раздел!)
В ISPConfig вы будете настраивать Ruby для каждого веб-сайта, т.е. вы можете указать, какой веб-сайт может выполнять Ruby-скрипты, а какой нет. Это может работать только если Ruby отключен глобально, потому что в противном случае все веб-сайты смогут выполнять Ruby-скрипты, независимо от того, что вы укажете в ISPConfig.
vi /etc/httpd/modules.d/20_mod_ruby.confЗакомментируйте или удалите все в этом файле, кроме следующих строк:
| |
Затем перезапустите Apache:
/etc/init.d/httpd restart12.3 Включение поддержки WebDAV
С версии 2.2.30 ISPConfig вы можете управлять WebDAV через ISPConfig. Конечно, это работает только если WebDAV установлен и включен в Apache. Чтобы установить WebDAV, мы выполняем
urpmi apache-mod_davДалее откройте /etc/httpd/conf/httpd.conf и раскомментируйте следующие три строки в разделе LoadModule (убедитесь, что вы удалили следующую строку в конце этих строк, потому что в противном случае Apache может сообщить об ошибке синтаксиса: -> доступно в пакете apache-mod_dav):
vi /etc/httpd/conf/httpd.conf| [...] LoadModule dav_module modules/mod_dav.so [...] LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule dav_lock_module modules/mod_dav_lock.so [...] |
Затем перезапустите Apache:
/etc/init.d/httpd restart13 Proftpd
Установите Proftpd следующим образом:
urpmi proftpdПо соображениям безопасности вы можете добавить следующие строки в /etc/proftpd.conf (спасибо Рейнальдо Карвалью; больше информации можно найти здесь: http://www.proftpd.org/localsite/Userguide/linked/userguide.html):
vi /etc/proftpd.conf| [...] DefaultRoot ~ IdentLookups off ServerIdent on "FTP Server ready." [...] |
Обязательно закомментируйте следующие строки в конце /etc/proftpd.conf, чтобы разрешить пользователям ftp использовать CHMOD:
| [...] # Bar use of SITE CHMOD by default # |
Затем перезапустите Proftpd:
/etc/init.d/proftpd restart14 Webalizer
Webalizer можно установить следующим образом:
urpmi webalizerln -s /usr/bin/awffull /usr/bin/webalizer15 Установите некоторые модули Perl, необходимые для SpamAssassin (поставляется с ISPConfig)
Чтобы установить все необходимые модули Perl, мы можем использовать соответствующие пакеты Mandriva и установить их с помощью urpmi:
urpmi perl-HTML-Parser perl-Digest-SHA1 perl-DB_File perl-Net-DNS perl-NetAddr-IP perl-Archive-Tar16 Конец
Конфигурация сервера теперь завершена, и если вы хотите, вы можете установить ISPConfig на него. Инструкции по установке можно найти здесь: http://www.ispconfig.org/manual_installation.htm. Учебник по первым шагам можно найти здесь: https://www.howtoforge.com/ispconfig-2.x-first-steps
Перед установкой ISPConfig есть одна важная вещь, которую вы должны сделать. Откройте /usr/include/stdio.h и замените getline на parseline в строке 651:
vi /usr/include/stdio.h| [...] Эта функция не является частью 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:651: примечание: предыдущее объявление âgetlineâ было здесь
make[2]: * [htpasswd.o] Ошибка 1
make[2]: Выход из директории `/home/administrator/install_ispconfig/compile_aps/apache_1.3.41/src/support'
make[1]: * [build-support] Ошибка 1
make[1]: Выход из директории `/home/administrator/install_ispconfig/compile_aps/apache_1.3.41'
make: *** [build] Ошибка 2
ERROR: Не удалось создать ApacheВы можете отменить изменения в /usr/include/stdio.h после успешной установки ISPConfig (но не забудьте вернуть его обратно, когда вы захотите обновить ISPConfig!).
17 Примечание о SuExec
Если вы хотите запускать CGI-скрипты под suExec, вы должны указать /var/www как корневую директорию для веб-сайтов, созданных ISPConfig, так как suExec Mandriva скомпилирован с /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_SUEXEC_UMASK=077
-D AP_UID_MIN=100
-D AP_USERDIR_SUFFIX="public_html"
[root@server1 ~]#Таким образом, если вы хотите использовать suExec с ISPconfig, не изменяйте корневую директорию веб-сайта по умолчанию (которая является /var/www), если вы используете экспертный режим во время установки ISPConfig (в стандартном режиме вы все равно не сможете изменить корневую директорию веб-сайта, так что вы сможете использовать suExec в любом случае).
18 Ссылки
- Mandriva: http://www.mandriva.com/
- ISPConfig: http://www.ispconfig.org/
Get new posts in your inbox
No spam. Unsubscribe anytime.