cd /usr/local/directadmin
wget -O update.tar.gz https://www.directadmin.com/cgi-bin/daupdate?uid=111&lid=222
tar xvzf update.tar.gz
./directadmin p
cd scripts
./update.sh
service directadmin restart
Сначала скачиваем исходники системы.
Внимание на тэг обновления! Он обязательно должен совпадать с веткой установленной системы. Например, для системы FreeBSD 7.2-RELEASE-p2 тэг должен быть tag=RELENG_7_2.
cd /usr/share/examples/cvsup
Правим хост в standard-supfile на *default host=cvsup5.FreeBSD.org и запускаем:
csup ./standard-supfile
Затем:
mkdir /home/jail_sample
setenv D /home/jail_sample
mkdir -p $D
cd /usr/src
make buildworld
make installworld DESTDIR=$D
cd etc/ [1]
make distribution DESTDIR=$D
mount -t devfs devfs $D/dev
Убедиться, что демоны на хост-машине и в jail не пересекаются по используемым IP-адресам.
Команды для управления jail-ом:
/etc/rc.d/jail start/stop/restart sample
jls # список запущенных jail
jexec 2 tcsh # запустить шелл внутри jail с ID=2
Возможно, потребуется поправить некоторые sysctl на хост-машине:
security.jail.set_hostname_allowed – если 1, то внутри jail можно поменять имя хоста;
security.jail.socket_unixiproute_only – если 1 , то сокет в jail можно создать только для доменов PF_LOCAL, PF_INET или PF_ROUTE, иначе, возвращается ошибка;
security.jail.sysvipc_allowed – если 1, то то в jail можно получить доступ к глобальному System V IPC;
security.jail.getfsstatroot_only – если 1, то в jail можно получить информацию (df)только о той файловой системе на которой создан jail;
security.jail.allow_raw_sockets – если 1, то в jail можно создавать raw sockets;
security.jail.chflags_allow – если 1, то процессы в jail могут модифицировать флаги ФС.
Часто возникает задача в реальном времени наблюдать за загрузкой интернет-канала по пользователям сидящими за nat-ом. С этим отлично справляется . Он выдает вот такую картинку:
Ставим:
cd /usr/ports/net-mgmt/iftop && make install
Можно использовать такой конфиг (.iftoprc) где 2М это ширина входящего интернет-канала:
port-resolution: no
show-bars: yes
promiscuous: no
port-display: off
line-display: one-line-sent
max-bandwidth: 2M
hide-source: yes
Понадобился DNS-сервер, который бы мог отвечать одинаковым IP-адресом на запрос о любой зоне.
Просто для того чтобы припарковать несколько доменов. С этим отлично справился dnsmasq.
Ставим:
cd /usr/ports/dns/dnsmasq && make install
или
yum install dnsmasq
В конфиге понадобится всего лишь одна строка:
address=/#/10.10.10.10
Кстати, подобным образом он так же может резолвить MX-запросы.
Если при запуске в OpenVZ-контейнере ругается:
dnsmasq: setting capabilities failed: Operation not permitted
то надо добавить в конфиг:
user=root
Для того чтобы dnsmasq заработал во FreeBSD jail надо добавить в конфиг:
Тоже синхронизируем локальную и удаленную папки. Через ssh на 222-порту.
l — пересоздание symlinks, это значит, что символические ссылки будут так же переноситься
z — использовать сжатие
u — update. Обновление, он будет пропускать файлы которые новей, чем на удалённом сервере
o — установить владельца конечного файла таким же, как и у исходного
g — установить группу конечного файла таким же, как и у исходного
t — передача времени модификации и его обновление на удаленной системе. Этот ключ должен быть установлен для точной синхронизации
h — вывод информации на терминал в удобном для чтения (human-readable) виде
v — verbose. Вывод сообщений в терминал.
r — рекурсивный режим
n — отладочный режим
compress-level — уровень сжатия
delete-after — удалять файлы, которые не были найдены на удалённом сервере, “-after” означает, что удалить их нужно, только после окончания синхранизации. Так-же есть delete-before, delete-during, delete-excluded и просто delete
При достаточных аппаратных ресурсах рекомендуется установить следующие настройки.
Диски:
- Independent
- Persistent
- Optimize for performance
- Allocated сразу и полностью
Для памяти и свопа добавить в конфиг виртуальной машины:
Сертификаты бывают на один домен (будет работать только для mydomain.com или только для www.mydomain.com) и мультидоменные (*.mydomain.com). Мультидоменные стоят много дороже. В нашем случае рассматриваются сертификаты на один домен.
Генерим закрытый ключ и запрос на сертификат:
Самое важное это указать Common name = mydomain.com. Остальные поля не так важны. Всякие Optional-поля лучше вообще не указывать.
На данном этапе если хотим подписать сертификат доверенным центром сертификации то отправляем им mydomain.com.csr. А если будем подписывать сами, то:
Когда генерим CSR то не надо указывать e-mail, challenge password и дополнительные опции.
Если мы хотим подписать сертификат доверенным центром сертификации, то отправляем им mydomain.com.csr. Если же будем подписывать сами то: