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

2017/05/12 1:51 に 森山誠二郎 が投稿   [ 2017/06/13 19:36 に更新しました ]
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する(詳細は記録し忘れた)
anagixではscreenを使えなかったが、chmod o+w /run したら使えるようになった。
   
Comments