Windows」カテゴリーアーカイブ

WindowsでLinux(WSL, LAMP, WordPress)

WSLとはWindows Subsystem for Linuxのこと。
仮想OSとかエミュレーターではなく、ネイティブで動作するのが特徴。

≪前編≫
Windowsメニュー右にある検索窓から”con”と入力してコントロールパネルを検索し起動します。

コントロールパネルから「プログラム」→「プログラムと機能」を開き、左ペインの「Windowsの機能の有効化または無効化」をクリックする。

[Linux 用 Windows サブシステム]にチェックを入れ、「OK」をクリックする。

「今すぐ再起動」をクリックして、PCを再起動する。

Edgeで、「https://aka.ms/store/」

Microsoft Store
「WindowsでLinuxを実行する」
「Windows Subsystem for Linux (WSL) に Linux ディストリビューション
をインストールして、実行できます。」
から、Ubuntu をインストール

Ubuntu のウィンドウが開くので、

user:*******
password:********

$ sudo su –
pass

#

管理者権限で入れました。

# apt install apache2

# /etc/apache2/apache2.conf
このファイルの末尾に以下の記述を追加します。

AcceptFilter https none
AcceptFilter http none

ファイルを編集したあと以下のコマンドでApacheを再起動します。

# service apache2 restart
ちなみにApacheを停止する場合は以下を実行します。

# service apache2 stop

Edgeで、「http://localhost」が表示されればOK

ApacheのWebサイトを表示するルートフォルダは以下です。
/var/www/html/
ここにページを表示するためのファイルを置きます。
WordPressもここにインストールします。

exitして、

$ sudo apt install mysql-server
ディスクスペース消費を確認してくるので”y”を入力します。

[エラー] Sub-process /usr/bin/dpkg returned an error code (1)

エラーになった
dpkg: error processing package mysql-server (–configure):
dependency problems – leaving unconfigured
Errors were encountered while processing:
mysql-server-8.0
mysql-server
ので、
$ sudo apt remove mysql-server
$ sudo apt autoremove
$ sudo apt install mysql-server

$ sudo apt remove mysql-server-8.0
$ sudo apt autoremove
$ sudo apt install mysql-server-8.0

エラーになったので、
$ sudo dpkg –configure -a

エラーになったので、
Ubuntuでは/var/lib/dpkg/info配下に、パッケージのインストール前、インストール後に実行するためのスクリプトファイルや、その他パッケージに関する情報を含むファイルが置かれています。そしてこのディレクトリにある問題のパッケージ(ここではmysql-server-5.7)のpreinstとprerm(インストール前用スクリプトファイル)、postinstとpostrm(インストール後用スクリプトファイル)の削除します。その後でapt updateやapt upgradeが正常に実行できるようになりました。
具体的には、以下のコマンドを実行します。
$ cd /var/lib/dpkg/info
$ sudo mv mysql-server-8.0.post* /tmp
$ sudo mv mysql-server-8.0.pre* /tmp
$ sudo mv mysql-server.post* /tmp
$ sudo mv mysql-server.pre* /tmp

$ sudo su –

# apt update
# apt upgrade

インストールができたらMySQLのバージョンを確認します。
$ mysql –version
mysql Ver 8.0.20-Oubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))

MySQLを起動して動作確認します。
# service mysql start
# mysql

mysql>

①へ
エラーになったら、やり直す。

$ sudo apt update
$ sudo apt install mysql-client
必要なら
$ sudo apt install mysql-server

サーバー起動
$ sudo service mysql start

初期化
$ sudo mysqld –initialize

初期ルートパスを所得
$ grep ‘temporary password’ /var/log/mysql/error.log
このパスワードを使って、rootパスワードを変更していく。
何も聞かれないので、

以下に従い、rootパスワードを変更する。

************************************************************

# mysql_secure_installation

Securing the MySQL server deployment.

Enter password for user root: 初期パスワードを入力する→********

The existing password for the user account root has expired. Please set a new password.

New password: 新しいパスワードを入力する→********

Re-enter new password: 再度同じ新しいパスワードを入力する→********

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No: y

There are three levels of password validation policy:

LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0
Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : y

New password: ポリシーに沿った新しいパスワードを入力→********

Re-enter new password: 再度新しいパスワードを入力する→********

Estimated strength of the password: 50
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user, a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.

Normally, root should only be allowed to connect from
‘localhost’. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named ‘test’ that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y Success.

