Как да защитим уеб директорията на phpmyadmin по IP адрес с htaccess в Ubuntu 16.04 LTS

https://www.ubuntu.com/
https://www.apache.org/
https://www.phpmyadmin.net/

phpmyadmin е уеб базиран инструмент за администрация на MySQL и MariaDB база данни. Написан е на PHP. С phpmyadmin могат да се извършват следните действия: създаване и изтриване на база данни, създаване, изтриване, променяне на таблици, добавяне, изтриване и редактиране на полета, изпълнение на SQL код и менажиране на ключове (keys). В Ubuntu phpmyadmin се инсталира по следния начин:

sudo apt-get install phpmyadmin php-mbstring php-gettext

По време на инсталацията ще бъдем запитани за паролата на root на базата данни за да може phpmyadmin след това да я управлява. След инсталацията обаче трябва да активираме и следните модули:

sudo phpenmod mcrypt
sudo phpenmod mbstring

След което вече получаваме достъп до phpmyadmin на адрес http://адреса-на-сървъра/phpmyadmin/. В моя случай изглежда така:

phpmyadmin си има собствен конфигурационен файл на Apache който на практика е препратка в /etc/apache2/conf-available/ :


sudo ls -lah /etc/apache2/conf-available/phpmyadmin.conf
lrwxrwxrwx 1 root root 28 сеп 12 00:21 /etc/apache2/conf-available/phpmyadmin.conf -> ../../phpmyadmin/apache.conf

Затова трябва да редактираме следния файл.

sudo nano /etc/phpmyadmin/apache.conf

Като добавим третата директива AllowOverride All

<Directory /usr/share/phpmyadmin>
    Options FollowSymLinks
    DirectoryIndex index.php
    AllowOverride All

След това трябва да създадем htaccess

sudo nano /usr/share/phpmyadmin/.htaccess

И да му добавим IP адресите които искаме да имат достъп до уеб директорията на phpmyadmin

deny from all
allow from 192.168.0.0/16
allow from 172.16.64.2
allow from 10.10.10.3

След което естествено трябва да рестартираме Apache

sudo systemctl restart apache2.service

IP адрес който не е в htaccess листата трябва да види това в браузера си “Forbidden”

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

This Post Has 3 Comments

  1. Станислав

    Момчета инсталирах Ubuntu 16.04 направих всичко както трябва , но пак няма ресултат . Ефекта е нулев , все едно не съм слагал фаила за оторизиране htaccess. На какво може да се дължи това . Моля за помощ .

  2. The_Admin

    Ако всичко е както трябва значи ще работи, тоест не е както трябва. Много чести грешки са:
    Пропускане или синтактична грешка с AllowOverride All в Apache или още по вероятната правиш заявка с друг IP адрес (например ако зад NAT) За да се увериш с какъв адрес влизаш просто изпълни само w в терминала, ще ти покаже сесията и ип адреса през който си влязал.

  3. Milly

    Благодаря ви много за информацията, тя работи перфектно