🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

1回答

1910閲覧

wp-cliでローカルからサーバー上のWordpressを更新したい

jack1121alpha2

総合スコア14

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2021/03/19 19:10

編集2021/03/19 19:11

Conoha Wingで作成したwordpressのサイトへ
ローカルからwp-cliでアクセスして情報の更新を行いたいと考えています。

~/.ssh/config
に以下のエイリアスを作成

1 Host sample_server
2 HostName wwwXX.conoha.ne.jp
3 Port 8022
4 User username
5 IdentityFile ~/.ssh/private_key

~/.wp-cli/config.yml
には下記の設定を記載しました。({}のところは実際には固有の値が入っています)

1 @conoha_server:
2 ssh: sample_server:/home/{user_id}/public_html/{domain}/{wp_install_directory_name}/

Conoha Wing上ではwp ~でwp-cliが動くようにはなっています。

$ ssh sample_server
でも接続は可能です。

ですが

ローカル上で例えば
$ wp @conoha_server plugin list

と実行すると
wp: コマンドが見つかりません

となってしまいます。

Running Commands Remotely – WP-CLI — WordPress.org
https://make.wordpress.org/cli/handbook/guides/running-commands-remotely/

Running WP-CLI Remotely over SSH – wordpress – GloomyCorner
https://www.gloomycorner.com/running-wp-cli-remotely-over-ssh/

この辺りの記事をみながら色々試してみたのですが、
問題が解決せず困っております。

どなたがご存知の方がいらっしゃいましたら
お知恵を拝借できれば幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

wp: コマンドが見つかりません

リモート側の wp コマンドは、どのディレクトリに置いていますか?

sshコマンドで直接リモートのコマンドを実行する場合は、ssh でログインした場合と環境変数の値が異なることがありますので、

ssh sample_server envssh sample_server 'echo $PATH'

で、表示される環境変数を確認してください。

実行するコマンドは表示された環境変数 PATH に設定されているディレクトリに置かれているでしょうか?


参考にされた Running Commands Remotely の「Specify the $PATH in ~/.ssh/environment:」セクションや「Using the before_ssh hook:」セクションに記載されている内容は試されているでしょうか?

投稿2021/03/20 04:20

CHERRY

総合スコア25218

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jack1121alpha2

2021/03/21 16:19

ご回答ありがとうございます。 サーバー上でwp --infoを打ってみると以下のようになります。 OS: Linux 3.10.0-962.3.2.lve1.5.32.el7.x86_64 #1 SMP Fri Feb 28 07:18:51 EST 2020 x86_64 Shell: /bin/bash PHP binary: /opt/alt/php74/usr/bin/php PHP version: 7.4.14 php.ini used: /opt/alt/php74/etc/php.ini WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli WP-CLI vendor dir: phar://wp-cli.phar/vendor WP_CLI phar path: /home/{id} WP-CLI packages dir: WP-CLI global config: WP-CLI project config: WP-CLI version: 2.4.0 対していただいたアドバイスに従いssh sample_server env を打ってみると以下のようになり、ご指摘いただいているように おそらくパスが違うのだろうと思います。 XDG_SESSION_ID=c3015356 SHELL=/bin/bash SSH_CLIENT={ip address} 6476 8022 PERL5LIB=/home/{id}/perl5/lib/perl5: PERL_MB_OPT=--install_base /home/{id}/perl5 QT_GRAPHICSSYSTEM_CHECKED=1 USER={id} MAIL=/var/mail/{id} PATH=/home/{id}/perl5/bin:/usr/local/bin:/usr/bin PWD=/home/{id} LANG=ja_JP.UTF-8 SHLVL=1 HOME=/home/{id} PERL_LOCAL_LIB_ROOT=:/home/{id}/perl5 LOGNAME={id} SSH_CONNECTION={local ip address} 6476 {server ip address} 8022 LESSOPEN=||/usr/bin/lesspipe.sh %s PERL_MM_OPT=INSTALL_BASE=/home/{id}/perl5 _=/usr/bin/env となるとおそらく次に試すことは 「Using the before_ssh hook:」セクションに記載されている内容 またはサーバー上でPATHを通すことなのかなと推測しますが、 PATHの通し方について理解があまりできておらず、 どのように通すのかがわかっておりません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問