Установка mod_php, mod_fcgi/PHP5, и suPHP
ISPConfig 3 позволяет использовать mod_php, mod_fcgi/PHP5, cgi/PHP5, и suPHP за основу сайта.
Мы можем установить Apache2, mod_php5, mod_fcgid, и PHP5 следующим образом:
|
Далее мы открыты /etc/php.ini ...
|
... и изменим сообщений об ошибках (так, что бы уведомления не показывались больше) и раскомментируем cgi.fix_pathinfo = 1 :
[...] ;error_reporting = E_ALL & ~E_DEPRECATED error_reporting = E_ALL & ~E_NOTICE [...] ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. ; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo cgi.fix_pathinfo=1 [...]
|
Далее установим suPHP:
|
Затем мы добавляем suPHP модуль для нашей конфигурации Apache ...
|
LoadModule suphp_module modules/mod_suphp.so
... и создадим файл /etc/suphp.conf следующим образом:
|
[global] ;Path to logfile logfile=/var/log/httpd/suphp.log ;Loglevel loglevel=info ;User Apache is running as webserver_user=apache ;Path all scripts have to be in docroot=/ ;Path to chroot() to before executing script ;chroot=/mychroot ; Security options allow_file_group_writeable=true allow_file_others_writeable=false allow_directory_group_writeable=true allow_directory_others_writeable=false ;Check wheter script is within DOCUMENT_ROOT check_vhost_docroot=true ;Send minor error messages to browser errors_to_browser=false ;PATH environment variable env_path=/bin:/usr/bin ;Umask to set, specify in octal notation umask=0077 ; Minimum UID min_uid=100 ; Minimum GID min_gid=100 [handlers] ;Handler for php-scripts x-httpd-suphp="php:/usr/bin/php-cgi" ;Handler for CGI-scripts x-suphp-cgi="execute:!self"
Наконец, мы перезагрузить Apache:
|
WebDAV
WebDAV уже должен быть включен, для проверки этого, откройте /etc/httpd/conf/httpd.conf и убедитесь, что следующие три модуля активных:
|
[...] LoadModule auth_digest_module modules/mod_auth_digest.so [...] LoadModule dav_module modules/mod_dav.so [...] LoadModule dav_fs_module modules/mod_dav_fs.so [...]
Если Вам необходимо изменить /etc/httpd/conf/httpd.conf, не забудьте перезапустить Apache после этого:
|
Установим PureFTPd
PureFTPd может быть установлена с помощью следующей команды:
|
Затем создайте автозапуск PureFTPd:
|
Теперь мы настроим PureFTPd чтобы FTP через TLS сессию. FTP является очень небезопасным протоколом, потому что все пароли и все данные передаются в открытом виде. С помощью TLS, все связи могут быть зашифрованы, что делает FTP гораздо более безопасным.
Чтобы установить OpenSSL нужная TLS, мы запустим:
|
Откроем /etc/pure-ftpd/pure-ftpd.conf ...
|
Если вы хотите разрешить FTP и TLS сессии, набор TLS к 1:
[...] # This option can accept three values : # 0 : disable SSL/TLS encryption layer (default). # 1 : accept both traditional and encrypted sessions. # 2 : refuse connections that don't use SSL/TLS security mechanisms, # including anonymous sessions. # Do _not_ uncomment this blindly. Be sure that : # 1) Your server has been compiled with SSL/TLS support (--with-tls), # 2) A valid certificate is in place, # 3) Only compatible clients will log in. TLS 1 [...]
Для того чтобы использовать TLS, мы должны создать SSL-сертификат. Я создаю его в /etc/ssl/private/ , поэтому я создаю этот каталог первым:
|
После этого мы можем генерировать SSL сертификат следующим образом:
|
Название страны (2 буквенный код) [XX]: - Введите название страны (например, "RU") Государство или название провинции (полное имя) []: - Введите государства или название провинции Местность имя (например, города) [по умолчанию Городе]: - Введите ваш город Название организации (например, компании) [по умолчанию ООО]: - Введите название организации (например, название Вашей компании) Подразделение Название (например, раздел) []: - Введите Организационные Название группы (например, "ИТ-отдел") Общее имя (например, ваше имя или имя хоста сервера вашего) []: - Введите полное доменное имя системы (например, "server1.example.com") Электронный адрес: []: - Введите адрес электронной почты
Изменение разрешения сертификата SSL:
|
Наконец перезапустите PureFTPd:
|
Вот и все. Теперь вы можете попробовать подключиться с помощью вашего FTP-клиента, однако, вы должны настроить свой FTP-клиента для использования TLS - например с FileZilla.
Установка BIND
Мы можем установить BIND следующим образом:
|
Затем откроем /etc/sysconfig/named ...
|
... и закомментируйте ROOTDIR=/var/named/chroot строку:
# BIND named process options # ~~~~~~~~~~~~~~~~~~~~~~~~~~ # Currently, you can use the following options: # # ROOTDIR="/var/named/chroot" -- will run named in a chroot environment. # you must set up the chroot environment # (install the bind-chroot package) before # doing this. # NOTE: # Those directories are automatically mounted to chroot if they are # empty in the ROOTDIR directory. It will simplify maintenance of your # chroot environment. # - /var/named # - /etc/pki/dnssec-keys # - /etc/named # - /usr/lib64/bind or /usr/lib/bind (architecture dependent) # # Those files are mounted as well if target file doesn't exist in # chroot. # - /etc/named.conf # - /etc/rndc.conf # - /etc/rndc.key # - /etc/named.rfc1912.zones # - /etc/named.dnssec.keys # - /etc/named.iscdlv.key # # Don't forget to add "$AddUnixListenSocket /var/named/chroot/dev/log" # line to your /etc/rsyslog.conf file. Otherwise your logging becomes # broken when rsyslogd daemon is restarted (due update, for example). # # OPTIONS="whatever" -- These additional options will be passed to named # at startup. Don't add -t here, use ROOTDIR instead. # # KEYTAB_FILE="/dir/file" -- Specify named service keytab file (for GSS-TSIG) #ROOTDIR=/var/named/chroot
Затем мы создаем ссылку на запуск:
|
Мы не запускаем BIND сейчас, потому, что он должен быть вначале настроен - это будет сделано автоматически ISPConfig 3 в дальнейшем при установке.
Установка Vlogger, Webalizer, AWStats
Vlogger, Webalizer, AWStats могут быть установлены следующим образом:
|
Установика Jailkit
Jailkit необходимо только тогда, когда вы хотите изолировать SSH пользователей. Она может быть установлена следующим образом (важно: Jailkit должна быть установлена до ISPConfig - она не может быть установлен впоследствии!):
|
Установика fail2ban
Это необязательно, но рекомендуется, так как монитор ISPConfig отображает его журнал:
|
Установите rkhunter
rkhunter могут быть установлены следующим образом:
|