目次
- はじめに
- DockerでWordpressを使う
- All-in-One WP Migration(以下AIOWP Migration)のインポート制限解除
はじめに
免罪符ではないですが、Qiita初心者兼エンジニア初心者なので色々と間違っているところがあるかもしれません。
ローカルでWordpressを立てて既存のサイトをAIOWP Migrationでインポートしようとしたところ、割と詰まるところがあったので、社内&似たような状況の人向けに自分の直面した問題と解決方法をまとめることにしました。
目的
- Dockerを使って簡単にWordpress環境を作る
- AIOWP Migrationをうまく使って、ローカル環境に実際に公開しているサイトを丸々インポートできるようにする。
DockerでWordpressを使う
普通にWordpress やり方
などでググると、Wordpressをサーバーにインストールする方法や、Wordpressを楽に使えるレンタルサーバーに関する情報が出てきます。これはWordpressが個人ブログで用いられることが多く、【初心者向け】記事でクリック数を稼ぎやすいためです。
しかし、ローカルで開発環境としてWordpressを使う場合には、Dockerでコンテナを作るのがおすすめです。ほんの数分で作れるためです。
Dockerをインストールする(要再起動)
ここから(公式サイト)
Ubuntuをインストールする
Dockerがらみのコマンドを使うにはUbuntuなどのLinuxディストリビューションが必要です。
以下の操作を全て行います。
- Windows ターミナルのインストール
- WSLの有効化(埼玉大学)または MS公式
- Ubuntuのインストール(色々な方法がありますが、Microsoft Storeのものがやりやすいと思います)
docker-compose.ymlを使う
適当なフォルダ内にdocker-compose.ymlというファイルを作成し、以下をコピペします(参照)。
version: '3.1'
services:
wordpress:
image: wordpress
restart: always
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: exampleuser
WORDPRESS_DB_PASSWORD: examplepass
WORDPRESS_DB_NAME: exampledb
volumes:
- wordpress:/var/www/html
db:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: exampledb
MYSQL_USER: exampleuser
MYSQL_PASSWORD: examplepass
MYSQL_RANDOM_ROOT_PASSWORD: '1'
volumes:
- db:/var/lib/mysql
volumes:
wordpress:
db:
終わったらUbuntuコンソールでそのフォルダ内に移動した後、docker-compose up -d
と入力すると、必要なイメージを取ってきてくれてコンテナが起動します。
Webページにアクセスする場合は、http://localhost:8080
と入れるか、Docker Desktopのコンテナから8080:80と書いてあるところをクリックします。(8080はymlファイル内で指定したwordpressのポートです)
↓の画面が出てきたら成功です。
AIOWP Migrationのインポート制限解除
既存のサイトを丸々移動する場合の一つの方法として、AIOWP Migrationというプラグインでエクスポート、インポートする方法があり、非エンジニアの方でも手軽に行うことが出来ます。
しかしながら最新版だと無料で2MBしかインポート出来ないというまともに使わせる気のない状態の上に、後述する設定が出来ないので、古いバージョンのものを導入してカスタマイズします。
古いバージョンのAIOWP Migrationをインストール
先述の通り最新バージョンでは以降の設定が出来ないため、6.68バージョンのzipをダウンロードします。
サイト1 サイト2 などお好きな所からDLしてください。
次にDLしたzipファイルをここを参考にインストールして有効化します。
プラグインファイルエディターを開き、AIOWP Migration内のconstants.php
を開きます。
AI1WM_MAX_FILE_SIZE
という項目があるので、その値を536870912 * 20
(後ろに* 20をつける)にでもします。
見当たらない場合はバージョンが最新版になっているのでプラグインをアンインストールして、もう一度6.68バージョンをインストールしてください。
致命的なエラーをチェックするためにサイトと通信できないため、PHP の変更は取り消されました
と表示された場合は後半の項目参照
AIOWP MigrationのインポートページのMaximum upload file sizeの部分が10GBになっていたら成功です。
「致命的なエラーをチェックするためにサイトと通信できないため、PHP の変更は取り消されました」が出てきた場合
先述した通りプラグインを変更しようとすると、このようなエラーが出てくることがあります。
この場合、wp-admin/includes/file.php
の編集が必要となります。開き方は二種類あり、
- VScodeのリモートエクスプローラーを使い、/var/www/htmlを開く。
- DockerのTerminalから「Open in external terminal」を開いて接続する。この場合以下のコマンドでvimをインストールする必要がある。
apt-get update
apt-get install vim
後はこの記事のコメントアウトの方法を用いればOKです。
結論
これで既存のWordpress環境をローカル環境にコピーすることが出来るようになりました。後は色々と改修してみるなり固定ページを作ってローカルでテストしてからそれだけエクスポートして本番サーバーにインポートするなりしましょう。