На мой взгляд одной из приятных систем статистики является AWStats. Её настройкой и выколупыванием мы займемся.

# yum install awstats

Далее открываем /etc/httpd/conf.d/awstats.conf и приводим вот к такому виду:

Alias /awstats/icon/ /var/www/awstats/icon/

ScriptAlias /awstats/ /var/www/awstats/
<Directory /var/www/awstats/>
DirectoryIndex awstats.pl
Options ExecCGI
order deny,allow
allow from all
</Directory>

Сложно да? :) Следующим делом перейдем в /etc/awstats/ где лежит одинокий конфиг-пример. Простым движением

# cp awstats.localhost.localdomain.conf awstats.%host%.%domain%.conf

сделаем из гадкого утёнка матёрый конфиг ) Данную операцию повторяем для всех (суб)доменов которые нужны в статистику. После этого открываем каждый файлик и меняем:

LogFile=»/var/log/httpd/access_log» # путь к логу апача

SiteDomain=»localhost.localdomain» # домен

HostAliases=»REGEX[host\.domain$]» # регулярка с именем домена

FirstDayOfWeek=1 # понедельник — трудный день

Остальное меняем по своему вкусу. Ну и заодно прибиваем (или ренеймаем) стандартный конфиг.

# /usr/bin/awstats_updateall.pl now -confdir=»/etc» -awstatsprog=»/var/www/awstats/awstats.pl»

Эту команду необходимо выполнить при первом запуске. После этого идем в

http://host.domain/awstats/awstats.pl?config=host.domain

и наслаждаемся статистикой =^_^=

Р.S.

Небольшой бонус: конфиг mod_rpaf

LoadModule rpaf_module modules/mod_rpaf-2.0.so

RPAFenable    On
RPAFsethostname    On
RPAFproxy_ips    127.0.0.1 # дописать хосты откуда виден апач

Когда надо поменять ЧМОд множества файлов и при этом сохранить ЧМОд для папок:

# chmod -R 644 *

# find . -type d -exec chmod 0755 {} ‘;’

Когда надо поменять владельца файла:

# chown -R user:group /path/to/dir/

Информация о системе:

/proc/cpuinfo — информация о процессоре

/proc/meminfo — информация о памяти

/etc/redhat-release — информация о дистрибутиве для RHEL и CentOS

И так далее…

Для каждого веб-сервера нужен фтп. Не будем прыгать много, а сразу перейдем к делу.

Для начала настроим сам /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

pasv_enable=YES

pasv_min_port=12000

pasv_max_port=12100

ssl_enable=YES

allow_anon_ssl=NO

force_local_data_ssl=NO

force_local_logins_ssl=NO

ssl_tlsv1=YES

ssl_sslv2=NO

ssl_sslv3=NO

rsa_cert_file=/etc/vsftpd/vsftpd.pem

rsa_private_key_file=/etc/vsftpd/vsftpd.key

Далее займемся генерацией ключа:

# openssl genrsa -des3 -out vsftpd.key 1024
# openssl rsa -in vsftpd.key -out vsftpd.pem
# openssl req -new -key vsftpd.key -out vsftpd.csr
# openssl x509 -req -days 366 -in vsftpd.csr -signkey vsftpd.key -out vsftpd.crt

Если фтп сервис старутет, значит всё отличненько. Открываем порты в фаерволе:

-A RH-Firewall-1-INPUT -m state —state NEW -p tcp —dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp —dport 12000:12100 -j ACCEPT

Но с большой долей вероятности всплывёт косяк с загрузкой файлов, если у вас установлен SELinux (узнать можно набрав команду sestatus)

Для решения этой проблемы вы можете либо отключить его полностью, либо отключить его для фтп. Я выбираю второе:

# setsebool ftpd_disable_trans 1

После этого перезагрузите сервис фтп.

Особо больным гвоздем в попе может стать настройка почты. Я не стала трогать стандартную связку ну хорошо, трогала! однако постфикс нихрена не проще =Р а решила разобраться с так называемым «монстром».

Итак, во-первых для корректной работы почты нам понадобится юзер НЕ рут.

# useradd %username%

# passwd %username%

После того как юзер был создан, перейдем к настройке сендмайлы. Переходим в /etc/mail/ и начнем с файла local-host-names. Туда вписываем домены, на которые сендмейл будет принимать почту. В моём случае это:

domain.com

