Сам себе хостер 2. Настройка phpmyadmin, mysqli.

Опубликовано admin - пн, 09/07/2020 - 21:33

Phpmyadmin.

В первой части /node/958 мы не рассмотрели вопрос настройки phpmyadmin и mysql. Сегодня я постараюсь восполнить указанный пробел. Установка начинается со следующей команды:  

apt-get install phpmyadmin

Конфигурационный файл phpmyadmin находится по адресу: /etc/phpmyadmin/ (Ubuntu).

Если Вы используете Ubuntu, то по адресу /etc/nginx/sites-enabled должен автоматически появится конфигурационный файл, в моем случае он содержит следующий код:

server {
        listen       80;
        server_name  phpmyadmin.local;
        set $root_path /usr/share/phpmyadmin;
        index index.php index.html index.htm index.nginx-debian.html;
        root $root_path;
        client_max_body_size 100m;

#        location / {
#                index index.php;
#        }

        proxy_connect_timeout 600;
        proxy_send_timeout 600;
        proxy_read_timeout 600;

        send_timeout 600;
 location / {
        proxy_pass http://127.0.0.1:8080/;
        proxy_redirect     off;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }

        location ~ /\.ht {
                deny all;
        }


#        location ~ \.php$ {
#                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
#                fastcgi_index index.php;
#                fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
#                include fastcgi_params;
#                fastcgi_param DOCUMENT_ROOT $root_path;
#        }
}

Изначально phpmyadmin был настроен через php-fpm. Затем я заменил его через прокси сервер.

Для корректной работы phpmyadmin необходим файл apache, расположенный в /etc/apache2/sites-enabled в его названии важно расширение conf:

<VirtualHost *:8080>
    Define root_domain phpmyadmin.local
    Define root_path /usr/share/phpmyadmin

    ServerName ${root_domain}
    ServerAlias www.${root_domain}
    DocumentRoot ${root_path}/

    ErrorLog     ${root_path}/log/apache/error_log
    TransferLog  ${root_path}/log/apache/access_log

    php_admin_value upload_tmp_dir ${root_path}/tmp
    php_admin_value doc_root ${root_path}

#    php_admin_value open_basedir    ${root_path}:/tmp
#    php_admin_value session.save_path 0;0660;${root_path}/tmp
     php_admin_value open_basedir /usr/share/phpmyadmin:/usr/share/php:${root_path}:/tmp
</VirtualHost>
         

В принципе все. однако, не забудьте добавить информацию о домене в файл /etc/hosts.

Очень важным является строка:

...
     php_admin_value open_basedir /usr/share/phpmyadmin:/usr/share/php:${root_path}:/tmp
</VirtualHost>
         

Подробное описание данной директивы находится по адресу https://www.php.net/manual/ru/ini.core.php#ini.open-basedir, без верного указания расположения выполнения php вы получите 500 ошибку.

Поле этого, Вам должен быть доступе phpmydqmin по адресу phpmyadmin.local.

Если у вас появилась ошибка:

(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80

для ее устранения необходимо заменить порт 80 на другой в конфиге nginx, командой:

vi /etc/apache2/ports.conf

конфиг должен выглядеть следующим образом:  

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

Listen 8080

#<IfModule ssl_module>
#       Listen 443
#</IfModule>

#<IfModule mod_gnutls.c>
#       Listen 443
#</IfModule>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
~                                                                                                                                             
~                                                  

Mysql.

Установка mysql не вызывает труда. Для этого введите команду:

apt-get install php-mysql php-mysqli

Перезапустите сервер командой: 

systemctl restart apache2

и nginx:

systemctl restart nginx

Не забывайте, что многие настройки указаны для локального сервера, а не для рабочего.

Для входа в phpmyadmin по умолчанию используется имя пользователя "phpmyadmin" и пустой пароль.

Взаимосвязанные материалы

# 1. Хуки в Git (среда, сентября 9, 2020 - 21:52 ),

Часто приходится копировать данные по сайту в git репозиторий или переносить копию на локальный сервер или рабочий?

читать...
# 2. Сам себе хостер 2. Настройка phpmyadmin, mysqli. (понедельник, сентября 7, 2020 - 21:33 ),

Phpmyadmin.

В первой части  читать...

# 3. Сам себе хостер! (пятница, августа 1, 2014 - 22:12 ),

Привет! Хорошая настройка Apache (mtm.itk) + PHP + Nginx + Mysql

Первым делом не забудьте установить php, mysql и fpm.

читать...
На разработку сайта! Скидки до 20%!