以前、ちょっと小粋な Job Scheduler 「Rundeck.org – Job Scheduler and Runbook Automation」を教えていただいたので、ちょっと試したら、うまくインストールできずに取りあえず棚上げしてました。問題の先送りという、人生の諸悪の根源のアレです。
とりあえず、サーバが一杯増えてきてしまって、大変迷惑きわまりない状態になっているコトから、すぐにでも脱却したくなったので、まずせめてインストールだけでも…と本日がんばってみた成果をのせてみます。いくつか、納得のいかない事象が発生しました(‘A`)
目次
事前準備
我が家のサーバにインストールするんですから、そりゃまちがいなく対象は「Debian」になるわけで、このダウンロードページ「Rundeck.org – Downloads」を見ると、debian/ubuntu は「dpkg -i rundeck-2.4.1-1-GA.deb」だけでインストールできるかのように見える。
が、Admin document 「Installation」を見ると、前提条件に「Java」と書いてあるので、まず、本体の導入前に Java が必要なことはまちがいない様子。
折角だから、パッケージの情報を見てみると。
1 | $ sudo dpkg-deb --info rundeck-2.4.0-1-GA.deb |
このコマンドを実行してみると、こんな結果が返ってくるわけだ。
1 2 3 4 5 6 7 8 9 10 | Package: rundeck Version: 2.4.0 Section: utils Priority: optional Architecture: all Depends: openssh-client, java6-runtime | java6-runtime-headless | java7-runtime | java7-runtime-headless , adduser (>= 3.11) Maintainer: Noah Campbell <noahcampbell@gmail.com> Description: No ordinary wooden deck. You can build a bon fire on this deck. Rundeck provides a single console for dispatching commands across many resources. |
Admin document だと Java1.7.0_55 以上が必要そうに見えるけれども、Java6でも良さそう。
java6-runtime | java6-runtime-headless | java7-runtime | java7-runtime-headless
まぁでも、ボクは恐がりの小心者だから、Java7 使うよ!!
ということで、インストールコマンドは次の通り。
1 | # sudo apt-get install java7-runtime -y |
やたらめったら導入されると思うので、気長に待ってくだせぇ。
RUNDECK本体導入
ということで、「Rundeck.org – Downloads」から、最新の .deb パッケージをダウンロードして、指定されたコマンドのとおりです。
2017/2/7現在だと、次のコマンドでいける。
1 2 | # wget http://dl.bintray.com/rundeck/rundeck-deb/rundeck-2.4.1-1-GA.deb # sudo dpkg -i rundeck-2.4.0-1-GA.deb |
これだけ。便利ぇヽ(´ー`)ノ
properties の変更
インストール直後はまだ起動してない。このスキに、1つ、最低限変更がきっと必要と思われる設定があるので、そこだけ示しておく。オレ優しい。
/etc/rundeck/rundeck-config.properties
1 2 3 4 5 6 7 8 9 10 | #loglevel.default is the default log level for jobs: ERROR,WARN,INFO,VERBOSE,DEBUG loglevel.default=INFO rdeck.base=/var/lib/rundeck #rss.enabled if set to true enables RSS feeds that are public (non-authenticated) rss.enabled=false # change hostname here grails.serverURL=http://localhost:4440 dataSource.dbCreate = update dataSource.url = jdbc:h2:file:/var/lib/rundeck/data/rundeckdb;MVCC=true |
このファイルの中の
grails.serverURL=http://localhost:4440
ここ。
localhost の人は関係ないけれども、別のリモートのサーバに入れた人は、ここのURLでアクセスされるように aタグが書かれるので、ここを書き直しておきましょう。最初に、ログインしたら、突然、”http://localhost:4440” に飛ばされて意味不明になってびっくりしたわ。
/tmp/rundeck/ に注意
うまく起動するときと起動しないときがあって、とても謎だったんだけれども、/var/log/rundeck/service.log 見てると、/tmp/rundeck/ が “access denied” されてるときがあり、ナニゴトかとよく見てみれば
drwxr-xr-x 1 root root 0 Dec 16 22:49 rundeck
rundeck は root から
- user = rundeck
- group =rundeck
の状態で起動されるので、どうも、この user/group の権限が良くない様子。なので
1 | # sudo chown rundeck.rundeck /tmp/rundeck |
として上げるが吉。
さて、起動するぞ
起動方法は、フツーの debian 流。
1 | # sudo service rundeckd start |
すると、すぐに起動したかのようにコマンドが戻ってくるけれども、実はウソだ。Java系のWebアプリケーションにありがちな非同期起動だ。厄介だ。我が家の仮想 CoreOS環境化で、仮想 2core(AthlonII X2 220) 仮想メモリ2GB で 40秒くらいかかるね。以下、起動ログ (/var/log/rundeck/service.log)
1 2 3 4 5 6 7 8 9 10 11 | WARNING: HTTPS is not enabled, specify -Drundeck.ssl.config=/var/lib/rundeck/server/config/ssl.properties to enable. 2015-02-07 13:43:16.529:INFO:oejs.Server:jetty-7.6.0.v20120127 2015-02-07 13:43:19.259:INFO:oejw.StandardDescriptorProcessor:NO JSP Support for /, did not find org.apache.jasper.servlet.JspServlet 2015-02-07 13:43:21.574:INFO:/:Initializing Spring root WebApplicationContext INFO BootStrap: Starting Rundeck 2.4.0-1... INFO BootStrap: using rdeck.base config property: /var/lib/rundeck INFO BootStrap: loaded configuration: /etc/rundeck/framework.properties INFO BootStrap: RSS feeds disabled 2015-02-07 13:43:54.704:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/,file:/var/lib/rundeck/exp/webapp/},/var/lib/rundeck/exp/webapp 2015-02-07 13:43:54.824:INFO:/:Initializing Spring FrameworkServlet 'grails' 2015-02-07 13:43:54.930:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:4440 |
いくらか気になるのがあるけど、”INFO” だからいいかな…。ということで、最下行まで表示されたら、起動完了。
http://xxx.xxx.xxx.xxx:4440
でブラウザからアクセスすれば完了。
ログイン画面でたヽ(´ー`)ノ default では
- Username = admin
- Password = admin
でログインできる。ユーザー情報は /etc/rundeck/realm.properties 内に記載する模様。見たら分かる。
取りあえず、また次回。インストールできたら満足やろ( ´ー`)y-~~ 後は、これを chef化しておくぜ。これくらいなら楽だな。