mail.domain.com

Следующий файл это virtusertable. В нем хранятся привязки почтовых ящиков к юзерским тушкам. Соответственно добавляем записи:

mail@domain.com   user

mail@mail.domain.com user

Файл access служит для задания действий для различных адресов. Подробнее с ним вы можете ознакомиться в мануале.

Инфо:

почта хранится в /var/mail/

Это не всё, но больше пока нет.

Не всегда получается заточить сервер под логин с ключами и прочими кашерными настройками. На этот случай красноглазые человечки придумали анти-брутфорсеры коих великое множество, но сейчас мы поговорим о Denyhosts.

Установка

# yum install denyhosts

данная фичка уже лежит в rpmforge, так что секаса с компилингом можно не бояться

Настрой-ка

Первым делом добавим себя в белый лист, дабы не огрести при очепятках. :)

Открываем файлик /etc/hosts.allow и почётно прописываем свой IP:

sshd: xxx.xxx.xxx.xxx

После этого, идем в /etc/denyhosts/denyhosts.cfg и подгоняем конфиг примерно так:

############ THESE SETTINGS ARE REQUIRED ############
SECURE_LOG = /var/log/secure
HOSTS_DENY = /etc/hosts.deny
PURGE_DENY = 7d
BLOCK_SERVICE  = sshd
DENY_THRESHOLD_INVALID = 5
DENY_THRESHOLD_VALID = 10
DENY_THRESHOLD_ROOT = 1
DENY_THRESHOLD_RESTRICTED = 1
WORK_DIR = /usr/share/denyhosts/data
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
HOSTNAME_LOOKUP=YES
LOCK_FILE = /var/lock/subsys/denyhosts
############ THESE SETTINGS ARE OPTIONAL ############
ADMIN_EMAIL = admin@host.com
SMTP_HOST = localhost
SMTP_PORT = 25
SMTP_FROM = DenyHosts <nobody@localhost>
SMTP_SUBJECT = DenyHosts Report
AGE_RESET_VALID=5d
AGE_RESET_ROOT=25d
AGE_RESET_RESTRICTED=25d
AGE_RESET_INVALID=10d
######### THESE SETTINGS ARE SPECIFIC TO DAEMON MODE  ##########
DAEMON_LOG = /var/log/denyhosts
DAEMON_SLEEP = 30s
DAEMON_PURGE = 1h
#########   THESE SETTINGS ARE SPECIFIC TO     ##########
#########       DAEMON SYNCHRONIZATION         ##########

Тут стоит обратить внимание на ADMIN_EMAIL, так как туда бубут уходить отчеты о массовых отстрелах )

Запуск

После того как вы всё настроили, остается только добавить его в автозагрузку и запустить:

# chkconfig denyhosts on
# service denyhosts start

На закуску

Если же случилось непоправимое, то останавливаем сервис и правим файлик hosts.deny

После этого идем в /usr/share/denyhosts/data/ и подчищаем свой IP в этих файлах:

1. hosts
2. hosts-restricted
3. hosts-root
4. hosts-valid
5. users-hosts

После этого добавляем себя в белый лист:

# echo ‘xxx.xxx.xxx.xxx’ >> allowed-hosts

И запускаем сервис.

Создание сертификатов для SSL

Создание ключа

Первым делом необходимо создать приватный ключ (private key):

# openssl genrsa -des3 -out domain.ru.key 2048
Generating RSA private key, 2048 bit long modulus
……………………………………..+++
……………………………….+++
e is 65537 (0x10001)
Enter pass phrase for domain.ru.key:
Verifying — Enter pass phrase for domain.ru.key:

При создании ключа необходимо указать ключевую фразу (и запомнить ее).

Создание подписанного сертификата

После того, как сгенерирован ключ, можно создавать самоподписанный сертификат (CSR — Certificate Signing Reques):

# openssl req -new -key domain.ru.key -out domain.ru.csr
Enter pass phrase for domain.ru.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
——
Country Name (2 letter code) [AU]:RU
State or Province Name (full name) [Some-State]:Russia
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Domain.Ru
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:domain-2.ru
Email Address []:ssl@domain-2.ru

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Удаление пароля из ключа

Неприятной особенностью ключа с паролем является то, что Apache или nginx будет регулярно спрашивать пароль при старте. Очевидно, что это не очень удобно (если только кто-то не находится постоянно рядом на случай перезагрузки или аварийной остановки). Для удаления ключа из пароля необходимо выполнить следующее:

