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

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

Рейтинг:  3 / 5

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

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

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

  • yum install amavisd-new spamassassin clamav clamd unzip bzip2 unrar perl-DBD-mysql

Теперь мы запустим Freshclam, Amavisd и clamd:

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

Установка Apache2 With mod_php, mod_fcgi/PHP5 и suPHP

ISPConfig 3 позволяет использовать mod_php, mod_fcgi/PHP5, cgi/PHP5 и suPHP для каждого сайта в отдельности. Мы можем установить Apache2with 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-eaccelerator 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 (есть mod_suphp пакет доступен в репозитории, но к сожалению он не совместим с ISPConfig, поэтому мы должны построить suPHP сами):

  • cd /tmp
  • wget http://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 сервера.

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

  • yum install httpd-devel ruby ruby-devel

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

  • cd /tmp
  • wget http://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, установим OpenSSL просто выполнив:

  • 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
Country Name (2 letter code) [XX]: - Введите название Вашей страны (например, "RU")
State or Province Name (full name) []: - Введите название государства или провинции
Locality Name (eg, city) [Default City]: - Введите город
Organization Name (eg, company) [Default Company Ltd]: - Введите название организации (например, название Вашей компании)
Organizational Unit Name (eg, section) []: - Введите имя организационные единицы (например, "ИТ-отдел")
Common Name (eg, your name or your server's hostname) []: - Введите полное доменное имя системы (например, "server1.example.com")
Email Address []: - Введите свой электронный адрес

Изменение прав доступа SSL сертификата:

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

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

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

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

Установка 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)
#ROOTDIR=/var/named/chroot

Сделайте резервную копию существующего /etc/named.conf файла и создайте новый, следующим образом:

  • cp /etc/named.conf /etc/named.conf_bak
  • cat /dev/null > /etc/named.conf
  • nano /etc/named.conf
//
// 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";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/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.ca";
};
include "/etc/named.conf.local";

Создайте файл /etc/named.conf.local, включенного в конце /etc/named.conf ( /etc/named.conf.local будет в дальнейшем получать данные ISPConfig, если Вы создадите DNS зоны в ISPConfig):

  • touch /etc/named.conf.local

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

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

Установка 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

  • 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
Скачать сервер

Вход на сайт

ВНИМАНИЕ!

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