Einrichten von FTP für die Verwendung in lokal gehosteten WordPress

24

Ich habe WordPress auf meiner Ubuntu 10.10 Desktop Edition installiert und versuche, das Plugin über den Browser zu installieren Bildschirm, wenn ich versuche, die automatische Aktualisierung einzustellen oder ein Plugin über den Webbrowser zu installieren.

Alt-Text

Ich gebe den Hostnamen 127.0.0.1 und den Benutzernamen und das Passwort ein, mit denen ich mich bei WordPress anmelde. Ich bekomme den Fehler

Benutzername / Passwort Falsch und es kann keine Verbindung zu 127.0.0.1:20 hergestellt werden

Ich denke, ich muss einen Benutzer mit FTP-Passwort erteilen, aber ich weiß nicht wie. Ich habe bereits vsftp installiert, aber wenn ich "ftp 127.0.0.1" versuche, erhalte ich -

$ 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 läuft lokal auf meinem Ubuntu Desktop.

Gaurav Butola
quelle

Antworten:

14

Nun, Ihr Wordpress-Login und Ihr FTP-Login sind zwei verschiedene Dinge. Ich habe gesehen, dass du vsFTPd verwendest, also eine einfache Sache, die du machen kannst:

Bearbeiten Sie die vsFTPd-Konfigurationsdatei:

gksu gedit /etc/vsftpd.conf

Fügen Sie dies am Ende hinzu:

local_enable=YES

Starten Sie Ihren vsFTPd-Server neu:

sudo /etc/init.d/vsftpd restart

Jetzt sollten Sie in der Lage sein, sich mit Ihrem Ubuntu-Login mit Ihrem FTP zu verbinden.

Nyamiou der Galeanthrope
quelle
und wie kann ich einem Benutzer (WordPress-Benutzer) Zugriff auf FTP gewähren, der FTP über das Netzwerk verwenden kann
Gaurav Butola
Ich würde mich auch nicht als root anmelden, sondern einen Dummy-Benutzer erstellen, ihn zu einem Teil Ihrer WWW-Datengruppe machen und ihn dazu verwenden, updates / install
csgeek 22.11.10
Ich hatte das gleiche Problem und wollte nur für alle anderen, die dies durchlaufen, hinzufügen, dass Sie '127.0.0.1' und nicht 'localhost' verwenden müssen. Zumindest habe ich das getan. Musste auch FTP nicht FTPS nutzen.
Jay
-1 Obwohl es als beste Antwort aufgeführt ist, fehlen ihm die Informationen, dass write_enable standardmäßig auskommentiert ist. Wenn Sie keine Kommentare abgeben, funktioniert Ihre Lösung immer noch nicht.
Jakke
4

Füge einfach diese Zeile zu wp-config.php hinzu

define('FS_METHOD', 'direct');

Dann wird es OK sein.

Abul Kashem Shamim
quelle
Gibt es Nachteile bei dieser Methode? Scheint mir das beste / einfachste zu sein, aber ich könnte mich irren.
JoniVR
3

Wenn Sie die Standarddatei verwenden, konnte ich den Schreibzugriff nicht aktivieren. Das hat meine Probleme gelöst.

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
Chris Schafer
quelle
Das gleiche Problem, write_enable, ist hier standardmäßig auskommentiert. Danke für den Tipp. Es wird hier nirgends erwähnt, aber ich habe auch das Home-Verzeichnis für den WordPress-FTP-Benutzer in / var / www / html geändert (oder wie auch immer der Pfad zur Site lautet). Ich bin nicht sicher, ob dies tatsächlich benötigt wird.
Jakke
3

Für mich hat das Ändern des Besitzers des WordPress-Ordners das Problem gelöst.

sudo chown -R www-data wordpress
Leszek
quelle
Das hat bei mir sofort geklappt!
Max Kulik
3

Ich hatte das gleiche Problem.

Als ich meinen Ubuntu-Server erstellte, installierte ich eine WordPress-Site und jedes Mal, wenn ich ein Plugin aktualisieren wollte, brauchte ich einen FTP-Zugang, der wirklich ärgerlich war. Ich wusste, ich könnte einfach die FTP-Details in die Konfiguration für WordPress einfügen, aber ich war wie NAH! Es stellte sich heraus, dass WordPress keine Dateien in das Verzeichnis wp-content schreiben kann, da Apache nicht berechtigt ist, das Verzeichnis zu bearbeiten.

Kopieren Sie die Gruppendatei in Gruppen im selben Verzeichnis

sudo cp /etc/group /etc/groups

Geben Sie dann Apache die rekursive Berechtigung

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

Das ist es.

Eine andere Möglichkeit besteht darin, Apache-Envvars zu bearbeiten

sudo nano /etc/apache2/envvars

Bearbeiten Sie die Zeilen dort, wo es heißt

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

Und ersetzen Sie www-Daten durch Ihren Benutzernamen für Ubuntu

export APACHE_RUN_USER=USERNAME
export APACHE_RUN_GROUP=USERNAME

Starten Sie jetzt Apache neu

sudo service apache2 restart

und stellen Sie dann sicher, dass Ihr Konto über Berechtigungen für das Verzeichnis verfügt

sudo chown -R USERNAME:USERNAME /var/www

Wenn dies für Sie nicht funktioniert, antworten Sie einfach.

user1116826
quelle
1

So konfigurieren Sie vsftpd, öffnen Sie vsftpd.confin /etcund kopieren Sie fügen Sie den folgenden in Ihre 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

Hinweis:
Sie sollten ein neues Verzeichnis /srvim Namen ftp oder einem beliebigen anderen Namen erstellen. Wenn Sie einen anderen Namen bevorzugen, ändern Sie die Zeile anon_root=/srv/ftpin anon_root=/srv/toyourfoldernameJetzt platzieren Sie alle Ihre Dateien im Ordner / srv / ftp

So testen Sie Ihre Einstellungen in localhost:

ftp://127.0.0.1
Wenn Sie irgendwelche Probleme haben, lassen Sie es mich wissen.

So starten / stoppen / starten Sie vsftpd neu:

sudo service vsftpd start
sudo service vsftpd stop
sudo service vsftpd restart
karthick87
quelle
1
+1 fürsudo service vsftpd ....
solgar