Translate

2016年1月28日木曜日

CentOS7.2でamavisdとspamassassinが起動しなくなった



Server WorldのPostfix+Clamav+Amavisd
http://www.server-world.info/query?os=CentOS_7&p=mail&f=6

を参考にCentOS7.2SELINUXenforcingしたままメールサーバをあげたのだけど
何故かメールが送れなくなった。

で調べてみるとpostfixdovecotclamd@amavisdは動いているのに
amavisdspamassassinが止まっていた..

手動でsystemctl start amavisdしても動かない..

/var/log/maillog を眺めていてふと

 spamd[1865]: config: no rules were found! Do you need to run 'sa-update'?

なる文字を見つけた..

!これだよ..

sa-updateが動かない..
http://fight-tsk.blogspot.jp/2011/11/sa-update-d.html


Ubuntu 10.04LTSでメールサーバ上げた時やったやつ..
4年前にはまったやつじゃん..

おれ..全然成長しとらんわ...
..て、いうか、最初からメール動いてなかったんじゃ..


..と、いうわけで

http://www.apache.org/dist//spamassassin/source/

にある現時点の最新版

# cd /tmp
# wget http://www.apache.org/dist//spamassassin/source/Mail-SpamAssassin-rules-3.4.1.r1675274.tgz
# wget http://www.apache.org/dist//spamassassin/source/Mail-SpamAssassin-rules-3.4.1.r1675274.tgz.asc
# wget http://www.apache.org/dist//spamassassin/source/Mail-SpamAssassin-rules-3.4.1.r1675274.tgz.md5
# wget http://www.apache.org/dist//spamassassin/source/Mail-SpamAssassin-rules-3.4.1.r1675274.tgz.sha1
# sa-update --install ./Mail-SpamAssassin-rules-3.4.1.r1675274.tgz


してから

# systemctl start amavisd
# systemctl start spamassassin

したら..動きました..

/var/log/messages

 clamd: LibClamAV Warning: RWX mapping denied: Can't allocate RWX Memory: Permission denied
 clamd: LibClamAV Warning: Bytecode: disabling JIT because SELinux is preventing 'execmem' access.
 clamd: Run  'setsebool -P clamd_use_jit on'.


ってワーニングも出ていたので、

# setsebool -P clamd_use_jit on

しときました。

SELINUXenforcingのままメールサーバを立てる場合は気をつけて

2016年1月26日火曜日

CentOS7.2上にJenkinsをインストールしProxyを設定し更新したら「Signature verification failed in update site 'default'」というエラーが表示される

CentOS 7.2 のDVDイメージ(1511)が出たので、これをつかってOSをインストールして、Jenkinsを起動した。

で、プラグインの設定でProxyをセットして「保存」し、「更新」しようとしたら、


 Signature verification failed in update site 'default' (詳細)

と表示されて、プラグインを追加・更新することができない。

で、調べてみたら..

Java and Old Hash Algorithms
https://isc.sans.edu/forums/diary/Java+and+Old+Hash+Algorithms/16571/

という記事をみつけた。

CentOS 7.2のデフォルトJavaがJava1.8.0.71(執筆時点)になっており、
MD2もしくはRSAハッシュが1024ビット未満だとdisableになるように設定されているかららしい。


対処方法も書いていて、

#jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024

$JAVA_HOME/lib/security/java.securityの上記の行をコメントアウトすればよいとのこと。


CentOS7.2にFreeIPAを入れ、次にJenkinsをいれると、OpenJDK1.7.0とOpenJDK1.8.0両方はいるが、/usr/bin/javaalternativesで1.8.0側にリンクされている。


なので、
 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.71-2.b15.el7_2.x86_64/jre/lib/security/java.security
を編集して再起動したらアップデートありの赤マークが出てくるようになった


でも、みんな騒いでないなあ..なんでだろ..
ひょっとしてうちのproxyだけなのかなあ..



2016年1月12日火曜日

JenkinsのMQTT Nortify Pluginを使ってみる



Jenkinsのプラグインを検索していたら
"MQTT Nortification Plugin"
というイマドキなプラグインを見つけた。



ので無性に試してみたくなってJenkinsへインストールしてみた。

でジョブ設定に入って「ビルド後の処理の追加」を覗いてみると
MQTT Nortification」という欄ができていた。

追加するとMQTTブローカ先の指定やPublishするトピック名、メッセージ本体、QoSなどが設定できるようになっていた。


これを試すにはMQTTブローカが必要になる。

