OSS な RSS リーダー「CommaFeed」を入れてみた (その1)

たまにはIT屋っぽいことを書いてみるテスト(
ずいぶん前に フレッシュリーダー の開発が終了してから RSS リーダーを使っていなかったんだが、My Yahoo! が終了してしまいいろいろニュースの類を読むのが面倒になってしまってですね・・・(
というわけで再度 RSS リーダーを用意しようと考えたわけだが、さすがにフレッシュリーダー使うわけにもいかないので探していたところ「CommaFeed」がよさげだったので、ウチの鯖に入れて動かしてみた その過程のメモを公開してみるテスト(

目標 - RSS リーダ CommaFeed を構築し、外部から https にてアクセスできるようにする
前提 - Webサーバ(SSL設定も含む)とDBサーバは構築済みであること(ここでは説明しません)

● 環境の準備

CommaFeed は Java アプリケーションなので、Java 実行環境を用意する。OpenJDK を利用。もしかしたら devel は要らないかも・・・(未確認)

# yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel

● ソースコードを入手

github上にあるので、gitコマンドを使用して取得する ここでは /opt 配下に配置した

# cd /opt
# git clone https://github.com/Athou/commafeed.git

あとの手順で必要になるので、取得したディレクトリごとすべてのファイル/ディレクトリの owner/group を一般ユーザのものに変更しておく

# chown -R ippanuser.ippangroup /opt/commafeed

● コンパイル

一般ユーザーにスイッチしてからコンパイルする スーパーユーザー(root)のままコンパイルしようとすると、途中でエラーになるので注意・・・

# su - ippanuser
$ cd /opt/commafeed
$ ./mvnw clean package

● 設定ファイルを編集

サンプル設定ファイルが用意されているので、それをコピーして修正する

$ cp config.yml.example config.yml
$ vi config.yml

DBサーバ(MySQLなど)を利用しない(/opt/commafeed 配下に作成されるファイルを利用)場合は特に変更する必要はない (config.ymlのコメントにも書いてあるが) DB サーバを利用する場合は database: セクションを編集する

※ MySQL を利用する場合は下記のとおりとする(DBおよびユーザはあらかじめ作成しておくこと)

driverClass → com.mysql.jdbc.Driver
url→ jdbc:mysql://<接続先>/<DB名>?autoReconnect=true&failOverReadOnly=false&maxReconnects=20&rewriteBatchedStatements=true
user → 指定した DB にアクセスできるユーザ名
password → 上記ユーザーのパスワード

その他必要に応じて変更する

● 初回実行

フォアグラウンドで一度実行する

$ java -Djava.net.preferIPv4Stack=true -jar target/commafeed.jar server config.yml

初回起動時、databaseセクションで指定したDB/ファイルに初期データが作成される
エラーが出なければとりあえず問題はない
コンソールをもう1枚開いて TCP/8082 ポートが LISTEN されていることを確認できればなおよい
確認できたら CTRL+C で終了させる

● Webサーバからリバースプロキシを設定

このままだと http で直接 8082 番ポートにアクセスする必要がある https でアクセスするためにリバースプロキシを使う設定をWebサーバに入れる ここでは詳しく説明しないので、必要に応じてほかのサイトとか参照してほしい・・・はいそこ手抜きとか言わない!

例えば Apache だと ssl.conf とかに
ProxyPass /commafeed/ http://localhost:8082/
ProxyPassRecerse /commafeed/ http://localhost:8082/
を追加するとか・・・

● 設定ファイル調整

リバースプロキシ経由でアクセスする場合、そのままでは一部不具合(アイコンが表示されないなど)があるので、設定ファイルを変更する

$ vi config.yml
app:セクションの publicUrl を「リバースプロキシ経由時における commafeed トップページの URL」に変更する

● バックグラウンドで実行

自動起動設定とかは次回(あるのか?)に説明するので、ここではとりあえず & をつけてバックグラウンド実行(

$ java -Djava.net.preferIPv4Stack=true -jar target/commafeed.jar server config.yml &

● ブラウザからアクセスしてログイン確認

ブラウザからトップページにアクセスし、初期ユーザ/パスワード(admin/admin)でログインできれば完了!

とまあざっくり流れを説明するとこんな感じですかね・・・。
あるかどうかわからない次回は・・・(

  • config.yml の設定項目説明
  • 自動起動設定
  • 画面のカスタマイズ(少しだけ)
  • その他カスタマイズ

あたりを予定。期待しないで待て(しろめ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です