Как настроить FTP для использования в локальном WordPress


24

Я установил WordPress на настольную версию Ubuntu 10.10 и пытаюсь установить плагин из браузера (я знаю, что могу добавить его в wp-content / plugin, но я хочу сделать это через веб-браузер с использованием FTP). экран, когда я пытаюсь установить автоматическое обновление или установить плагин из веб-браузера.

альтернативный текст

Я предоставляю имя хоста 127.0.0.1, имя пользователя и пароль, которые я использую для входа в WordPress. Я получаю ошибку

Имя пользователя / пароль неверны и не могут подключиться к 127.0.0.1:20

Я думаю, что мне придется предоставить пользователю пароль FTP, но я не знаю, как. Я уже установил vsftp, но когда я пытаюсь "ftp 127.0.0.1", я получаю -

$ ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.3.0)
Name (127.0.0.1:gaurav): root
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp> 

Wordpress работает локально на моем рабочем столе Ubuntu.

Ответы:


14

Ну, ваш логин в Wordpress и ваш FTP - две разные вещи. Я вижу, что вы используете vsFTPd, поэтому одна простая вещь, которую вы можете сделать это:

Отредактируйте файл конфигурации vsFTPd:

gksu gedit /etc/vsftpd.conf

Добавьте это в конце:

local_enable=YES

Перезагрузите сервер vsFTPd:

sudo /etc/init.d/vsftpd restart

Теперь вы сможете подключиться к вашему FTP, используя ваш логин в Ubuntu.


и как я могу предоставить пользователю (пользователю WordPress) доступ к FTP, который может использовать FTP по сети
Гаурав Бутола

Я также не буду входить в систему как root, но создаю фиктивного пользователя, сделаю его частью вашей группы www-data и использую его для
отправки

У меня была такая же проблема, и я просто хотел добавить для любых других, которые проходят через это, что вам нужно использовать «127.0.0.1», а не «localhost». Или, по крайней мере, я сделал. Также пришлось использовать FTP, а не FTPS.
Джей

-1 Несмотря на то, что он указан как лучший ответ, в нем отсутствует информация о том, что write_enable закомментирован по умолчанию. Если вы не раскомментируете, ваше решение все еще не работает.
Jakke

4

Просто добавьте эту строку в wp-config.php

define('FS_METHOD', 'direct');

Тогда все будет хорошо.


Есть ли недостатки у этого метода? Кажется, самый лучший / самый простой для меня, но я могу ошибаться.
JoniVR

3

Если вы используете файл по умолчанию, проблема, с которой я не сталкивался, была связана с разрешением записи. Это решило мои проблемы.

listen=YES
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem

Та же проблема здесь, write_enable закомментирована по умолчанию. Спасибо за совет. Здесь нигде не упоминается, но я также изменил домашний каталог для пользователя wordpress ftp на / var / www / html (или любой другой путь к сайту). Я не уверен, действительно ли это необходимо.
Jakke

3

Для меня изменение владельца папки WordPress решило проблему.

sudo chown -R www-data wordpress

Это сработало сразу для меня!
Макс Кулик

3

Я была такая же проблема.

Когда я создал свой сервер Ubuntu, я установил сайт WordPress, и каждый раз, когда я хотел обновить плагин, мне нужен был доступ по FTP, который действительно раздражал. Я знал, что могу просто добавить детали ftp в конфигурацию для WordPress, но я был как NAH! Так что оказалось, что WordPress не может записывать файлы в каталог wp-content, потому что у apache нет прав на редактирование каталога, поэтому я так и исправил.

Скопировать файл группы в группы в одном каталоге

sudo cp /etc/group /etc/groups

Тогда дайте рекурсивное разрешение apache

sudo chown -R www-data:root /var/www

Это оно.

Еще один способ сделать это - отредактировать apache envvars

sudo nano /etc/apache2/envvars

Отредактируйте строки там, где написано

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

И замените www-data своим именем пользователя для Ubuntu

export APACHE_RUN_USER=USERNAME
export APACHE_RUN_GROUP=USERNAME

Теперь перезапустите Apache

sudo service apache2 restart

а затем убедитесь, что ваша учетная запись имеет разрешения на каталог

sudo chown -R USERNAME:USERNAME /var/www

Если это не работает для вас, то просто ответьте.


1

Чтобы настроить vsftpd, открыть vsftpd.confв /etcи копировать вставить следующий код в ваш vsftpd.conf

listen=YES
anonymous_enable=YES
anon_root=/srv/ftp
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
ftpd_banner=Welcome to my FTP server.
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem

Примечание.
Вам следует создать новый каталог внутри /srvс именем ftp или любым другим именем, которое вы предпочитаете. Если вы предпочитаете другое имя, вам следует изменить строку anon_root=/srv/ftpна anon_root=/srv/toyourfoldernameТеперь поместить все ваши файлы в папку / srv / ftp.

Чтобы проверить настройки в типе localhost:

ftp://127.0.0.1
Если у вас есть какие-либо проблемы, дайте мне знать.

Чтобы запустить / остановить / перезапустить vsftpd:

sudo service vsftpd start
sudo service vsftpd stop
sudo service vsftpd restart

1
+1 дляsudo service vsftpd ....
Solgar

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.