LoginSignup
5

More than 3 years have passed since last update.

posted at

updated at

OSS管理ツール SW360 - オープンソースをオープンソースで管理しよう (2.設定編 その1)

This article is written in Japanese and I am writing English version now. If you have any questions in English, please send me an email. kouki1.hama@toshiba.co.jp

この記事はSW360の設定方法を説明する記事です。 SW360のインストール方法や概要はOSS管理ツール SW360 - オープンソースをオープンソースで管理しよう (1.インストール編) に記載しています。

はじめに

今回の設定編で構築されるツールの全体像は以下の図のようになる。
all.png

図における各ソフトウェアの役割は下記のとおり。

  • SW360: ソフトウェアコンポーネントとその利用状況を管理するソフトウェアカタログツール
  • Fossology: 管理するコンポーネントがOSSの場合にOSSライセンスの解析と解析結果のレビューを行うツール

製品開発でこれらのツールを用いてソフトウェアコンポーネントを管理するには、大まかに次の3ステップを行うことになる。
1. SW360: OSSコンポーネントの一般情報とソースコードの登録
2. Fossology: OSSライセンス解析とレビュー
3. SW360: 開発プロジェクトへのOSS利用状況の登録

今回の設定編その1では、下記の 1~3 の作業を始めるために必要な作業に焦点をあてて解説。

インストール完了後SW360利用開始までに必要な作業は大きく分けて次の6つになる。
1. SW360利用ユーザの設定・追加
2. 検索機能の有効化
3. Fossologyとの連携設定
4. 脆弱性情報自動取得設定
5. ライセンス情報管理設定
6. ログ取得設定

追記:以下で利用方法を記したドキュメントを公開
https://docs.google.com/document/d/1wNV--UhIDiRPP10Hhk0vspiKtoLupug7v2AAu4yxEC8/edit?usp=sharing

誰でも閲覧編集できるので,ご確認ください.

1. ユーザ情報設定

1.1 初期ユーザ設定

前記事の通りインストールが完了していると、Home画面は以下のようになっている。
0.png

しかし、このままではユーザの設定が行われておらず一部の画面が表示されない。例えば、Componentsを開くとunavailableとなっている。

1.png

ユーザ設定を行うには画面右上の[Admin]->[Control Panel]から移動する。
* ここからは主にLiferay 6.2での設定作業となる。参照:ドキュメント(PDF)

2.png

[Users and Organizations] と [User groups] をそれぞれ行う。
3.png

まず、[Users and organizations]の設定を行う。
4.png

[Users and Organizations] -> [All Organization] -> [+ Add] -> [Regular Organization] を選択

Details に 適当な Organization名 を記入し、[Save]する。
5.png

次に[User Groups] -> [+add] でグループ追加を行う 
6.png

Name(必須) と管理に必要な項目を適宜入力して[Save]する。
7.png

登録に成功したら以下のように表示される
8.png

ここまでで作成した、[Organization] と [User Groups]をユーザ情報として登録する。
[User and Organization] -> [Users Without an Organization] -> ユーザ -> [Actions] -> Edit から編集。
9.png

ユーザの編集画面が出てくるので[Organizations] [User Groups]にそれぞれ移動して登録を行う。
10.png

Organizations の場合
11.png
12.png

User Groups の場合も同様に選択
13.png

設定後は右下の[Save]で登録を行う
14.png

[Users and Organizations] -> [All Users] で登録されていることが確認できる
14.png

ここまでできたら一度サインアウトする
15.png

その後再度ログインする。
16.png

My Sites の下の目(プライバシーマーク?)から再度 [Components] に移動すると、今度はユーザ設定前は見れなかったページが確認できるようになっている。
16.png

また、 Preferences から Group が登録されていることが確認できる
* LiferayのOrganization が SW360のGroupになっていることに注意

17.png

1.2 追加ユーザ設定

また、ユーザを増やしたい場合は、もう一度サインアウトしトップ画面の[Sing up] -> [Create Account]から行う。
* Request Roleについてはここを参照
18.png

Sing Up 後 Moderation request has been sent. と表示されれば Sing UpはOK.
19.png

このままでは、以下のように先ほどSing UPしたユーザでSign inできないので、ユーザのActive化を行う。
20.png

まずは、最初に作った(admin権限を持つ)ユーザでSing inを行う。その後 [Admin] -> [Control Panel]

21.png

[Control Panel] -> [Users and Organizations]
22.png

[Users and Organizations] -> [All Users] -> Sing Upしたユーザの[Actions] -> Activate
*なお、Job Titleにアドレスが入っている理由は調査中
23.png
24.png

現在のユーザをサインアウトして、先ほどSign Up したユーザでログインすると以下の画面が表示される
25.png

上記が画面下[I agree]でPassword Reminderの設定が開始する。
26.png

[Save]後 ログイン完了
26.png

他にもユーザの登録方法がいくつかあるが、ここでは割愛する。

2. 検索機能有効化

SW360は検索にCouchdb-luceneを利用する。インストールや設定方法はここが参考になる。SW360のgithubにあるwikiだとここここにも少し設定方法などが記載されている。

