Windows10でNginx+MariaDB+Wordpressをインストールする。その1

以前にも書いたのですが、Nginx の設定がうまくいかずに途中でちょっと投げ出していたので、ちゃんと最後まで書きました。

まず前知識として、WordPress は Apache で運用することを前提としています。そのため、Apache と組み合わせるためのモジュールなども充実していますし、Apache + PHP でのキャッシュ機構などを利用することでパフォーマンスも得ることができます。
何らかの理由で Nginx であることが必要な場合以外には、基本的には Apache を使ったほうがいいでしょう。
あるいは、外部へのインタフェースは Apache に任せて、WordPress も Apache で運用し、Nginx が必要な部分は Apache に proxy (あるいはredirect)させるという方法も考えられます。Nginx 一本で行くんだ!という縛りがないなら検討してみるのも無駄ではないでしょう。

MariaDBのインストール

MariaDB.orgから Download へと進んで、 MariaDB の MSI ファイルをダウンロードします。
2019年4月10日現在の stable は 10.3.14 です。ダウンロードしたら、MSI を実行します。
GPL のライセンス同意をして、インストールする機能については特に好みがなければそのまま "Next" を押し、root パスワードを設定します。
ここではサーバの文字エンコーディングを UTF-8 にします。そのほうが何かと都合がよいので。
次のサービス名とポート番号などはそのままにします。

利用統計を送るかどうかはお好みで。ここではプライベートなサーバなので送らないようにします。
インストールが終わるとデスクトップに HeidiSQL のアイコンが作られます。またWindowsサービスとして登録され、バックグラウンドで自動実行されていますので、そのまま利用できます。

とりあえずここでは HeidiSQL にセッションを作成して保存するところまでやっておきます。
HeidiSQLを起動すると以下のような GUI 画面が出てきます。
左下の「新規」→「セッションを追加」をクリックし、セッションの設定画面を開きます。
先程設定した root パスワードを入力して「開く」をクリックするとセッションが張られます。
MariaDB のインストールは以上です。

Nginxのインストール

次に Nginx (エンジンX)のインストールです。"download" リンクから "Stable version" の "nginx/Windows-x.xx.x" の ZIP ファイルをダウンロードします。
現在のバージョンは 1.14.2 です。

ダウンロードした ZIP ファイルを展開すると、そのままインストールイメージになるので、適当なところに配置します。
ここでは C:\Apps\Nginx に展開した中身(nginx.exe とか conf とか)を移動します。あとで便利なように、デスクトップに nginx.exe のショートカットも作成しておきます。

Nginx のインストールは以上です。

PHPのインストール

次は PHP のインストールです。PHP.netから "Downloads" に飛んで、特にバージョンにこだわりがなければ最新の stable である 7.3.4 の "Windows downloads" から "VC15 x64 Non Thread Safe" をダウンロードします。

ZIP ファイルを展開すると、これもそのままインストールイメージになっているので、適当なところに配置します。
ここでは Nginx と同様に C:\Apps\PHP にします。
ファイルの中身を移動したら、PHP.INI ファイルを設定しますが、アーカイブに "php.ini-development" と "php.ini-production" のファイルが含まれています。どちらでもいいのですが、ここでは開発をするわけではないので、一旦 "php.ini-production" を "php.ini" にコピーします。
コピーしたらエディタで開いて、いくつかの項目を編集する必要があります。

extension_dir = "c:\Apps\PHP\ext"
upload_max_filesize = 1G
extension=curl
extension=gd2
extension=gettext
extension=intl
extension=mbstring
extension=exif ; Must be after mbstring as it depends on it
extension=mysqli
extension=openssl
extension=pdo_mysql

"extension_dir" は、PHP を C:\PHP にインストールした場合には不要です。
最後の2つはちょっと微妙で、WordPress が DBサーバに接続するときにどちらのドライバを使うかという選択です。PDO というのは PHP Data Object の頭文字で、PHP としてはこちらに移行していきたいような感じですが、実際のところはアプリケーションがどちらを利用するかを決定するので、必要に応じてどちらか一方あるいは両方を有効にしておく必要があります。
PHP の以前のバージョンから php.ini の書き方が変わってきていて、Windows 版のときには extension 名に .dll を付けていたのが、現在は不要になっています。互換性のために .dll がついていても動作するようですが、将来的には .dll は deprecate になるようです。
また、ShiftJIS などで使用する場合には、
zend.multibyte = on
にする必要があります。

それから、ext ディレクトリには nghttp2.dll というのがあり、これは Nghttp2: HTTP/2 C Library だと思いますが、php.ini には特に設定項目もないようで、Nginx が独自に HTTP/2 をインプリメントしていることを考えると、おそらくは Apache 用モジュールではないかと思います。

インストールが終わったら、PHP にパスを通しておきます。

WordPressのインストール

最後に WordPress のインストールです。現在のバージョンは 5.1.1 です。
ダウンロードしたら、ZIP ファイルを展開して適当なところに配置します。ここでは、C:\srv\www\blog 以下に配置することにします。
Windows10でNginx+MariaDB+Wordpressをインストールする。その2に続きます。

0 件のコメント:

コメントを投稿

Windowsでシンボリックリンクを試してみる。

きっかけは、1つのファイルを別の名前で起動したら違う動きになるようなスクリプトを書く、でした。  busybox なんかでは、同じ実行形式ファイルの名前を、lsにすればlsと同じ、cpとすればcpと同じ動作をするようにしてますが、Pythonスクリプトでそれと同じように argv...