で、ふと思ったのだけどJenkins実行環境がproxy環境配下のDockerマシン上なので、BluemixのIoT Foundationに直接メッセージを送れない..

しょうがないので、同じDocker上に別コンテナでMosquittoをたちあげた




Jenkins側のジョブでは、
Broker URL欄に"tcp://localhost:1883"、
Credentials欄はなしのまま(Mosquittoで認証設定していないため)、
Topic欄は"iot-2/evt/status/fmt/json"(なんでもいいけどIoT FoundationのQuickstartでも動かせることができるように)、
Message欄は(IoT Foundation推奨フォーマットJSON形式の)
{
"d":{
"myName":"Jenkins Test"
"result":$BUILD_RESULT,
"url":$PROJECT_URL,
"culprits":$CULPRITS
}
}

とした。
MQTTブローカに最後のメッセージを1件のこして新たに追加されたSubscriberに対して最初にそのメッセージを送りたい場合はRetain Message欄をチェックするらしい。お試しでは使わないので何もしなかった。

で、ジョブを実行するとmosquitto_sub側のターミナルにメッセージが表示され、動作していることがわかった。




CULPRITSは空か..何が入るかはもう少し使ってみないとわからないが、少なくとも成功かどうかやジョブ名はSubscriber側におくることはできるようだ。


これで、Arduino側でLチカとか使えばXFDできそう..


Docker上でpublicイメージansi/mosquittoを使ってMosquittoをあげてみる



Proxy環境内で動作するMQTTブローカが必要になったので
DockerHubを検索してみた。

残念ながらOfficialがなかったので
一番ダウンロードの多い"ansi/mosquitto"を試してみた。

publicイメージなので、以下試したい人はat your own riskでやってください。



サイトのREADME.mdは超シンプル。

sudo docker pull ansi/mosquitto で取得して
sudo docker run -p 1883:1883 --name mosquitto -d ansi/mosquittoで実行しろ

としか書かれていない。

実行後、sudo docker exec -it mosquitto /bin/sh して
シェル対話実行可能状態にする。

Mosquitoには、コマンドでpublish/subscribeできる
コマンドmosquitto_pubmosquitto_subがあるので
Subscribeしたら標準出力させるように
mosquitto_subを使って動作確認してみる。

ldd /usr/local/bin/mosquitto_subすると、
/usr/local/libへのパスがないことがわかったので、
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib して
SOライブラリのパスを増やして
mosquitto_sub -t <Subscribeしたいトピック> で実行して
別のマシンでpublishしたらつながった。
#Publisher側プログラムがない人はmosquitto_pubを代わりに別ターミナルで動かせばいい

これで、
いちいちローカルにインストールしないでも
Mosquittoが使えるようになった。






ニワカIoT屋の人にもDocker環境は便利だ;-p

2015年11月26日木曜日

xrdp入れてリモートデスクトップ接続しようとしたら「VNC error - only supporting 8, 15, 16 and 24 bpp rdp connections」と出てつながらない


CentOS7 にKDEデスクトップ環境を入れて、xrdpをインストールし、クライアントPC(Windows7)からリモートデスクトップ接続しようとしたら、以下のメッセージが最後に出てきて接続できない..

VNC error - only supporting 8, 15, 16 and 24 bpp rdp connections


で/etc/xrdp/xrdp.iniをしらべてみたら..

max_bpp=32

という行を見つけた。

で、この値を24に変更したら動くようになった。

なんで動くようになったか、気になったのでしらべてみたら、以下のブログ記事を見つけた。

http://d.hatena.ne.jp/teandt/20151101

たしかに元のモニタのcolor設定は「TrueColor32bit」になっていて、これをそのままリモートデスクトップで..というわけにはいかないようだ。

..たぶん..

2015年10月6日火曜日

DockerHub上の公式イメージのみを使ってRedmineコンテナを起動する




CentOS上にRedmineサーバ(sameersbn/redmine)をDockerコンテナとして立ち上げる

を書いた時点では、実はなかったのだが..

しばらくみないうちにRedmineの公式イメージがDocker Hub上に公開されていた。

ので、Redmine/Postgres両方ともofficialのついた公式イメージだけ使ってRedmineサーバを起動するdocker-compose.ymlを書いてみた。

red_pgsql:
  image: postgres:9.4.4
  environment:
    - POSTGRES_USER=redmine
    - POSTGRES_PASSWORD=secret
    - LANG=ja_JP.utf8