# cp domain.ru.key domain.ru.key.orig

# openssl rsa -in domain.ru.key.orig -out domain.ru.key
Enter pass phrase for domain.ru.key.orig: <пароль-который-указывался-при-создании-domain.ru.key>
writing RSA key

Генерация SSL сертификата

Далее, создаем сам SSL сертификат:

# openssl x509 -req -days 365 -in domain.ru.csr -signkey domain.ru.key -out domain.ru.crt
Signature ok
subject=/C=RU/ST=Russia/O=Domain.Ru/CN=domain-2.ru/emailAddress=ssl@domain-2.ru
Getting Private key

Теперь есть все, что необходимо для создания SSL-соединений.

Правильное расположение SSL сертификатов

Заключительным шагом в создании SSL сертификата будет распределение полученных файлов в соответствующие директории. Во-первых, копируем сам сертификат:

# cp domain.ru.crt /etc/pki/tls/certs/

Во-вторых, копируем ключ:

# cp domain.ru.key /etc/pki/tls/private/

И в-третьих, удаляем, все то, что было создано в текущей директории:

# rm domain.ru.crt domain.ru.key domain.ru.csr domain.ru.key.orig

Добавляем сертификаты в Apache

Редактируем файл /etc/httpd/conf.d/ssl.conf и меняем..

SSLCACertificateFile /etc/pki/tls/certs/domain.ru.crt
SSLCACertificateKeyFile /etc/pki/tls/domain.ru.key

Сохраняем файл и перезапускаем апач.

# service httpd restart

Сегодня надо не забыть о тонкостях настройки такой хрени как DNS под управлением кэмпа BIND.

Итак, несколько полезных советов:

Если в /etc нет конфига, то вполне вероятно что бинд «срёт» и конфиг надо пихать вот сюда /var/named/chroot/etc

В конфигу надо добавлять список файлов зон с зэками и блджадами. Далее не забудем воздать молитву великому ОНОТОЛЕ и приступим к созданию бараков для наших доменов.

Как вы уже догадались, зарыть их надо в /var/named/chroot/var/named для того чтобы сильно не ипаццо, можно взять готовое файло и подредактить его под свои извращенные нужды. Файло лежит как правило в /usr/share/doc/bind…/sample/var/named

Ну и когда вы уже с радостью в штанах прописали все домены, субдомены и дядю Педро из жаркой луизианы не забудьте убить пробелы перед названиями записей, дабы не навлечь на себя кару в виде трехэтажного лога от бинды.

Ну и напоследок не забудьте отредактировать файлик /etc/resolv.conf чтобы не краснеть когда провалится проверка. Кстати о ней %)

Проверить грамотность этого шаманства можно при помощи команды:

dig @ns1.domain.com localhost
dig ftp.domain.com

Вот так. Работает ли эта магия, будет известно часов через 6-48 ) Пожелайте удачи и баночку кофе, а за это я буду себя вас радовать новыми ололо.

Читать далее Бинд, Девид Бинд

Итак, господа присяжные, лёд тронулся! Объявлен сезон dedi-секаса со всеми вытекающими ^_^

Надеюсь за эту неделю лоли обретёт не то чтобы дом, но хороший замок с кучей охраны и фамильяров. Хе-хе-хе…

Пока всё. А чего вы ждали в 6 утра? :)

Вы не поверите! Вот совершенно незаметно для меня вышел новый концерт Милен Фармер. XD

Чиаки узнала об этом только из клипа на MCM. Завтра вечером будет пряздНЯК \^_^/

Любите родину, мать вашу!

Купить дедик из колхоза это просто цензоред какой-то. Еще с одним ДЦ мы пролетели как фанера над колхозом (хотя сами виноваты). Граждане, покупая сервер будьте готовы что вас попросят выслать факсом уши, лапы и хвост! Хорошо что еще блин не попросили привезти лично в офис… Уникумы… Были посланы на тот же ФАКс. =\

Вторая проблема может подкрасться ну уж совсем незаметно. Казалось бы всё оформлено, подписано, но тут вам сообщают что карточки из сраной глуши не принимаются. Даже международные! Правда есть шанс, что салесы окажутся людьми разумными и подскажут выход из сложившейся жоп… ситуации.

To be continued… епт.