Идеальный сервер - Fedora 15 x86_64 [ISPConfig 3]

Содержание материала

Рейтинг:  5 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна
 

Установите Amavisd-new, SpamAssassin и ClamAV

Чтобы установить Amavisd-new, SpamAssassin и ClamAV, выполним следующую команду:

  • yum install amavisd-new spamassassin clamav clamav-data clamav-server clamav-update unzip bzip2 perl-DBD-mysql

Когда мы установили ClamAV, cron получил установку, пытаться обновлять антивирусные базы ClamAV каждые три часа. Но это работает только тогда, когда мы включаем его в /etc/sysconfig/freshclam и /etc/freshclam.conf:

Комментируем строку FRESHCLAM_DELAY:

  • nano /etc/sysconfig/freshclam
## 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:

  • nano /etc/freshclam.conf
[...]
# Comment or remove the line below.
#Example
[...]

Теперь мы запускаем Freshclam, AMaViSd, и Clamd ...

  • sa-update
  • chkconfig --levels 235 amavisd on
  • chkconfig --levels 235 clamd.amavisd on
  • /usr/bin/freshclam
  • /etc/init.d/amavisd start
  • /etc/init.d/clamd.amavisd start

Следом выполним это:

  • rm -f /var/spool/amavisd/clamd.sock
  • mkdir /var/run/clamav.amavisd /var/run/clamd.amavisd /var/run/amavisd
  • chown amavis /var/run/clamav.amavisd
  • chown amavis /var/run/clamd.amavisd
  • chown amavis /var/run/amavisd
  • ln -sf /var/spool/amavisd/clamd.sock /var/run/clamav.amavisd/clamd.sock
  • ln -sf /var/spool/amavisd/clamd.sock /var/run/clamd.amavisd/clamd.sock
  • /etc/init.d/clamd.amavisd restart

У 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 для более подробной информации):

  • nano /etc/tmpfiles.d/amavisd.conf
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 следующим образом:

  • yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel

Далее мы откроем /etc/php.ini ...

  • nano /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:

  • cd /tmp
  • wget http://www.suphp.org/download/suphp-0.7.1.tar.gz
  • tar xvfz suphp-0.7.1.tar.gz
  • cd suphp-0.7.1/
  • ./configure --prefix=/usr --sysconfdir=/etc --with-apr=/usr/bin/apr-1-config --with-apxs=/usr/sbin/apxs --with-apache-user=apache --with-setid-mode=owner --with-php=/usr/bin/php-cgi --with-logfile=/var/log/httpd/suphp_log --enable-SUPHP_USE_USERGROUP=yes
  • make
  • make install

Затем мы добавляем suPHP модуль для нашей конфигурации Apache ...

  • nano /etc/httpd/conf.d/suphp.conf
LoadModule suphp_module modules/mod_suphp.so

... и создадим файл /etc/suphp.conf следующим образом:

  • nano /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:

  • /etc/init.d/httpd restart

Ruby

Начиная с версии 3.0.3, ISPConfig 3 имеет встроенную поддержку для Ruby. Вместо использования CGI/FastCGI, ISPConfig зависящая от mod_ruby будет доступна на сервере Apache.

Для Fedora 15, нет mod_ruby имеющийся пакет, поэтому мы должны скомпилировать его сами. Сначала установить некоторые предпосылки:

  • yum install ruby ruby-devel

Далее скачайте и установите mod_ruby следующим образом:

  • cd /tmp
  • wget http://www.modruby.net/archive/mod_ruby-1.3.0.tar.gz
  • tar zxvf mod_ruby-1.3.0.tar.gz
  • cd mod_ruby-1.3.0/
  • ./configure.rb --with-apr-includes=/usr/include/apr-1
  • make
  • make install

Наконец, мы должны добавить модуль mod_ruby конфигурации Apache, поэтому мы создаем файл /etc/httpd/conf.d/ruby.conf ...

  • nano /etc/httpd/conf.d/ruby.conf
LoadModule ruby_module modules/mod_ruby.so
RubyAddPath /1.8

... и перезагрузить Apache:

  • /etc/init.d/httpd restart

