Ubuntu19.10にResourceSpace 9.1をインストールしようとしてハマった話
大量の写真をタグ付けして管理できるResourceSpaceってWebアプリがすごくよさそうだったので、lxdでUbuntu19.10を立ち上げてインストールすることにしました。
https://www.resourcespace.com/
しかしながら公式サイトに載ってる手順ではインストールが出来ず、試行錯誤の末なんとかインストールにこぎつけました。しんどかった。
この苦労、数か月後には絶対忘れてる自身があるので備忘録がてら差分を書いておこうと思います。
基本的には
公式サイトのインストール手順の「Ubuntu 18.04 and above(Ubuntu 18.04以降)」の要領で進めます。
恐らく18.04から何らか事情が変わったんだろうなぁ。
https://www.resourcespace.com/knowledge-base/systemadmin/install_ubuntu
ImageMagickのインストール
これがないと、ResourceSpaceのインストールは成功するものの、画像一覧にサムネイルが出ません。意味ないね。
apt-get install imagemagick
Apache2のドキュメントルートの変更
インストール手順では/var/www/resourcespaceにResourceSpaceを展開することになっていますが、Apache2のドキュメントルートは/var/www/htmlなので、このままではブラウザでアクセスすることができません。
/etc/apache2/sites-enabled/000-default.confのDocumentRootを/var/wwwに書き換える必要がありました。
MySQLに一般ユーザを作る
インストール手順はMySQLにrootユーザでアクセスすることを想定しているようですが、なんかうまくいきませんでした。
専用のユーザー"resourcespace"を作ることでなんとかなりました。
MySQLに接続する
mysql -u root
ユーザーを作成する
CREATE USER resourcespace@localhost IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY 'resourcespace';
MYSQL_NATIVE_PASSWORDを指定するのがキモです。
Ubuntu 19.10でインストールされるMySQL8ではデフォルトのパスワード認証方式が従来のMYSQL_NATIVE_PASSWORDからCACHEING_SHA2_PASSWORDに変更されています。
しかしながらResourceSpace側のMySQLにアクセスするPHPライブラリはそれをサポートしていないので、従来のMYSQL_NATIVE_PASSWORDを使って認証を行うようにMySQLに指示する必要があります。
権限を付与する
生まれたてのユーザーに自分の立場を分からせてやります。
GRANT ALL PRIVILEGES ON resourcespace.* TO 'resourcespace'@'localhost';
セットアップ画面のMySQLのユーザー名とパスワードに"resourcespace"と入力する
これで、ResourceSpaceがインストールできるはずです。