NGINX konfiguracja phpMyAdmin na serwerze zdalnym

Autor: Rafal Marguzewicz
Opublikowany:
Kategorie: DevOps
Tagi:


nginxPo zainstalowaniu NGINX oraz MariaDb/MySQL możemy przystąpić do instalowania i konfigurowania phpMyAadmin (skrót PMA). Artykuł jest dla systemu Linux z dostępem publicznym. Jeżeli konfigurujesz lokalne środowisko developerskie przejdź tutaj

Planowana konfiguracja wygląda tak http://ipserwera/ – biała strona nie zdradzająca niczego, http://ipserwera/panel-pma289/ – strona phpMyAdmin. Aby zwiększyć bezpieczeństwo skonfigurujemy dodatkowe hasło serwera HTTP do lokalizacji panelu PMA. Zakładamy że strony trzymane są w folderze /home//www/. Lokalizacji folderu publicznego PMA nie będziemy zmieniać a jest ona na ogół /usr/share/phpmyadmin/

Konfiguracja PMA na NGINX – lista zadań:

  1. Instalacja phpMyadmin
  2. Konfiguracja serwera HTTP – NGINX
  3. NGINX hasło i login na lokalizacji
  4. Objaśnienie możliwych problemów

1. Instalacja phpMyAdmin

sudo apt install phpmyadmin

Gdy zostaniesz zapytany o automatyczne prze konfigurowanie serwera WWW nie wybieraj apache2 i lighthttp tylko kliknij tabulator i ok. Potem poprosi Cię o hasło do serwera SQL i tyle z instalacji phpMyAdmin. PMA zostanie zainstalowany w katalogu /usr/share/phpmyadmin/ (jeżeli w twoim systemie będzie inaczej pamiętaj o modyfikacji konfiguracji)

instalacja pma nginx

Konfiguracja serwera NGINX

Zawartość pliku /etc/nginx/server_blocks.conf


server {
#ip twojego serwera
        server_name  00.000.00.00;
        listen 80 default_server;
        root /home/<user>/www/default/;
        include global.conf;

        location /panel-pma289/ {
                alias /usr/share/phpmyadmin/;
              #  auth_basic "Administrator Login";
              # auth_basic_user_file /home/<user>/www/default/.htpasswd;

                location ~ ^/panel-pma289/(.+\.php)$ {
                        alias /usr/share/phpmyadmin/$1;
                        include fastcgi.conf;
        }
#zezwolenie na otwieranie tylko wybranych plików, tym mniej tym lepiej
                location ~* ^/panel-pma289/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                         alias /usr/share/phpmyadmin/$1;
                }
        }
}

W moich konfiguracjach używam edytowanego pliku fastcgi.conf oraz global.conf. Paczka plików konfiguracyjnych. Więcej na ten temat znajdziesz w artykule instalacja LEMP Linux Nginx MariaDB PHP.
Jeżeli nie będziesz miał tych plików w folderze /etc/nginx/ w tedy przeładowanie konfiguracji NGINX zwróci błąd.

Po zapisaniu pliku możemy przeładować konfigurację

sudo service nginx reload

A PMA powinien być dostępny pod adresem http://twoj_adres_ip/panel-pma289/

NGINX hasło i login na lokalizacji

Jeżeli chcemy po wejściu na dany adres URL otrzymać komunikat autoryzacyjny login/hasło, najpierw musimy wygenerować plik .htpasswd z loginem i hasłem. W internecie istnieje wiele stron które pomagają wygenerować taki plik .htpasswd. Dla przykładu przedstawię zawartość pliku .htpasswd który login ma user a hasło pass.
user:$apr1$a6yoYTJt$NUeX7J2RsLkIFpcD/jG8x1
Umieśćmy go na serwerze w lokalizacji /home/<user>/www/default/.htpasswd a następnie od komentujmy auth_basic "Administrator Login" i auth_basic_user_file

Możliwe problemy

Najczęstsze problemy
NGINX: błędne adresy folderów w konfiguracji, błędy składniowe konfiguracji.
Linux: uprawnienia (chmod lub chown) do folderów. W przypadku wystąpienia problemów, potrzebuje więcej informacji: Jeżeli to błąd składniowy pliku konfiguracji NGINX, wypisze Ci numery linii z błędami:

sudo nginx -t

błędne adresy folderów lub uprawnienia do folderów, logi powinny pomóc

sudo tail /var/log/nginx/error.log

W tedy albo trzeba ustawić własność folderu i grupę na www-data i/lub sprawdzić czy ścieżki folderów zgadzają z twoją konfiguracją.

NGINX konfiguracja phpMyAdmin na serwerze zdalnym
0 / 0 vote


Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Nazwa *
E-mail *

Przeczytaj poprzedni wpis:
NGINX konfiguracja phpMyAdmin na localhost

Gdy mamy już zainstalowany serwer NGINX oraz MariaDb/MySQL możemy przystąpić do instalowania i konfigurowania phpMyAadmin (będę używał skrótu PMA). Artykuł...

Zamknij