(Если Вы опустите RubyAddPath /1.8 директиву, Вы увидите ошибки, такие как следующие из них в журнале ошибок Apache, когда Вы Вызываете Ruby файлы:

[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 и убедитесь, что следующие три модуля активных:

  • nano /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 после этого:

  • /etc/init.d/httpd restart

Установим PureFTPd

PureFTPd может быть установлена с помощью следующей команды:

  • yum install pure-ftpd

Затем создайте автозапуск PureFTPd:

  • chkconfig --levels 235 pure-ftpd on
  • /etc/init.d/pure-ftpd start

Теперь мы настроим PureFTPd чтобы FTP через TLS сессию. FTP является очень небезопасным протоколом, потому что все пароли и все данные передаются в открытом виде. С помощью TLS, все связи могут быть зашифрованы, что делает FTP гораздо более безопасным.

Чтобы установить OpenSSL нужная TLS, мы запустим:

  • yum install openssl

Откроем /etc/pure-ftpd/pure-ftpd.conf ...

  • nano /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/ , поэтому я создаю этот каталог первым:

  • mkdir -p /etc/ssl/private/

После этого мы можем генерировать SSL сертификат следующим образом:

  • openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Название страны (2 буквенный код) [XX]: - Введите название страны (например, "RU")
Государство или название провинции (полное имя) []: - Введите государства или название провинции
Местность имя (например, города) [по умолчанию Городе]: - Введите ваш город
Название организации (например, компании) [по умолчанию ООО]: - Введите название организации (например, название Вашей компании)
Подразделение Название (например, раздел) []: - Введите Организационные Название группы (например, "ИТ-отдел")
Общее имя (например, ваше имя или имя хоста сервера вашего) []: - Введите полное доменное имя системы (например, "server1.example.com")
Электронный адрес: []: - Введите адрес электронной почты

Изменение разрешения сертификата SSL:

  • chmod 600 /etc/ssl/private/pure-ftpd.pem

Наконец перезапустите PureFTPd:

  • /etc/init.d/pure-ftpd restart

Вот и все. Теперь вы можете попробовать подключиться с помощью вашего FTP-клиента, однако, вы должны настроить свой FTP-клиента для использования TLS - например с FileZilla.

Установка BIND

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

  • yum install bind bind-utils

Затем откроем /etc/sysconfig/named ...

  • nano /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

Затем мы создаем ссылку на запуск:

  • chkconfig --levels 235 named on

Мы не запускаем BIND сейчас, потому, что он должен быть вначале настроен - это будет сделано автоматически ISPConfig 3 в дальнейшем при установке.

Установка Vlogger, Webalizer, AWStats

Vlogger, Webalizer, AWStats могут быть установлены следующим образом:

  • yum install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder
  • cd /tmp
  • wget http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz
  • tar xvfz vlogger-1.3.tar.gz
  • mv vlogger-1.3/vlogger /usr/sbin/
  • rm -rf vlogger*

Установика Jailkit

Jailkit необходимо только тогда, когда вы хотите изолировать SSH пользователей. Она может быть установлена следующим образом (важно: Jailkit должна быть установлена до ISPConfig - она не может быть установлен впоследствии!):

  • cd /tmp
  • wget http://olivier.sessink.nl/jailkit/jailkit-2.14.tar.gz
  • tar xvfz jailkit-2.14.tar.gz
  • cd jailkit-2.14
  • ./configure
  • make
  • make install
  • cd ..
  • rm -rf jailkit-2.14*

Установика fail2ban

Это необязательно, но рекомендуется, так как монитор ISPConfig отображает его журнал:

  • yum install fail2ban
  • chkconfig --levels 235 fail2ban on
  • /etc/init.d/fail2ban start

Установите rkhunter

rkhunter могут быть установлены следующим образом:

  • yum install rkhunter

Обмениваться, хранить, передавать Ваши файлы стало просто как никогда.
yandex-disk
Читать подробнее: для чего Yandex-Диск проекту Mini-Server. Практика установки, настройки и использования сетевого хранилища на Ubuntu server LTS 12.04 в статье Резервное копирование сервера Ubuntu на Яндекс Диск.

>> Ubuntu 12.04 + Nginx Скачать сервер
>> Fedora 15 Скачать сервер
>> Простой Debian 6.0.6 Скачать сервер
>> CentOS 6.0 и
+ (5.6) другой
Скачать сервер
>> OpenSUSE 11.4
MAX
Скачать сервер
How does ADP Payroll Work?

Вход на сайт

ВНИМАНИЕ!

Регистрация на сайте только по согласованию с администратором ресурса. Обращаться через форму обратной связи.