プロジェクト管理システム - Redmine - FreeBSD 版 インストール - データベースの設定等

 
1. ports インストール後
2. データベースの設定
3. configuration.yml の設定
4. gem パッケージのインストール

1. ports インストール後

 さぁ、ここからがようわからんのだな・・・。  「Redmineのインストール — Redmine.JP」を読むと『この文書は内容が古くなっています。 インストール ページで新しい文書を探してください。』と書いてあるのだな・・・。  FreeBSD 用は見当たらない。「Redmineのインストール - Redmineガイド」がまぁまぁ?ここにも『CentOSとUbuntuに特化した手順例を下記ページに掲載しています。あわせてご覧ください。』と言うのがある。  「Redmine 3.4をUbuntu Server 16.04.2 LTSにインストールする手順 | Redmine.JP Blog」っていうのが Ubuntu ではあるが apache と postgreSQL なので環境的には近いかな・・・。  これらを読みながら進めていくとします。  とりあえず、bundler ってのはこれまでの作業でインストールされているようです。

> pkg info | grep bundler
rubygem-bundler-1.17.1         Tool that manages gem dependencies for ruby applications

2. データベースの設定

 Redmine のデータベースユーザ作成

> su
Password:						←	root パスワード入力
> su postgres
$ createuser -P redmine
Enter password for new role:	←	redmine パスワード入力
Enter it again:					←	redmine パスワード再入力
 データベース作成で postgres ユーザのまま psql を起動して

$ psql
psql (9.6.11)
Type "help" for help.

postgres=# CREATE DATABASE redmine WITH TEMPLATE = template0 OWNER = redmine;
CREATE DATABASE
postgres-# \q
 コンフィグレーションファイルの編集

/usr/local/www/redmine/config/database.yml
 を編集します。

# Line indentation must be 2 spaces (no tabs).

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: root
  password: ""
  encoding: utf8

development:
  adapter: mysql2
  database: redmine_development
  host: localhost
  username: root
  password: ""
  encoding: utf8

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: mysql2
  database: redmine_test
  host: localhost
  username: root
  password: ""
  encoding: utf8
 の部分は先頭に #(シャープ)をつけてコメント化します。  32行以降のコメントをはずして

# PostgreSQL configuration example
production:
  adapter: postgresql
  database: redmine
  host: localhost
  username: redmine
  password: "パスワード"
  encoding: utf8

3. configuration.yml の設定


/usr/local/www/redmine/config/configuration.yml
 を編集するのであるが・・・。  ようわからんので後で偉いことになりそうでっすが、sample をコピーするだけ。

cd /usr/local/www/redmine/config
cp configuration.yml.example configuration.yml

4. gem パッケージのインストール

 ports でインストールしているからこれは必要ないのではないのか?  と思いながら・・・。  で、www ユーザでやるわけですが、パーミッションに問題があるじゃあねぇの?  と思ったら

> ls -la /usr/local/www/redmine
total 100K
drwxr-xr-x 19 root wheel 1024 Nov 20 08:24 .
drwxr-xr-x  4 root wheel  512 Nov 20 08:24 ..
drwxr-xr-x  2 root wheel  512 Nov 20 08:24 .github
-rw-r--r--  1 root wheel  241 Jun 10 15:36 CONTRIBUTING.md
-rw-r--r--  1 www  www   3116 Nov 15 14:39 Gemfile
-rw-r--r--  1 www  www      0 Nov 20 08:18 Gemfile.lock
-rw-r--r--  1 root wheel  205 Jun 10 15:36 README.rdoc
-rw-r--r--  1 root wheel  275 Jun 10 15:36 Rakefile
drwxr-xr-x  6 root wheel  512 Nov 20 08:24 app
-rw-r--r--  1 root wheel  860 Jun 10 15:36 appveyor.yml
drwxr-xr-x  2 root wheel  512 Nov 20 08:24 bin
drwxr-xr-x  2 root wheel  512 Nov 20 08:24 bundler.d
drwxr-xr-x  6 root wheel  512 Nov 21 09:53 config
-rw-r--r--  1 root wheel  160 Jun 10 15:36 config.ru
drwxr-xr-x  3 root wheel  512 Nov 20 08:24 db
drwxr-xr-x  2 root wheel  512 Nov 20 08:24 doc
drwxr-xr-x  5 root wheel  512 Nov 20 08:24 extra
drwxr-xr-x  2 root wheel  512 Nov 20 08:24 files
drwxr-xr-x  7 root wheel  512 Nov 20 08:24 lib
drwxr-xr-x  2 www  www    512 Nov 15 14:39 log
drwxr-xr-x  2 root wheel  512 Nov 20 08:24 plugins
drwxr-xr-x  8 root wheel  512 Nov 20 08:24 public
drwxr-xr-x  2 root wheel  512 Nov 20 08:24 script
drwxr-xr-x 10 root wheel  512 Nov 20 08:24 test
drwxr-xr-x 10 root wheel  512 Nov 20 08:24 tmp
drwxr-xr-x  2 www  www    512 Jun 10 15:36 vendor
 ほ~ vender は www がオーナになっておるわ。  一応やってみる・・・。  ちょっとここで須藤(sudo)さんが必要かと思いましたが su -m www でいけるみたい。

