WSL(Windows Subsystem for Linux)のDebianでLAMP環境を作る
問題
WSL(Windows Subsystem for Linux)のdebian(stretch)でLAMP環境を作りたい。
答え
WSLでLAMP環境を作ると、プログラムの実行はWSLのLAMP環境でできるようになり、ソースはCドライブなり任意の場所に置けて、通常のローカルのファイルと同様にエディタで編集できるようになる。
phpはfpm版を使ってみます。
インストール
apache2 は 2.4.25
MySQLはmariadb 10.1
php は 7.0
apt install apache2 apt install mysql-server apt install php-fpm php-mysql
設定
a2enmod proxy_fcgi rewrite headers ssl など
Cドライブの \var\www にソースを置いているとしたら、頭に /mnt/c をつけて参照できる。
apache起動時に、「Protocol not available: AH00076: Failed to enable APR_TCP_DEFER_ACCEPT」が出るときは設定に以下を追記する。
AcceptFilter http none AcceptFilter https none
http://127.0.0.1/ でアクセスしたときのVirtualHostを追加するなど、設定を追加する。
vi /etc/apache2/sites-available/010-vhosts.conf
AcceptFilter http none AcceptFilter https none <VirtualHost *:80> ServerName 127.0.0.1 DocumentRoot /mnt/c/var/www <Directory /mnt/c/var/www> Options FollowSymLinks AllowOverride All Require all granted <FilesMatch \.phpgt; SetHandler "proxy:unix:/run/php/php7.0-fpm.sock|fcgi://localhost/" </FilesMatch> </Directory> </VirtualHost>
a2ensite 010-vhosts
php.ini は /etc/php/7.0/fpm/php.ini または /etc/php/7.0/cli/php.ini
my.cnf は /etc/mysql/my.cnf で、/etc/mysql/conf.d/* , /etc/mysql/mariadb.conf.d/* を読み込んでいる。
起動
service php7.0-fpm start service mysql start service apache2 start
設定
mysql_secure_installation でパスワード設定等しておく。
mysql_secure_installation
メモ
php5.6、7.1、7.2、7.3 などを使いたい場合は、リポジトリ https://packages.sury.org/php/ を有効にする。
#!/bin/bash # To add this repository please do: if [ "$(whoami)" != "root" ]; then SUDO=sudo fi ${SUDO} apt-get -y install apt-transport-https lsb-release ca-certificates ${SUDO} wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg ${SUDO} sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' ${SUDO} apt-get update
こちらでもよい。
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update
コメント