栄養ブラウザの著作権は法律的に放棄できませんが、全ソースはGithubで公開されており、Webの知識があれば用途を問わず自由に使うことが出来ます。また、webサービスではありますが、ローカルでwebサーバーを起動しておけば、クローズ環境やスタンドアローンPCでもご利用いただけます(ただし、公開レシピなどはご利用いただけません)。
1.サーバーの準備
栄養ブラウザを動作させる最低構成はCGIの使用可能なWebサーバー、データベースとユーザーの作成権限ありのMariaDB(Mysqlでもok)、Rubyと各種gem、ImageMagic、mecabの5つです。これでおおよその機能が働きます。特殊なものは使用していないのでUnixライクサーバーで大抵動くと思います。逆にこれらの環境を準備できない方が栄養ブラウザを独自運用するのは困難です。
構成例1(公開サーバー)
OS: OpenBSD
Webサーバー: 標準のhttpd + slowcgi
DB: Mariadb
Ruby: ruby3(gems: exifr, mysql2, rmagick, clockwork, rqrcode, natto)
設定例(httpd.conf抜粋)
server "default"{
root "/var/www/htdocs"
connection{max request body 10485760}
location ".cgi"{ fastcgi socket "/var/www/run/slowcgi.sock"}
location "/nb/"{directory index index.cgi}
}
構成例2(開発環境)
OS: ubuntu(WLS2)
Webサーバー: lighttpd
DB: Mariadb
Ruby: ruby3(gems: exifr, mysql2, rmagick, clockwork, rqrcode, natto)
設定例(lighttpd.conf抜粋)
server.modules = (
"mod_indexfile",
"mod_access",
"mod_alias",
"mod_redirect",
)
server.document-root = "/var/www/htdocs"
index-file.names = ( "index.php", "index.html", "index.cgi" )
static-file.exclude-extensions = ( ".php", ".pl", ".cgi" )
2.ディレクトリ構成と栄養ブラウザスクリプトの取得
栄養ブラウザは標準で、設定ファイル・制御スクリプトはサーバーroot、本体スクリプトはドキュメントroot/nb/に置きます。適当な場所にGithubからダウンロードして、サーバーrootにコピーします。環境によってはドキュメントrootのディレクトリ名が異なりますので、webサーバーの設定かディレクトリ名を変更して下さい。あと各ファイルのオーナーとパーミッションをいい感じに変更しておきます。とりあえずcgiファイルとディレクトリの実行属性は必須です。
# git clone https://github.com/bacura/nb2020.git
# cp -r nb2020/* サーバーroot
3.栄養ブラウザの基本設定
栄養ブラウザの基本設定はnb2020-soul.rbに記載します。このファイルは絶対に外部から見える場所に置いてはいけません。セキュリティー的に最低限、管理者ID、DBユーザー名、DBRユーザー名、DBパスワードは変更しましょう。
$GM = 'gm' #管理者ID
$SERVER_PATH = '/var/www'
$HTDOCS_PATH = "#{$SERVER_PATH}/htdocs/nb"
$TMP_PATH = '/tmp'
$NBURL = 'http://localhost/nb/'
$MYURL = 'http://localhost/nb/'
$COOKIE_UID = 'UID2020'
$MYSQL_HOST = 'localhost'
$MYSQL_DB = 'nb2020'
$MYSQL_DBR = 'rr2020'
$MYSQL_USER = 'user' #DBユーザー名
$MYSQL_USERR = 'userr' #DBRユーザ名
$MYSQL_PW = 'password' #DBパスワード
4.データベースの初期化
# ruby nb2020-dbi.rb
(offline mode: enter name=value pairs on standard input)
# crtl+dを押す
DB Administrator name?
# データベース管理者権限のあるユーザー名を入力してEnter
DB Administrator password?
# データベース管理者権限のあるユーザーのパスワードを入力Enter
5.確認
インストールしたサイトにアクセスして栄養ブラウザが動いているか確かめます。下記は標準のディレクトリ構造の例です。ネット環境やサーバー設定に合わせてアクセスしてみて下さい。
インターネットに公開の場合
http(s)://ドメイン名/nb/
スタンドアローンの場合
http://localhost/nb/
6.GMパスワードの変更
初期状態では管理者IDにパスワードが未設定なのです。管理者IDでログインして⚙マークの各種設定からアカウント情報に行き、新しいパスワードを設定して下さい。

