ホーム > カテゴリ > Ruby・Ruby on Rails >

WSLのApache/MySQL(MariaDB)をWindows起動時に自動起動させる [WSL/Ubuntu環境]

CentOSで各種サーバー構築(目次)

Windows起動時にApache/MySQL(MariaDB)を自動で起動させます。

WSL(Windows Subsystem for Linux)ではsystemctl enable/chkconfigが使用できません。ですので、自動起動は特殊な方法で行います。

WSL側ではsudo設定、.bashrcファイルの編集を行います。Windows側ではスタートアップにVBSを用いてWSLを非表示で自動開始します。

1. sudo設定 - WSL側

Apache/MariaDBはsudoのパスワード入力なしで実行可能とする。

// my-auto-startファイルの生成
sudo vi /etc/sudoers.d/my-auto-start

[my-auto-start]

%sudo ALL=NOPASSWD: /etc/init.d/apache2
%sudo ALL=NOPASSWD: /etc/init.d/mysql

2. .bashrcファイル - WSL側

以下を実行すると括弧内のコマンドが.bashrcファイルの末尾に追加される。

echo 'sudo /etc/init.d/apache2 restart' >> ~/.bashrc
echo 'sudo /etc/init.d/mysql restart' >> ~/.bashrc

3. VBSファイル - Windows側

次のファイルを作成する。非表示でWSLを起動するプログラムです。

[my-auto-start.vbs]

Dim WShell
Set WShell = WSCript.CreateObject("WScript.Shell")
WShell.Run "wsl.exe", 0
Set WShell = Nothing

Winキー + Rキーで

shell:startup

を実行して、そこにmy-auto-start.vbsファイルを移動する。

あとは、Windowsを再起動して確認して下さい。





関連記事



公開日:2019年12月07日
記事NO:02810