Closed12

久しぶりにWordPressの開発環境を作る

tet0htet0h

テーマをGitで管理したいのとWordMove導入してみたい

tet0htet0h

WordMoveインストールしようとして
$ gem install wordmove
したらパーミッションで怒られたので
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.
とりあえずsudoした

tet0htet0h

movefile.ymlを設定して
wordmove pull -t
したら
▬▬ Using Movefile: ./movefile.yml ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Traceback (most recent call last):
8: from /usr/local/bin/wordmove:23:in <main>' 7: from /usr/local/bin/wordmove:23:in load'
6: from /Library/Ruby/Gems/2.6.0/gems/wordmove-5.2.1/exe/wordmove:6:in <top (required)>' 5: from /Library/Ruby/Gems/2.6.0/gems/thor-0.20.3/lib/thor/base.rb:466:in start'
4: from /Library/Ruby/Gems/2.6.0/gems/thor-0.20.3/lib/thor.rb:387:in dispatch' 3: from /Library/Ruby/Gems/2.6.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in invoke_command'
2: from /Library/Ruby/Gems/2.6.0/gems/thor-0.20.3/lib/thor/command.rb:27:in run' 1: from /Library/Ruby/Gems/2.6.0/gems/wordmove-5.2.1/lib/wordmove/cli.rb:81:in pull'
/Library/Ruby/Gems/2.6.0/gems/wordmove-5.2.1/lib/wordmove/deployer/base.rb:26:in `deployer_for': No valid adapter found. (Wordmove::NoAdapterFound)
と怒られた。

sshでコケてるっぽかったのでmovefile.ymlでコメントしていた
# ssh:
# host: "host"
# user: "user"
の部分を#を消してサーバーの環境のhostとuserを設定した。sshのconfignに設定が書いてあれば大丈夫的な話を見かけたので勝手に読み込んでくれるだろうと思っていたがそんなことはない様子。
設定したらエラーが変わってこうなった。

MyiMac:my-wordpress haru$ wordmove pull -t

▬▬ Using Movefile: ./movefile.yml ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

▬▬ Pulling Themes ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

remote | get_directory: [secret] [secret] /wp-content/* .git/ .gitignore .gitmodules .env node_modules/ bin/ tmp/* Gemfile* Movefile movefile movefile.yml movefile.yaml wp-config.php wp-content/*.sql.gz .orig docker-compose.yml / /wp-content/themes/ /wp-content/

ℹ️  info | rsync --progress -e 'ssh testewtetrst@[secret]' -rlpt --compress --omit-dir-times --delete --include /wp-content/themes/ --include /wp-content/ --exclude /wp-content/\* --exclude .git/ --exclude .gitignore --exclude .gitmodules --exclude .env --exclude node_modules/ --exclude bin/ --exclude tmp/\* --exclude Gemfile\* --exclude Movefile --exclude movefile --exclude movefile.yml --exclude movefile.yaml --exclude wp-config.php --exclude wp-content/\*.sql.gz --exclude \*.orig --exclude docker-compose.yml --exclude /\* :[secret]/ [secret]

testewtetrst@hogeserver.jp: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at /AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-54.120.1/rsync/io.c(453) [receiver=2.6.9]

tet0htet0h

Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
がsshしてパスワード間違えたときも同じのがでるのでsshでつなぎに行こうとしてパスワード入れられないのが原因な気がする。wrodmoveで認証すっ飛ばすことができればいけるか?

tet0htet0h

sshのconfigに
AddKeysToAgent yes
UseKeychain yes
を追加して一度パスワードを入力したらそのあとは
パスワードを入力しないでも行けるようになり
wordmove pull -t が成功した

tet0htet0h

とりあえずテーマを引っ張ってくることができたので試しにローカルにまるまる環境をコピーしてみようとおもい
wordmove pull --all
してみたら
sh: mysqldump: command not found
で怒られた。まさかmysql入ってないの?と思って検索してみたらMAMPの中にしか存在しなかった。まじかよ。

tet0htet0h

homebrewでmysqlをインストールしようとしてまずhomebrewをupdateしたら長い間触ってなかったので更新に管理時間がかかる

tet0htet0h

色々やってたらページが開かなくなった。。。localhostから応答なしになる・・・作り直すか…

tet0htet0h

wordmove pull -t
でローカルにテーマひっぱてくるのはできた

tet0htet0h

DBもローカルに持ってこようと思ったがmixhostはMySQLをセキュリティの問題から切っているらしい。
リモート環境からMySQLデータベースに接続する方法
sshで直接mixhostに入ってmysqldumpコマンドでエクスポートしてきたものをインポートしたら行けると思って試してみたが単純にドメイン名をlocalhost:8080に置き換えただけではうまくいかなかったので一旦そこまでで深追いしなかった。今のところDBまで実環境と同じようにしなくても問題がないため。

tet0htet0h

調べたらmixhostでwordmoveを使ってmysqldumpまでできたっていう記事を見つけた。

Movefileの「production」側にある「ssh」の「host」を「FTPホスト名(プライマリ ドメイン)」にしてしまい、ダウンロードすることができませんでした。エックスサーバーと違い、mixhostの場合はFTPSホスト名の「サーバー名(jp3など).mixhost.jp」などのようです。

とあったけどそれと同じようにしても結局ダメだった。もしかすると昔はできたのかもしれないけどセキュリティが強化されて今はできなくなったのかも?
mixhostでWordMoveを試してみた

このスクラップは2021/03/04にクローズされました