Установка Apache2 с mod_php, mod_fcgi/PHP5, И suPHP
ISPConfig 3 позволяет использовать mod_php, mod_fcgi/PHP5, cgi/PHP5, и suPHP в основе сайта. Mod_fcgid не доступен в репозитории CentOS, но есть пакет для CentOS 5.x в centos.karan.org тестирования хранилище. Мы даем возможность хранилище следующим образом:
|
[...] # pkgs in the -Testing repo are not gpg signed [kbs-CentOS-Testing] name=CentOS.Karan.Org-EL$releasever - Testing gpgcheck=0 gpgkey=http://centos.karan.org/RPM-GPG-KEY-karan.org.txt enabled=1 baseurl=http://centos.karan.org/el$releasever/extras/testing/$basearch/RPMS/
Теперь одной командой установим Apache2with mod_php5, mod_fcgid, и PHP5:
|
Далее открываем /etc/php.ini ...
|
... и изменение сообщений об ошибках (так что бы уведомления больше не показывались) и добавить в конце файла cgi.fix_pathinfo = 1:
[...] ;error_reporting = E_ALL error_reporting = E_ALL & ~E_NOTICE [...] 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:
|
Ruby
Начиная с версии 3.0.3, ISPConfig 3 имеет встроенную поддержку для Ruby. Вместо использования CGI / FastCGI, ISPConfig зависит от mod_ruby доступная на сервере Apache. Для CentOS 5.6, нету mod_ruby в репозиториях, поэтому мы должны скомпилировать его сами. Сначала установим некоторые предпосылки:
|
Далее скачайте и установите mod_ruby следующим образом:
|
Теперь мы должны добавить mod_ruby модуль конфигурации Apache, поэтому мы создаем файл /etc/httpd/conf.d/ruby.conf ...
|
LoadModule ruby_module modules/mod_ruby.so
... и перезапустим 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. Установим OpenSSL выполнив:
|
Открыть /etc/pure-ftpd/pure-ftpd.conf ...
|
Если Вы хотите разрешить FTP и TLS сессии, используйте 1 TLS набор:
[...] # 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 сертификат следующим образом:
|
Country Name (2 letter code) [GB]: - Введите название страны (например, "RU") State or Province Name (full name) [Berkshire]: - Введите государство или название провинции Locality Name (eg, city) [Newbury]: - введите Ваш город Organization Name (eg, company) [My Company Ltd]: - Введите название организации (например, название Вашей компании) Organizational Unit Name (eg, section) []: - Введите Организационные Название группы (например, "ИТ-отдел") Common Name (eg, your name or your server's hostname) []: - Введите полное доменное имя системы (например, "server1.example.com") Email Address []: - Введите адрес электронной почты
Изменение разрешения сертификата SSL:
|
Теперь перезапустите PureFTPd:
|
Вот и все. Теперь Вы можете попробовать подключиться с помощью вашего FTP-клиента, однако, вы должны настроить свой FTP-клиента для использования TLS.
Установка изолированного DNS-сервер (BIND9)
Чтобы установить изолированный BIND9, мы выполним это:
|
// // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching only nameserver (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // options { listen-on port 53 { any; }; listen-on-v6 port 53 { any; }; directory "/var/named/chroot/var/named"; dump-file "/var/named/chroot/var/named/data/cache_dump.db"; statistics-file "/var/named/chroot/var/named/data/named_stats.txt"; memstatistics-file "/var/named/chroot/var/named/data/named_mem_stats.txt"; allow-query { any; }; recursion yes; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.root"; }; include "/var/named/chroot/etc/named.conf.local";
|
BIND будет работать в изолированной тюрьме в /var/named/chroot/var/named/. Я буду использовать ISPConfig для настройки BIND (зоны и т.д.).
Установка Vlogger и Webalizer
Vlogger и Webalizer могут быть установлены так:
|
Установка Jailkit
Jailkit необходима только тогда, когда вы хотите изолированной SSH пользователей. Она может быть установлена следующим образом:
|
Установка fail2ban
Это необязательно, но рекомендуется, так как монитор ISPConfig отображает журнала:
|
Установка rkhunter
Rkhunter может быть установлен следующим образом:
|