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

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

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

Установка 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 тестирования хранилище. Мы даем возможность хранилище следующим образом:

  • cd /etc/yum.repos.d/
  • wget http://centos.karan.org/kbsingh-CentOS-Extras.repo
  • nano /etc/yum.repos.d/kbsingh-CentOS-Extras.repo
[...]
# 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:

  • 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-mhash 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
error_reporting = E_ALL & ~E_NOTICE
[...]
cgi.fix_pathinfo = 1

Далее установим 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 5.6, нету mod_ruby в репозиториях, поэтому мы должны скомпилировать его сами. Сначала установим некоторые предпосылки:

  • yum install httpd-devel 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

... и перезапустим Apache:

  • /etc/init.d/httpd restart

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

  • 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) [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:

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

Теперь перезапустите PureFTPd:

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

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

Установка изолированного DNS-сервер (BIND9)

Чтобы установить изолированный BIND9, мы выполним это:

  • yum install bind-chroot
  • chmod 755 /var/named/
  • chmod 775 /var/named/chroot/
  • chmod 775 /var/named/chroot/var/
  • chmod 775 /var/named/chroot/var/named/
  • chmod 775 /var/named/chroot/var/run/
  • chmod 777 /var/named/chroot/var/run/named/
  • cd /var/named/chroot/var/named/
  • ln -s ../../ chroot
  • cp /usr/share/doc/bind-9.3.6/sample/var/named/named.local /var/named/chroot/var/named/named.local
  • cp /usr/share/doc/bind-9.3.6/sample/var/named/named.root /var/named/chroot/var/named/named.root
  • touch /var/named/chroot/etc/named.conf.local
  • nano /var/named/chroot/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/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";
  • chkconfig --levels 235 named on
  • /etc/init.d/named start

BIND будет работать в изолированной тюрьме в /var/named/chroot/var/named/. Я буду использовать ISPConfig для настройки BIND (зоны и т.д.).

Установка Vlogger и Webalizer

Vlogger и Webalizer могут быть установлены так:

  • yum install webalizer 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 пользователей. Она может быть установлена следующим образом:

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

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

Вход на сайт

ВНИМАНИЕ!

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