Осваиваем Git

Никогда не пользовался системами контроля версий, так как мало что творю на языках программирования, а скрипты можно просто хранить в папочке.
Ну и вот решил попробовать хранить скрипты (и не только) в каком-то хранилище, но при этом упустить освоение SVN И CVS, а сразу приступить к Git’у , так как мы не исчем легких путей 🙂

Для начала создаем собственный репозиторий с проэктом, который будет находится не на локальной машине, а где-то в сети.
Пишу по мотивам статьи How to set up your own private Git server on Linux
Сервер и клиенты (в основном) работают под управлением Gentoo.
Итак приступим.
Для начала добавим свой публичный ключ на сервер

cd ~/.ssh
ssh-keygen -t rsa
scp ~/.ssh/id_rsa.pub 'user'@'server':.ssh/authorized_keys

Теперь мы можем зайти по SSH на наш сервер и установить Git:

ssh 
ACCEPT_KEYWORDS="~amd64" USE="bash-completion cvs subversion" emerge -av git

Теперь добавим пользователя

useradd -d /home/git -m -s /bin/bash git

Теперь вам нужно добавить свой публичный ключ для пользователя Git

mkdir /home/git/.ssh
cp ~/.ssh/authorized_keys /home/git/.ssh/
chown -R git:git /home/git/.ssh
chmod 700 !$
chmod 600 /home/git/.ssh/*

Читати далі

Iskratel vs Asterisk

Состыковка Астериска с ИскраТел проходит довольно занятно.
Провайдер телефонной связи может отдавать телефонные звонки по SIP, но сервер сигнализации и голосовые сервера находятся в разных местах.
По умолчанию Астер считает, что источник RTP находится на одном хосте с Сервером сигнализации, чтоб сказать ему о поиске голоса на тех хостах которые приходят в INVITE, а также в SDP, в настройках sip.conf необходимо добавить такие строки

canreinvite=yes
dtmfmode=info

When SIP initiates the call, the INVITE message contains the information on where to send the media streams. Asterisk uses itself as the end-points of media streams when setting up the call. Once the call has been accepted, Asterisk sends another (re)INVITE message to the clients with the information necessary to have the two clients send the media streams directly to each other.

А также опцией permit разрешить посылать голос на хосты отличные от сигнального.
В итоге лог должен содержать что-то типа такого:

Читати далі

Blacklist в Asterisk

Допустим нужно, чтоб определенный список людей попадал сразу в отдел продаж минуя IVR. Реализация такой схемы: [incoming] exten => s,1,LookupBlacklist(j) ;проверка на наличие номера в базе, j – переход на приоритет n+101 exten => s,2,Goto(ivr,s,1) exten => s,102,Dial(SIP/1234,60,tT) exten => s,103,Hangup Добавление номера в базу данных происходит таким образом: asterisk -rx “database put blacklist 0442223344 … Читати далі

FreeBSD: Средства мониторинга

Во FreeBSD существует огромное количество средств для получения информации о функционировании системы. Однако некоторые из них спрятаны немного нетривиально.

  1. Информация о дисках
    1. mount – показывает смонтированные подразделы и флаги из монтирования
    2. df – показывает смонтированные подразделы, их размер и свободное место на них
    3. fdisk /dev/ad0 – показывает информацию о диске ad0 и разделах на нем
    4. disklabel /dev/ad0s1 – показывает список подразделов в первом разделе диска ad0
    5. swapinfo – показывает список подразделов свопинга на дисках и их использование
    6. fstat – показывает список открытых файлов (имена файлов не выводятся)
    7. pstat -f – выводит список открытых файлов (имена файлов не выводятся)
    8. systat -vmstat n – каждые n секунд выводит количество транзакций с диском в секунду, объем записанных/считанных данных на диск в секунду, средний размер транзакции и процент времени в течение которого диск был занят работой.
    9. iostat – выводит информацию, аналогичную systat -vmstat, но не выводит занятости диска по времени и может выводить среднюю статистику с момента загрузки.
    10. vmstat – выводит количество операций на диске в секунду
    11. /stand/sysinstall – можно посмотреть и изменить разметку диска и монтирование
    12. less /etc/fstab – таблица монтирования при загрузке
  2. Информация о процессоре и памяти
    1. systat -vmstat n – вывод показателей загрузки (number of jobs in the run queue averaged over 1, 5 and 15 min), состояния памяти (в страницах), количества процессов в группах, количество вызовов специальных функций ядра (traps, interrupts, system calls, network software interrupts), использование процессора, трансляции имен, активность свопа, прерывания, а также информацию по использованию диска (см)
    2. top – аналогичная информация в сокращенном виде + использование памяти и свопа в мегабайтах, список процессов, отсортированных по использованию процессора.
    3. ps afx – список запущенных процессов и время процессора на каждый
    4. grep -i cpu /var/run/dmesg.boot – узнать тип процессора

      Читати далі

Новый синтаксис в Asterisk 1.6

Буду тут оставлять заметки о том как меняется синтаксис между Asterisk 1.2 и Asterisk 1.6 1. Вместо “трубы” теперь в диалплане используется запятая, например 1.2 include => kiev|8:30-18:30|mon-fri|*|* 1.6 include => kiev,8:30-18:30,mon-fri,*,* 2. В ivr сменилось использование переменных DigitTimeout, ResponseTimeout, например: 1.2 exten => s,1,DigitTimeout,5 ; Set Digit Timeout to 5 seconds exten => s,2,ResponseTimeout,10 … Читати далі

Сервисы в Gentoo

Спижжено с Gentoo Wiki Чтобы запустить программу при загрузке системы, в Gentoo сущестует специальный файл: /etc/conf.d/local.start Синтаксис предельно простой. Каждая строка – команда с параметрами, которая должна быть выполнена. Также есть возможность запускать программы при выключении системы. Для этого есть файл: /etc/conf.d/local.stop Что сделать если невозможно остановить сервис, или процесс убит а система продолжает думать … Читати далі

Простой сайт своими руками

По роду деятельности есть у меня несколько более-менее стандартных запросов к БД, а также парочка скриптов, которые, что-то делают.
Но все это безобразие делалось на скорую руку и разбросано по всему компьютеру, скрипты отдельно, SQl отдельно… и иногда просто тяжело найти, что-то, а особенно когда смотришь на название файла и не понимаешь к какому месту его приложить.
Почесав репу решил все это собрать под одну крышу, но как всегда человека одолевает лень. Так случилось и со мной, стало лень все это переписывать заново, а хотелось как-то красиво все это склеить.

Читати далі

Всплывающие изображения в WordPress

Как-то никогда не заморачивался картинками в блоге, тем более, что у меня на весь сайт картинок 5 наберется, но вот добавил в пост 2 скрина и стало грустно, они открываются в том же окне, что и сам пост, но в режиме “только картинка”.

Читати далі