wordpress na lampie localhost nie pozwala mi instalować wtyczek


16

zainstalowałem serwer LAMP na moim ubunutu 11.04. Zainstalowałem Wordpress i podłączyłem go do bazy danych MySQL. Zmieniłem uprawnienia grupy danych www do odczytu i zapisu plików.

wydaje się, że wszystko działa i mogę zarządzać witryną za pomocą panelu administracyjnego, ale nie mogę zainstalować wtyczek, ponieważ system pyta mnie o szczegóły FTP i nie mogę tego przejrzeć.

czy jakieś ciało może pomóc? Proszę...

Odpowiedzi:


-1

Zwykle robię to, gdy to się dzieje (tylko lokalnie, nie do produkcji):

chown -R nobody:nobody /path/to/wordpress

Czy to zmniejsza bezpieczeństwo? Czytałem, że Apache nie powinien posiadać niczego, ale to może być czyjaś opinia.
JFA

3
chown: invalid group: ‘nobody:nobody’
DaVince

Cóż, powyższy komentarz jest poprawny, idea nikt: nikt prawdopodobnie nie pochodzi z wpisu w / etc / passwd, nikt: nikt. Pytam o większą kwestię, kto powinien posiadać różne pliki, obecnie zastanawiam się nad przesyłaniem motywów Wordpress i istnieje wiele sprzecznych informacji na temat własności plików. Więc to nie jest tak naprawdę „poprawne” odpowiedź chyba mike23 podać przekonującego argumentu oraz link do jakiegoś materiału odniesienia jak w, „dostarczanie treści za linki”
JimLohse

Dla Asafa lub każdego, kto przybył tu przez Googling, sprawdź wordpress.org/support/article/hardening-wordpress , masz najbardziej zablokowane uprawnienia i zdecyduj, czy chcesz otworzyć perms na przesyłanie katalogów.
JimLohse

47

Rozwiązaniem, które działało na moim Macu z wbudowanym Apache2 było dodanie tego do 'wp-config.php'

define('FS_METHOD','direct');

Zachowaj to do lokalnego hosta lub konfiguracji dewelopera i nie używaj go do produkcji.


4
To najlepsze rozwiązanie. Upewnij się, że nie dodajesz go do produkcji, ponieważ może to powodować problemy z bezpieczeństwem: codex.wordpress.org/Editing_wp-config.php
Justin

2
To najlepsza odpowiedź (dla lokalnej konfiguracji WP)
oyvindhauge

2
działa również w Ubuntu 15.10.
arshad

1
działa to w Debianie 8
Vinícius Fagundes

Jest to bez wątpienia odpowiedź na lokalne WordPress.
Dammeul,

5

Jest to problem z uprawnieniami. wp-content / plugins musi być zapisywalny przez użytkownika serwera WWW.


3

Po zainstalowaniu WordPress 5 na Debian 9 Stretch zaktualizowałem (zdalnie na localhost) i zostałem poproszony o podanie szczegółów FTP.

Uruchomienie tych poleceń w terminalu rozwiązało problem:

chown -R www-data:www-data /var/www/html
chmod -R g+rwX /var/www/html

To kwestia własności pliku.

Kod i zastrzeżenie z turnkeyLinux.com :

Zmiana uprawnień do plików jest kompromisem (często zwiększenie bezpieczeństwa zmniejsza przyjazność dla użytkownika i / lub użyteczność). Aby zapewnić najlepszą praktykę w zakresie bezpieczeństwa, tylko te foldery, które wymagają dostępu do zapisu przez serwer WWW, powinny być własnością serwera. Jeśli twój serwer ma dostęp do zapisu wszędzie, a twój serwer jest zagrożony, ułatwia to włamanie się do instalacji WordPressa), ale dla ułatwienia korzystania z prawa własności serwer powinien rozwiązać wszystkie problemy ...


2

Jest to problem z uprawnieniami. Oto kilka kroków, aby naprawić prawo własności i prawa jazdy w bardziej bezpieczny sposób:

