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?