WSLにALBサーバをインストール

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 したら使えるようになった。