Przejdź do głównej zawartości

Używanie phpmyadmin w połączeniu z nginx



Po skonfigurowaniu pakietu nginx + php-fpm możesz potrzebować phpmyadmin do zarządzania bazami danych MySQL. Najczęstszą praktyką jest dostęp przez alias. Nieco mniej - subdomena. Rozważ pierwszą opcję.



Przede wszystkim powinieneś sam zainstalować phpmyadmin za pomocą prostego polecenia:

  # aptitude install phpmyadmin 

Podczas instalacji zostaną zadane dwa pytania. Pierwszym jest, czy wykonać automatyczną konfigurację serwerów WWW Apache i Lighttpd. Druga polega na tym, czy skonfigurować konfigurację phpmyadmin za pomocą db-config.

Pierwsze pytanie jest pomijane. Jeśli chcesz, drugie pytanie możesz przestudiować i wykonać odpowiednie ustawienie. To prawda, phpmyadmin będzie działał bez niego.



Następnie otwórz plik konfiguracyjny nginx i przypisz następującą lokalizację do wybranej witryny:

 lokalizacja / pma / {alias / usr / share / phpmyadmin /;  location ~ \ .php $ {fastcgi_pass unix: /var/run/php-pool-name.sock;  fastcgi_index index.php;  to fastcgi_params;  fastcgi_param SCRIPT_FILENAME $ request_filename;  fastcgi_ignore_client_abort off;  } location ~ * \. (js | css | png | jpg | jpeg | gif | ico) $ {access_log off;  log_not_found off;  wygasa 1 M;  }} 

Lokalizacje powinny nadawać unikalną nazwę, aby boty tam nie pukały.

Ustawiliśmy również adres puli php (tcp lub socket, w zależności od ustawienia twojego serwera) jako wartość parametru fastcgi_pass .



Na koniec dodaj wyjątki open_basedir dla katalogów / usr / share / phpmyadmin i / usr / share / php / php-gettext . Istnieją dwie możliwe opcje. Pierwszy (preferowany) jest parametrem w pliku konfiguracyjnym puli:

  php_admin_value [open_basedir] = "/ usr / share / phpmyadmin: / usr / share / php / php-gettext" 

Drugą opcją jest dodanie linii w powyższej lokalizacji:

  fastcgi_param PHP_ADMIN_VALUE "open_basedir = / usr / share / phpmyadmin: / usr / share / php / php-gettext"; 

Po edycji plików konfiguracyjnych uruchom ponownie nginx i php-fpm.



Jak oceniasz artykuł?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 ( 9 ocen, średnia: 3.56 z 5)
Ładowanie ...

