gitolite3をDocker on CentOS7で動かす
yumからgitolite3をインストールして使いはじめるまで,だいぶはまってしまったのでメモ.
とりあえず,Dockerを起動してyumでインストール.
(↓ホストのCentos7のシェル↓) [USER]$ sudo docker run -it -p 22222:22 -v /home/USER/gitolite3:/var/lib/gitolite3 centos /bin/bash (↓Dockerコンテナ内↓) [root]# yum install -y epel-release [root]# yum install -y gitolite3 [root]# cat /etc/passwd ... gitolite3:x:999:998:git repository hosting:/var/lib/gitolite3:/bin/sh
インストールすると,gitolite3ユーザ($HOME=/var/lib/gitolite3/)が自動で作成されている.
ここでいったん,sshdを使うための設定をする.
host keyは,http://blog.glatts.com/blog/imai/?p=949:/etc/init.d/sshd start処理内で自動生成されているらしい.
/etc/init.d/sshdが無いので,自分で生成してみる.
(↓Dockerコンテナ内↓) [root]# yum install -y openssh-server [root]# cd /etc/ssh [root]# ssh-keygen -t rsa -f ssh_host_rsa_key [root]# ssh-keygen -t rsa -f ssh_host_ecdsa_key
ホスト側でssh-keygenで用意した公開鍵(test.pub)を,コンテナ側のgitolite3のadmin鍵として登録する.
gitolite setup後,sshdを立ち上げてセットアップ完了.
(↓Dockerコンテナ内↓) [gitolite3]$ gitolite setup -pk test.pub Initialized empty Git repository in /var/lib/gitolite3/repositories/gitolite-admin.git/ Initialized empty Git repository in /var/lib/gitolite3/repositories/testing.git/ [root] /usr/sbin/sshd -D &
ホスト側からgitoliteの動作を確認してみる.
[ksuzuki@tk2-231-25171 ~]$ ssh -i ~/.ssh/test gitolite3@127.0.0.1 -p 50022 Enter passphrase for key '/home/ksuzuki/.ssh/test': PTY allocation request failed on channel 0 hello test, this is gitolite3@aaa running gitolite3 3.6.2-1.el7 on git 1.8.3.1 R W gitolite-admin R W testing Connection to 127.0.0.1 closed.
以上で完了.
ここまでで作ったDockerコンテナをcommitして,
docker run -d --name gitolite-run -p 50022:22 -v /home/USER/gitolite3:/var/lib/gitolite3 gitolite /usr/sbin/sshd -D
とかで実行できる.
ちなみに,はまったところは,gitolite setup -pk test.pubしたときに,
WARNING: keydir/admin.pub duplicates a non-gitolite key, sshd will ignore it
のワーニングが出てたのを無視していたら,ホストから動作確認のsshをした時に,
gitレポジトリが表示されず普通に,ログインしてしまったこと.
これは,gitolite setupをする前に,test.pubをコンテナ側のauthorized_keysに登録していたことが原因だった.
このエラーが出たら,authorized_keysの中身を見て,すでに登録してあるtest.pubを消去すれば,動いた.
下記のサイトは,gitolite3をgithubからcloneしてインストールしている.
公式:install and setup
http://gitolite.com/gitolite/install.html
How to setup Gitolite and Cgit on CentOS 6 | Patrick's Blog(2)
http://blog.laimbock.com/2013/10/15/how-to-setup-gitolite-and-cgit-on-centos-6/
Sublime 3でIMESupportがインストール出来ない!?
WindowsのSublime3でいつの間にかIMESupportがインストールできなくなってたので,その対処方メモ.
普通,Package Controlをインストール後,
「Ctrl+Shift+P -> Package Control: Install Package -> IMESupport」でインストールできるはずですが,
ここで,エラーが発生してコンソールに次のようなメッセージが...
... Package Control: Error downloading package. Connection refused (errno 12029) during HTTP write phase of downloading https://codeload.github.com/chikatoike/IMESupport/zip/master. error: Package Control Unable to download IMESupport. Please view the console for more details. ...
Connection refused...???
とりあえず,「https://codeload.github.com/chikatoike/IMESupport/zip/master」にブラウザからアクセスしてみると,ちゃんとつながってZIPファイルをゲットできる.
このZIPを解凍して中身を「C:\users\(ユーザ名)\AppData\Roaming\Sublime Text 3\Packages\IMESupport」にコピー.
次にsublime側で,「Preferences -> Package Settings -> Package Control -> Settings - User」で開いたファイルに次のように書き込み.
{ "installed_packages": [ "IMESupport" ] }
sublimeを再起動すれば,IMESupportが使えるようになった.
ネット上ではダウンロードに失敗しているような情報はなかったので,うちの環境依存の問題?
CentOS 7/docker1.0.0でハマったところメモ.
その1:ポートの割り当て
コンテナの22をホストの11111に割り当てようとして,次のコマンドを打つと,11111がipv6のポートとしてバインドされてしまう.
docker run -d -p 11111:22 something /usr/sbin/sshd -D
これは,次のようにして回避.
docker run -d -p 0.0.0.0:11111:22 something /usr/sbin/sshd -D
ちなみに,0.0.0.0を127.0.0.1とかにすると,ローカルホストからの接続しか出来なくなる.
(修正)
$ netstat -na
...
tcp6 0 0 :::80 :::* LISTEN
...
と表示されるので,IPv6でアクセスしないといけないように見えたけど,IPv4でアクセスできた.
その2:ポートがすでにバインドされている,と言われてしまう
netstatで確認しても,バインドされてないはずのポートを-pで指定しているのに,なぜか
2014/07/10 15:51:36 Error: Cannot start container
と言われてしまう.
これは,systemctl restart dockerで解決した.
PuTTYでX11 Forwardingが認証エラーになるときの対処
通常ユーザではできるが,rootになるとエラーが出たりする.
[エラーメッセージ]
PuTTY X11 proxy: wrong authorisation protocol attemptedPuTTY X11 proxy: wrong authorisation protocol attemptedPuTTY X11 proxy: wrong authorisation protocol attemptedError: cannot open display: localhost:10.0
[対処]
$ xauth list
hogehoge:10 MIT-~~~
$ su
# xauth add :10 MIT-~~~
@IT:Xのウィンドウで別のデスクトップを表示するには
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/560usexnest.html
Tico Ticoの演奏
吹奏楽やってた人ならきっと知ってるTico Tico.
原題は「Tico-Tico no Fubá」で「コーンミールの中のスズメ」の意味らしい.
(Tico-Tico = アカエリシトド(スズメの仲間),Fubá = コーンミール.)
エサの中で楽しげにちょこちょこ動き回るスズメ?
1917年にZequinha de Abreuという人が作曲したショーロというブラジルのポピュラー音楽とのこと.
ここまでwikipedia.
ポップスでもクラシックでも演奏されていて,立ち位置がリベルタンゴや情熱大陸と近いような気がする曲です.
いい曲.
実はオケ編曲されていてベルリン・フィル/バレンボイムが演奏しちゃってます.
でも,やっぱりこの曲だったら,ポップスの自由でノリノリな演奏のほうが好み.
オケでも後半の盛り上がったところでアドリブかましたり,もっとはっちゃけて演奏したほうが面白いのに.
ちなみに,バイオリンを演奏しているDavid Garrettは,葉加瀬太郎みたいなクラシック・ポップスクロスオーバーな演奏者らしい.