torutkのブログ

ソフトウェア・エンジニアのブログ

WindowsのHyper-V上でFedora 26を27に更新したあとのRedmine起動エラーの解消

Windows 10のHyper-VFedora 26を入れてRedmineを動かしていました。
今日、Fedora 26を27にアップグレードしたところ、いろいろ問題が発生しました。

DHCPサーバーの固定割当

もともとDHCPIPアドレスを割り当てていました。Fedora 27にアップグレードしたところ、DHCPで割当てられたIPアドレスが変わりました。今後のことを考えて、DHCPの固定割当設定にこのHyper-V上のFedora 27をしようとMACアドレスを確認し(Hyper-Vでは、MACアドレスのベンダーコード(上半分)が00:15:5dとなります。)、DHCPサーバー(NECAterm HP1800の設定をしましたが、なぜか反映されませんでした。Wiresharkでパケットキャプチャをしてみましたが、DHCPサーバーからofferされるIPアドレスが固定割当に設定したものではなく、動的に割当されるIPアドレスになっています。

未解決

Redmineが立ち上がらない

1つ目

Redmineのログを見ると、

/var/lib/redmine-3.4-stable/vendor/bundler/ruby/2.4.0/gems/mysq
l2-0.4.9/lib/mysql2.rb:31:in `require': libmysqlclient.so.18: c
annot open shared object file: No such file or directory - /var
/lib/redmine-3.4-stable/vendor/bundler/ruby/2.4.0/extensions/x8
6_64-linux/2.4.0/mysql2-0.4.9/mysql2/mysql2.so (LoadError)

とあります。Fedoraを26から27にアップグレードした際に、libmysqlclientもアップデートされたことが原因のようです。再度gemのネイティブエクステンションを作り直すため、bundle exec gem uninstall mysql2 を実行してからbundle installを実行しました。

2つ目
/var/lib/redmine-3.4-stable/vendor/bundler/ruby/2.4.0/gems/mysq
l2-0.4.9/lib/mysql2/client.rb:89:in `connect': Can't connect to
 local MySQL server through socket '/var/lib/mysql/mysql.sock' 
(111) (Mysql2::Error)

とあり、MySQLMariaDB)が動いていません。

/var/log/mariadb/mariadb.log を見ると

2017-12-09 17:34:47 140658032420608 [ERROR] mysqld: Can't creat
e/write to file '/var/run/mariadb/mariadb.pid' (Errcode: 2 "No 
such file or directory")
2017-12-09 17:34:47 140658032420608 [ERROR] Can't start server:
 can't create PID file: No such file or directory

とあります。/var/runの下には、mysqldはありますがmariadbはありません。そこで、権限設定を考慮し、mysqldをmariadbにリネームしMariaDBを再起動してみました。

動作OK

Redmine動作OK

IPアドレスが固定できない以外はOKとなりました。

その他

Hyper-V上のゲストとホストとの間でクリップボードの共有がデフォルトではできないのが手間です。