私は RHEL6 を使用しており、WordPress で自動更新を行おうとしていますが、ftp および sftp 接続が失敗します。少なくとも、ファイアウォールで許可されていないサーバー内からの接続をテストしているのではないかと思います。
/etc/sysconfig/iptables にこの行を追加しましたが、まだ機能しません。何かアイデアはありますか?
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
答え1
すべての同一ホスト接続は (ループバック) インターフェースを介して行われますlo
。これはデフォルトでは制限されておらず、ルールの先頭に次の行を追加することで許可されます。
-A INPUT -i lo -j ACCEPT
Wordpress の自動更新は通常、FTP アクセスなしで動作しますが、そうでない場合は、Web サーバー/php に非常に厳しいセキュリティ制限が設定されている必要があります。通常、Wordpress は、いくつかの見苦しい関数を使用してディスク容量と権限をチェックします (記憶が確かなら、inode チェックに関連するものがありました (WEIRD))。
自動更新が機能するには、少なくとも次の 2 つの条件を満たす必要があります。
(a) ファイルの所有権: すべての WordPress ファイルは、Web サーバーを実行するユーザーが所有する必要があります。つまり、WordPress ファイルの所有者は、Web サーバーを実行するユーザーと一致している必要があります。Web サーバーのユーザー (「apache」、「web」、「www」、「nobody」などの名前) は、必ずしも WordPress ファイルの所有者であるとは限りません。通常、WordPress ファイルは、元のファイルをアップロードした FTP ユーザーが所有します。WordPress ファイルの所有者と Web サーバーを実行するユーザーが一致しない場合は、「接続情報」を求めるダイアログ ボックスが表示され、そのダイアログ ボックスに何を入力しても、自動的に更新することはできません。
(b) ファイル権限: すべての WordPress ファイルは、Apache サーバーを実行するユーザーによって所有者として書き込み可能、またはグループとして書き込み可能である必要があります。
共有ホストでは、WordPress ファイルは Web サーバーによって所有されるべきではありません。インストールで複数のユーザーが異なるファイルを所有している場合 (たとえば、異なるアカウントでファイルを削除して再アップロードすることによって編集を行った場合)、ファイル権限はグループ書き込み可能 (たとえば、デフォルトの 755 と 644 ではなく 775 と 664) にする必要があります。ファイル権限 (一般に) は、サーバー環境に応じて調整する必要があります (たとえば、共有ホスト RackSpace CloudSites では、単一の FTP ユーザーの場合は 700 と 600、複数の FTP ユーザーの場合は 770 と 660 を推奨)。詳細については、ファイル権限のセクションを参照してください (一部のファイルとフォルダーには、より厳格な権限が必要です)。
(ハ)http://codex.wordpress.org/Updating_WordPress#自動更新
権限などを確認する
それでも FTP で実行したい場合は、ローカル アドレスもリッスンしていることを確認してくださいnetstat -anp|grep 21
。
SFTP? 本当に? そんなことはしたくないでしょう。信じてください。
答え2
正しい方向に進んでいますが、ここで Wordpress の魔法を使う必要があります。経験から言うと、FTPS は依然として SSH (ポート 22) ではなくポート 21 を使用しようとします。SSH 更新を有効にするために私が実行した正確な手順は覚えていませんが、別のバージョンがここにあります:http://wp.tutsplus.com/articles/tips-articles/quick-tip-upgrade-your-wordpress-site-via-ssh/「方法 2」のセクションを参照してください。それでも目的の場所にたどり着かない場合は、「wordpress ssh の更新」で Google 検索すると、役立つ URL がいくつか見つかるはずです。私が使用した URL が見つからないことをお詫びします。