0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

DockerでWordpress環境構築+All-in-One WP Migrationのインポート制限解除(Windows)

Posted at

 目次

  • はじめに
  • 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ディストリビューションが必要です。

以下の操作を全て行います。

docker-compose.ymlを使う

適当なフォルダ内に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のポートです)

↓の画面が出てきたら成功です。

WordPress_01.png

 AIOWP Migrationのインポート制限解除

既存のサイトを丸々移動する場合の一つの方法として、AIOWP Migrationというプラグインでエクスポート、インポートする方法があり、非エンジニアの方でも手軽に行うことが出来ます。

しかしながら最新版だと無料で2MBしかインポート出来ないというまともに使わせる気のない状態の上に、後述する設定が出来ないので、古いバージョンのものを導入してカスタマイズします。

古いバージョンのAIOWP Migrationをインストール

先述の通り最新バージョンでは以降の設定が出来ないため、6.68バージョンのzipをダウンロードします。
サイト1 サイト2 などお好きな所からDLしてください。

次にDLしたzipファイルをここを参考にインストールして有効化します。

プラグインファイルエディターを開き、AIOWP Migration内のconstants.phpを開きます。
firefox14.png

AI1WM_MAX_FILE_SIZEという項目があるので、その値を536870912 * 20(後ろに* 20をつける)にでもします。
見当たらない場合はバージョンが最新版になっているのでプラグインをアンインストールして、もう一度6.68バージョンをインストールしてください。

致命的なエラーをチェックするためにサイトと通信できないため、PHP の変更は取り消されました
と表示された場合は後半の項目参照

AIOWP MigrationのインポートページのMaximum upload file sizeの部分が10GBになっていたら成功です。
firefox15.png

「致命的なエラーをチェックするためにサイトと通信できないため、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環境をローカル環境にコピーすることが出来るようになりました。後は色々と改修してみるなり固定ページを作ってローカルでテストしてからそれだけエクスポートして本番サーバーにインポートするなりしましょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?