Всё по тегу ‘линупс’

Awstats @ CentOS 5

@ Авг 4
awstats-centos-5

На мой взгляд одной из приятных систем статистики является 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 # дописать хосты откуда виден апач

Полезные команды

@ Авг 4
%d0%bf%d0%be%d0%bb%d0%b5%d0%b7%d0%bd%d1%8b%d0%b5-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d1%8b

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

# 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

И так далее…

vsftpd @ CentOS 5

@ Авг 2
vsftpd-centos-5

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

Для начала настроим сам /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

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

Sendmail + Dovecot @ CentOS 5

@ Авг 2
sendmail-dovecot-centos-5

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

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

# 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/

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

Защищаемся от SSH брутфорса

@ Авг 1
%d0%b7%d0%b0%d1%89%d0%b8%d1%89%d0%b0%d0%b5%d0%bc%d1%81%d1%8f-%d0%be%d1%82-ssh-%d0%b1%d1%80%d1%83%d1%82%d1%84%d0%be%d1%80%d1%81%d0%b0

Не всегда получается заточить сервер под логин с ключами и прочими кашерными настройками. На этот случай красноглазые человечки придумали анти-брутфорсеры коих великое множество, но сейчас мы поговорим о 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 on CentOS 5

@ Авг 1
ssl-on-centos-5

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

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

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

# openssl genrsa -des3 -out domain.ru.key 2048
Generating RSA private key, 2048 bit long modulus
……………………………………..+++
……………………………….+++
e is 65537 (0×10001)
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

Бинд, Девид Бинд

@ Июл 27
%d0%b1%d0%b8%d0%bd%d0%b4-%d0%b4%d0%b5%d0%b2%d0%b8%d0%b4-%d0%b1%d0%b8%d0%bd%d0%b4

Сегодня надо не забыть о тонкостях настройки такой хрени как 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 ) Пожелайте удачи и баночку кофе, а за это я буду себя вас радовать новыми ололо.

МОАР »

Лёд тронулся

@ Июл 27
%d0%bb%d1%91%d0%b4-%d1%82%d1%80%d0%be%d0%bd%d1%83%d0%bb%d1%81%d1%8f

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

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

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

некролог?

@ Июн 18
%d0%bd%d0%b5%d0%ba%d1%80%d0%be%d0%bb%d0%be%d0%b3

События последних дней пожалуй стоит описать хотя бы для себя, на будущее…

Как всегда, сначала о приятном. Лоли взяла планку в 2.000 посещений. Няяя… если бы не было так грустно.

Параллельно с этим, шаред опять падал, а на фтп внезано появились проблемы с закачкой файлов… Стало быть пора задуматься о переезде на что-то более серьёзное, а нет, не всё так гладко и даже гадко. Мир хостинга хитрожоп донельзя. Начать с того, что шареды предлагающие по 500гб места и 3тб трафика даже сволочи не врут и предоставляют, но как показала практика в 95% случаев клиент обязательно упрется в какой-то другой лимит.

Следующий по цене шаг — VDS, но тут всё обстоит с точностью до наоборот. В low-end сегменте цены начинаются от 99$ за 2-4 ядра и 8гб памяти, вот только места дают явно не под большие сайты (в среднем 30-50гб). И возникает закономерный вопрос «а контент где хранить?!»…

Следующая ступенька это уже выделенные сервера (Dedicated). Казалось бы нет ничего прекрасней, купил себе сервер и рули! Заодно и опыт в администрировании и настройке получишь. Вот только планка тут начинается от 130-150 вечнозеленых в месяц, а для некоммерчесского проекта это… ну вы поняли.

Последняя спасительная соломинка — начинающие набирать популярность сервера на процессорах Atom. Вроде бы и цена не кусается (обычно в середине между VDS и дедиком) и производительность даже чуточку выше чем у VDS… Но пока что это достаточно узкая ниша для широкого выбора.

И всё было бы ничего, если бы не… специфика проекта. Оказывается такой сайт хостеру не нужен… по крайней мере одному из. После такого, опускаются руки. Неужели у лоли такая хреновая репутация?! Я в тупике… Если до сентября не найдется выход, боюсь придется сворачивать проект и выкинуть на свалку еще два года своей жизни. =\

Пустопост

@ Май 22
%d0%bf%d1%83%d1%81%d1%82%d0%be%d0%bf%d0%be%d1%81%d1%82

Очередной пустопост…

Настраиваю впску, изучаю линупс, из-за очередных проблем с шаредом пришлось перенести базу лоли на впс. Пока что работает =)

От нечего делать вечерами смотрю кино… L’immortal и какой-то там Пипец. Если про первый фильм еще можно сказать что-то хорошее, то второй — выкидыш голивуда. =\ Кстати, благодаря бессмертному я наконец не поленилась найти первоисточник моей любимой оперной музыки. Оказалось произведение Lucia di Lammermoor, Gaetano Donizetti. Воть.

Братец похоже мну игнорирует. Но оно и понятно… работа, анима. Куда там до мя. Поэтому скучаю. Думаю тоже посмотреть что-нибудь анимешного… -_-

На сегодня всё остальное пох. На следующей неделе возможно будет пост поинтересней.