red:
  image: redmine:3.0.5
  links:
    - red_pgsql:postgres
  volumes:
    - /redmine_files:/usr/src/redmine/files
  ports:
    - "8083:3000"


docker-compose up -d すれば立ち上がったのだけど..
Redmineのバージョンがまだ3.0.5か...
OfficialイメージのくせにRedmine最新版に対応しきれていない..

やはり前に使った sameersbn/redmine のほうが最新版だし、memcached連携なんかもできるようになっいて高負荷でも使えそうなコンテナ構成がとれそうだ..

もしかしたら隠しENVIRONMENTなんかもあるかもしれないけど..

使いやすさ的にはofficial、玄人向けはsammersbn/redmineってところかな..

2015年9月15日火曜日

CloudStack上のCentOSサーバの/をデータボリュームを使って拡張する

CloudStack上にデータディスクオファリングをSmall 30GBで構築したCentOSサーバインスタンスが1つある。

当然、30GBのデータディスク上に/が作成される。

OSのセットアップでデフォルトでディスクをきると、ボリュームグループ centos の論理ボリューム /dev/centos/root/ が作成される。

このインスタンスを一旦テンプレート化する。

で、このテンプレートでインスタンスを作るとルートボリュームは30GBのままだ。

ここで、インスタンスを作るときのデータディスクオファリングで別途Middile 60GBをチェックしても、起動したCentOSサーバ上は30GBのままだ。

この60GBは外付けHDD(物理ボリューム名/dev/vda)として別途追加されてる。

/dev/vdaは、当然まだなにもパーティションが切られていない状態となる。

なので / のディスクサイズを増やす場合は、通常のHDDを追加する手順で増やせば良い。



[root@harahara dev]# fdisk -l

Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x000a6440

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048    62914559    30944256   8e  Linux LVM

Disk /dev/mapper/centos-swap: 3221 MB, 3221225472 bytes, 6291456 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト


Disk /dev/mapper/centos-root: 28.5 GB, 28462546944 bytes, 55590912 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト


Disk /dev/vda: 64.4 GB, 64424509440 bytes, 125829120 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト

[root@harahara dev]# fdisk /dev/vda
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x3047076a.

コマンド (m でヘルプ): p

Disk /dev/vda: 64.4 GB, 64424509440 bytes, 125829120 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x3047076a

デバイス ブート      始点        終点     ブロック   Id  システム

コマンド (m でヘルプ): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
パーティション番号 (1-4, default 1): (Enter)
最初 sector (2048-125829119, 初期値 2048):
(Enter)
初期値 2048 を使います
Last sector, +sectors or +size{K,M,G} (2048-125829119, 初期値 125829119):
(Enter)
初期値 125829119 を使います
Partition 1 of type Linux and of size 60 GiB is set

