馬刺しの雑記帳

PC全般について、思いつくままに書いていきます。メモ書き多めかも。

HTTPなローカルGitサーバの構築

よく躓くのでメモ書き。
とりあえず使えればいいやって感じで。

環境

目的

  • HTTPでアクセスできるようにする。一応Basic認証をつける。
  • 個人用で外部公開はしないので、SSHHTTPSでの暗号化は考慮しない。
  • とりあえず動けばOK。
  • 基本rootで作業。

サーバ側の準備

CentOS 7のインストール

特別なことはせず、Minimalインストール。

パッケージのアップデート

yum -y update

使用するパッケージのインストール

yum -y install git git-all git-daemon vim httpd

SELinuxの無効化

vim /etc/selinux/config

再起動

reboot
Apacheの設定

git.confの作成

vim /etc/httpd/conf.d/git.conf
SetEnv GIT_PROJECT_ROOT /var/lib/git
SetEnv GIT_HTTP_EXPORT_ALL

ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/

<LocationMatch "^/git/">
        AuthType Basic
        AuthName "Git"
        AuthUserFile /etc/httpd/htpasswd/.htpasswd
        require valid-user
        Order allow,deny
        Allow from all
</LocationMatch>

.htpasswdファイルの作成

mkdir /etc/httpd/htpasswd
cd /etc/httpd/htpasswd
htpasswd -c .htpasswd user
リポジトリの作成

初期化

mkdir /var/lib/git/***.git
cd /var/lib/git/***.git
git init --bare --shared

所有者、権限変更

chown -R user:user /var/lib/git/***git
chmod -R 777 /var/lib/git/***git

Apache起動

systemctl start httpd
systemctl enable httpd


とりあえずBasic認証付きでgit push origin masterに成功。
権限とかもっと厳密にやるべきではありますが…とりあえず動けばよいということで。

AsteriskでPJSIP

とりあえずメモ。

あくまでメモ書きです。
ローカルでの試験用。

PJSIP同士でのみ通話に成功。

PJSIP-SIPでは通話できず。

Asteriskの構築

省略

pjsip.confの記述

;--
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Non mapped elements start
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[general]
port = 5060

[201]
defaultuser = 201

[202]
defaultuser = 202

[203]
defaultuser = 203

[209]
defaultuser = 209

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Non mapped elements end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
--;


[transport-udp]
type = transport
protocol = udp
bind = 0.0.0.0

[201]
type = aor
max_contacts = 1

[201]
type = auth
username = 201
password = pass

[201]
type = endpoint
context = default
disallow = all
allow = ulaw
allow = alaw
allow = gsm
language = ja
auth = 201
outbound_auth = 201
aors = 201

[202]
type = aor
max_contacts = 1

[202]
type = auth
username = 202
password = pass

[202]
type = endpoint
context = default
disallow = all
allow = ulaw
allow = alaw
allow = gsm
language = ja
auth = 202
outbound_auth = 202
aors = 202

[203]
type = aor
max_contacts = 1

[203]
type = auth
username = 203
password = pass

[203]
type = endpoint
context = default
disallow = all
allow = ulaw
allow = alaw
allow = gsm
language = ja
auth = 203
outbound_auth = 203
aors = 203

[208]
type = aor
max_contacts = 1

[208]
type = auth
username = 208
password = pass

[208]
type = endpoint
context = default
disallow = all
allow = ulaw
allow = alaw
allow = gsm
language = ja
auth = 208
outbound_auth = 208
aors = 208

[209]
type = aor
max_contacts = 1

[209]
type = auth
username = 209
password = pass

[209]
type = endpoint
context = default
disallow = all
allow = ulaw
allow = alaw
allow = gsm
language = ja
auth = 209
outbound_auth = 209
aors = 209

extensions.confの記述

[default]
exten => 201,1,Dial(SIP/${EXTEN},60,tT)
exten => 201,2,Congestion
exten => 201,3,Busy

exten => 202,1,Dial(SIP/${EXTEN},60,tT)
exten => 202,2,Congestion
exten => 202,3,Busy

exten => 208,1,Dial(PJSIP/${EXTEN},60,tT)
exten => 208,2,Congestion
exten => 208,3,Busy

exten => 209,1,Dial(PJSIP/${EXTEN},60,tT)
exten => 209,2,Congestion
exten => 209,3,Busy

検証環境

  • クライアント
    • iPhone 4S iOS 9.3.1
      • Zoiper
    • HTC Evo3D Android 4.3
      • CSipSimple(PJSIPクライアント)
    • Ubuntu 14.04 64bit
      • PJSIP サンプルアプリ

PJSIPのインストール(Ubuntu

wget http://www.pjsip.org/release/2.5.1/pjproject-2.5.1.tar.bz2
tar xf pjproject-2.5.1.tar.bz2
cd pjproject-2.5.1
./configure
sudo make dep
sudo make
sudo make install

サンプルアプリレジスト方法

./pjsua-x86_64-unknown-linux-gnu --id=sip:209@192.168.1.190 --registrar=sip:asrterisk@192.168.1.190 --realm=Asterisk --username=209 --password=pass
  • ダイヤル
    • m
    • sip:201@192.168.1.190
  • 応答
    • a
    • 200