会社のPCが更新されて、環境を再セットアップしました。 前に記載していた情報が古くなってしまったので、ついでに新しい情報で書き直しておきます。
WSL2のインストール
現在はWSL2をコマンド一発でインストール可能です。 何も指定しないとUbuntu 20.04 LTSがインストールされますが、Ubuntu 20.04 LTSではmysqlのバージョンが8だったりと、若干面倒なのでUbuntu 18.04 LTSを使います。
PS> wsl --install Ubuntu-18.04
apache2のインストール
以前は最初からインストールされていましたが、インストールが必要になったようです。rewirteモジュールを設定するだけでOKです。
$ sudo apt install apache2 $ sudo a2enmod rewrite
(備考) 以前はWindowsフォルダをwebrootにしていたので、metadataオプション付きでマウントしていましたが、今はやめたので不要となりました。
/etc/apache2/sites-available/xxx.conf を作成して、sites-enabledにシンボリックリンクを作る
以下はconfファイルの例です。
<VirtualHost *:80> DocumentRoot "/mnt/C/Work/yii2/backend/web/" ServerName yii2.jp ErrorLog ${APACHE_LOG_DIR}/yii2-error_log CustomLog ${APACHE_LOG_DIR}/yii2-access_log common <Directory "/mnt/C/Work/yii2/backend/web/"> AllowOverride All Options +ExecCGI +SymLinksIfOwnerMatch Require all granted DirectoryIndex index.php </Directory> </VirtualHost>
Windowsのhostsファイルにapaheのサーバ名を登録
hostsファイルにサーバ名を登録しておくと、http://yii.jp/などとしてapache2にアクセスできるので便利です。 C:\Windows\System32\drivers\etc\hosts に以下のように記載します。 ::1がIPv6用の記載で、今はこちらが使用されているみたいです。
127.0.0.1 yii.jp ::1 yii.jp
mysqlのインストール
mysqlのサーバとクライアントパッケージをインストールして、mysqlのホームディレクトリを設定します。
$ sudo apt install mysql-server mysql-client $ sudo usermod -d /var/lib/mysql mysql
データベースの文字コードにutf8mb4を使うので、/etc/mysql/mysql.conf.d/mysqld.cnfに以下を追加します。 テーブル作るときにも設定するようにしているので不要ではありますが、念のためcollation(文字比較の設定)も追加しておきます。
ちなみにmysql 8.0のデフォルト設定(utf8mb4_0900_as_ci)だと、「びょういん」(病院)と「びよういん」(美容院)が同一と判定されてしまうので、collationを指定しておかないとひどい目にあいかねません。
[mysqld] character-set-server=utf8mb4 collation-server=utf8_bin [client] default-character-set=utf8mb4
(備考) 以前は一般ユーザからmysql -u rootでパスワード無しでアクセスすることも可能でしたが、それはできなくなったようです。 私は、sudo mysql -u root としてrootからアクセスするようにしています。
phpのインストール
パッケージが微妙に変わりました。 pdoがなくなって、php-mysqlをインストールするだけで良くなったようです。
sudo apt install php7.4 php7.4-gd php7.4-mbstring php7.4-mysql php7.4-zip php7.4-curl php7.4-xml
apache2/mysqlの自動起動を設定
スタートアップに以下の内容でwsl.batを作成する。
@echo off wsl -d Ubuntu-18.04 -u root -- service apache2 start wsl -d Ubuntu-18.04 -u root -- service mysql start
オプションのパッケージをインストール
以下はサービスで使用しているパッケージになります。
libreoffice
Office互換ソフトです。エクセルファイルをPDFに変換するのに使用しています。
$ sudo apt install libreoffice libreoffice-l10n-ja
libreofficeで使用するM PLUS 1フォントをインストールします。 M PLUS 1フォントは、本家(M+ FONTS)から、「google fonts」「M PLUS 1」と選んで、「Download Family」でダウンロードできるttfファイルを使用します。
$ sudo cp -r ~/mplus /usr/local/share/fonts/ $ sudo sudo fc-cache /usr/local/share/fonts/mplus
propper-utils
PDFを変換するツールです。PDFの画像データへの変換などに使用しています。
$ sudo apt install poppler-utils
以前はWSL2で必要だったネットワーク周りの設定が不要になったりと、若干楽になった感じはしますね。