Пропускане към основното съдържание

CHS: Инсталиране на phpMyAdmin под Nginx

phpMyAdmin е стандартен инструмент за работа с MySQL/MariaDB бази данни. Ще инсталираме приложението и ще го конфигурираме да работи с Nginx сървър.
Системата, върху която ще работим, е със следните параметри:
[angie@CentOS-server srv]$ cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core) 


[angie@CentOS-server srv]$ uname -r
3.10.0-957.27.2.el7.x86_64


Използваме yum за инсталираме пакета, като заедно с него се инсталират още 12, като по този начин се спазват всички зависимости.
[angie@CentOS-server ~]$ sudo yum install phpMyAdmin.noarch -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
…...                                                                                                                                                                                        Installing:
phpMyAdmin noarch 4.4.15.10-3.el7 epel 4.7 M
Installing for dependencies:
compat-libtidy x86_64 0.99.0-37.20091203.el7 epel 133 k
php-bcmath x86_64 5.4.16-46.el7 base 58 k
php-fedora-autoloader noarch 1.0.0-1.el7 epel 9.6 k
php-gd x86_64 5.4.16-46.el7 base 128 k
php-mbstring x86_64 5.4.16-46.el7 base 505 k
php-php-gettext noarch 1.0.12-1.el7 epel 23 k
php-process x86_64 5.4.16-46.el7 base 56 k
php-tcpdf noarch 6.2.26-1.el7 epel 2.1 M
php-tcpdf-dejavu-sans-fonts noarch 6.2.26-1.el7 epel 257 k
php-tidy x86_64 5.4.16-9.el7 epel 23 k
php-xml x86_64 5.4.16-46.el7 base 126 k
t1lib x86_64 5.1.2-14.el7 base 166 k
…...         
Install  1 Package (+12 Dependent packages)

Total download size: 8.2 M
Installed size: 39 M
…...         
Complete!


След версия 7.3 на CentOS не се използват отделни директории за разрешени и достъпни виртуални сървъри, а се използва общата директория /etc/nginx/conf.d/. В нея създаваме конфигурационен файл на phpMyAdmin (phpMyAdmin.conf ) със следното съдържание:
server {
        listen   80;
        server_name phpmyadmin;

    location / {
        index  index.php;
        root /usr/share;
    }

## Images and static content is treated different
        location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
        access_log        off;
        expires           30d;
    }

    location ~ /\.ht {
        deny  all;
    }

    location ~ /(libraries|setup/frames|setup/libs) {
        deny all;
        return 404;
    }

    location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}


След рестартиране на Nginx можем да направим опит да се свържем с phpMyAdmin. За съжаление получаваме съобщение за грешка:
"PHP message: PHP Fatal error: Call to undefined function __() in /usr/share/phpMyAdmin/libraries/core.lib.php on line 245"


Проблемът е, че по подразбиране сесиите са разрешени за потребителите от група apache, а потребителят на нашия сървър е nginx със същата група. Променяме собствеността:
sudo  chown -Rfv  root:nginx /var/lib/php/session


Сега, след избор на адрес http://server_domain_or_IP/phpMyAdmin трябва да получим:


Проблемът е, че сега phpMyAdmin е достъпен от цялата мрежа и всеки „хакер“ може да се пробва да налучква потребителското ни име и паролата ни. Затова в блока „location /“ ще добавим още няколко реда, които ще дадат достъп до phpMyAdmin само от локалната мрежа (разбира се, адресите трябва да се променят според локалните настройки). Могат да се настроят и конкретни отделни адреси, които имат правата за работа и достъп:
# allow anyone in 192.168.1.0/24
allow   192.168.1.0/24;
# drop rest of the world 
deny    all;


След рестарт на сървъра, при опит за достъп до phpMyAdmin, „хакерът“ ще получава:


Успех!


Източници:  

Коментари

Популярни публикации от този блог

Проектиране на кемпер с VehiPlan

Оливер Колонж (Oliver Collonge) написва през 2011 г. втора версия на безплатната програма за дизайн на кемпери VehiPlan . Според автора тя е писана и трябва да работи под Windows 2000/Vista. Пробите показват, че работи нормално и под Windows 7 и 10. След като свалите архива (zip) можете да го разархивирате в C:\Windows\Program Files (x86)\. Програмата е с френски интерфейс и затова са необходими още няколко файла - vb6fr.dll , comdlg32.ocx & mscomctl.ocx . Тези файлове се поставят в C:\Windows\SysWOW64\. Comdlg.ocx се поставя в C:\Windows\System32\. След това е необходимо да се стартира Command Prompt (cmd - като администратор) и да се изпълни командата: regsvr32 %systemroot%\system32\comdlg32.ocx Ако възникне някакъв проблем, по-нова версия на файла може да се свали от тук . След това трябва да направим препратка към C:\Program Files (x86)\VehiPlan-2-0-0\VehiPlan.exe за по-удобно стартиране, която да поставим на работния плот или друго подходящо място. В архивния файл на програмат...

Диаграма на Гант с електронна таблица

Диаграмата на Гант се състои от ленти, ориентирани успоредно на времевата ос. Всяка лента представлява отделна задача в проекта (вид работа), краищата ѝ — началния и крайния момент на изпълнението  ѝ, а дължината ѝ - продължителността на задачата. Тези диаграми могат да се използват и за други, не точно производствени, цели - например да покажат заетостта на учебна зала. Когато представянето на данните е регулярна задача може да се използва специализиран софтуер като GanttProject, но за инцидентна визуализация можем да се справим с „подръчни средства“. Сега ще покажем как с електронна таблица (LibreOffice Calc) ще визуализираме времето, за което няколко служители са работили във фирмата: Изходните данни са в няколко колони: Продължителността на трудовия стаж в дни определяме с формулата D2=C2-B2, като я копираме за всеки последващ ред. На 6-и ред съответно с функцията MIN и MAX определяме минимална и максимална дата в таблицата, а на 7-и ред - записваме начална (1.1.198...

Основни разлики между IPv4 и IPv6

Основните разлики между IPv4 и IPv6 можем да разделим в няколко категории: Адреси Дължината на IPv4 адресите е 32 бита, докато на IPv6 - 128. Това дава възможност за адресиране на много повече крайни точки. Докато при IPv4 общият брой на адресите е 4 294 967 296, групирани в мрежи от клас A, B, C, D или E, то IPv6 уникалните адреси са 340 282 366 920 938 463 463 374 607 431 768 211 456, т. е. 79 228 162 514 264 337 593 543 950 336 пъти повече. Проста аналогия - ако адресното пространство на IPv4 е топка за пинг-понг, то на IPv6 е сфера с размера на Слънцето. При IPv6 вече не се ползва мрежова маска, както при IPv4, а адресен префикс. При IPv6 вече отпада необходимостта от NAT поради огромния брой свободни адреси. Конфигурация на адресите При IPv4 всяко ново устройство трябва да бъде предварително конфигурирано, за да бъде включено в мрежата. IPv6 позволява освен DHCP-подобна функционалност както при IPv4, така и SLAAC - автоматично преконфигуриране на мрежата чр...