Документация Calculate Linux

Вид материалаДокументы
Подобный материал:
1   ...   115   116   117   118   119   120   121   122   ...   136

Установка gitosis


Если пакет замаскирован, размаскируйте его.

emerge gitosis

После установки будет создан пользователь git (пароль отсутствует, домашняя директория /var/spool/gitosis/)

Настройка gitosis

Создаем ключ для root


su

ssh-keygen -t rsa

Будут созданы два файла:

/root/.ssh/id_rsa.pub

/root/.ssh/id_rsa

Публичный и закрытый rsa ключи

Создаем репозиторий с настройками


Копируем открытый ключ

cp /root/.ssh/id_rsa.pub /tmp/id_rsa.pub

Создаем репозиторий

sudo -H -u git gitosis-init < /tmp/id_rsa.pub

Удаляем из /tmp открытый ключ 

rm /tmp/id_rsa.pub

Если планируется использовать git-web, для того чтобы, репозиторий с настройками был не виден в web изменим права на директорию

chmod 700 /var/spool/gitosis/repositories/gitosis-admin.git

Настраиваем репозиторий для пользователя


Переходим в /tmp

cd /tmp

Клонируем директорию с настройками

git clone git@имя_сервера:gitosis-admin.git

Переходим в директорию с настройками

cd gitosis-admin

Копируем пользовательский открытый ключ в директорию /tmp/gitosis-admin/keydir

scp root@имя_клиентского_компьютера:/home/имя_пользователя/.ssh/id_rsa.pub ./keydir/имя_пользователя@имя_клиентского_компьютера.pub

Настраиваем новый репозиторий для пользователя имя_пользователя

vi gitosis.conf

файл до изменения

[gitosis]


[group gitosis-admin]

writable = gitosis-admin

members = root@имя_сервера

файл после изменения

[gitosis]


[group gitosis-admin]

writable = gitosis-admin

members = root@имя_сервера


[group group1]

writable = project1

members = root@имя_сервера имя_пользователя@имя_клиентского_компьютера

Делаем commit для настроек

git commit -am "Granted access for developer@remotehost to project1"

Записываем репозиторий с настройками

git push origin master

Создаем новый репозиторий


cd /var/spool/gitosis/repositories

mkdir project1.git

cd project1.git

git --bare init

Этот репозиторий будет доступен пользователю на его компьютере через ssh

git clone ssh://git@имя_сервера/project1.git

без ввода пароля (по открытому ключу)

Проверка sshd


Демон sshd должен быть запущен.

Должен быть разрешен доступ по ssh пользователю git файл /etc/ssh/sshd_config

Настройка git-daemon


vi /etc/conf.d/git-daemon


GITDAEMON_OPTS="--syslog --port=9418 --base-path=/var/spool/gitosis/repositories/ --export-all"

GIT_USER="apache"

Если будут проблемы при перезапуске меняем номер порта --port=9418 на другой номер перезапускаем демона git, меняем обратно перезапускаем демона git.

/etc/init.d/git-daemon restart

Проблема перезапуска git-daemon


При перезапуске демона может возникнуть проблема повторного открытия порта, в /var/log/message она записывает как

git-daemon[pid]: unable to allocate any listen sockets on host (null) port 9418

Чтобы ее избежать необходимо добавить в GITDAEMON_OPTS параметр --reuseaddr

Создание пользовательского ключа


В сеансе пользователя, на пользовательском компьютере.

ssh-keygen -t rsa

В пользоваетельской директории .ssh будут созданы два ключа

id_rsa

id_rsa.pub

закрытый и публичный (pub)

Если публичный ключ записан в директорию keys репозитория настроек gitosis на сервере, а также в файле gitosis.conf настроены права к репозиториям то пользователь получит доступ к репозиториям на сервере.


18. Настройка Asterisk сервера

Asterisk - компьютерная ATC под лицензией GPL поддерживающая большое количество VoIP протоколов. Настройка Asterisk производится путем редактирования файлов находящихся в директории /etc/asterisk. Имена настроечных файлов совпадают с названиями протоколов или функций ATC.

Настройка для работы c SIP.

Настройки sip.conf.


Для настройки SIP используется файл.

/etc/asterisk/sip.conf

Файл состоит из секций:

# глобальные настройки

[general]

параметр=значение

...


# дополнительные настройки

[authentication]

параметр=значение

...


# несколько шаблонов

[basic-options](!)

параметр=значение

...

Для хранения общих настроек для офисных телефонов создадим шаблон.

[office-phones](!)

type=friend

context=outcoming-sip

secret=xxxxxxxx

host=dynamic

nat=no

qualify=yes

canreinvite=no

callgroup=1

pickupgroup=1

dtmfmode=auto

disallow=all

allow=alaw

allow=ulaw

allow=gsm


Параметры шаблона
  • type - тип соединения (peer - только исходящие вызовы, user - входящие вызовы, friend - входящие и исходящие вызовы)
  • context - контекст в extension.conf в который будет направлен входящий вызов.
  • secret - пароль для SIP телефона
  • host - имя хоста телефона (dynamic динамическое имя хоста)
  • nat - сетевая трансляция адресов
  • qualify - проверка функционирования телефона
  • canreinvite - прямой доступ телефона к другому телефону минуя Asterisk
  • callgroup - номер телефонной группы
  • pickupgroup - номер группы захвата звонков
  • dtmfmode=auto - dtmf режим (auto|inband|info|rfc2833)

приоритет аудиокодеков

disallow=all

allow=alaw

allow=ulaw

allow=gsm
  1. alaw
  2. ulaw
  3. gsm

Секция настройки телефона.

[001](office-phones)

fromuser=001

callerid="200" <200>

Параметры секции:
  • [001](office-phones) - используем шаблон office-phones, аккаунт телефона называется 001
  • fromuser - для какого аккаунта будут приходить звонки
  • callerid - полное название пользователя и его телефонный номер для информации о звонящем.

Для каждого sip телефона создадим секцию настройки

[001](office-phones)

fromuser=001

callerid="200" <200>


[002](office-phones)

fromuser=002

callerid="201" <201>


...