コマンド (m でヘルプ): t
Selected partition 1
Hex code (type L to list all codes): L

 0  空              24  NEC DOS         81  Minix / 古い Li bf  Solaris       
 1  FAT12           27  Hidden NTFS Win 82  Linux スワップ  c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 隠し C: ド c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux 拡張領域  c7  Syrinx        
 5  拡張領域        41  PPC PReP Boot   86  NTFS ボリューム da  非 FS データ  
 6  FAT16           42  SFS             87  NTFS ボリューム db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux プレーン  de  Dell ユーティリ
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt        
 9  AIX ブート可能  4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access    
 a  OS/2 ブートマネ 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O       
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor     
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad ハ eb  BeOS fs       
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT           
 f  W95 拡張領域 (L 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC 
11  隠し FAT12      56  Golden Bow      a8  Darwin UFS      f1  SpeedStor     
12  Compaq 診断     5c  Priam Edisk     a9  NetBSD          f4  SpeedStor     
14  隠し FAT16 <32M 61  SpeedStor       ab  Darwin ブート   f2  DOS セカンダリ
16  隠し FAT16      63  GNU HURD または af  HFS / HFS+      fb  VMware VMFS   
17  隠し HPFS/NTFS  64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST SmartSleep  65  Novell Netware  b8  BSDI スワップ   fd  Linux raid 自動
1b  隠し W95 FAT32  70  DiskSecure Mult bb  隠し Boot Wizar fe  LANstep       
1c  隠し W95 FAT32  75  PC/IX           be  Solaris ブート  ff  BBT           
1e  隠し W95 FAT16  80  古い Minix    
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'

コマンド (m でヘルプ): p

Disk /dev/vda: 64.4 GB, 64424509440 bytes, 125829120 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x3047076a

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/vda1            2048   125829119    62913536   8e  Linux LVM

コマンド (m でヘルプ): w
パーティションテーブルは変更されました!

ioctl() を呼び出してパーティションテーブルを再読込みします。
ディスクを同期しています。
[root@harahara dev]# sfdisk -l /dev/vda

ディスク /dev/vda: シリンダ数 124830、ヘッド数 16、63 セクタ/トラック
sfdisk: 警告: パーティションテーブルは C/H/S=*/8/39 として作成されたようです
  (124830/16/63 のかわりに)。
このリストは、そのジオメトリと見なします。

Units: cylinders of 159744 bytes, blocks of 1024 bytes, counting from 0

デバイス ブート 始点    終点 #シリンダ #ブロック  Id  システム
/dev/vda1          6+ 403298- 403292-  62913536   8e  Linux LVM
sfdisk:                 開始: (c,h,s) 期待値 (6,4,21)  (2,0,33) を発見

sfdisk:                 終点: (c,h,s) 期待値 (1023,7,39)  (926,7,39) を発見

/dev/vda2          0       -       0          0    0  空
/dev/vda3          0       -       0          0    0  空
/dev/vda4          0       -       0          0    0  空

[root@harahara dev]# pvcreate /dev/vda1
  Physical volume "/dev/vda1" successfully created
[root@harahara dev]# pvdisplay /dev/vda1
  "/dev/vda1" is a new physical volume of "60.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/vda1
  VG Name              
  PV Size               60.00 GiB
  Allocatable           NO
  PE Size               0  
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               ARBrev-hdcQ-G8AI-wHug-7bVa-mbWV-O1JF1o
  
[root@harahara dev]# vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID            
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               29.51 GiB
  PE Size               4.00 MiB
  Total PE              7554
  Alloc PE / Size       7554 / 29.51 GiB
  Free  PE / Size       0 / 0  
  VG UUID               KkEah7-mBBq-6CHl-P8Pt-9sL5-MImr-33FL11
  
[root@harahara dev]# vgextend centos /dev/vda1
  Volume group "centos" successfully extended
[root@harahara dev]# vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID            
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               89.50 GiB
  PE Size               4.00 MiB
  Total PE              22913
  Alloc PE / Size       7554 / 29.51 GiB
  Free  PE / Size       15359 / 60.00 GiB
  VG UUID               KkEah7-mBBq-6CHl-P8Pt-9sL5-MImr-33FL11
  
[root@harahara dev]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                HtdSmz-eYJ4-WOge-cBpU-1WkF-x7rw-J58Ty6
  LV Write Access        read/write
  LV Creation host, time harahara, 2015-08-25 11:49:48 +0900
  LV Status              available
  # open                 2
  LV Size                3.00 GiB
  Current LE             768
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
  
  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                GQgsjt-uIf2-8Y6Y-KJZm-s6Xu-OJW2-l85y6R
  LV Write Access        read/write
  LV Creation host, time harahara, 2015-08-25 11:49:48 +0900
  LV Status              available
  # open                 1
  LV Size                26.51 GiB
  Current LE             6786
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
  
[root@harahara dev]# vgdisplay centos
  --- Volume group ---
  VG Name               centos
  System ID            
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               89.50 GiB
  PE Size               4.00 MiB
  Total PE              22913
  Alloc PE / Size       7554 / 29.51 GiB
  Free  PE / Size       15359 / 60.00 GiB
  VG UUID               KkEah7-mBBq-6CHl-P8Pt-9sL5-MImr-33FL11
  

[root@harahara dev]# lvextend -L 86.5G /dev/centos/root
  Size of logical volume centos/root changed from 26.51 GiB (6786 extents) to 86.50 GiB (22144 extents).
  Logical volume root successfully resized

[root@harahara dev]# xfs_growfs/                                                           
meta-data=/dev/mapper/centos-root isize=256    agcount=4, agsize=1737216 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=6948864, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=3393, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 6948864 to 22675456
[root@harahara dev]# df -k
ファイルシス            1K-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/centos-root    90688252 3913528 86774724    5% /
devtmpfs                    1932004       0  1932004    0% /dev
tmpfs                       1941424       4  1941420    1% /dev/shm
tmpfs                       1941424    8584  1932840    1% /run
tmpfs                       1941424       0  1941424    0% /sys/fs/cgroup
/dev/sda1                    508588  147940   360648   30% /boot
[root@harahara dev]#

2015年9月10日木曜日

RedmineサーバのURLをルートではなく/redmineで運用する

Redmineサーバをインストールする手順では本家でもルートURLにインストールする方法だけ書かれている。

でもredmine, jenkins, subversion(WebDAV), roundcube..といった機能を1つのサーバで立ち上げたい場合は、どうしても/redmineとかのURLで立ち上げたい。


いろいろためしてみたところ、以下の方法でうまく言った。

/opt/redmine 以下に Redmine3.1.xがインストールされている場合は、以下のように設定ファイルを書き換えれば良い。



/etc/httpd/conf.d/redmine.conf

LoadModule passenger_module /usr/lib64/ruby/gems/2.2.0/gems/passenger-5.0.16/buildout/apache2/mod_passenger.so

        PassengerRoot /usr/lib64/ruby/gems/2.2.0/gems/passenger-5.0.16
        PassengerDefaultRuby /usr/bin/ruby

RailsBaseURI    /redmine

        # This relaxes Apache security settings.
        AllowOverride all
        # MultiViews must be turned off.
        Options -MultiViews
        Options -Indexes
        #Options Indexes ExecCGI FollowSymLinks
        # Uncomment this if you're on Apache >= 2.4:
        Require all granted


そして/etc/httpd/conf/httpd.confDocumentRoot/var/www/htmlの場合は、

ln -s /var/www/html/redmine /opt/redmine/public
を実行し、systemctl restart httpdすれば/redmineでRedmineが上がるようになった。



2015年8月20日木曜日

Subversion + Apache HTTP Server + WebDav で FreeIPA を認証に使用する




最近の若い人たちは UNIX をさわろうとしない。

なのでSubversionをWebDAV経由で使用させるときの
ユーザID、パスワード管理をhtpasswdコマンドでやらせようとしたら、
結構な力で拒否られそう..

そうならないようにユーザID、パスワードを管理する
Web UI を提供してやらなきゃならないのだけど..



で、考えた挙句 FreeIPA のWeb UIを使わせて
パスワード管理させ、
Subversion+WebDAV側はBASIC認証をやめて
FreeIPA側の認証機能を使わせようと考えた。

FreeIPAは認証にKerberos、認可にLDAP(OpenLDAP)を使っているので、
最初にApacheのモジュールとしてmod_ldapを追加する必要がある。

CentOS7なら、yum -y mod_ldapしておく。

/etc/httpd/conf.modules.d/10-subversion.conf (CentOS7でyumをつかってmod_dav_svnを入れた場合) を

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
LoadModule dontdothat_module  modules/mod_dontdothat.so
##
#Alias   /svn                    /var/www/svn
<Location /svn>
        DAV                     svn
        SVNParentPath           /var/www/svn/

        AuthType        Kerberos
        AuthName        "Kerberos Login"
        KrbMethodNegotiate      on
        KrbMethodK5Passwd on
        KrbServiceName HTTP
        KrbAuthRealms HARA2.LOCAL
        Krb5KeyTab /etc/httpd/conf/ipa.keytab
        KrbSaveCredentials on
        AuthLDAPUrl     ldap://tower.hara2.local/dc=hara2,dc=local?krbPrincipalName
        Require valid-user
</Location>



と書き換えてsystem restart httpd.serviceすればOK。

ちなみにKerberos認証ではなくすべてBASIC(LDAP)認証したい場合は、Location要素内を以下のようにすればよい。

2015/09/18追記:<注意>
以下の設定ではFreeIPA側で無効化したアカウントでもSubversionにアクセスできてしまうことがわかりました。Kerberos側(上)の方を使用してください。

<Location /svn>
        DAV                     svn
        SVNParentPath           /var/www/svn
        AuthType        Basic
        AuthName        "WebPot Collaboration Login(LDAP)"
        AuthBasicProvider       ldap
        AuthLDAPURL     ldap://tower3.webpot.local/cn=users,cn=compat,dc=webpot,dc=local?uid?sub?(objectClass=*)
        Require         ldap-filter objectClass=posixAccount

</Location>


もしDNSにtower.hara2.localが入っていないSubversionクライアントPCの場合はWindows\System32\drivers\etc\hoststower.hara2.localのエントリを追加してやればよい。



というわけでめでたくFreeIPAのUIで管理するようになったのだけど、
FreeIPAの画面って結構リッチというか使っていない属性が結構あるから
まようかもなあ..


2015年8月18日火曜日

CentOS7にFreeIPAをインストール中pkispawnコマンドでエラーになる



CentOS7上にFreeIPAをインストールしようとして

[CentOS 7][FreeIPA]IPAサーバーをインストールする。
http://itarc1.blog.fc2.com/blog-entry-15.html

を参考に作業していたところ
ipa-server-install --setup-dns --mkhomedir
を実行して間もないところで、以下のメッセージが表示され先に進めなくなってしまった。


Configuring certificate server (pki-tomcatd): Estimated time 3 minutes 30 seconds
  [1/20]: creating certificate server user
  [2/20]: configuring certificate server instance
ipa         : CRITICAL failed to configure ca instance Command '/usr/sbin/pkispawn -s CA -f /tmp/tmpxxxxxx' returned non-zero exit status 1
Configuration of CA failed


パスワード文字列に%が入ってるとダメとかいう記事もみかけたが、どうしても見つからない..

でさらにイロイロ検索していたところ、

Bug 953488 - CRITICAL failed to configure ca instance Command '/usr/sbin/pkispawn ...
https://bugzilla.redhat.com/show_bug.cgi?id=953488

をみつけた。

このなかに環境変数HTTP_PROXYHTTPS_PROXYを指定していると動かないという記述をみつけ、unset HTTP_PROXYunset HTTPS_PROXYしてやり直してみたら..うまく行った..

あとあと使うからと思って.bashrcに書いていたのが仇となった..


も~見つけるまで3時間かかったよ..

2015年8月11日火曜日

Arduino YUN mini を初期設定してWiFiルータにつなぐ

スイッチサイエンスのページを見ていたら、Arduino YUN miniというボードが販売されていた。

スイッチサイエンス:Arduino YUN mini


https://www.switch-science.com/catalog/2307/

どうもEthernetコネクタがなくなり、ボディも小型になったようだ。



Arduino社純正のボードでは、IoTのゲートウェイとして最有力候補は
これまではArduino YUN だったが、
もしこのminiが簡単に動くようならこっちのほうがいい。

なんたって小さいし..

で早速購入してみたが..
あれ?YUNと同じ値段だ..

コストパフォーマンスはないのね..


しかもこの値段だとIntel Edison単体とどっこいどっこいか..



YUNの場合はEtherコネクタがあったので、最初こっちをルータにつないでWeb UIを開いてWiFi設定ができたが、このYUN miniはmicro USB以外のコネクタがない。

電源もおそらくこのmicroUSBかVin給電になるのだとはおもうが..

で、調べてみたら。


1. Arduino YUN miniとPCをmicroUSBでつなぐ
最新の開発環境を入れていれば、その中に入っている最新ドライバでちゃんと認識する。
2. PCのWiFi設定を開いて Lininoから始まるアクセス先が出てくる

3. WiFiでLinino~とつなぐ

4. ブラウザを起動し「http://192.168.240.1/」を開く
するとLininoのWeb UIが表示される

5. 初期パスワード「doghunter」を入力する

6. CONFIGUREボタンを押す

7. WIRELESS PARAMETERSのDETECTED WIRELESS NETWORKSから接続したいSSIDを選択する

8. PASSWORD欄にSSIDのパスフレーズを入力し、CONFIGURE & RESTART ボタンを押す

9. プログレスバーが100%になったらPCのWiFi設定をYUN miniと同じSSIDで設定し直し、接続する

10. YUN miniのアドレスへssh接続する(rootのパスワードはdoghunterもしくは変更したパスワード文字列)


あとはYUNと同じでWiFiドライバではなくBridgeドライバでSketchをかけばOK。

もしSSIDやパスフレーズを誤って設定した場合は、本体のタイトルロゴのついた銀色の板右下にある2つのリセットスイッチのうち「32U4 RST」とかいてあるほうのリセットボタンを押して再度micro USBケーブルを繋ぎ直せば、Linino~のアクセスポイントが有効になり、再チャレンジできるようになっている、



ピンがむき出しなので、結局ブレッドボードにかませて使うことになると思うが、スイッチサイエンス社の普通のブレッドボードに乗せると、YUNより大きくなってしまう..

使い道、考えてみるか..

Google Colab相当の環境をローカルPC上のDocker Composeで実現する

 Docker Composeの有料版に、お金を払いたくない ^H^Hが使えない ため古いゲーミングPC(GeForce3080)にDocker Composeを入れてその上のコンテナでGoogle Colab相当のノート操作ができないかためしてみた: コンテナイメージとして a...