Post date: 2017/05/12 8:51:48
2017にリリースされたWindows 10 creators update のBash on Windows (Ubuntu 16.04ベース)にALB2.0.3をインストール。
対応した問題
1。~anagix/.vnc/passwd がないエラー -> 手動で作成
2。ユーザanagixで実行した場合anagixのパスワードがかわってしまう
3。mysqlで、/sbin/statusがないというエラー
-> mysql cookbookが古かった。https://github.com/chef-cookbooks/mysql からもってくる。
alb2_installのrecipeで、ubuntu16.04の場合は、mysqlを5.7に指定する必要がある。
また、alb2_install/metadata.rbのなかで、mysqlへのdependencyを以下のように変更する必要があった。
depends 'mysql', '~> 8.0'
参考: https://supermarket.chef.io/cookbooks/mysql
Chef::Provider::MysqlServiceSystemdの指定はできなかった。
4.mysqlの起動エラー
chefインストール直後はmysql動いていたが、WSLを再起動し、手動で service mysql startできない。
/var/run/mysql-default(記憶違いかも知れない)を作成し解決。依然、
No directory, loggin in with HOME=/ とでるのは、ユーザがmysqlでホームがないからではないか。
→ /etc/passwdのmysqlのところを見ると、ホームが/nonexistentとなっているので
usermod -d /var/lib/mysql-default/ mysql で変更。
起動は、service mysql-default start
5.nokogiri 1.6.7.2のインストールが/usr/local/anagix_tools/alb2でbundle installではうまくいかない
~/work/alb2からだとOK.原因不明。以下のGEM_HOMEと関係しているかも。
6.chef-repo/cookbooks/anagix_initのtemplateの.bashrc_anagix.erbで、
export GEM_HOME=/usr/local/anagix_tools/lib/ruby/gems/2.1.0
していた。そのため、bundle exec rails実行時に、incompatible library versionになっていた。
7.mysql2 gemのバージョン(0.3.16)が古いため、以下のエラー:
Gewm Load Error is: uninitialized constant Mysql2::Client::SECURE_CONNECTION
0.4.6に上がったが、railsのバージョン4.2.4とあわずエラー。0.3.21を指定してクリア。
mysql -S /var/run/mysql-default/mysqld.sock -u root -p でアクセスできる
8.taglibs/autoがないので、rake assets:precompile
9.mysql 5.7が異常に遅いので、mariadbを試した
apt-get install mariadb-server
注意: mysqlを完全にapt-get removeする必要あり。
mariadb 5.7は、ユーザ管理が異なる。UserIDとパスワードは、/etc/mysql/debian.cnf-5.7に
debian-sys-maintが定義されている。これを使ってmysql -u debian-sys-manit -pでログインし、
anagixというユーザ(mariadbではパスワードはLinuxのログインパスワードと同じ)を登録し、
データベースへのアクセスのprivelegeをgrantする(詳細は記録し忘れた)
参考: Ubunt 16.04でMariaDBをインストールするとパスワードが変
anagixではscreenを使えなかったが、chmod o+w /run したら使えるようになった。