• Идеальный сервер - 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
    Скачать сервер

    Вход на сайт

    ВНИМАНИЕ!

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