wordpress на локальном хосте lamp не позволяет мне устанавливать плагины
Я установил сервер LAMP на свой ubunutu 11.04. я установил wordpress и подключил его прямо к базе данных MySQL. я изменил разрешения группы www-данных на чтение и запись файлов.
Кажется, что все работает, и я могу управлять сайтом через панель администратора, но я не могу устанавливать плагины, потому что система запрашивает у меня данные FTP, и я, похоже, не могу пройти через это.
Может ли какой-либо орган помочь? пожалуйста...
11 answers
Я обычно делаю это, когда это происходит (только локально, не для производства):
chown -R nobody:nobody /path/to/wordpress
Решение, которое я нашел, которое работало на моем Mac под управлением встроенного Apache2, состояло в том, чтобы добавить это в 'wp-config.php '
define('FS_METHOD','direct');
Сохраните это на локальном хосте или в настройках разработчика и не используйте его для производства.
Это проблема с разрешениями. wp-контент/плагины должны быть доступны для записи пользователем веб-сервера.
После установки WordPress 5 на Debian 9 Stretch Я обновил (удаленно на локальном хосте), и мне было предложено ввести данные FTP.
Выполнение этих команд в терминале устранило проблему:
chown -R www-data:www-data /var/www/html
chmod -R g+rwX /var/www/html
Это проблема владения файлами.
Код и предостережение от turnkeyLinux.com:
Изменение прав доступа к файлам - это компромисс (часто повышение безопасности снижает удобство и/или удобство использования). Только для "наилучшей практики" в области безопасности папки, которые требуют доступ на запись с веб-сервера должен принадлежать веб-серверу. Если ваш веб-сервер имеет доступ для записи везде, и ваш сервер скомпрометирован, это облегчает взлом вашей установки WordPress), но для удобства использования предоставление права собственности на веб-сервер должно решить все ваши проблемы...
Это проблема с разрешениями. Вот несколько шагов, чтобы исправить права собственности и права доступа более безопасным способом:
//проверьте, к каким группам принадлежит ваше имя пользователя
$ groups
//если ваше имя пользователя не принадлежит www-данным, добавьте имя пользователя в группу
$ sudo usermod -a -G www-data username
//выйдите из сеанса ssh (или закройте окно терминала, если оно локальное), чтобы изменить группу
$ exit
//теперь дайте www-данные групповое владение /var/www/html (вы не изменяете владельца, просто меняете здесь владельца группы)
$ sudo chgrp -R www-data /var/www/html
//предоставьте необходимые права доступа к каталогам и файлам для пользователей, которые являются участниками www-данных
$ sudo find /var/www/html -type d -exec chmod g=rwxs "{}" \;
$ sudo find /var/www/html -type f -exec chmod g=rw "{}" \;
//Мне нравится проверять вещи, прежде чем двигаться дальше
$ ls -l /var/www/html/
//вам, вероятно, не нужно перезапускать apache, но если вы хотите
$ sudo service apache2 restart
Теперь Apache должен иметь r/w доступ к /var/www/html
, а также любой пользователь, с которым вы связываетесь по shh/ftp, также принадлежит www-data
Пользователи Ubuntu
Просто добавьте define('FS_METHOD','direct');
в wp-config.php и это будет работать на локальном хостинге. Просто убедитесь, что вы не добавляете его в производственную версию. См.: codex.wordpress.org/Editing_wp-config.php
Я обычно использую:
Судо чун -Р _www:_www/путь/к/wordpress/
Если безопасность не является большой проблемой
Это не проблема WordPress. Вам необходимо обратиться к документации для сервера LAMP, чтобы проверить параметры настройки.
Для локального хостинга вы можете обойти установку плагинов с WordPress и просто скопировать ваши плагины в /wp-контент/плагины. После того, как вы скопируете их, перейдите в свою администрацию WordPress, и они появятся в ваших плагинах, готовых к активации.
Убедитесь, что вы распаковали плагины и храните их в своих папках.
Вам нужно сделать две вещи
-
Добавить, что WolfieZero сказал
Определить ('FS_METHOD', 'прямой'); в wp-config.php файл
На этом этапе у вас будет следующее, что на один шаг вперед
Распаковка пакета…Не удалось создать каталог.
2 Then set permission to 777 to wp-content/plugins
После этого он покажет сообщение, подобное следующему
Downloading install package from https://downloads.wordpress.org/theme/exclusive.1.0.32.zip…
Unpacking the package…
Installing the theme…
Successfully installed the theme Exclusive 1.0.32.
CHOWN также должен работать, и для этого лучше, чтобы сервер находился в группе владельцев.
Если вы используете mod_php, вместо этого переключитесь на mod_suphp. Это работало на меня в прошлом.
Я не знаю, какой пакет будет указан в Ubuntu, но, как правило, он где-то есть. Работает в Fedora.
Я не знаю, ответили ли вам...но с чем я столкнулся, особенно когда работал над linux, и я просто подумал, что, возможно, другие пользователи, особенно работающие над linux, могут найти это полезным. Я столкнулся с той же проблемой... но мне пришлось использовать опцию SSH2.
Как установить SSH2
apt-get install openssh-server libssh2-php
После этого мне пришлось перезапустить свой сервер apache2.
Затем, когда я попытался загрузить свою тему, мне пришлось использовать SSH, а не FTP, когда меня попросили полномочия.
Например,
Hostname: localhost
FTP/SSH Username: admin
FTP/SSH Password: password
И это сработало.
Спасибо.