Estoy siguiendo Cambio de permisos de archivos «WordPress Codex , pero cuando trato de actualizar y / o instalar plugin
y / o a theme
través de wp-admin
, recibo lo siguiente:
Para realizar la acción solicitada, WordPress necesita acceder a su servidor web. Ingrese sus credenciales de FTP para continuar. Si no recuerda sus credenciales, debe comunicarse con su proveedor de alojamiento web.
desde el nivel del sistema de archivos:
# ls -ld wp-content/ wp-content/plugins/ wp-content/themes/
drwxrwxr-x. 6 root apache 4096 Jun 2 12:01 wp-content/
drwxrwxr-x. 28 root apache 4096 Jun 2 00:00 wp-content/plugins/
drwxrwxr-x. 11 root apache 4096 May 11 16:34 wp-content/themes/
#
httpd
corre como apache
:
$ ps auxw | grep httpd
root 20158 0.0 0.1 533080 26192 ? Ss 15:03 0:00 /usr/sbin/httpd -DFOREGROUND
apache 20233 0.0 0.2 612608 34908 ? S 15:03 0:00 /usr/sbin/httpd -DFOREGROUND
apache 20234 0.0 0.2 538772 46904 ? S 15:03 0:00 /usr/sbin/httpd -DFOREGROUND
apache 20235 0.0 0.1 536832 24268 ? S 15:03 0:00 /usr/sbin/httpd -DFOREGROUND
apache 20236 0.0 0.2 626272 35640 ? S 15:03 0:00 /usr/sbin/httpd -DFOREGROUND
apache 20237 0.0 0.0 535296 9592 ? S 15:03 0:00 /usr/sbin/httpd -DFOREGROUND
apache 20322 0.0 0.1 537088 26620 ? S 15:03 0:00 /usr/sbin/httpd -DFOREGROUND
apache 20380 0.0 0.2 626060 33816 ? S 15:04 0:00 /usr/sbin/httpd -DFOREGROUND
apache 20429 0.0 0.1 538216 29184 ? S 15:04 0:00 /usr/sbin/httpd -DFOREGROUND
apache 20447 0.0 0.2 629380 43180 ? S 15:04 0:00 /usr/sbin/httpd -DFOREGROUND
apache 20448 0.0 0.2 626172 35224 ? S 15:04 0:00 /usr/sbin/httpd -DFOREGROUND
alexus 24073 0.0 0.0 112652 972 pts/9 R+ 15:13 0:00 grep --color=auto httpd
$
Me gustaría poder realizar la acción solicitada ( install
y / o update
) /wp-admin
sin credenciales FTP.
¿Cómo puedo hacer eso?
plugins
themes
updates
permissions
alexus
fuente
fuente
nobody
, esto no funcionará para mí debido a que sehttpd
ejecuta comoapache
.apache.apache
oroot.apache
no haría ninguna diferencia, siempre y cuando sehttpd
ejecuteapache
, yapache
'suid
sea parte delapache
gid
grupo, es todo lo mismo, porque mis permisos están configurados eng+w
.Respuestas:
Agregue lo siguiente a wp-config.php:
Déjame saber cómo te funciona.
fuente
Esto significa que WordPress tiene un permiso limitado para realizar cambios en la carpeta en la que se instaló.
Para solucionar esto, todo lo que necesita hacer es proporcionar los permisos necesarios para el mismo.
Ejecute el siguiente comando en su Terminal / Putty / Commandline Prompt después de conectarse a su servidor a través de SSH:
Mira este artículo para más detalles.
fuente
Aunque es totalmente correcto tener la propiedad como
root:apache
con los permisos 775 y httpd para ejecutarse comoapache
, Wordpress no le gusta esto. Quiere que el propietario seaapache
, segúnwp-admin/includes/file.php
:El tuyo sería:
wp_file_owner = root
temp_file_owner = apache
Si $ wp_file_owner es igual a $ temp_file_owner, continúe. El suyo quedaría atrapado en el elseif, que según el comentario no permite eliminar / crear, sino solo actualizaciones (verifiqué esto actualizando el código de un complemento desde Wordpress, y funcionó).
Tenga en cuenta que no examiné exhaustivamente el código, esta es solo mi interpretación rápida. Tuve el mismo problema y una vez que cambié de usuario: grupo para que el usuario httpd también sea el propietario del archivo, ya no solicitó las credenciales FTP.
fuente
www-data
trabajara para mí. Divertido WordPress!No es una respuesta directa, pero probablemente deba decirse: este es un problema que debe evitar resolver a menos que esté hablando de un desarrollo local, en cuyo caso solo puede establecer permisos en 777.
La razón es que si el servidor web puede sobrescribir su código, cualquier código malicioso que se ejecute en él también podrá hacerlo. El riesgo es mucho mayor que la conveniencia de ahorrar unos segundos al no tener que escribir las credenciales ftp.
fuente
Aunque la pregunta ya no es tan nueva, también quiero agregar mis dos centavos sobre este tema.
Muchas personas tienen Centos (7) en su servidor VPS y las siguientes líneas de código podrían resolver su problema.
Imho tiene todo que ver con SELinux, que evita que WordPress haga su trabajo como lo desea. Llega demasiado lejos para explicar qué es SELinux y qué hace. Para su información, la introducción comienza con:
Solo 3 pasos a seguir:
chcon -R -t httpd_sys_content_t /var/www/html/wordpress
chcon -R -t httpd_sys_rw_content_t /var/www/html/wordpress
No diré que ayuda a todos, pero para aquellos que no deshabilitaron SELinux, debería ser un alivio.
Aclamaciones
Nota: ajústese a sus propias necesidades (es decir, la ruta a WordPress)
editar: asegúrese de eliminar la línea
define("FS_METHOD", "direct");
cuando se usa / se usówp-config.php
porque eso es absolutamente imposible cuando las líneas de código anteriores hacen lo que se desea.fuente
En mi caso, resolví esto cambiando de GIT al modo FTP.
No más advertencias.
Quizás eso ayude a alguien más también.
fuente