うちのサーバ QNAP TS-231P の設定を ansible で管理したいなぁと思っていたんだけど、なかなか一筋縄ではいかなかった。
ようやくやれるようになったので、メモしておく。
準備
QNAPコントロールパネルなんて使いたくないからansibleをやりたいのだが、残念ながら最低限次のことだけはコントロールパネルでやらなくてはならない。
コントロールパネルが出るまでの設定、ハードディスクやボリュームの設定は適宜やるとして、QNAPコントロールパネルが開けるようになってから以下のことをする。
ネットワークとサービス / SSH接続
SSH接続を許可。SFTPも有効にする。ポートは一応22じゃなくて別のに変えておく。
Python3
AppCenter で Python3 をインストール。
Python3 は /share/CACHEDEV1_DATA/.qpkg/Python3
に入る。(本当は /sbin/getcfg Python3 Install_Path -f /etc/config/qpkg.conf
でとってくるんだろうけど)
この中の src/bin
にある。
しかしなぜかパーミッションが0666なので、sshで入って chmod +x /share/CACHEDEV1_DATA/.qpkg/Python3/src/bin/*
で実行できるようにしておく。
ansible の準備
以下の設定を加える。hostsでもhost_varsでもgroup_varsでもどこでもいいのだが、「QNAP関連の設定」ということでgroup_varsに書く。ポート番号とかIPアドレスとかはhostsの方に書く。
ansible_python_interpreter: /share/CACHEDEV1_DATA/.qpkg/Python3/src/bin/python3
ansible_ssh_user: admin
これで一応 ansible が通るようになった。
注) いろいろ試した後の振り返りメモなので、もしかしたらこれだけではうまくいかないかもしれない。