Envato Elements - pobierasz co chcesz, ile chcesz

O phpMyAdmin pisałem choćby podczas opisu instalacji i konfiguracji serwera WWW na przykładzie Raspberry Pi (Raspbian/Debian).

Dziś wrócę na chwilę do tego tematu – ustawimy dodatkowe zabezpieczenie (nazwa użytkownika i hasło).

Apache2: phpMyAdmin i .htaccess

Zaczniemy od utworzenia pliku .htaccess:

sudo nano /usr/share/phpmyadmin/.htaccess

i w treści dodajemy:

AuthType Basic
AuthName "Wymagana autoryzacja"
AuthUserFile /ścieżka/do/pliku/z/hasłem/.htpasswd
Require valid-user

Następnie tworzymy plik z hasłem:

sudo htpasswd -c /ścieżka/do/pliku/z/hasłem/.htpasswd nazwa_użytkownika

Lub z wykorzystaniem trochę bardziej skomplikowanego algorytmu:

sudo htpasswd -c -B bcrypt /ścieżka/do/pliku/z/hasłem/.htpasswd nazwa_użytkownika

I jeszcze troszkę podkręcamy:

sudo htpasswd -c -C7 -B bcrypt /ścieżka/do/pliku/z/hasłem/.htpasswd nazwa_użytkownika

Pojawi się monit o wpisanie hasła dla tego użytkownika – co oczywiście robimy.

Aktywacja obsługi plików .htaccess

…pewnie trzeba dodać obsługę plików .htaccess do konfiguracji „wirtualnego hosta”.

Połączenie zwykłe:

sudo nano /etc/apache2/sites-enable/000-default

Połączenie szyfrowane (SSL):

sudo nano /etc/apache2/sites-enable/default-ssl

I dodajemy zaraz pod „</Directory>” taki wpis:

<Directory /usr/share/phpmyadmin/>
AllowOverride ALL
</Directory>

Dostęp tylko z wybranych adresów IP

Możemy też – dodatkowo lub zamiast – zezwolić na dostęp do phpMyAdmin tylko ze zdefiniowanych adresów IP.

W tym celu ponownie edytujemy (lub tworzymy) plik .htaccess:

sudo nano /usr/share/phpmyadmin/.htaccess

i w treści wpisujemy:

order deny,allow
deny from all
allow from Adres_IP

Można też zezwolić na dostęp z konkretnego zakresu, np. w ramach sieci LAN:

allow from 10.*.*.*
allow from 10.0.0.0-10.255.255.255
allow from 10.0-255.0-255.0-255

Restart Apache

Na koniec zmian (tych i wcześniejszych) robimy restart serwera:

sudo service apache2 restart

Nginx i strona na hasło (np. phpMyAdmin)

W przypadku serwera Nginx nie ma wprawdzie obsługi plików .htaccess, ale podobny efekt – dostęp do katalogu/adresu – możemy ustawić za pomocą edycji pliku vHosta, np.:

sudo nano /etc/nginx/sites-enabled/default

i w danej „lokalizacji” dodajemy:

auth_basic "Wymagana autoryzacja";
auth_basic_user_file /ścieżka/do/pliku/z/hasłem/.htpasswd;

Dla phpMyAdmin będzie to wyglądało tak:

location /phpmyadmin {
[...]
auth_basic "Wymagana autoryzacja";
auth_basic_user_file /ścieżka/do/pliku/z/hasłem/.htpasswd;
[...]
}

Na koniec restart lub odświeżenie ustawień serwera:

sudo service nginx restart
sudo service nginx reload

Plik z hasłem (.htpasswd) dla Nginxa ma taki sam format jak dla Apache2, więc można wygenerować go tym samym narzędziem…

STOP – Wymagana autoryzacja

I cieszymy się np. dostępem do phpMyAdmin z dodatkowym uwierzytelnieniem:

phpmyadmin_htaccess_ie

(!) Zgłoś błąd na stronie
Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!
Spodobał Ci się artykuł? Zapisz się do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!
Na podany adres e-mail otrzymasz od nas wiadomość e-mail, w której znajdziesz link do potwierdzenia subskrypcji naszego Newslettera. Dzięki temu mamy pewność, że nikt nie dodał Twojego adresu przez przypadek. Jeśli wiadomość nie przyjdzie w ciągu najbliższej godziny (zazwyczaj jest to maksymalnie kilka minut) sprawdź folder SPAM.
Młody Szymon pomógł tacie zapisać się do Newslettera WebInsider.pl i... teraz idzie popływać
WebInsider poleca księgowość wFirma
WebInsider korzysta z VPSa w HitMe.pl
WebInsider poleca VPSy DigitalOcean
WebInsider poleca serwis Vindicat
Napisz komentarz
wipl_napisz-komentarz_01Jeśli informacje zawarte na tej stronie okazały się pomocne, możesz nam podziękować zostawiając poniżej swój komentarz.

W tej formie możesz również zadać dodatkowe pytania dotyczące wpisu, na które – w miarę możliwości – spróbujemy Ci odpowiedzieć.
Linki partnerskie
Niektóre z linków na tej stronie to tzw. „linki partnerskie”, co oznacza, że jeśli klikniesz na link i dokonasz wymaganej akcji (np. zakup/rejestracja) możemy otrzymać za to prowizję. Pamiętaj, że polecamy tylko te produkty i usługi, z których sami korzystamy, i uważamy, że są tego na prawdę warte… :-)
Znaki towarowe i nazwy marek
W niektórych wpisach (oraz innych miejscach na stronie) mogą być przedstawione/użyte znaki towarowe i/lub nazwy marek, które stanowią własność intelektualną tych podmiotów, a zostały użyte wyłącznie w celach informacyjnych.
Młody Szymon pomógł tacie zapisać się do Newslettera WebInsider.pl i... teraz idzie popływać