Серверные инструкции · 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 restart

12.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

| LoadModule php5_module extramodules/mod_php5.so # AddType application/x-httpd-php .php # AddType application/x-httpd-php .phtml # AddType application/x-httpd-php-source .phps DirectoryIndex index.php index.phtml |

Отредактируйте /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 restart

12.2 Отключение Ruby глобально

(Если вы не планируете устанавливать ISPConfig на этом сервере, пропустите этот раздел!)

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

vi /etc/httpd/modules.d/20_mod_ruby.conf

Закомментируйте или удалите все в этом файле, кроме следующих строк:

| LoadModule ruby_module extramodules/mod_ruby.so |

Затем перезапустите Apache:

/etc/init.d/httpd restart

12.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 restart

13 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 # # DenyAll # |

Затем перезапустите Proftpd:

/etc/init.d/proftpd restart

14 Webalizer

Webalizer можно установить следующим образом:

urpmi webalizer
ln -s /usr/bin/awffull /usr/bin/webalizer

15 Установите некоторые модули Perl, необходимые для SpamAssassin (поставляется с ISPConfig)

Чтобы установить все необходимые модули Perl, мы можем использовать соответствующие пакеты Mandriva и установить их с помощью urpmi:

urpmi perl-HTML-Parser perl-Digest-SHA1 perl-DB_File perl-Net-DNS perl-NetAddr-IP perl-Archive-Tar

16 Конец

Конфигурация сервера теперь завершена, и если вы хотите, вы можете установить 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 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.