Windows Subsystem for Linux でubuntu18に制作環境を作る

Windows Subsystem for Linux でubuntu18に制作環境を作る

Window10でLAMP (Fall Creators Update版) の記事のApacheを入れた後から


作りたてアカウントなら待ち行列になってるので全部✕にする

[Windowsの機能の有効化または無効化]、「Windows Subsystem for Linux」のチェックボックスがすでにオンなら
Store から UBUNTUダウンロードから始めればいい

Ubuntuはバージョン番号が無いやつを選べ

Storeでログインしろと言われるがそのまま☒で閉じれば始まる

sudo su でroot権限になる

 $ sudo passwd root
	Enter new UNIX password:  x2回
	su - 
	cat /etc/os-release  → Ubuntu18

root# になった

PHP インストール

$ sudo apt-get install -y php7.2 php7.2-zip php7.2-mbstring php7.2-dom php7.2-mysql

Apache とMySQLの自動起動

	sudo systemctl enable apache2
	sudo systemctl enable mysql

WSLでは自動起動しないのでシェルスクリプトでショートカットを作れ

shellscript 作成

ap.sh コマンドは $ sh ap.sh

	#!/bin/sh
	sudo service apache2 start
	sudo service mysql start

kaspelsky を入れている場合,ポートをふさいでいるので停止する

DocumentRoot変更

Cに作らないと forbidden回避できないので,!
設定編集 ファイルは2つある

 sudo vi /etc/apache2/apache2.conf		←これも読み込まれている
<Directory /mnt/c/html>  ←変える
        Options Indexes FollowSymLinks
        AllowOverride All  ←変える
        Require all granted
</Directory>

 sudo vi /etc/apache2/sites-available/000-default.conf ←こっちが本家 編集対象
  
   DocumentRoot /mnt/c/html  ←変える

ubuntuでAllowOverrideを変更しても.htaccessが有効化しなかった時の対処法

mode rewriteを有効にする

	$ sudo a2enmod rewrite
	$ sudo  service apache2 restart

ディレクトリの一覧表示を有効にする(なってなかったら)

対象ディレクトリに .htaccessを作ってこの一行を書く
Options Indexes FollowSymLinks

ユーザ名はApacheではない www-dataだ

sudo chown -R www-data drupal
システムが ntfsなので変わらない

アップロードファイルの上限サイズを変更する

	info.php  phpinf()でファイルの所在を確認
	$ sudo vi /etc/php/7.2/apache2/php.ini
		uploadで検索  20Mに
		display_errors On に変更

Apache 再起動

	$ sudo service apache2 start

これで phpinfo() が実行できた
だめなら OS再起動 windows の再起動

ターミナルの初期ディレクトリ変更 & Apache起動

 cd /home/work
 sudo vi .bashrc

最終行に付け足す
 sh ap.sh
 cd /mnt/c/var/www

MySQL バージョン確認

$ mysql --version  →5.7

MySQLでmysqld.sockのエラーが出た

コマンドはすべて「sudo」で実行します。
mysqlコマンドをsudoをつけずに実行すると接続エラーになります。

	# service mysql start  ←root権限ならこれでいい
	$ sudo mysql -uroot -p

rootパスワードを設定する

ubuntu18 mysql5.7 root password 設定

 の記事参照

root パスワードを忘れた場合

$ sudo service mysql stop
    sudo vim /etc/init.d/mysql
		mysqld_safe で検索して、↓この行をコメントアウトし
		   su - mysql -s /bin/bash -c "mysqld_safe > /dev/null &"
		その下に↓こう追加。
		su - mysql -s /bin/bash -c "mysqld_safe --user=root --skip-grant-tables &"
		$ sudo service mysql start
		$ mysql --database=mysql
パスワードを更新
use mysql
UPDATE user SET authentication_string=password('新規パスワード') WHERE user='root';
再設定したパスワードをMySQLに反映させます
	mysql> flush privileges;
	mysql> quit
	/etc/init.d/mysql の コメント状態を元にもどす。
	sudo service mysql restart
	$ sudo mysql -u root -p

パスワード変更

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '好きなパスワード';

>MySQLでユーザを作成し、権限を設定する方法

	CREATE USER 'ginzo'@'localhost' IDENTIFIED BY 'wert3333'
	grant all on moodle.* to ginzo@localhost identified by  'wert3333';	

DBの全権限を”既存”ginzoユーザーに追加
	create database drupal DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
	GRANT ALL PRIVILEGES ON drupal.* TO 'ginzo'@'localhost';

→ adminerでDB名が出てこない → Database – Refresh する

php インストール

 		sudo apt-get install php php-mysql php-mbstring php-gd php-pear php-intl php-soap php-xmlrpc php-xml php-ldap

imageMagic インストール

	sudo apt-get install php-imagick
	sudo php -m | grep imagick
	sudo service apache2 restart


	apt install libmariadb-dev-compat
	apt install libmariadbclient-dev

WordPressインストール

 		cd /mnt/c/var/www/html    移動 document rootへ
  wget wget http://wordpress.org/latest.tar.gz
  tar -xvf latest.tar.gz  解凍
  chown -R www-data:www-data wordpress
  mv wordpress/* ./  全部移動

パスワードを忘れたら

		UPDATE `wp_users` SET
		`user_pass` = md5('zxcv'),
		WHERE `ID` = '1';

PhpMyadmin インストール

pasuword:Wert3333- ログインユーザ: phpmyhadmin

rootではログインできなくなったらしいので 全部の権限を phpmyadminに与える

mysql> grant all on *.* to phpmyadmin@localhost identified by ‘Wert3333-‘;

なにかするたびに長々とエラーで表示されるのを何とかするコマンド

sudo sed -i "s/|\s*\((count(\$analyzed_sql_results\['select_expr'\]\)/| (\1)/g" /usr/share/phpmyadmin/libraries/sql.lib.php

phpmyadmin のTOPから[詳細設定]→一般→エラーレポート をOFFのほうが良い

Smartyをダウンロード

インストールするディレクトリに移動
    cd /usr/local/lib

ダウンロード
  sudo wget https://github.com/smarty-php/smarty/archive/v3.1.33.zip

unzipのインストール
  sudo apt install unzip

解凍
  sudo unzip v3.1.33.zip


sudo mv smarty-3.1.33 smarty-master

Gitをインストールする

 		  sudo apt-get install git

# コミットしたディレクトリに移動してinitする
  $ git init
	Initialized empty Git repository in /path/to/already/.git/  
#ステージする
 $ git add . 
 $ git commit -m 'initial commit' 

#除外ディレクトリ → gitへpushuしない
 $ git rm --cached -r .metadata

# 初回のみ,githubアカウントがありリポジトリがあったらこれでpushする, なければ先に作る
   $  git remote add origin https://github.com/アカウント名/リポジトリ名.git


# KaspelSky を終了して
 $ git push origin master   
		
cloneした方ではここで git pull	→ 変更のあったところが更新される



ターミナルのカレントのパスが長いのを短くする

 vi ~/.bashrc

w→Wに 2箇所を大文字にする
if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi

ついでにカレントを/var/www/にする,最後の行に加える
 cd /mnt/c/var/www   

source ~/.bashrc で反映させる

太平洋

コメントは受け付けていません。