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

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.1989) и

MD5 и SHA-1 хеш алгоритми

MD5 (от „message-digest“) криптографският алгоритъм е създаден през 1991 г. от проф. Роналд Райвест и за първи път е публикуван през април 1992 г. Целта му е да замени компрометирания MD4 алгоритъм, който не е достатъчно сигурен. В последствие се оказва, че и MD5 не отговаря на съвременните изисквания за сигурност и може да бъде разбит. MD5 е построен върху конструкцията на Merkle–Damgård и генерира шестнайстично число със фиксиран размер от 32 символа (128 бита) за входящо съобщение с произволна дължина. Идеята е да се създаде уникален идентификатор за съобщението, който да гарантира неговата истинност. Например: MD5("The quick brown fox jumps over the lazy dog") = 9e107d9d372bb6826bd81d3542a419d6 Дори малка промяна, напр. добавя не точка в края на входящото съобщение би трябвало да генерира нов уникален идентификатор: MD5("The quick brown fox jumps over the lazy dog . ") = e4d909c290d0fb1ca068ffaddf22cbd0 Дължината на вход