これらを参考にCouchdb-luceneの導入を行う。作業前に必要に応じてproxy設定をしておく。

$ export http_proxy="http://proxy.example:port"
$ export https_proxy="http://proxy.example:port"
$ export no_proxy="localhost,127.0.0.1,noproxy_example"

最初にSW360停止しておく

$ cd liferay-portal-6.2-ce-ga5/tomcat-7.0.62/bin
$ ./catalina stop

続いてCouchDB停止

$ sudo systemctl stop couchdb.service

Couchdb-luceneをソースからビルド
- (参考) Couchdb-lucene の Minimum System Requirements
-- Java 1.8 is required; Oracle Java 8 or OpenJDK 8 are recommended.

$ git clone https://github.com/rnewson/couchdb-lucene.git
$ cd couchdb-lucene
$ mvn
$ cd target

成功するとtargetが作成され、中に以下のようなファイルができている

27.png

Couchdb-luceneを利用するには上記をzipを展開

$ unzip couchdb-lucene-2.2.0-SNAPSHOT-dist.zip

Couchdb-luceneを起動する前に Couchdbのlocal.iniの設定する。

$ cd /usr/local/etc/coucdb/
$ vi local.ini

以下を追記(33行目)[httpd_global_handlers]に追記

_fti = {couch_httpd_proxy, handle_proxy_req, <<"http://127.0.0.1:5985">>}

28.png

上記の設定が完了したらCouchdbを再起動

$ sudo systemctl start couchdb.service

Couchdb-luceneを先ほど展開したzipの中にあるrunを実行させる。その後SW360を起動させる。
* マシンを再起動したときはもう一度runするか、予め自動で起動するように設定しておく

# Couchdb-lucene起動
$ cd /PATH/couchdb-lucene/target/couchdb-lucene-2.2.0-SNAPSHOT/bin
$ nohup ./run & 

# SW360起動
$ cd liferay-portal-6.2-ce-ga5/tomcat-7.0.62/bin
$ ./catalina start

上記が完了すればSW360の全文検索機能が有効になる。

3. FOSSologyと連携

本章ではFossologyとの連携設定を紹介する。ただし、Fossoloyへソースを送付する方法などの詳細な使い方は後日紹介することにし、ここでは、あくまで設定の説明にとどめる。

3.1 Fossology 情報

Fossologyの紹介や利用方法などは参考になりそうなリンクを以下に貼っておくにとどめる。
Fossology公式
Fossology Github
Fossologyインストール方法
Fossologyインストール方法 日本語

3.2 Fossology と SW360の連携

基本的な手順はSW360 GithubのDeploy-FOSSologyに記載されている。ここを参考に手順紹介を行う。

以下 Fossologyが動いてるサーバにて、設定を行う

最初にssh-keygenでキーの作成を行う
- 以下の例はvagrant上で動いてるFossologyにアクセス
-- 他でインストールし場合は適宜読み替える

$ ssh-keygen 

鍵の権限設定

$ ssh vagrant@127.0.0.1 -p 2222
$ sudo useradd -m sw360 -g fossy
$ sudo su sw360
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh

作成したキーを配置する

$ cp /vagrant/sw360ssh/authorized_keys ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys
$ cd /PATH/TO/liferay/apache-tomcat-7.0.X/webapps/fossology/WEB-INF/classes 
$ vi fossology.properties

fossology.propertiesに配置した鍵の記述をする
- id_rsa.pubはfossologyサーバの公開鍵

fossology.properties
fossology.host = 127.0.0.1
fossology.port = 22
fossology.user = sw360
fossology.key.file = /id_rsa
fossology.key.pub.file = /id_rsa.pub

まずはadmin権限を持つユーザ(基本的には一番最初に作ったユーザ)でログインする。
そして、[Admin] -> [Fossology]と移動
29.png

以下の画面が表示される。KnownFingerPrintsがあることを確認。(なければ鍵の設定にミスがある)
ここにある[Download Public key]はFossologyの動いてるサーバの公開鍵情報。
29.png

Fossologyの動いてるサーバの公開鍵情報鍵の例
30.png

次に[KnownFingerPrints]のチェックマークを付けて[Accept fingerprint]をクリックし、
[Check connectivity To Fossology Server]をクリックしてSUCCSESSが表示されたら、sw360とfossologyの通信は成功である。
31.png

最後にDeploy Scripts To Fossology Serverでスクリプトを送る。これも成功したらSUCCSESSが表示される。
32.png

Fossologyのサーバをターミナル等で開くと、homeに以下の五つのファイルがあることが確認できる。
- duplicateUpload
- folderManeger
- getStatusOfUplad
- uploadFromSW360
- utilSW360
32.png

さいごに

ここまでの設定が完了すると、コンポーネント登録などをGUI上で一通り行うことが可能である。ただし、脆弱性やライセンスの登録設定については以下の記事を確認してほしい。

OSS管理ツール SW360 - オープンソースをオープンソースで管理しよう (3.設定編 その2)

この記事のフィードバックやコメント等はいつでもお待ちしております。気軽にお申し付けください。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
5