Cygwin を使って WordPress を速攻セットアップする手順です。
設定環境
CYGWIN_NT-10.0 PC 3.1.4(0.340/5/3) 2020-02-19 08:49 x86_64 Cygwin
Apache/2.4.39 (Unix) May 1 2019 19:37:31
Server version: 10.3.14-MariaDB Source distribution
PHP 7.3.7 (cli) (built: Jul 21 2019 18:10:35) ( NTS )
WordPress 5.4 日本語版
Cygwin に Apache プラス PHP と MySQL(MariaDB)をセットアップし終えたら、WordPress が動くかどうか試してみることで、これら(httpd、データベース、PHP)すべてがうまく連携できているかを確認できます。
本ページでやることは、WordPress の公式サイトからソースをダウンロードしてきて展開するだけです。
WordPress をセットアップする
前提として、WordPress は "/srv/www/htdocs
" 以下に展開します。ブラウザ上では localhost/wprdpress から wordPress にアクセスできるようにします。
ダウンロードツール wget の確認
必須ではありませんが、ダウンロードツール wget がインストールできているかどうかを確認します。
cygwin
$ wget -V
GNU Wget 1.19.1 built on cygwin.
-cares +digest -gpgme +https +ipv6 +iri +large-file -metalink +nls
+ntlm +opie +psl +ssl/gnutls
(以下略)
"wget -V" とコマンドしてみて、バージョンが表示されたら wget がインストールされています。コマンドがないなどのエラーが起きる場合は、以下のパッケージを setup-x86_64.exe をダブルクリックしてインストールを行います。
WordPress をダウンロードする
Cygwin をコンソールで開き、カレントパスを "/srv/www
" にします。そして、wget を使ってダウンロードします。
下の赤字の部分が、実際にに有力するコマンドです。
cygwin
$ cd /srv/www/htdocs
$ wget https://ja.wordpress.org/latest-ja.tar.gz
--2020-04-15 11:19:30-- https://ja.wordpress.org/latest-ja.tar.gz
ja.wordpress.org (ja.wordpress.org) をDNSに問いあわせています... 198.143.164.252
ja.wordpress.org (ja.wordpress.org)|198.143.164.252|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 12956022 (12M) [application/octet-stream]
latest-ja.tar.gz' に保存中
latest-ja.tar.gz 100%[============================>] 12.36M 4.30MB/s 時間 2.9s
2020-04-16 11:19:34 (4.30 MB/s) -
latest-ja.tar.gz' へ保存完了 [12956022/12956022]
(以下略)
もし、Windows のダウンロードマネージャなどを使ってダウンロードする場合は
https://ja.wordpress.org/latest-ja.zip
からダウンロードしても問題ありません。
ダウンロードしたファイルを展開します。
cygwin $ tar xfz latest-ja.tar.gz $ ls latest-ja.tar.gz wordpress $ chmod 777 wordpress #パーミッションを緩くする
ここまでで、現在 "/srv/www/htdocs/wordpress
" (Windows 的には "C:\Cygwin64\srv\www\htdocs\wordpress
")に解凍されています。
MySQL に WordPress で使うデータベースを作る
設定の一番初めに、どのデータベースを WordPress で使用するか決める必要があります。上の画面が表示される段階で、ほ WordPress と httpd、PHP の設定はほぼうまくいっているのですが、データベースの設定に関しては、まだわかりません。データベースにもアクセス権など、様々な使用制限がありますので、必要な権限を WordPress に与えていく必要があります。
正確には、WordPress は httpd が実行しますので、httpd(Apache)がデータベースにアクセスできることが必要条件になります。また、記事の削除等を含め、削除権限なども与える必要が出てきます。厳密には細かく設定できますが、動作チェックのため、ほぼセキュリティ無視のフルアクセスを httpd に与え、動作確認します。
データベースと httpd が起動していない場合は、以下のようにあらかじめコマンドします。
cygwin $ mysqld_safe --datadir='/var/lib/mysql'& [1] 509 200416 11:33:08 mysqld_safe Logging to '/var/lib/mysql/Cubi.err'. 200416 11:33:09 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql $ /usr/sbin/httpd -k start
httpd(Apache)とMySQL(MariaDB)に特にエラーが出なければ次に進みます。
次に MySQL に WordPress で使うデータベースを作成し、さらにデータベースを操作するユーザーを作成し権限を与えます。今回はデーベース名を「testdb」、ユーザー名を「wpadmin」、データベース testdb に対して「all(すべての権限を与える)」の設定を行っています。具体的なコマンドは以下の通りです。
cygwin ~(途中略)~ (以下略) $ mysql -u root -p Enter password: (パスワードを入力します) Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 131 Server version: 10.3.14-MariaDB Source distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> create database testdb; Query OK, 1 row affected (0.006 sec) MariaDB [(none)]> create user 'wpadmin'@'localhost' identified by '12345678'; #'12345678' は今回設定したパスワードです。 Query OK, 0 rows affected (0.011 sec) MariaDB [(none)]> grant all on testdb.* to 'wpadmin'@'localhost'; Query OK, 0 rows affected (0.011 sec)
上の赤字の部分が入力すべきコマンドです。
上の例ではパスワードを「12345678」に設定していますが、適切なパスワードにしていただいて問題ありません。
ここで設定したデータを、WordPress の設定で直接使いますので、メモしておきます。
メモ
データベース名 : testdb
ユーザー名 : wpadmin
パスワード : 12345678
ホスト名 : localhost
ブラウザからアクセスして、WordPress が動くかどうか確認する
次に、httpd がしっかり起動して、デフォルトの HTML ページが表示されるか確認します。
ブラウザを起動して、アドレス欄に "localhost" と入力して、"It works!" が表示されるかどうか確認します。
次にブラウザのアドレス欄に "localhost/wordpress" と入力して、WordPress の設定画面に入ることができるかどうか確認します。
「さあ、始めましょう!」をクリックして設定を続けます。
WordPressにデータベースを設定する
先ほどメモした内容をそのまま入力して終わりです。
WordPress の初期エラーに対応する
OS や WordPress のバージョン如何によっては、エラーが出ることがあります。大抵は深刻なモノではありませんので、すぐに対処できます。よくあるのは、
- ディレクトリに書き込み権限がなかった
- データベースが起動していなかった
- データベースを設定していなかった
- httpd と データベースのユーザー権限が弱かった
あたりです。一つずつ潰せば、問題は無くなりますので、余裕を持って対処していきます。
データベース選択エラー
データベースには接続できたけれど、指定されたデータベースがない、アクセスする権限がない場合にこのエラーが起きます。Cygwin のデフォルトでこのエラーが起きる場合は、データベースを作成し忘れている場合、権限を付与し忘れている場合が大半です。 Cygwin を使って phpMyAdmins を速攻セットアップする手順です。 Cygwin に Apache プラス ... 続きを見る
この場合は、phpMyAdmin でデータベースがしっかり作成できているか調べてみるのが手っ取り早く解決策を見つける方法になります。
Cygwin に phpMyAdmin を速攻セットアップする
データベース接続エラー
文字通りにこのエラーを読み解くと、データベースが起動していないなどのエラーが考えられますが、多くはデータベースを作成したユーザー名とパスワードを間違えて入力しているケースが大半です。
WordPress のパスワード、MySQL のパスワードは別扱いになるので注意してください。このページの例ではデータベース MySQL のパスワードは ( ID=root, パスワード=12345678 ) にしています。
[オマケ]wp-config.php を直接編集する
WordPress の設定ファイルは wp-config.php
で、"/srv/www/htdocs/wordpress/wp-config.php
" (Windows 的には "C:\Cygwin64\srv\www\htdocs\wordpress\wp-config.php
")に作られます。で入れクトリに書き込み権限がないような場合は、そもそもファイルが生成されないので注意です。
イマイチ、設定ファイルが気に入らなかったりする場合は、同じフォルダ内の wp-config-sample.php
を wp-config.php
としてコピーして、中身を直接書き換えるような設定も可能です。
ここでは、オマケとして、WordPress のテスト環境として、メモリを有効に使えるようにパラメータを少し触ります。
wp-config.php
の 50 行目あたり、「認証用ユニークキー」の上あたりに、空行を追加して、
define( 'WP_MEMORY_LIMIT', '256M' );
の行を追加します。
これは、WordPress のメモリの制限です。デフォルト値が少なすぎるので、増やしておきます。
動作の重めのテーマのテストのみならず、負荷のテストも行いにくくなりますので、256MB ぐらいは最低でも割り当てておくようにします。
Cygwin を使って Apache を速攻セットアップする手順です。 本ページはこんな方におすすめ Windows 上 ... 続きを見る Cygwin に MySQL(MariaDB) をセットアップして実行する手順です。 MySQL を Cygwin でセ ... 続きを見る Cygwin は Windows 上で Linux ディストリビューションと同様の機能が使えるようにする、オープンソース ... 続きを見る
Cygwin で Apache と PHP を速攻セットアップする
Cygwin で MySQL を速攻セットアップする
Windows に Cygwin をセットアップする入門編