– Removing privileges on test database…
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done!

************************************************************

設定ファイルは CentOS であれば /etc/my.cnf です。 [mysqld] 節に次のものを追加します。

[mysqld]
…(略)
character-set-server = utf8
default_password_lifetime = 0

************************************************************

①以下のコマンドで今の認証の内容をチェックします。
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

パスワード認証を有効にするため以下のコマンドでパスワードを設定します。
mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘********’;
以下のコマンドで有効にします。

mysql> FLUSH PRIVILEGES;
mysql> exit;

以降mysqlコマンドを使用するときはrootパスワードを入力します。
$ sudo mysql -u root -p

PHPをインストールする。
$ sudo apt install php libapache2-mod-php php-mysql
$ sudo service apache2 restart

ApacheのWebサイトを表示するルートフォルダに簡単なPHPコードが書かれたファイルを置いてブラウザで表示します。

viエディタでPHPファイルを作成します。

$ sudo vi /var/www/html/info.php
エディタが起動したら以下の内容を記述してファイルを保存します。

<?php
phpinfo();
?>
ファイルが保存できたらブラウザで表示してみます。

http://localhost/info.php
PHPの情報が表示されれば正しく動作しています。

動作確認できればこのファイルはいらないので削除しておきましょう。
$ sudo rm /var/www/html/info.php

次にPHPでマルチバイト文字を扱うためと、各ロケールに対応したプログラミングを行えるようにするため以下のパッケージをインストールします。
$ sudo apt install php-mbstring

PHP拡張モジュールであるmbstringを有効にするため以下のコマンドを実行します。
$ sudo phpenmod mbstring

そしてApacheを再起動します。
$ sudo service apache2 restart

phpMyAdminをインストールする
phpMyAdminを以下のコマンドでインストールします。

$ sudo apt install phpmyadmin

Webサーバーを選択する画面が表示されるとapache2にカーソルを持っていきスペースキーで*印を付けて選択します。TABキーで、OKにあわせて、ENTER。

データベースの設定画面が表示されるとそのままYesを選択してEnterキーを押します。

アプリケーションパスワードの設定画面が表示されると任意のパスワードを入力し、TABキーで、OKにあわせて、ENTER。
********

インストールが完了したら、以下をブラウザのアドレスバーに入力してphpMyAdminにアクセスしてください。

http://localhost/phpmyadmin
phpMyAdminのログイン画面が表示されます。

MySQLインストール時に設定したrootパスワードを使ってrootユーザーでログインします。
ログインできると画面が表示されます。
以上でWSLへのLAMP環境の作成は完了です。

エラーの時は・・・

「みんなこの問題に遭遇するんだ。一度WSLを閉じて再起動し、 sudo service mysql start, sudo dpkg –configure -a を実行すると完了するよ」
という感じに見受けられます。

ということで、

WSLを再起動
sudo service mysql start を実行
sudo dpkg –configure -a を実行
してみましょう。それでどうでしょう?

WSLを再起動
$ sudo service mysql start
$ sudo mysql -u root -p
WSLを再起動
sudo dpkg –configure -a
WSLを再起動
http://localhost/phpmyadmin

エラーになったので、
config.inc.phpを探す。
/etc/phpmyadmin/config.inc.php
にあることがわかる。

# vi /etc/phpmyadmin/config.inc.php

https://codeaid.jp/blog/wsl-lamp-wp1/ 参照

≪後編≫
WordPressの最新バージョンを公式サイトよりダウンロードします。
セキュリティソフトを外して、
# cd /var/www/html
# wget https://ja.wordpress.org/latest-ja.tar.gz
# tar xvzf latest-ja.tar.gz
wordpressフォルダ内にデフォルトで含まれているサンプルの設定ファイルをコピーして設定ファイルを作成します。
# cp ./wordpress/wp-config-sample.php ./wordpress/wp-config.php
wordpressフォルダとファイルの所有権をApacheの「www-data」に変更します。
# chown -R www-data:www-data /var/www/html/wordpress
テーマやプラグインが変更できるようにwordpress配下の「wp-content」ディレクトリのグループに書き込み権限を追加します。
# chmod g+w /var/www/html/wordpress/wp-content
テーマとプラグインのディレクトリ配下のすべてのファイルにApacheの書き込み権限を追加します。
# chmod -R g+w /var/www/html/wordpress/wp-content/themes
# chmod -R g+w /var/www/html/wordpress/wp-content/plugins

