IMUZA.com

<<WordPress(ConoHa)<<はてなブログ

ホーム / Docker / WordPress:ローカル開発環境をDropboxで共有

WordPress:ローカル開発環境をDropboxで共有

2021/09/13 Docker, Wordpress

はてなから WordPress に移行準備中です。

パーマリンク(URL)の維持、そしてデータの整形と移行が簡単にできるようになりましたので次はテーマ開発です。

  • ここまでの成果
    • パーマリンクの維持
    • データ移行
  • WordPress のローカル開発環境
    • シンボリックリンクではうまくいかない
    • Docker の volumes で Dropbox をマウントする
  • Docker, Docker-compose のインストール
    • Docker Desktop WSL 2 バックエンド
  • Docker + WordPress + Dropbox
    • docker-compose.yml

ここまでの成果

パーマリンクの維持

検索エンジンに登録された URL を WordPress に移行しても「はてなブログ用リライトルールプラグイン」でそのまま維持します。

  • WordPress:はてなから移行する場合の permalink rewrite プラグイン

データ移行

はてなブログのエクスポートファイル内のフォトライフの画像を WordPress 内にコピーし、同時にファイル内の URL 変更やその他の整形をし、WordPress にインポート可能ファイルとして保存します。

  • WordPress:はてなブログからWordPressへの移行ツール Ver.2

WordPress のローカル開発環境

仕事場と自宅でデータを共有する方法とテーマ開発の方法を理解するのに1週間も費やしてしまいました。

シンボリックリンクではうまくいかない

個人が2ヶ所でデータを共有したいというレベルの話ですので、作業が済んだたらいちいちアップロードしたり、git したりするという面倒な方法は除外するとしますと、Dropbox にデータを置いて共有する方法しか思いつきません。

で、WordPress のテーマディレクトリと mysql のデータディレクトリを Dropbox に置いて、それぞれシンボリックリンクで WordPress を立ち上げられないかとやってみたのですが、どうしてもうまくいきません。

ネットにはうまくいっている方もいるようですが、私の環境では権限や所有者をあれこれいじってもダメでしたのであきらめました。

Docker の volumes で Dropbox をマウントする

あれこれググっているうちに Docker の volumes で Dropbox のディレクトリをマウントできるのではないかと思い、やってみましたらうまくいきました!

初めての Docker ですので、インストール等は Docker-Docs を基本にしています。

Docker, Docker-compose のインストール

仕事場は Windows10 がメインですので Docker Desktop for Windows になりますが、WSL2 を入れていますので WSL2 上で Docker が走るということになるのでしょうか。よくわかりませんので、とにかく指示に従ってインストールしていきます。

Docker Desktop WSL 2 バックエンド

  • Docker Desktop for Windows ダウンロード

上記からダウンロードし、起動しますと、すでに WSL2 にチェックが入っています。

解凍しています。思ったよりも時間がかかります。

完了しますとログアウトを促されますのでログインし直します。

自動で立ち上がったのか、ショートカットをクリックしたのか忘れましたが、このダイアログになりますので同意します。

Docker Engine が起動します。設定の General とか Resources を確認しましたが何も変更していません。WSL2 で Docker が動くようになっています。

WSL2 からバージョンを確認しています。すでに昨日、自宅の Ubuntu には Docker をインストールして WordPress の立ち上げもやっていますので、インストールされていれば問題ないだろうということで、ここでは hello-world コンテナでのチェックもやっていません。

Docker-compose の最新版をインストールします。

Docker + WordPress + Dropbox

Docker-compose を使って WordPess と Mysql の環境を構築します。

  • クィックスタート: Compose と WordPress — Docker-docs-ja 19.03 ドキュメント

WSL2 上にプロジェクト用ディレクトリをつくり、そこに docker-compose.yml を起き、docker-compose up -d と打って起動し、ブラウザで http://localhost:8000 にアクセスしますと WordPress のインストールページが立ち上がります。データベース設定はありませんのでサイト設定だけです。

docker-compose.yml

Mysql のデータディレクトリと WordPress のドキュメントルートを Dropbox に置く設定です。

version: '3'


services:
   db:
     image: mysql:5.7
     volumes:
       - /mnt/c/Users/(ユーザー名)/Dropbox/WordPress/mysql:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress


   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
     volumes:
- /mnt/c/Users/(ユーザ名)/Dropbox/WordPress/html:/var/www/html

これで Docker のコンテナ WordPress と Mysql が立ち上がります。

開発はこれからですので何か問題が出るかも知れません。また、wp-content ディレクトリだけ Dropbox のディレクトリをマウントすることも可能なようです。その場合の docker-compose.yml は、

     volumes:
       - ./html:/var/www/html
- /mnt/c/Users/(ユーザ名)/Dropbox/WordPress/html/wp-content:/var/www/html/wp-content

とします。ただ、いきなりこの設定では起動せず、一度 WordPress を WSL2 のプロジェクトディレクトリで起動してから、wp-content ごと Dropbox にコピーして、あらためて docker-compose.yml を書き直して起動すればうまくいくようです。

開発はこれからですので、これでうまく行くかどうか、問題があればまだ報告します。

さわって学ぶクラウドインフラ docker基礎からのコンテナ構築

さわって学ぶクラウドインフラ docker基礎からのコンテナ構築

  • 作者:大澤 文孝,浅居 尚
  • 日経BP

Amazon

WordPress:はてなブログからWordPressへの移行ツール Ver.2
WordPress:Genesis Framework を使ってみる
Twitter
Facebook
ブックマーク
LINEで送る

最初のサイドバー

最新記事

2022/08/13

はてなブログProを解約したらエェ〜?!

2022/08/10

WordPress にプラグインなしで fancybox4 導入

2022/07/29

WordPressでiframeが表示されない(解決)

2022/07/14

WordPressのデータベースを入れ替える

2022/07/7

WordPress:テーマをゼロから作ってみる(3)

最新記事を一覧で見る

よく読まれている記事

よく読まれている記事を一覧で見る

カテゴリー

  • はてなブログ214
  • WebTips108
  • javascript96
  • Joomla!88
  • Windows68
  • CSS62
  • Joomla!更新53
  • Linux49
  • はてなテーマ45
  • Wordpress38
  • Plamo33
  • Google32
  • はてなプラグイン25
  • php19
  • Node.js18
  • SASS16
  • Ubuntu16
  • laravel415
  • Chrome10
  • cms-style10
  • iPhone9
  • genesis6
  • Git入門6
  • ConoHa WING5
  • Python4
  • Android4
  • SSD3
  • Docker3
  • スマートフォン3
  • Facebook3
  • Firefox3
  • 静的サイトジェネレーター3
  • Blankslate3
  • Mactype2
  • GitHub2
  • rails入門1
  • はてなブクマ1
  • Twitter1
  • 映画1
  • youtube1

Footer

My Web Sites

  • @半径とことこ60分
  • そんなには褒めないよ。映画評
  • IMUZA.com
  • GitHub

Another Sites

  • WordPress公式
  • WordPress関数リファレンス
  • PHPマニュアル

Contact Us

  • お問い合わせフォーム
  • Twitter
  • Facebook
  • Feedly

Copyright © 2022 · IMUZA.com