” 6 komentarzy " Używanie phpmyadmin w połączeniu z nginx "

  1. Witaj adminie, witam, jak mogłeś zauważyć, każda pierwsza litera tego słowa z jakiegoś powodu jest pisana automatycznie wielkimi literami. Natknąłem się na twoją stronę tylko dzisiaj, znalazłem wiele dobrze opisanych artykułów. Ale specjalnie dla tego artykułu, phpmyadmin nie był w stanie tego zrobić, nic nie wskazuje na to, że musisz dodać dowiązanie symboliczne do katalogu / usr / share / phpmyadmin. bez niego phpmyadmin nie działał. Wydaje mi się, że ten artykuł nie jest kompletny, w przeciwieństwie do reszty, napisany przez ciebie. Dlatego oceniłem ją tylko na 3. Ogólnie rzecz biorąc, artykuły na stronie są bardzo przydatne, szczególnie dla początkujących, takich jak ja, wszystko jest bardzo dobrze napisane i wyjaśnione w szczegółach. dodałem twoją stronę do twoich ulubionych, znalazłem wiele przydatnych informacji, których nie mogę użyć do rozwoju mojego projektu! Wielkie dzięki!

    1. Tak, dziękuję. Poprawiono css.
      Ale wątpię w linki. Gdzie się do niego odwołać, jeśli alias w konfiguracji nginx prowadzi bezpośrednio do folderu phpmyadmin? Byłbym wdzięczny, gdybyś dodał dokładnie, w jaki sposób rozwiązałeś problem, ponieważ źle wyobrażam sobie twoją sytuację. Ta konfiguracja działa dla mnie. : /

      1. Jestem kompletnie zdezorientowany, wpisz swoją konfigurację dla location / pma / i wszystko działa, nawet nie ma problemów z przekierowaniem, gdy cgi.fix_pathinfo 0. Wcześniej znalazłem rozwiązanie problemu przekierowania na tej stronie http://www.samundra.com.np/use-phpmyadmin-with-nginx-and-php7/1374 . Gdy po raz pierwszy postępowałem zgodnie z Twoimi instrukcjami, nie dodałem "include fastcgi_params; fastcgi_param SCRIPT_FILENAME $ nazwa_pliku_pliku; "(nie wiem, co robią te dwa parametry), a bez nich, jak już rozumiem, alias w konfiguracji nie zadziała, a następnie próbował utworzyć dowiązanie symboliczne i natknął się na problem z niewłaściwym przekierowaniem do phpmyadmin. Ogólnie, z powodu nieporozumienia, jak i dlaczego parametry działają w konfiguracji nginx, nie mogłem postępować zgodnie z instrukcjami prostego przewodnika))
        Jest jedno pytanie: Mam tylko dwa parametry w lokalizacji ~ \ .php $ {include snippets / fastcgi-php.conf; fastcgi_pass unix: /var/run/php5-fpm.sock;} Czy powinienem zrobić to tak, jak w twojej gotowej konfiguracji nginx + php-fpm? Z góry dziękuję!

        1. Różnica metod polega na tym, że zgodnie z powyższym linkiem folder / usr / share jest zarejestrowany jako root: root /usr/share/; . W takim przypadku nie można zmienić nazwy lokalizacji / phpmyadmin. W przeciwieństwie do przykładu tutaj, gdy lokalizacja ma dowolną nazwę, nawet / asdasd staje się aliasem do folderu / usr / share / phpmyadmin. W ten sposób PMA może być chroniony przed różnego rodzaju botami. :)

          Oczywiście w przypadku aliasu należy fastcgi_param SCRIPT_FILENAME $request_filename; , umieść standard fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; .

          Opis zmiennych można znaleźć tutaj: https://nginx.org/ru/docs/varindex.html .

          A konfiguracja za pomocą include snippets / fastcgi-php.conf może pozostać bez zmian. Podręcznik został napisany na przykładzie Debiana 7, gdzie wszystko nie jest tak wygodne. Fastcgi-php.conf przedstawia bardziej poprawną konfigurację z ciągiem fastcgi_split_path_info ^(.+\.php)(/.+)$; . Chociaż może działać zgodnie ze starymi instrukcjami. :)

          1. x.kr.ua, dziękuję bardzo za tak szczegółowe wyjaśnienie. Jestem winny mojego analfabetyzmu, żałuję, że oceniam artykuł na 3. Jest wiele artykułów i nigdy nie wiesz, czy możesz zaufać autorowi i po prostu skopiować i wkleić, nie wiesz, jaki będzie wynik i czy doprowadzisz do jeszcze większej liczby błędów, więc wolę zrobić minimum konfiguracje, dopóki sam nie odkryję wszystkiego i nie jestem pewien, czy ta metoda jest dla mnie optymalna. Ale teraz dowiedziałem się)) Strona jest doskonała. dzięki

          2. Wcale nie. :) A podejście jest poprawne. Rzeczywiście, niektórzy nawet nie próbują w praktyce tego, co jest napisane w artykułach. Tylko w celu uzyskania ruchu. Właśnie dlatego ten blog wydawał się rejestrować, co działa.

Dodaj komentarz

Twój e-mail nie zostanie opublikowany.