> cd /usr/local/www/redmine
> su -m www -c 'bundle install --without development test --path vendor/bundle'
`/nonexistent` is not a directory.
Bundler will use `/tmp/bundler/home/hogehoge' as your home directory temporarily.
There was an error while trying to write to `/usr/local/www/redmine/.bundle/config`. It is likely that you need to grant write
permissions for that path.
 ん~。  前の2行のメッセージはなるほどなのですが・・・。  問題は後の2行だな。  とりあえず。  ディレクトリを作成してパーミッションを与えてみます。  root ユーザで

mkdir -pv /usr/local/www/redmine/.bundle
chown -R www:www /usr/local/www/redmine/.bundle
 再び root ユーザで

> cd /usr/local/www/redmine
> su -m www -c 'bundle install --without development test --path vendor/bundle'
`/root` is not writable.
Bundler will use `/tmp/bundler/home/hogehoge' as your home directory temporarily.

[!] There was an error parsing `Gemfile`: You cannot specify the same gem twice with different version requirements.
You specified: pg (~> 0.18.1) and pg (>= 0.18.1). Bundler cannot continue.

 #  from /usr/local/www/redmine/Gemfile:88
 #  -------------------------------------------
 #  Dir["#{File.dirname(__FILE__)}/bundler.d/*.rb"].each do |bundle|
 >    self.instance_eval(Bundler.read_file(bundle))
 #  end
 #  -------------------------------------------
 ちなみに、後半の方は実際の表示では真っ赤っかですぜ。  pg の 0.18.1 やらが必要なのかと root ユーザで

> gem install pg -v "0.18.1"
> gem install pg -v "0.18.2"
 とかもやってみたけど、状況変わらす。  解決できないので、後でえらいことになりそうな気はしますが・・・。  無理やりなことをします。  とりあえず config/database.yml で postgresql を設定しているから止まっていると。  では postgresql 以外はどうなるのかと、いったん config/database.yml を退避して

> su -m www -c 'bundle install --without development test --path vendor/bundle'
`/root` is not writable.
Bundler will use `/tmp/bundler/home/hogehoge' as your home directory temporarily.
Please configure your config/database.yml first
Please configure your config/database.yml first
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x64-mingw32, x86-mswin32. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x64-mingw32 x86-mswin32`.
Fetching gem metadata from https://rubygems.org/..........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies............................................................
Fetching rake 12.3.1
Installing rake 12.3.1
Fetching concurrent-ruby 1.1.3

・・・	略	・・・

Installing mimemagic 0.3.2
Fetching net-ldap 0.16.1
Installing net-ldap 0.16.1
Fetching pg 1.1.3							←	ん?
Installing pg 1.1.3 with native extensions	←	んん?
Fetching protected_attributes 1.1.4

・・・	略	・・・

Fetching roadie 3.4.0
Installing roadie 3.4.0
Fetching roadie-rails 1.3.0
Installing roadie-rails 1.3.0
Bundle complete! 22 Gemfile dependencies, 56 gems now installed.
Gems in the groups development and test were not installed.
Bundled gems are installed into `./vendor/bundle`
 なるほど pg 以外はいけるわけです。  にしても、これでインストールされるものも 1.1.3 なんだけどな・・・。  ここが更に無理やり

/usr/local/www/redmine/Gemfile
 の

        gem "pg", "~> 0.18.1", :platforms => [:mri, :mingw, :x64_mingw]
 を

        gem "pg", ">= 1.1.3", :platforms => [:mri, :mingw, :x64_mingw]
 に変えます。

/usr/local/www/redmine/bundler.d/pg.rb
 を

gem "pg", ">= 0.18.1"
 から

gem "pg", ">= 1.1.3"
 に変えます。  退避していた config/database.yml を元に戻して、再度

> su -m www -c 'bundle install --without development test --path vendor/bundle'
`/root` is not writable.
Bundler will use `/tmp/bundler/home/hogehoge' as your home directory temporarily.
Your Gemfile lists the gem pg (>= 1.1.3) more than once.
You should probably keep only one of them.
Remove any duplicate entries and specify the gem only once (per group).
While it's not a problem now, it could cause errors if you change the version of one of them later.
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x64-mingw32, x86-mswin32. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x64-mingw32 x86-mswin32`.
Using rake 12.3.1
Using concurrent-ruby 1.1.3

・・・	略	・・・

Using roadie 3.4.0
Using roadie-rails 1.3.0
Bundle complete! 23 Gemfile dependencies, 56 gems now installed.
Gems in the groups development and test were not installed.
Bundled gems are installed into `./vendor/bundle`
 今度は少なくともエラーにはなっていないのです。