Вход:  Пароль:  
FreeSource: PavelSarabeev ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Это старая версия PavelSarabeev за 2008-11-13 17:55:03..

Настройка сервера в продакшен

Задача

Описание этапов подъема сервера для работы в продакшен. Здесь будет описано нечто похожее на http://freesource.info/wiki/SergeyLebedev/EisSystem?v=1ave&search=eis гдето в упрощенном где-то в усложненном варианте

apt

Не очень разбираюсь почему, но список установленных пакетов можно посмотреть rpm -qa

Этапы внедрения

1) NTP – Синхронизация времени, чтобы все было четко.
2) DNS – Без него вообще ничего работать не будет, по любому свой нужен
3) Firewall – Разрешить что нужно, запретить все остальное
4) Nginx – Куда-ж в современном WEB без него
5) Apache – Аналогично
6) MYSQL – Пока оно, потом Postgre
7) SVN – Проекты удобно хранить в нем

Реализация

Про разбиение диска здесь http://freesource.info/wiki/AltLinux/Sisyphus/admin/RazbienieDiska

  1. Решить проблему с ошибкой конфигурации сети при установке. Иногда у меня вылазит ошибка конфигурирования сетевых адаптеров при инсталляции дистрибутива и вместо маски /24 вылезает маска /32. В результате имеем ошибку с роутингом.
  2. Настройка ssh/pam для комфортной работы

Конкретно о настройке ssh читать здесь http://freesource.info/wiki/AltLinux/Dokumentacija/NastrojjkaSSH?v=9xm&search=ssh Мне представляется хорошей идеей изменение порта ssh и запрет входа не по ключу (Password Authentication? no)
Комфортность работы заключается в том чтобы часть пользователей, конкретно входящие во wheel (gpasswd -a username wheel) могли делать su без пароля для этого настраиваем /etc/pam.d/su


  1. Локальный репозиторий, автоматическое обновление репозитория sisyphus-mirror, обновление репозитория в контейнерах и на HN.

prerelease:
Для 101 контейнера

и настроить скрипты монтировки демонтировки если одинаковые лучше их создать симлинками ln -s std.mount 101.mount


draft:
ls /var/lib/vz/private/
mkdir -p /var/lib/vz/root/53/var/something
mount -o bind /var/something /var/lib/vz/root/53/var/something
mkdir vz-scripts
cd /etc/vz/conf/
vim 53.mount
vim 53.mount
vim 53.umount
vim 53.mount
vim 53.umount
ls
chmod +x *
ls -la
vzctl restart 053


Чистка локального репозитория (http://freesource.info/wiki/AltLinux/Sisyphus/admin/Mirror?v=sa0&)


  1. Настройка контейнеров http://freesource.info/wiki/AltLinux/Dokumentacija/OpenVZ?v=dlw#altlinux/dokumentacija/openvz/nfs&
  2. Готовые шаблоны скорее всего не подойдут, придется настроить spt и hasher – как сделать написано тут http://freesource.info/wiki/AltLinux/Dokumentacija/Hasher?v=7mp&search=hasher
  3. Настраиваем точки входа как на хостинге http://freesource.info/wiki/AltLinux/Dokumentacija/OpenVZ/Sharedhosting?v=of7#altlinux/dokumentacija/openvz&
Правильная команда для установки ip адреса

Поставить proftpd недостаточно, нужно егео еще и включить /etc/xinetd.d/proftpd

Сеть

не забываем настроить сеть http://freesource.info/wiki/AltLinux/Dokumentacija/NastrojjkaVPN?v=326&search=pppoe
и включить ip_forwarding


не забываем в правила файрвола дописать VE которым можно наружу ходить
$IPTABLES -A POSTROUTING -s 172.16.1.103 -j SNAT --to-source $WAN0_IP -t nat


Настройка БД

Все это знают, просто чтобы было в одном месте. Ясен пень что после подъема контейнера с БД нужно запустить скриптик /usr/bin/mysql_secure_installation
после этого нужно настроить пользователя
Unable to find proper charset from system locale, setting 'latin1'.


Помни My SQL? у требуется DNS. бегом читать ман на тему работы привилегий
джа и еще, по умолчанию networking выключен


Если все шоколадно и базы только в UTF-8 в my.cnf

Про nginx

http://freesource.info/wiki/AntiApache?show_comments=1#comments
http://freesource.info/wiki/Stat'i/TracNginx?v=z77&search=nginx


не помешает убрать версию из заголовка http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#server_tokens server_tokens на данный момент есть только в 0.6.x

про php

поставить expose_php = Off – не нужно светить версию php и убрать блокировку нужных функций.

NTP

По умолчанию система ставит openntpd (он не поддерживает статистику), лучше использовать ntpd
получить статистику:
ntpq -c peers -n сервер
ntpdc -c sysinfo -n сервер
Для того чтобы можно было синхронизироваться с сервером stratum сервер должен быть меньше 16
проверять синхронизацию можно командой ntpdate -d

мегажесть

Задача в сети весит сервер (сервер_1)- открыт только один порт ssh – нужно пробросить Apache с этого сервера на другой сервер (Сервер_2)
Выполняем команды на втором сервере


В результате обращение по http://ip_адрес_которым_прикидываемся:9090 приводит на http://сервер_1:80

на пересечении nginx и svn

http://freesource.info/wiki/Stat'i/TracNginx?v=z77&search=nginx

настройка DNS

Описана здесь http://freesource.info/wiki/SergeyLebedev/EisSystem/DnsSystemEIS?v=7kl&search=named
Для DNS слейва есть отдельный пакет

firewall

Отдельная тема, но вообще для начала все хранится в /etc/rc.d/rc.firewall

Перенос контейнера

q: О синхронизации контейнеров, можно рабочий контейнер склонировать вот так? http://wiki.openvz.org/Cloning_VE
a: rsync -vaP --numeric-ids --delete-after и так пару раз перетащит тебе контейнер куда угодно,
то же яйца вид сбоку по той сцылке, что ты прислал – только наш метод универсальнее


Настройка клиентов, для подключения к svn

Для настройки работы с svn через ssh в конфигуационный файл /.subversion/config в секции туннели внести строчку
ssh = $SSH ssh -l programmer -i /home/пользователь/.ssh/id_dsa_svn
где /home/пользователь/.ssh/id_dsa_svn – путь к приватному ключу, публичный ключ которого прописан на svn сервере
-l programmer – имя реального пользователя на котрого биндятся пользователи svn


После этого репозиторий будет доступен svn ls svn+ssh://адрес_сервера/projects/test/

Сборка своего софта

нужно поставить
make
gcc
gcc-c++
gpp

Возможно гдето здесь написан бред, просьба сообщить мне об этом любым доступным способом

например в комментариях или irc`е

IPMI

Чтобы заработал
надо загрузить модули ipmi_si ipmi_devintf ipmi_msghandler
http://www.altlinux.org/IPMI

Zabbix

./configure --enable-server --with-mysql --with-net-snmp --enable-static --enable-server --enable-proxy --enable-agent

Hardening

Запретить вход root даже из консоли
# vipw


и вместо root:x:0:0::/root:/bin/bash написать root:*:0:0::/root:/bin/bash


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]