Puncte:0

Wordpress cere FTP la ștergerea pluginurilor

drapel pk

Wordpress îmi cere acreditările FTP când încerc să șterg sau să instalez pluginuri. Știu că are legătură cu permisiunile, dar nu am reușit să-mi dau seama. Am un utilizator de sistem Linux XYZ și apache2 rulează ca www-data. Aceasta funcționează:

sudo chown www-data:www-data -R /path/to/wordpress
sudo chmod 700 -R /path/to/wordpress

Dar este nesigur. Configurația mea planificată inițial a fost:

sudo chown XYZ:www-data -R /path/to/wordpress
sudo chmmod 750 -R /path/to/wordpress
sudo chmod 770 -R /path/to/wordpress/wp-content

Conform documentelor wordpress, wp-content este singurul folder la care serverul web ar trebui să aibă acces de scriere. Acesta cuprinde folderele plugin-uri și teme.

Dar nu merge. Am petrecut câteva ore căutând online, dar nimic nu m-a ajutat până acum și nu știu ce să mai încerc. Care sunt permisiunile potrivite pentru a permite actualizările automate și instalarea pluginurilor, fără a oferi serverului web acces de scriere la toate?

edit: Din orice motiv, următoarele nu funcționează:

sudo chown XYZ:www-data -R /path/to/wordpress
sudo chmod 770 -R /path/to/wordpress

Am crezut că este identic cu prima variantă de mai sus, dând acces la scriere www-data la tot. Dar nu face treaba.

Acesta este wp-config-ul meu:

<?php
// ** Setări MySQL - Puteți obține aceste informații de la gazda dvs. web ** //
/** Numele bazei de date pentru WordPress */
define('DB_NAME', 'XXX');

/** Nume utilizator al bazei de date MySQL */
define('DB_USER', 'XXX');

/** Parola bazei de date MySQL */
define('DB_PASSWORD', 'XXX');

/** Nume de gazdă MySQL */
define('DB_HOST', '127.0.0.1:XXX');

/** Set de caractere pentru baze de date de utilizat la crearea tabelelor de baze de date. */
define('DB_CHARSET', 'utf8mb4');

/** Tipul de colate al bazei de date. Nu schimbați acest lucru dacă aveți îndoieli. */
define( 'DB_COLLATE', 'utf8mb4_0900_ai_ci');

define('AUTH_KEY', 'XXX');
define('SECURE_AUTH_KEY', 'XXX');
define('LOGGED_IN_KEY', 'XXX');
define('NONCE_KEY', 'XXX');
define('AUTH_SALT', 'XXX');
define('SECURE_AUTH_SALT', 'XXX');
define('LOGGED_IN_SALT', 'XXX');
define('NONCE_SALT', 'XXX');

/**#@-*/

/**
 * Prefixul tabelului bazei de date WordPress.
 *
 * Puteți avea mai multe instalări într-o bază de date dacă le oferiți fiecare
 * un prefix unic. Vă rog doar cifre, litere și liniuțe de subliniere!
 */
$table_prefix = 'XXX';

/**
 * Pentru dezvoltatori: modul de depanare WordPress.
 *
 * Schimbați acest lucru la adevărat pentru a activa afișarea notificărilor în timpul dezvoltării.
 * Se recomandă insistent ca dezvoltatorii de pluginuri și teme să folosească WP_DEBUG
 * în mediile lor de dezvoltare.
 *
 * Pentru informații despre alte constante care pot fi folosite pentru depanare,
 * vizitați documentația.
 *
 * @link https://wordpress.org/support/article/debugging-in-wordpress/
 */
define('WP_DEBUG', false);

/* Adăugați orice valori personalizate între această linie și linia „opriți editarea”. */



/* Atât, nu mai editați! Publicare fericită. */

/** Cale absolută către directorul WordPress. */
dacă ( ! definit( 'ABSPATH' ) ) {
    define('ABSPATH', __DIR__ . '/');
}

/** Configurați WordPress vars și fișiere incluse. */
require_once ABSPATH . 'wp-settings.php';

Acesta este php.ini-ul meu, cu excepția comentariilor:

motor = Pornit

short_open_tag = Dezactivat

precizie = 14

output_buffering = 4096

zlib.output_compression = Dezactivat

implicit_flush = Off

unserialize_callback_func =

serialize_precision = -1

open_basedir = "/var/www/"

disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,show_source,highlight_file,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch, pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcnt,

