Как настроить FTP для использования в локальном WordPress
Я установил 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.
7 ответов
Ну, ваш логин в Wordpress и ваш FTP - две разные вещи. Я вижу, что вы используете vsFTPd, поэтому одна простая вещь, которую вы можете сделать это:
Отредактируйте файл конфигурации vsFTPd:
gksu gedit /etc/vsftpd.conf
Добавьте это в конце:
local_enable=YES
Перезагрузите сервер vsFTPd:
sudo /etc/init.d/vsftpd restart
Теперь вы сможете подключиться к вашему FTP, используя ваш логин в Ubuntu.
Просто добавьте эту строку в wp-config.php
define('FS_METHOD', 'direct');
Тогда все будет хорошо.
Для меня изменение владельца папки WordPress решило проблему.
sudo chown -R www-data wordpress
Если вы используете файл по умолчанию, проблема, с которой я не сталкивался, была связана с разрешением записи. Это решило мои проблемы.
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
Я была такая же проблема.
Когда я создал свой сервер 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
Если это не работает для вас, то просто ответьте.
Это сработало для меня:
Добавить этот файл в wp-config.php
:
if(is_admin()) {
add_filter('filesystem_method', create_function('$a', 'return "direct";' ));
define( 'FS_CHMOD_DIR', 0751 );
}
для получения дополнительной информации http://www.jamison.org/2010/12/04/how-to-configure-wordpress-for-automatic-ftps-updates-using-vsftp-in-ubuntu/
Настроить 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) Вы должны проверить, какой группе принадлежала эта конкретная папка wordpress. т.е. www-data. Затем убедитесь, что группа принадлежит рекурсивно. Вы можете сделать
sudo chown -R www-data.www-data /var/www/wordpress
2) ftpuser, который вы планируете использовать, должен принадлежать к группе www-data. Вы можете проверить, выполнив следующие действия.
groups ftpuser
Если его нет в этой группе, просто добавьте его. вот как я это сделал.
sudo usermod -a -G www-data ftpuser
Последнее, что нужно сделать, это установить папку ftpuser по умолчанию в вашу папку wordpress.
usermod -d /var/www/wordpress ftpuser
вот и все...