この記事で取り扱うSW360のバージョンはとても古いです。以下を参照に最新のバージョンの導入をお勧めします。(2023年追記)
https://www.eclipse.org/sw360/docs/deployment/nativeinstall/
This article is written in Japanese and I am writing an English version now. If you can read English, you can check https://www.eclipse.org/sw360/docs/deployment/nativeinstall
If you have any questions in English, please send emails to sw360-dev@eclipse.org
この記事はSW360の設定方法を説明する記事です。 SW360のインストール方法や概要はOSS管理ツール SW360 - オープンソースをオープンソースで管理しよう (1.インストール編) に記載しています。
#はじめに
今回の設定編で構築されるツールの全体像は以下の図のようになる。
図における各ソフトウェアの役割は下記のとおり。
- SW360: ソフトウェアコンポーネントとその利用状況を管理するソフトウェアカタログツール
- Fossology: 管理するコンポーネントがOSSの場合にOSSライセンスの解析と解析結果のレビューを行うツール
製品開発でこれらのツールを用いてソフトウェアコンポーネントを管理するには、大まかに次の3ステップを行うことになる。
- SW360: OSSコンポーネントの一般情報とソースコードの登録
- Fossology: OSSライセンス解析とレビュー
- SW360: 開発プロジェクトへのOSS利用状況の登録
今回の設定編その1では、下記の 1~3 の作業を始めるために必要な作業に焦点をあてて解説。
インストール完了後SW360利用開始までに必要な作業は大きく分けて次の6つになる。
- SW360利用ユーザの設定・追加
- 検索機能の有効化
- Fossologyとの連携設定
- 脆弱性情報自動取得設定
- ライセンス情報管理設定
- ログ取得設定
-
設定編その(4~6) や 設定後の詳細な利用方法は以下
OSS管理ツール SW360 - オープンソースをオープンソースで管理しよう (2.設定編 その2) -
他の参考資料
追記:以下で利用方法を記したドキュメントを公開
https://docs.google.com/document/d/1wNV--UhIDiRPP10Hhk0vspiKtoLupug7v2AAu4yxEC8/edit?usp=sharing
誰でも閲覧編集できるので,ご確認ください.
1. ユーザ情報設定
1.1 初期ユーザ設定
前記事の通りインストールが完了していると、Home画面は以下のようになっている。
しかし、このままではユーザの設定が行われておらず一部の画面が表示されない。例えば、Componentsを開くとunavailableとなっている。
ユーザ設定を行うには画面右上の[Admin]->[Control Panel]から移動する。
- ここからは主にLiferay 6.2での設定作業となる。参照:ドキュメント(PDF)
[Users and Organizations] と [User groups] をそれぞれ行う。
まず、[Users and organizations]の設定を行う。
[Users and Organizations] -> [All Organization] -> [+ Add] -> [Regular Organization] を選択
Details に 適当な Organization名 を記入し、[Save]する。
次に[User Groups] -> [+add] でグループ追加を行う
Name(必須) と管理に必要な項目を適宜入力して[Save]する。
ここまでで作成した、[Organization] と [User Groups]をユーザ情報として登録する。
[User and Organization] -> [Users Without an Organization] -> ユーザ -> [Actions] -> Edit から編集。
ユーザの編集画面が出てくるので[Organizations] [User Groups]にそれぞれ移動して登録を行う。
[Users and Organizations] -> [All Users] で登録されていることが確認できる
My Sites の下の目(プライバシーマーク?)から再度 [Components] に移動すると、今度はユーザ設定前は見れなかったページが確認できるようになっている。
また、 Preferences から Group が登録されていることが確認できる
- LiferayのOrganization が SW360のGroupになっていることに注意
1.2 追加ユーザ設定
また、ユーザを増やしたい場合は、もう一度サインアウトしトップ画面の[Sing up] -> [Create Account]から行う。
- Request Roleについてはここを参照
Sing Up 後 Moderation request has been sent. と表示されれば Sing UpはOK.
このままでは、以下のように先ほどSing UPしたユーザでSign inできないので、ユーザのActive化を行う。
まずは、最初に作った(admin権限を持つ)ユーザでSing inを行う。その後 [Admin] -> [Control Panel]
[Control Panel] -> [Users and Organizations]
[Users and Organizations] -> [All Users] -> Sing Upしたユーザの[Actions] -> Activate
*なお、Job Titleにアドレスが入っている理由は調査中
現在のユーザをサインアウトして、先ほどSign Up したユーザでログインすると以下の画面が表示される
上記が画面下[I agree]でPassword Reminderの設定が開始する。
他にもユーザの登録方法がいくつかあるが、ここでは割愛する。
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が作成され、中に以下のようなファイルができている
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">>}
上記の設定が完了したら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.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]と移動
以下の画面が表示される。KnownFingerPrintsがあることを確認。(なければ鍵の設定にミスがある)
ここにある[Download Public key]はFossologyの動いてるサーバの公開鍵情報。
次に[KnownFingerPrints]のチェックマークを付けて[Accept fingerprint]をクリックし、
[Check connectivity To Fossology Server]をクリックしてSUCCSESSが表示されたら、sw360とfossologyの通信は成功である。
最後にDeploy Scripts To Fossology Serverでスクリプトを送る。これも成功したらSUCCSESSが表示される。
Fossologyのサーバをターミナル等で開くと、homeに以下の五つのファイルがあることが確認できる。
- duplicateUpload
- folderManeger
- getStatusOfUplad
- uploadFromSW360
- utilSW360
#さいごに
ここまでの設定が完了すると、コンポーネント登録などをGUI上で一通り行うことが可能である。ただし、脆弱性やライセンスの登録設定については以下の記事を確認してほしい。
OSS管理ツール SW360 - オープンソースをオープンソースで管理しよう (3.設定編 その2)
この記事のフィードバックやコメント等はいつでもお待ちしております。気軽にお申し付けください。