WSL2 初期設定

WSL2のインストール

・WSLの有効化
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

・Virtual Machine Platformの有効化
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

上記2つはoptionalfeaturesから直接チェックしてもOK
・Linux用Windowsサブシステム
・仮想マシン プラットフォーム

・カーネルバージョンアップ
https://docs.microsoft.com/ja-jp/windows/wsl/wsl2-kernel

デフォルトをWSL2に変更
wsl –set-default-version 2

・インストール後

最初の起動でユーザー名とパスワードを決める。

Window側からのルートへのアクセス
\\wsl$

バージョン確認
wsl –list –verbose

終了
wsl –shutdown

・SSH接続

sudo apt update
sudo apt install openssh-server

sudo systemctl start ssh
system has not been booted with systemd as init system …
というメッセージが表示される。

通常PID1がsystemdだが、WSL2においては/initがPID1になっている模様。

sudo /etc/init.d/ssh start
sshd: no hostkeys available — exiting.
というメッセージが表示される。

sudo ssh-keygen -A

sudo vim /etc/ssh/sshd_config
から
PasswordAuthentication yes

これでTeraTermからlocalhost:22で接続できる。

・リセットする場合
アプリと機能>Ubuntu>詳細オプション>リセット
スタートメニューにあるUbuntuから起動するとユーザー名、パスワード
を決めるところから。

.NET Core SDKのインストール

https://docs.microsoft.com/ja-jp/dotnet/core/install/linux-ubuntu
を参考にする。

wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb

sudo dpkg -i packages-microsoft-prod.deb

sudo apt-get update; \ sudo apt-get install -y apt-transport-https && \ sudo apt-get update && \ sudo apt-get install -y dotnet-sdk-3.1

・作成方法(WSL)

アプリ作成
dotnet new console -o myapp

実行
dotnet run
(myappの中で実行)

・作成方法(Visual Studio)

Visual StudioでASP.NET Core Webのプロジェクトを作成し、プロジェクトの右クリックから発行をして、WSL側のフォルダに保存。

転送フォルダにて、
dotnet WebApplication1.dll
を実行

・自動起動

WSLなので.profileに入れてプロセスと同時に立ち上げる。

/usr/bin/dotnet /mnt/g/Dropbox/Workspace/Bash/html/WebApplication1.dll > /dev/null 2>&1 &

テスト用のWordPressをインストールする

sudo apt-get update

・Apache2

インストール
sudo apt-get install apache2

起動
sudo /etc/init.d/apache2 start

・wget
sudo apt-get install wget

・PHP
sudo apt-get install php
sudo apt-get install libapache2-mod-php
sudo /etc/init.d/apache2 restart

とりあえずこれでPHPファイルは実行できるようになる。

・MySQL
sudo apt-get install mysql-server
sudo apt-get install php-mysql

データベース作成
mysql > set password = ‘1234’;
mysql > create database wpdb;

・WordPress
sudo wget https://ja.wordpress.org/latest-ja.tar.gz

解凍
sudo tar -zxvf latest-ja.tar.gz

/var/www/html(http://localhost/解凍フォルダ名)
にブラウザからアクセス。

wp-config.php ファイルに書き込みできません。
とでる場合。

まず、
/etc/apache2/envvars
を開き、
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
の部分でユーザー名を確認し、
sudo chown -R www-data:www-data 解凍フォルダ名
を実行する。