disable_classes =

zend.enable_gc = Activat

zend.exception_ignore_args = Activat

expose_php = Dezactivat

max_execution_time = 30

max_input_time = 60

limita_memorie = 128M

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

display_errors = Dezactivat

display_startup_errors = Dezactivat

log_errors = Activat

log_errors_max_len = 1024

ignore_repeated_errors = Dezactivat

ignore_repeated_source = Dezactivat

report_memleaks = Activat

variabile_ordine = "GPCS"

request_order = "GP"

register_argc_argv = Dezactivat

auto_globals_jit = Activat

dimensiune_max_post = 256M

auto_prepend_file =

auto_append_file =

default_mimetype = "text/html"

default_charset = "UTF-8"

doc_root =

user_dir =

enable_dl = Dezactivat

file_uploads = Activat

upload_tmp_dir = "/tmp"

upload_max_filesize = 250M

max_file_uploads = 20

allow_url_fopen = Dezactivat

allow_url_include = Dezactivat

default_socket_timeout = 60

cli_server.color = Activat

pdo_mysql.default_socket=

SMTP = gazdă locală

smtp_port = 25

mail.add_x_header = Dezactivat


odbc.allow_persistent = Activat

odbc.check_persistent = Activat

odbc.max_persistent = -1

odbc.max_links = -1

odbc.defaultlrl = 4096

odbc.defaultbinmode = 1

mysqli.max_persistent = -1

mysqli.allow_persistent = Activat

mysqli.max_links = -1

mysqli.default_port = 3306

mysqli.default_socket =

mysqli.default_host =

mysqli.default_user =

mysqli.default_pw =

mysqli.reconnect = Dezactivat

mysqlnd.collect_statistics = Activat

mysqlnd.collect_memory_statistics = Dezactivat

pgsql.allow_persistent = Activat

pgsql.auto_reset_persistent = Dezactivat

pgsql.max_persistent = -1

pgsql.max_links = -1

pgsql.ignore_notice = 0

pgsql.log_notice = 0

bcmath.scale = 0

session.save_handler = fișiere

session.use_strict_mode = 0

session.use_cookies = 1

session.use_only_cookies = 1

session.name = PHPSESSID

session.auto_start = 0

session.cookie_lifetime = 0

session.cookie_path = /

session.cookie_domain =

session.cookie_httponly =

session.cookie_samesite =

session.serialize_handler = php

session.gc_probability = 0

session.gc_divisor = 1000

session.gc_maxlifetime = 1440

session.referer_check =

session.cache_limiter = nocache

session.cache_expire = 180

session.use_trans_sid = 0

session.sid_length = 26

session.trans_sid_tags = "a=href,area=href,frame=src,form="

session.sid_bits_per_character = 5

zend.aserţiuni = -1

tidy.clean_output = Dezactivat

soap.wsdl_cache_enabled=1

soap.wsdl_cache_dir="/tmp"

soap.wsdl_cache_ttl=86400

soap.wsdl_cache_limit = 5

ldap.max_links = -1

Am instalat php așa:

sudo apt install php libapache2-mod-php php-mysql

Îl ajută pe @GeraldSchneider?

Tim avatar
drapel gp
Tim
Este cu adevărat greoi. Există documentație aici https://wordpress.org/support/article/changing-file-permissions/
lampstackxyz avatar
drapel pk
Am citit asta. Nu ajută.
Tim avatar
drapel gp
Tim
Am șters răspunsul care nu era tocmai corect. Din păcate, probabil va trebui să aflați despre permisiunile Unix și cerințele Wordpress sau să găsiți un tutorial bun.Întotdeauna îmi este greu când trebuie să o fac, motiv pentru care îl scriu.
drapel in
Nu cred că problema ta este sistemul de fișiere, fiecare variantă pe care ai postat-o ​​ar trebui să funcționeze. Vă rugăm să adăugați configurația dvs. PHP și wp-config.php. PHP este încărcat ca modul sau prin fpm?
lampstackxyz avatar
drapel pk
@GeraldSchneider Am pus acele detalii în întrebarea inițială. Ai idee de ce chown XZY:www-data cu chmod 770 nu funcționează, dar chown www-data:www-data chmod 700 funcționează? Am petrecut toată noaptea ieri citind bloguri, forumuri... nu înțeleg.
Puncte:0
drapel ar

Adăuga

define('FS_METHOD','direct');

pentru dumneavoastră wp-config.php fişier.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.