пятница, 30 декабря 2016 г.

Осваиваем letsencrypt

Начать лучше отсюда
https://certbot.eff.org/
и можно заглянуть сюда
https://certbot.eff.org/docs/

Там же есть оф клиент, которым можно сделать запрос. При этом если для centos 7 прямо в epel лежит certbot, то под 6 надо качать скрипт-установщик.

Также есть аналоги типа dehydrated, пример запуска тут:
https://habrahabr.ru/post/304174/
Особенность - из зависимостей только curl и openssl, тогда как оф версия тянет два десятка питоновых либ.

Принцип работы - указываем домен(ы), которые надо подписать, и куда класть проверочный файл, путь будет вида /.well-known/acme-challenge/(длинная строка)
Для апача прямо на сайте есть примеры конфигурации и скрипт умеет "донастроить" апач, также есть режим standalone, когда запустится веб сервер с нужным доменом. Несовместимо с другими серверами на порту 80, и запрашиваемый домен должен вести на тот же сервер, где и запустили утилиту.
С nginx нужно чуть больше работы - или указывать --webroot -w (путь к root проекта), или добавить location /.well-known в нужное место.
Итог искать в /etc/letsencrypt/live/ (с оф клиентом)

Также есть вариант подтверждения через dns, есть в документации.

В дальнейшем запускаем с опцией renew, и оно обновит все сертификаты. Но nginx перезапускать через -s reload недостаточно, надо service nginx reload, а иногда и вообще рестарт.

понедельник, 26 декабря 2016 г.

rtpengine + Centos 7

В продолжение http://dragonflybsd.blogspot.ru/2016/04/rtpengine-centos-6.html

Отличий совсем немного, прежде всего - нужен .service файл, получить можно так
cd /usr/local/src
git clone https://github.com/etamme/federated-sip.git
cd federated-sip/scripts
cp rtpengine.sysconfig /etc/sysconfig/rtpengine
cp rtpengine.service /etc/systemd/system/

https://github.com/etamme/federated-sip/wiki/compile-and-set-up-rtpengine-on-centos-7
И там же, как собрать ядерный модуль под 7.

четверг, 22 декабря 2016 г.

Используем кэш для pip, npm, bower

Когда может понадобиться кэш? Например, когда часто пересобираем разные окружения или когда машины накатываются в докере итд. И каждый раз оно будет заново тянуть исходники, особенно актуально для различных докеров, а также сборкой rpmbuild с "чистым" BUILD(ROOT).

pip

cat >> ~/.pip/pip.conf << EOF
[global]
download_cache = ~/.cache/pip
EOF
mkdir -p ~/.cache/pip

Для более старых версий есть опция --download-cache <dir>, которую надо указать дополнительно -  в новых она активна по умолчанию. Отключать через --no-cache-dir

Также есть вариант через промежуточный wheel
pip wheel --wheel-dir=/tmp/wheelhouse cssselect==0.9.1
pip install /tmp/wheelhouse/cssselect-0.9.1-py2-none-any.whl

И попадались упоминания переменной PIP_DOWNLOAD_CACHE

npm

npm config set cache ~/.cache/npm
mkdir -p ~/.cache/npm
mv ~/.npm/* ~/.cache/npm/
rm -rf ~/.npm/


bower
cat >> ~/.bowerrc << EOF
{
  "cache": "$HOME/.cache/bower/"
}
EOF
mkdir -p ~/.cache/bower

links
https://pip.pypa.io/en/latest/reference/pip_install/#caching
https://blog.samat.org/2014/12/01/setting-up-package-caching-for-pip-and-npm/

среда, 14 декабря 2016 г.

CentOS 7.2: Установка и настройка

Была найдена на просторах инета весьма занятная статья с кучей полезностей
Первая часть весьма типовая, интерес представляет вторая половина статьи.

centos 7: подключаем автодополнение (autocompletion)

Порой так удобно - нажать таб и посмотреть параметры программы, но в minimal установке centos это не работает и показывает листинг файлов. А исправить это легко:
yum -y install bash-completion

И начинают работать штуки вида
systemctl status ht<tab>
firewall-cmd --get-act<tab>
итд.

Если что - файлы с этими параметрами лежат тут
/usr/share/bash-completion/completions/

Можно и без пакета некоторые файлы подключить напрямую так
source /usr/share/bash-completion/completions/systemctl

Только многое не заработает, ругаясь так:
bash: _init_completion: command not found
(Эта функция - часть пакета bash-completion)

Ну и мелкая полезность: как посмотреть, какой пакет поставил туда свои файлы
rpm -qf /usr/share/bash-completion/completions/*

пятница, 2 декабря 2016 г.

ubuntu/mint: IOError: [Errno 2] No such file or directory: '/usr/share/libvirt/cpu_map.xml'

IOError: [Errno 2] No such file or directory: '/usr/share/libvirt/cpu_map.xml'
при попытке подключиться virt-manager к другому хосту.
$ dpkg --search /usr/share/libvirt/cpu_map.xml
libvirt-bin: /usr/share/libvirt/cpu_map.xml

Ставить libvirt-bin