Привет Анон. Хочешь поговорить о /b/оге? Нет? Ну, тогда позволь поделиться с тобой попоболью на тему ОСей и нет речь не пойдёт о Вындебляди 11. Скажите мне лет 7 назад что линух будет местами хуже винды я бы рассмеялась. Но после некоторых попыток пощупать современные дистрибутивы вера в Имовечество пробила очередное дно.
Читать далее Линух бл*динг едж
Метка: линупс
Пока разбираюсь с тем что творится в жизни и душе, оставлю несколько заметок по поднятию (и удержанию) сервера node.js на centos. Благо тема лично для меня интересная и несколько познавательная.
Читать далее Ноду народу(нет)
Порой даже элементарная задача приносит кучу новых знаний и требует индивидуального подхода.
На просторах интернетов есть очень много гайдов на тему установки и настройки mod_fastcgi, всё сводится к паре команд и добавлению стандартного конфига. Но не всегда всё обстоит так просто.
Итак, мы имеем связку Apache 2 (бэкенд), nginx (фронтенд), и PHP 5.3.x в режиме mod_php.
Задача: перевести PHP в режим FastCGI
Очередная заметка про грабли, и болящую попу.
Допустим вы подключили новенький девственный hdd к своей шайтан-машине. Первым делом надо создать раздел:
fdisk /dev/sdx
n — создаем новый раздел
p — праймари
1 — номер раздела
t — тип файловой системы
83 — HEX код EXT3 (список кодов вы можете глянуть командой L)
w — сохранить изменения
проверьте всё ли верно создалось
fdisk -l
если да, двигаемся дальше и форматируем наш раздел
mkfs.ext3 /dev/sdx1 fsck -f -y /dev/sdx1
добавляем метку для диска иначе при загрузке будет попа (:
tune2fs -L /new-hdd /dev/sdx1
добавляем информацию в /etc/fstab
LABEL=/new-hdd /new-hdd ext3 defaults 1 2
пробуем смонтировать раздел
mkdir /new-hdd mount /new-hdd df -h
если всё ок, то можно перезагружаться.
Если же во-время загрузки вы что-то напортачили и на горизонте маячит белый пушной зверёк, то вводим root пароль и переходим в режим Repair filesystem (: Но для того чтобы иметь возможность внести изменения в файл /etc/fstab надо сначала перемонтировать партицию с возможностью записи:
mount -w -o remount /
теперь открываем /etc/fstab и исправляем ошибки.
Сразу оговорюсь что велосипед не мой, но катается хорошо :D
Хостеры иногда предлагают клиентам так называймый burstable трафик, это когда можно на некоторое время зайти за лимит, скомпенсировав трафик во-время наименьшей нагрузки. Более подробно вы можете покурить педивикию, даже на русском!
Для того чтобы добавить сие решение к себе в munin придется немного попатчить RRD. Стоит отметить что пути от дистрибутива и версии могут отличаться, но смекалку никто не отменял ;)
Centos 5:
/usr/lib/perl5/vendor_perl/5.8.8/Munin/Master/GraphOld.pm
Centos 6:
/usr/share/perl5/vendor_perl/Munin/Master/GraphOld.pm
Я не буду приводить листинг кода тут, так как парсер может его погрызть. Поэтому ссылочка на патчноуты Munin 1.4.x 95 percentage RRD patch или на оригинальный аттач в trac.
Вот думала что писала уже про это, а нет, заметки не оказалось. Между тем, для непосвященных няшек это может стать небольшой проблемой, так как стандартные мануалы не подразумевают наличия SELinux и других ништяков.
Итак, для того чтобы изменить стандартный порт доступа надо сделать 3 вещи:
1. открываем /etc/ssh/sshd_config и раскомментируем строку
Port 22
меняем 22 на выбранный вами порт. Если вы хотите чтобы ssh слушал только на IPv4, то раскомментируйте строку
ListenAddress 0.0.0.0
остальные настройки по вкусу (:
2. добавляем правило для iptables (вы можете изменить стандартное правило для 22-го порта)
iptables-save > /path/to/rules.list
добавляем строку
-A INPUT -p tcp -m state —state NEW -m tcp —dport 1234 -j ACCEPT
и сохранив файлик обновляем правила
iptables-restore < /path/to/rules.list
НО, данный вариант будет работать только до первой перезагрузки! Если вы хотите добавить постоянное правило, изменения следует вносить в /etc/sysconfig/iptables
И вот казалось бы всё, но в этом случае перезапустив sshd вы рискуете потерять доступ к серверу, так как включенный по-умолчанию SELinux будет считать что негоже использовать иной порт. Так что переходим к пункту…
3. для того чтобы selinux не возникал, необходимо добавить ваш порт как порт для ssh
semanage port -a -t ssh_port_t -p tcp 1234
проверяем
semanage -l | grep ssh
Так же, вы можете столкнуться с проблемой когда центось вам скажет что знать не знает такой команды, тогда выполняем
yum whatprovides /usr/sbin/semanage
и получив ответ, устанавливаем нужный пакет. в моём случае это
yum install policycoreutils-python
Вот теперь можно смело (перепроверив не забыли ли вы чего!) перезапускать sshd и ломиться на новый порт
service sshd restart
Парочка полезных команд:
чтобы глянуть какой бардак творится со свободным местом
df -h
добавление сервиса либо скрипта в автозагрузку
chkconfig —level 345 %scriptname% on
удаление из автозагрузки
chkconfig %scriptname% off
Wiki по run level (http://en.wikipedia.org/wiki/Runlevel)
0 — Halt (выключение)
1 — Single User mode
2 — Multi User mode (without networking)
3 — Multi-user mode (with networking, console logins only)
4 — User-definable
5 — Multi-user mode (with console, with display manager X11)
6 — reboot (перезагрузка)
Список сервисов
chkconfig —list
Столкнулась с проблемой отказа некоторых серверов принимать мыло с серевера. Как вариант решила попробовать добавить SPF.
Итак, основная идея в том, что для всех доменов находящихся на сервере (и не только) указывается один MX сервер, который и занимается обработкой сообщений. Указывать надо именно тот домен, который прописан в PTR записи.
Если допустим в PTR записи указан домен main.com, то для обслуживаемых доменов днс записи будут следующие:
domain.ru. MX 10 mail.main.com
domain.ru. TXT «v=spf1 a:mail.main.com mx ptr -all»
Полезные ссылочки:
http://old.openspf.org/dns.html (примеры SPF записей)
Небольшая заметка о ротации логов для себя.
/etc/logrotate.d/ — настройки для сервисов использующих ротацию логов. Особенно полезно если скажем логи апача хранятся в отдельной директории(ях) но надо чтобы они парсились вместе с основными.
# useradd [options] login_name
создаем нового пользователя
# usermod [options] login_name
редактируем параметры пользователя
# userdel [options] login_name
удаляет пользователя. Используйте -r опцию чтобы автоматически удалять домашний каталог и почтовый пул.
# passwd login_name
задаем пароль для пользователя
# groupadd [options] group_name
создаем группу
# groupmod [options] group_name
редактируем параметры группы
# groupdel group_name
удаляем группу