// sprawdź, do jakich grup należy Twoja nazwa użytkownika

$ groups

// jeśli twoja nazwa użytkownika nie należy do www-data, dodaj nazwę użytkownika do grupy

$ sudo usermod -a -G www-data username

// zamknij sesję ssh (lub zamknij okno terminala, jeśli jest lokalna), aby zablokować zmianę grupy

$ exit

// teraz daj grupie www-data własność / var / www / html (nie modyfikujesz właściciela, tylko zmieniasz własność grupy)

$ sudo chgrp -R www-data /var/www/html

// udzielenie niezbędnych katalogów i plików uprawnień r / w użytkownikom, którzy są członkami www-data

$ sudo find /var/www/html -type d -exec chmod g=rwxs "{}" \;

$ sudo find /var/www/html -type f -exec chmod g=rw "{}" \;

// Lubię sprawdzać rzeczy przed przejściem dalej

$ ls -l /var/www/html/

// prawdopodobnie nie musisz restartować apache, ale jeśli chcesz

$ sudo service apache2 restart

Apache powinien mieć teraz dostęp r / w, /var/www/htmljak również każdy użytkownik, do którego należy shh / ftp, do którego należywww-data


2

Zwykle używam:

sudo chown -R _www: _www / path / to / wordpress /

jeśli bezpieczeństwo nie jest dużym problemem


To działa, ale jeśli to zrobię, oznacza to, że nie mogę nic zrobić w tym folderze za pomocą wyszukiwarki. Nigdy nie miałem takich problemów i dziwne, że zaczęło się w tym roku.
v3nt

Jest to w porządku, jeśli bezpieczeństwo nie jest dużym problemem, ale nie chcesz otwierać wszystkich swoich plików WordPress dla tego wszystkiego, co jest podłączone do Internetu :)
JimLohse


0

To nie jest problem WordPress. Aby sprawdzić opcje konfiguracji, należy zapoznać się z dokumentacją serwera LAMP.

W przypadku hosta lokalnego możesz pominąć instalację wtyczek z WordPress i po prostu skopiować wtyczki do / wp-content / plugins. Po ich skopiowaniu przejdź do administracji WordPress, a pojawią się one we wtyczkach gotowych do aktywacji.

Rozpakuj wtyczki i przechowuj je w folderach.


0

Jeśli używasz mod_php, przełącz się na mod_suphp. To działało dla mnie w przeszłości.

Nie wiem, jaki pakiet będzie na liście w Ubuntu, ale ogólnie jest gdzieś tam. Działa w Fedorze.


0

Potrzebujesz dwóch rzeczy do zrobienia

  1. Dodaj WolfieZero powiedział

    Zdefiniuj („FS_METHOD”, „direct”); w pliku wp-config.php

W tym momencie będziesz musiał obserwować, który krok do przodu

Rozpakowywanie pakietu… Nie można utworzyć katalogu.

2) Then set permission to 777 to wp-content/plugins

Następnie wyświetli komunikat podobny do następującego

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 powinien również działać i lepszym sposobem jest to, że Serwer należy do grupy właścicieli.


-1

Nie wiem, czy otrzymałeś odpowiedź ... ale to, z czym się spotkałem, szczególnie kiedy pracowałem na Linuksie, i pomyślałem, że może inni użytkownicy, szczególnie pracujący na Linuksie, mogą uznać to za przydatne. Miałem ten sam problem ... ale musiałem użyć opcji SSH2.

Jak zainstalować SSH2

apt-get install openssh-server libssh2-php

Następnie musiałem zrestartować mój serwer apache2.

Następnie, gdy próbowałem przesłać mój motyw, musiałem użyć SSH, a nie FTP, gdy poprosiłem o poświadczenia.

Na przykład

 Hostname: localhost

 FTP/SSH Username: admin

 FTP/SSH Password: password

I zadziałało.

Dzięki.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.