前編でインストールしたphpMyAdminコンソールを使ってデータベースを作成します。

# service mysql start
# service apache2 restart
# apt install phpmyadmin

root
********

http://localhost/phpmyadmin

phpMyAdminへrootでログインして”wordpress”という名前でデータベースを作成します。(データベース名は任意でいいです。ここでは”wordpress”で例として作成しています)
phpMyAdmin画面でデータベースタブを選択します。
作成するデータベース名を入力し、utf8_general_ciを選択して作成します。

WordPressの設定ファイルを修正します。
# vi /var/www/html/wordpress/wp-config.php

/** WordPress のためのデータベース名 */
define(‘DB_NAME’, ‘wordpress’);
/** MySQL データベースのユーザー名 */
define(‘DB_USER’, ‘root’);
/** MySQL データベースのパスワード */
define(‘DB_PASSWORD’, ‘rootのパスワード’);
・・・
define(‘FS_METHOD’,’direct’);
先程作成したWordPressで使うデータベース名とユーザー名とパスワードを入力し、設定ファイル下部にテーマやプラグインのアップデートが直接ダウンロードできるよう
「define(‘FS_METHOD’,’direct’);」
を記述して保存します。

WordPressをインストール
http://localhost/wordpress

サイトのタイトル:********
ユーザー名:********
パスワード:********
メールアドレス:********@********

まとめ
作成した環境でWordPressのテーマやプラグインを開発する場合などでファイルを書き換えるときは、WSLからCLIでコマンド操作するのが基本的な方法になります。

今のところWSLからWindowsのファイルへアクセスできますが、WindowsからWSL環境へアクセスできません。

例えば、プラグインの開発作業で動作確認しながらファイル修正するような作業をするには、Windows環境で修正したファイルをWSLのUbuntuでWordPress環境のwp-content/pluginsフォルダ配下にファイルをコピーする操作をします。

WSLからWindowsのファイルへは、「/mnt/c」からCドライブへアクセスできます。

「/mnt」はWindowsシステムがマウントしているドライブが表示されますが、USBやネットワークドライブは表示されないようです。

今後はWindowsからWSL環境のファイルへアクセスできるようになるという情報も出ているので、そうなればWidnowsから直接WordPressのテーマやプラグインファイルを直接修正できるようになります。

それから、WordPressの更新、テーマやプラグインのインストール・更新のときにもし以下のようなSSLでエラーが発生した場合

curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to ubuntu.com:443
Windowsにセキュリティソフトを入れていれば、それが原因でこのエラーが発生します。

一度セキュリティソフトを停止してから再度実行してください。

前編にも記載しましたが、WSLのUbuntuはsystemctlコマンドが使えないためこれによる自動起動設定ができません。

利用する際はコマンド操作でMySQLとApacheを起動してください。

https://codeaid.jp/blog/wsl-lamp-wp2/ 参照

Visual Studio Code

【インストール】

https://code.visualstudio.com/

にて、画面右上の「Download」をクリック。

「Download Visual Studio Code」画面になるので、
Windows10用のSystem Installerの64bitをダウンロードする。

画面左下の「ファイルを開く」を選ぶ。セットアップが始まる。
追加タスクの選択画面で、すべてを選択し、インストール。

【日本語化】

Extensions(四角いマークのアイコン)をクリック。

パネルが開くので検索ボックスに「Japanese Language Pack」と入力。

→「Install」をクリック。

再起動後、「Ctrl+Shift+P」を押し、「display」と入力。

「Configure Display Language」を選択 →「ja」を選択。

再起動して利用。

【印刷】

Extensions(四角いマークのアイコン)をクリック。

パネルが開くので検索ボックスに「PrintCode」と入力。

→「Install」をクリック。

ファイルを選択後、「F1」を押し、「PrintCode」と入力。

GNU C Compiler

「Windows」のデスクトップ上の「Tera Term」のショートカットを用いる
(「Windows」に「Tera Term」をインストールしておく)。
「Linux」のサーバに、一般ユーザーでログインする
(いきなり「root」で、ログインすると、ルートディレクトリで作業することに注意)。
ユーザーディレクトリの中で、スーパーユーザーに交代する。

$ su
パスワード:
#

「GCC」ディレクトリを作成する。

