Как разрешить моему серверу подключаться к самому себе по FTP?

Как разрешить моему серверу подключаться к самому себе по FTP?

Я на RHEL6 и пытаюсь сделать автоматическое обновление на WordPress, но соединения ftp и sftp не работают. Я подозреваю, что это как минимум проверка соединения изнутри сервера, что не разрешено моим брандмауэром.

Я добавил эту строку в /etc/sysconfig/iptables, но это все равно не сработало. Есть идеи?

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

решение1

Все соединения с одним и тем же хостом будут осуществляться через loинтерфейс (loopback), который по умолчанию не ограничен и разрешен путем помещения строки в начало правил:

-A INPUT -i lo -j ACCEPT

Автоматическое обновление Wordpress обычно работает без доступа по FTP, если нет - должно быть, на веб-сервере/php есть очень-очень строгие ограничения безопасности. Обычно Wordpress проверяет дисковое пространство и разрешения с помощью каких-то уродливых функций (насколько я помню, было что-то, связанное с проверкой inode (СТРАННО)).

Для работы автоматического обновления необходимо соблюдение как минимум двух критериев:

(a) владение файлами: все ваши файлы WordPress должны принадлежать пользователю, под которым работает ваш веб-сервер. Другими словами, владелец ваших файлов WordPress должен совпадать с пользователем, под которым работает ваш веб-сервер. Пользователь веб-сервера (с именем "apache", "web", "www", "nobody" или каким-то подобным) не обязательно является владельцем ваших файлов WordPress. Обычно файлы WordPress принадлежат пользователю ftp, который загрузил исходные файлы. Если нет соответствия между владельцем ваших файлов WordPress и пользователем, под которым работает ваш веб-сервер, вы получите диалоговое окно с запросом "сведения о подключении", и вы обнаружите, что независимо от того, что вы введете в этом диалоговом окне, вы не сможете автоматически обновиться.

(б) права доступа к файлам: все ваши файлы WordPress должны быть либо доступны для записи владельцу, либо группе пользователя, под которым работает ваш сервер Apache.

На общих хостах файлы WordPress НЕ должны принадлежать веб-серверу. Если в установке владеют разными файлами несколько пользователей (например, из-за изменений, внесенных путем удаления и повторной загрузки файлов через разные учетные записи), права доступа к файлам должны быть доступны для записи группе (например, 775 и 664, а не 755 и 644 по умолчанию). Права доступа к файлам (в целом) должны быть скорректированы в соответствии с серверной средой (например, общий хост RackSpace CloudSites рекомендует 700 и 600 для одного пользователя ftp или 770 и 660 для нескольких пользователей ftp). Подробнее см. в разделе прав доступа к файлам (некоторые файлы и папки требуют более строгих прав доступа).

(с)http://codex.wordpress.org/Updating_WordPress#Автоматическое_обновление

Проверьте наличие разрешений и т.д.

Если вы все же хотите сделать это с помощью FTP - убедитесь, что он также прослушивает локальный адрес netstat -anp|grep 21.

SFTP? Серьёзно? Вы не хотите этого делать. Поверьте мне.

решение2

Вы на правильном пути, но здесь нужно немного магии Wordpress. По опыту могу сказать, что FTPS все еще пытается использовать порт 21, а не SSH (порт 22). Я не помню точной процедуры, которой я следовал, чтобы включить обновление SSH, но другая ее версия здесь:http://wp.tutsplus.com/articles/tips-articles/quick-tip-upgrade-your-wordpress-site-via-ssh/. См. раздел «Метод 2». Если это не привело вас туда, куда нужно, поиск в Google по запросу «обновление wordpress ssh» должен дать вам несколько полезных URL-адресов — извините, но я не могу найти тот, который использовал.

Связанный контент