Установите Amavisd-new, SpamAssassin и ClamAV
Чтобы установить Amavisd-new, SpamAssassin и ClamAV, выполним следующую команду:
|
Когда мы установили ClamAV, cron получил установку, пытаться обновлять антивирусные базы ClamAV каждые три часа. Но это работает только тогда, когда мы включаем его в /etc/sysconfig/freshclam и /etc/freshclam.conf:
Комментируем строку FRESHCLAM_DELAY:
|
## When changing the periodicity of freshclam runs in the crontab, ## this value must be adjusted also. Its value is the timespan between ## two subsequent freshclam runs in minutes. E.g. for the default ## ## | 0 */3 * * * ... ## ## crontab line, the value is 180 (minutes). # FRESHCLAM_MOD= ## A predefined value for the delay in seconds. By default, the value is ## calculated by the 'hostid' program. This predefined value guarantees ## constant timespans of 3 hours between two subsequent freshclam runs. ## ## This option accepts two special values: ## 'disabled-warn' ... disables the automatic freshclam update and ## gives out a warning ## 'disabled' ... disables the automatic freshclam silently # FRESHCLAM_DELAY= ### !!!!! REMOVE ME !!!!!! ### REMOVE ME: By default, the freshclam update is disabled to avoid ### REMOVE ME: network access without prior activation #FRESHCLAM_DELAY=disabled-warn # REMOVE ME
Комментируем строку Example:
|
[...] # Comment or remove the line below. #Example [...]
Теперь мы запускаем Freshclam, AMaViSd, и Clamd ...
|
Следом выполним это:
|
У Fedora 15 есть /run каталог для хранения данных выполнения. /run сейчас TMPFS, и /var/run и /var/lock теперь связывают крепится к /run и /run/lock от TMPFS, и следовательно, очищена от перезагрузки. Для более подробной информации.
Это значит, что после перезагрузки, каталоги /var/run/clamav.amavisd, /var/run/clamd.amavisd и /var/run/amavisd, которые мы только что создали не будет больше существовать, и поэтому Clamd и AMaViSd не будет запускаться. Поэтому сейчас мы создадим файл /etc/tmpfiles.d/amavisd.conf, что бы создавать эти каталоги при запуске системы (см. http://0pointer.de/public/systemd-man/tmpfiles.d.html для более подробной информации):
|
D /var/run/clamav.amavisd 0755 amavis root - D /var/run/clamd.amavisd 0755 amavis root - D /var/run/amavisd 0755 amavis root -
Установка 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:
|
Ruby
Начиная с версии 3.0.3, ISPConfig 3 имеет встроенную поддержку для Ruby. Вместо использования CGI/FastCGI, ISPConfig зависящая от mod_ruby будет доступна на сервере Apache.
Для Fedora 15, нет mod_ruby имеющийся пакет, поэтому мы должны скомпилировать его сами. Сначала установить некоторые предпосылки:
|
Далее скачайте и установите mod_ruby следующим образом:
|
Наконец, мы должны добавить модуль mod_ruby конфигурации Apache, поэтому мы создаем файл /etc/httpd/conf.d/ruby.conf ...
|
LoadModule ruby_module modules/mod_ruby.so RubyAddPath /1.8
... и перезагрузить Apache:
|
(Если Вы опустите RubyAddPath /1.8 директиву, Вы увидите ошибки, такие как следующие из них в журнале ошибок Apache, когда Вы Вызываете Ruby файлы:
— Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта.
— Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы).
— SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание.
SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение
[Thu May 26 02:05:05 2011] [error] mod_ruby: ruby:0:in `require': no such file to load -- apache/ruby-run (LoadError) [Thu May 26 02:05:05 2011] [error] mod_ruby: failed to require apache/ruby-run [Thu May 26 02:05:05 2011] [error] mod_ruby: error in ruby
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)
#
# DISABLE_ZONE_CHECKING -- By default, initscript calls named-checkzone
# utility for every zone to ensure all zones are
# valid before named starts. If you set this option
# to 'yes' then initscript doesn't perform those
# checks.
#ROOTDIR=/var/named/chroot
Затем мы создаем ссылку на запуск:
|
Мы не запускаем BIND сейчас, потому, что он должен быть вначале настроен - это будет сделано автоматически ISPConfig 3 в дальнейшем при установке.
Установка Vlogger, Webalizer, AWStats
Vlogger, Webalizer, AWStats могут быть установлены следующим образом:
|
Установика Jailkit
Jailkit необходимо только тогда, когда вы хотите изолировать SSH пользователей. Она может быть установлена следующим образом (важно: Jailkit должна быть установлена до ISPConfig - она не может быть установлен впоследствии!):
|
Установика fail2ban
Это необязательно, но рекомендуется, так как монитор ISPConfig отображает его журнал:
|
Установите rkhunter
rkhunter могут быть установлены следующим образом:
|