# mkdir GCC
# cd GCC

# vi hello.c

#include <stdio.h>
main () {
printf(“Hello, world.\n”);
}

コンパイル

# gcc hello.c

実行

# ./a.out
Hello, world.

UNIXでは「./」と、カレントディレクトリを指定しないと、
カレントディレクトリのコマンドは実行されない。

「a.out」以外のファイル名にしたい場合は、

# mv a.out hello

とするか、コンパイル時に

# gcc hello.c -o hello

のように指定する。
実行ファイル名に「test」を使用しない
(「test」はUNIXのコマンドなので)。

実行

# ./hello
Hello, world.

PERL環境構築

64bitのWindows 7 Home Premiumが入ったノートPCに「ActivePerl 5.20.1 Build 2000 (64-bit)」をインストールした。
自動的に、環境変数Pathに「C:\Perl64\site\bin;C:\Perl64\bin;」が設定された。
「C:\PERL」フォルダを作成し、そちらを作業フォルダとした。
「C:\PERL」フォルダのショートカット「PERL」をデスクトップ上に作成した。
PERLのソースファイルは「.pl」という拡張子で、命名する。
最も簡単なプログラム「hello.pl」は、以下の記述となる。

************************************************************
#! C:\Perl64\bin
print “Hello, world!\n”;
************************************************************

デスクトップ上にコマンドプロンプトをコピーし、作業フォルダを「C:\PERL」とした。
上記のプログラムを実行するには、コマンドプロンプト上でソースファイル名を指定すれば良い。

C:\PERL>hello.pl
Hello, world!

さらに、下記のコマンドで、「C:\PERL」フォルダ内に、「hello.pl」の実行結果「Hello, world!」を「hello.txt」というファイルに保存できる。

C:\PERL>hello.pl > hello.txt

※WordPressでは「半角¥マーク」が、「\」(バックスラッシュ)になっているので、ご注意ください。

LATEXの利用(Windows7 64bit)

abtexinst_0_85r1

をダウンロードし、チェックリストを全部チェックする設定で、その他はデフォルトでインストールする。インストールにはかなりの時間を要する。

「TeXworks」の左上が「pdfpLaTex」の状態で、「01.tex」を作成。

************************************************

\documentclass{jsarticle}

\begin{document}

start

\end{document}

************************************************

と記述し、左上の→を押すと、「01.pdf」ができる。

pdfファイルの関連付けが変わっていたら、「adobe」に戻すといい。

WORDで2ページ目からページ番号を振るには

Wordで、1ページ目に表紙を作った場合など、ページ番号は2ページ目から付けたい時ってありますよね。
その場合、下記の方法で設定できます。

1.ツールバーの「挿入」から「ページ番号」を選択。
2.「ページ番号」の設定画面が出たら、下の「最初のページにページ番号を挿入する」のチェックを外す。
3.「書式」ボタンを押す。
4.「連続番号」の「開始番号」を選択し、番号に「0」を入力。
5.「OK」ボタンで「ページ番号の書式」画面を閉じ、もう一度「OK」ボタンで「ページ番号」画面を閉じる。

これで、ページ番号が0ページから連番に振られ、最初のページにはページ番号が挿入されないため、2ページ目から「1・2・3…」と連番でページ番号が振られます。

参照サイト http://cswmoon.blog12.fc2.com/blog-entry-98.html

Windows10においてiTunesでiPhoneを同期できない

この場合は、デバイスマネージャーを開き
ポータブルデバイス内に認識している「AppleiPhone」を右クリックして
「ドライバーソフトウェアの更新」を選択
「コンピューターを参照してドライバソフトウェアを検索します」を選択し
「C:\Program Files\Common Files\Apple\Mobile Device Support\Drivers」
を指定しますと、「usbaapl 64.inf」が有りますので
このドライバーに更新します
すると「USB (Universal Serial Bus) コントローラ」の中に
「Apple Mobile Device USB Driver」が認識され
iPhoneが同期可能になります。

http://giantcone.blog.jp/archives/33267645.html 参照

Windows10のSendToの場所

ファイルを右クリックした時に表示される「送る(N)」が登録されているのは、

「C:\Users\[ユーザー名]\AppData\Roaming\Microsoft\Windows\SendTo」

内に表示されるショートカットです。

こちらに、テキストエディタ(例:TeraPad.exe)などの
ショートカットを入れておくと便利でしょう。