ワードプレスの開発環境を一瞬でLocal by Flywheelで作って、wordmoveで本番環境にアップロード(FTP編)【WordPress環境開発】
はい、どうもこんにちは。コロナが大変な中家で充実して作業をできております。sgwですw
と言ってもワードプレスのサイト量が増えるといくらvagrantを圧縮しても結局大きくなってくるのできりがないです。今日はいろいろ調べてやっとこLocal by FlywheelでWordmoveできるようになったので書いていきます。
目次
Local by Flywheelとは
今回はここはだいぶ省きますがワードプレスのための仮想サーバーを簡単に作ってくれるGUIのアプリです。ググったら出てくるので基本的な使い方はググってください。
Wordmoveとは
ローカル開発環境で作ったワードプレスのサイトをコマンドライン1つでリモート(本番サーバー)にアップできます。sshとftpでつなぐことができるのですが、今回はftpでいきます。(セキュリティとか知りませんw)
必要な物
- Local by Wheel 3.30
- Macのターミナルapp
公式サイトに直接だとバージョン5が取れるんですがそれはまだベータらしくてsshとかrootとかで仮想環境に入れないので使えませんwなのでバージョン3を上記のリンクから取ってください。
Local by Flywheel 起ち上げます。
基本的なGUIの使い方とかはこちらをチェック。
[el url=”https://bazubu.com/local-by-flywheel-33920.html”]超簡単にローカル環境が構築できるLocalbyFlywheelの使い方[/el]
テストサイトを作成してページが開ける状態にしてください。
そこから右クリックでOpen Site SSHをクリックします。するとターミナルが開きます。
んで今から順番に上からコマンドを実行していきます。
apt update
apt upgrade
この辺で”Do you want to continue? [Y/n]”が出てくるのですがもちろYをタイプしてエンターを押してください。今後も出てくることがあるのですが同じくY押してエンターで進んで下さい。
apt-get install build-essential git wget rubygems
wget -O ruby-install-0.7.0.tar.gz https://github.com/postmodern/ruby-install/archive/v0.7.0.tar.gz
tar -xzvf ruby-install-0.7.0.tar.gz
cd ruby-install-0.7.0/
make install
ruby-install
ruby-install --system ruby 2.6
最後結構時間かかってしまうのですがこれでrubyの2.6バージョンが手に入るはずです。チェックする場合は
ruby -v
とかで一応チェックしてみてください。下記のようなコマンドが表示されれば、rubyインストール完了です。
ruby 2.6.6p146 (2020-03-31 revision 67876) [x86_64-linux]
一応ですがここでターミナルを閉じでもう1度右クリックでOpen Site SSHをクリックしてください。これです。
んでまたコマンド。
apt-get install -y lftp
cd /root/
apt-get install vim
vi .lftprc
set ftp:ssl-auth TLS
set ftp:ssl-force true
set ftp:ssl-allow yes
set ftp:ssl-protect-list yes
set ftp:ssl-protect-data yes
set ftp:ssl-protect-fxp yes
set ssl:verify-certificate no
esc => :(コロン) => w => q をタイプしてエンターを押して保存する。
cd ../
gem install wordmove
cd /app/public
wordmove init
これでmovefile.ymlが出来ます。デフォルトだとすべて小文字でファイルの名前が作られますが個人的にはMovefileとファイルの最初の名前を大文字にしたほうがエラーが少ない経験ですw
それとinitで作ったファイルではdatabaseのlocalやrootの部分にクオテーションが無く最初変なエラーが起きたのでもしかしたらつける必要があるのかもしれないです。下記に自分が使ってるテンプレートを載せたのでコピペして使って下さい。もちろん、サーバー等は自分の作成下名前に変更、そして本番環境側のサイトの方も書き直して下さい。
#ここから下をコピペ
global:
sql_adapter: default
local:
vhost: "http://testsite.lo/"
wordpress_path: "/app/public" # use an absolute path here
database:
name: "local"
user: "root"
password: "root" # could be blank, so always use quotes around
host: "localhost" #ローカルサイトのDATABASEタブのRemote Host
production:
vhost: "https://testsite.com/"
wordpress_path: "/" # use an absolute path here
database:
name: "testsite"
user: "testsite"
password: "testsite"
host: "localhost"
exclude:
- ".DS_Store"
- ".git/"
- ".gitignore"
- ".sass-cache/"
- "bin/"
- "tmp/*"
- "Gemfile*"
- "movefile.yml"
- "wp-config.php"
- "wp-content/*.sql"
- "node_modules/"
ftp:
user: "testsite"
password: "testsite"
host: "111.111.111.1"
passive: true
scheme: "ftp"
movefileの詳しい書き方はこちら。
[el url=”https://sgw.today/entry/2019/12/07/011749#Production_vhost%E3%81%AE%E3%83%91%E3%82%B9%E3%81%AE%E6%9B%B8%E3%81%8D%E6%96%B9″]ワードプレスの開発環境を一瞬でLocal by Flywheelで作って、wordmoveで本番環境にアップロード(FTP編)【WordPress環境開発】[/el]
これで一応ftpでファイルはできるようになりますがデータベースで謎のエラーがおきます。とりあえず一度ターミナルを閉じてまた右クリックからOpen SSHをクリック。
cd /app/public
試しにテーマとデータベースだけpullしてみます。
wordmove pull -t
すると下記のようなコードが連続で表示されます。Transferringのみだと失敗の可能性大ですが、making directoryが出てれば大体成功です。ここでテーマをチェックしてみます。
Transferring file `twentytwenty/style.css'
Making directory `twentytwenty/assets'
wordmove pull -d
データベースの場合下記のようなエラーが出ます。
invalid byte sequence in US-ASCII (ArgumentError)
データベース対策
ここのサイトがすごい参考になりました。とってもありがとう;;
[el url=”https://hacknote.jp/archives/15027/”]データベース移行時(wordmove pull -d する際)に出るエラー[/el]
ってなわけで先程のエラーの上を見ると
/usr/local/lib/ruby/gems/2.6.0/gems/wordmove-5.0.2/lib/wordmove/sql_adapter/default.rb:45:in `gsub!'
みたいな感じでここにエラーがありますよと出てきます。
なのでファイル名である、default.rbを省いた
/usr/local/lib/ruby/gems/2.6.0/gems/wordmove-5.0.2/lib/wordmove/sql_adapter/
このパスだけコピーしてcdしてここに行きます。
cd /usr/local/lib/ruby/gems/2.6.0/gems/wordmove-5.0.2/lib/wordmove/sql_adapter/
そしてvimで編集
vim default.rb
esc => :(コロン)set numberとタイプしてエンターを押すと行数が見れるようになるので44行目がちょうどスペースになってるので
sql_content.force_encoding("UTF-8")
を打ち込みます。
その後
esc => :(コロン) => w => q をタイプしてエンターを押して保存する。
ターミナルを閉じてまたlocal by wheelで右クリックOpen SSHをクリック。
cd /app/public
に移動してwordmoveでデータベースをpullしてみて下さい。
きっと成功するはず。
VCCWと違うとこ
めちゃくちゃ簡単にクローンできるのでこの先このめんどくさい作業をしなくて済みます。
クローンする方法
これは簡単。右クリックからcloneを選択してまつだけ。多分大本のcloneされる環境はスタート状態でしたほうがいいみたいです。
それとgulpとかbrowserifyとか使う場合は多分.local以外の.loとかにしないと遅くなるらしいので(browserifyの使用らしい)
ここを変更しておくとあとで楽。
そんなこんなで楽チンなWordPress開発環境を。
wordmoveの詳しい使い方についてはこちらから。
[el url=”https://sgw.today/entry/2019/12/07/011749#Wordmove%E3%82%92%E4%BD%BF%E3%81%84%E5%80%92%E3%81%99″]VCCWでワードプレスの開発環境を作って一瞬でWordMoveを使って本番環境にアップロード(FTP編)【WordPress開発環境】[/el]
前書いたようにvccwでもいいですがvccw自体のアップデートはだいぶ前に終わってるので安定性の低さに欠けるしvirtualBoxって謎に圧縮しても肥大化していくんですよね。なのでこれを使えばこれからワードプレスたくさん保存して置かないといけないとかなっても大丈夫。そしてさらにwordmoveも使えるという素晴らしい環境。
2021年2月18日アップデート
違うデータベースのエラーが出たのでいろいろ調べたところlocal by flyweel側をssl対応にしてtrustにすると動かないみたいです。ローカル側はcertificate持たせないようにして下さい。
2021年5月23日アップデート
pullやpushした側のダッシュボードに飛ぶという問題点がたまに見られてたのですが、プロダクト側を.htaccessで(プラグイン使わずに)sslリダイレクト強制にするとそれが出ない傾向にあります。
2021年12月23日アップデート
コンタクトフォーム7でhtmlメールを使うとwordmove pull -dでエラーになる
それではSeee Yaaaaaaa!!!!