2011-12-31 18 views
17

Sto ospitando un sito wordpress su ec2 e sto cercando di aggiornare il mio tema attraverso la schermata di amministrazione. Mi sta chiedendo il nome host e il nome utente e la password ftp. È ec2-xxx.compute-1.amazonaws.com:22 il mio nome host? Ho provato con ec2user e root per il mio nome utente ftp ma senza fortuna. Che cosa sto facendo di sbagliato?Aggiornamento tema wordpress su ec2

+0

_Its mi chiedono nome host e il nome utente e la password FTP. _ "E '" cosa? Quale schermata di amministrazione? Quale programma o servizio sta chiedendo questo? Sei sicuro di potertene fidare? Username e password su FTP sono piuttosto arcaici, l'SFTP è stato usuale per un decennio ... – sarnold

+0

La schermata di amministrazione wordpress sta chiedendo queste informazioni. Fa parte del cruscotto. Sto usando la loro opzione sftp. –

+1

@sarnold L'amministratore di WordPress tenterà di aggiornare temi/plug-in via FTP/SFTP. – ceejayoz

risposta

5

Il nome host è ec2-107-20-192-98.compute-1.amazonaws.com.

Il tuo nome utente sarà il nome utente utilizzato per SFTP sull'istanza normalmente - ec2user per alcuni tipi di istanze, ubuntu per le AMI di Ubuntu, ecc. imposta una password per il tuo account facendo passwd sulla riga di comando.

+1

E il nome utente? Sarebbe root o ec2user? –

+0

Dipende dall'AMI. È qualsiasi cosa tu usi normalmente per SSH/SFTP. – ceejayoz

0

ec2-107-20-192-98.compute-1.amazonaws.com:22 rappresenta sia il nome host e la porta ssh. (SSH è normalmente sulla porta 22, sebbene possa essere eseguito su qualsiasi porta.)

Provare solo ec2-107-20-192-98.compute-1.amazonaws.com nel campo nome host.

Sono ancora scettico su una pagina web che richiede nome utente e password. Mi sembra un po 'sciocco, dal momento che dovresti semplicemente usare SFTP per caricare direttamente qualsiasi contenuto desideri usando la tua chiave di identità SSH invece di una password.

+0

Sto solo provando a utilizzare le funzionalità di wordpress integrate che consentono di farlo senza passare alla riga di comando. Non sono al mio computer normale con tutti i miei ssh impostati su di esso. E 'possibile che io abbia impostato la password come ceejayoz dice se voglio andare su questa rotta che sono attualmente su. –

+0

@sarnold nel bene o nel male, è come funzionano gli aggiornamenti di Wordpress (vedi: http://codex.wordpress.org/Updating_WordPress) se l'utente Apache/Http non ha il permesso di cambiare i file. È possibile * anche * aggiornare dalla riga di comando, ma se si desidera utilizzare la GUI WP, è necessario un utente/passaggio ftp o ssl. – Amanda

+0

@ Amanda: Definitivamente lo chiamerei per peggiore. :) [Il mio scetticismo sembra giustificato] (http://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=wordpress). (Certo, molti di questi sono dovuti a plugin, ma _wow_.) – sarnold

2

provare ad aggiungere le credenziali FTP per wp-config.php: http://codex.wordpress.org/Editing_wp-config.php e http://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants

che dovrebbe rendere WP Admin smettere di chiedere per i dettagli FTP. Ma a seconda di come hai impostato le autorizzazioni tramite la riga di comando, potrebbe essere necessario andare alla riga di comando per modificare file come wp-config.php. E potresti non avere permessi sufficienti per caricare e per WP decomprimere un tema.

Come per altre risposte, io uso SFTP con un server di ec2-xx-xxx-xx-xx.compute-1.amazonaws.com nome utente ec2-user

+0

E cosa si fa per una password? – AlxVallejo

+0

Immetti la password in wp-config.php; vedi link sopra. Idealmente, con SFTP, lo si imposta per usare una chiave SSH, non una password, come sottolinea @ceejayoz nella sua risposta. – markratledge

41

Salta informazioni FTP del tutto e basta cambiare il permesso della struttura di directory in cui è installato Wordpress.

via SSH

sudo chown -R apache:apache path/to/wordpress 
  • sudo fa in modo che si esegue come utente root
  • chown cambierà il proprietario della directory
  • -R farà è ricorsivo, quindi cambia tutti i file e le directory all'interno di
  • apache: apache è utente: Gruppo

E poi il percorso di wordpress. Potrebbe essere /var/www/html/sitename.com o se si accede alla cartella in cui è installato Wordpress, è possibile utilizzare un punto (.) Per dirgli di cambiare la directory corrente.

Questo farà è così che non è possibile copiare i file tramite SFTP, però, quindi è bene cambiare almeno la directory temi di nuovo alla EC2-utente: user EC2-utente e gruppo.

Quindi questo cambia di nuovo al vostro utente SSH/SFTP:

sudo chown -R ec2-user:ec2-user path/to/wordpress 

È possibile assegnare le cartelle per l'utente FTP e il gruppo Apache e quindi renderli scrivibili gruppo pure. Ciò consentirà di accedere alla directory e consentire l'aggiornamento automatico di tutto in Wordpress.

// Set the wp-contents into the apache group and then make files group writable 
sudo chgrp -R apache wp-content 
sudo chmod -R g+w wp-content 
// This makes new files created in wp-content and all of its sub-directories group-writable. 
sudo chmod g+s wp-content 

Quindi aggiungere questo per wp-config.php per forzare Wordpress per aggiornare quando si applica solo in questo wp-content:

define('FS_METHOD', 'direct'); 

si può applicare anche a tutta Wordpress installare l'aggiornamento automatico e Wordpress non solo plug-in/temi. Se lo fai, ti consiglio di mettere il tuo file wp-config.php una directory sopra l'installazione di Wordpress, quindi puoi bloccarlo separatamente.

EDIT: Ogni volta che sto avendo problemi di autorizzazione su EC2, vado a sito directory principale, e incollare queste righe nel applico a tutta Wordpress installare questi giorni:.

sudo find . -type d -exec chmod 0755 {} \; 
sudo find . -type f -exec chmod 0644 {} \; 
sudo chown -R ec2-user:apache . 
sudo chmod -R g+w . 
sudo chmod g+s . 

Io uso qualcosa di simile anche sul mio Mac.

+0

Puoi anche sperimentare con ec2-user: apache e modificare le autorizzazioni per il gruppo scrivibile. Modificato sopra per aggiungere questo. – Jake

+2

Grazie per questo. –

16

Nella tua wp-config.php sotto directives aggiungi questa linea:

define('FS_METHOD', 'direct'); 
+0

Questa era la risposta corretta (per il mio problema). Grazie! – AlexR

0

Si potrebbe semplicemente usare 127.0.0.1 come hostname e il check FTP nelle impostazioni ftp Wordpress. Per riprendere ciò che è stato detto:

  • utente è lo stesso che effettivamente utilizzate a SSH/SFTP

  • la password deve essere impostata/registrazione aggiornata in via SSH e digitando sudo passwd your-user-name

12

Si può semplicemente risolvere questo problema facendo questo tramite ssh:

sudo chown -R apache percorso/a/wordpress

poi

sudo chmod -R 755 path/to/wordpress

+3

In ubunut apache viene eseguito come utente www-data. Non essere l'utente apache –

+1

Sì, quello che ha detto sopra: "sudo chown -R www-data path/to/wordpress" l'ha risolto per me! – silberbaum

Problemi correlati