Настройка веб сервера на Centos 7 (Apache + PHP 5.6 (opcache)+ NGINX + MySQL + MyPhpAdmin)
В данной статье будет рассказывается про установку и настройку веб сервера на Centos 7 в конфигурации Apache + PHP 5.6 (opcache)+ NGINX + MySQL + MyPhpAdmin. Такая связка для большинства задач является наиболее производительным решением на сегодняшний день (октябрь 2015 года).
Про установку и первичную настройку Centos 7 можно прочитать в статье «Установка и настройка CentOS 7». Или же можно заказать готовый виртуальный сервер на любом хостинге с уже установленным шаблоном «чистый Centos 7», я рекомендую хостинг ruweb.net.
Сервер конфигурируем таким образом, чтобы на 80 порту висел nginx и отдавал всю статику, а запросы на динамику отдавал апачу, который будет находиться на порту 8080. В качестве сервера MySQL будем использовать MariaDB, это полностью совместимый аналог MySQL, но по некоторым операциям MariaDB в десятки раз производительнее.
Первоначальные настройки Centos 7
Обновляем ОС
yum update
Подключаем репозиторий EPEL
yum install epel-release
Список подключенных репозиториев можем посмотреть командой:
yum repolist
Для наблюдения за загрузкой и производительностью сервера устанавливаем ATOP (вызывается командой atop):
yum install atop
Установка Apache на Centos 7
Apache у нас будет использоваться для отдачи динамического содержимого, непосредственно с клиентом будет общаться nginx.
Установка apache из репозитория:
yum install httpd
В файле конфигурации httpd.conf, который находится по пути /etc/nginx, меняем порт на 8080
Listen 8080
Запускаем сервис и настраиваем его для автозапуска
systemctl start httpd systemctl enable httpd
Установка PHP 5.6 с оптимизацией opcache
Устанавливаем PHP 5.6 c opcache и модулем для работы с mysqlnd
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm yum install -y php56w php56w-opcache php56w-mysqlnd
Для проверки работы Apache и php временно открываем порт 8080 для внешних подключений (после перезагрузки он будет снова закрыт). В Centos 7 вместо привычной всем IPtables установлена более современная служба файрвола Firewalld.
firewall-cmd –add-port=8080/tcp
В папке /var/www/html создаем файл phpinfo.php со следующим содержимым.
Заходим на сервер из любого браузера по нашему IP адресу с указанием порта 8080 — http://IP-сервера:8080/phpinfo.php . Мы должны увидеть информацию о php, apache и установленных модулях.
Установка MySQL (MariaDB) на Centos 7
MariaDB является полностью совместимым и более производительным аналогом MySQL, поэтому я на своих серверах устанавливаю именно ее и проблем пока не встречал.
yum -y install mariadb-server systemctl start mariadb systemctl enable mariadb
Для настройки безопасности MySQL запускаем соответствующий скрипт
mysql_secure_installation
В процессе выполнения скрипта Вам будет задано несколько простых вопросов и будут сделаны основные настройки безопасности.
Установка nginx на Centos 7
Устанавливаем nginx
yum install nginx
Дописываем в конфигурационный файл /etc/nginx/nginx.conf в секции location следующие строки
location / { proxy_pass http://127.0.0.1:8080/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; proxy_connect_timeout 90; }
Запускаем nginx и настраиваем его автозапуск
systemctl start nginx systemctl enable nginx
Теперь нам необходимо на файрволе открыть 80 порт (http), чтобы наш сервер стал доступен снаружи.
firewall-cmd –add-service=http –permanent
Ключ —permanent указывает на то, что порт открывается на постоянной основе и после перезагрузки останется открытым.
Перезагружаем сервер
reboot
Пробуем в браузере набрать IP адрес нашего сервера, мы должны увидеть страницу «nginx error!». Значит nginx установлен и работает!
Настройка SELinux
В Centos 7 много сделано для повышения безопасности, однако это иногда добавляет головной боли. В частности, в Centos 7 по умолчанию включен SELinux. Скорее всего сервер будет работать как-то не так и в файле /var/log/nginx/error.log выдавать ошибку:
2015/10/20 14:44:16 [crit] 11593#0: *20 connect() to 127.0.0.1:8080 failed (13: Permission denied) while connecting to upstream, client: X.X.X.X, server: msadmin.ru, request: “GET / HTTP/1.1”, upstream: “http://127.0.0.1:8080/”, host: “msadmin.ru”
Для простоты SELinux можно просто отключить. Для этого находим файл /etc/sysconfig/selinux, исправляем в нем соответствующую строчку на SELINUX=disabled и перезагружаемся.
Но поступать таким варварским способом я считаю неправильно. Лучше не нарушать безопасность и использовать политики SELinux для nginx:
yum install policycoreutils-python cat /var/log/audit/audit.log|grep nginx | grep denied | tail -n 1 |audit2allow -M mynginx semodule -i mynginx.pp
Важно: В любой непонятной ситуации, когда все должно работать, но не работает попробуйте отключить SELinux, возможно проблема в нем.
Настройка сервера apache+nginx для обслуживания веб домена
Настройки нашего серве
Источник: http://MSAdmin.ru/centosweb/
Установка PHPMyAdmin в nginx CentOS 7
Ниже я покажу как происходит Установка PHPMyAdmin в nginx CentOS 7
Начальные данные
Установка необходимого ПО
Установим phpmyadmin, а также php-fpm php-mcrypt и httpd-tools (там содержится утилита htpasswd, с помощью которой защитим вход в PMA)
[root@sakai ~]# yum install phpmyadmin php-fpm php-mcrypt httpd-tools
Во время установки phpmyadmin будет установлен также PHP 5.4
Настройка nginx
Откроем файл виртуального хоста nginx в редакторе
[root@sakai ~]# nano /etc/nginx/conf.d/sakai.conf
найдем секцию server {} и добавим по аналогии с другими новый location
location /pma/ { auth_basic “Unauthorized”; auth_basic_user_file /etc/nginx/conf.d/htpasswd; index index.php; alias /usr/share/phpMyAdmin/; location ~ .php$ { fastcgi_pass unix:/var/run/php-fpm/pool.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_ignore_client_abort off; fastcgi_param PHP_ADMIN_VALUE “open_basedir=/usr/share/phpMyAdmin:/usr/share/php/gettext:/etc/phpMyAdmin/:doc/html/index.html”; } location ~* .(js|css|png|jpg|jpeg|gif|ico)$ { access_log off; log_not_found off; expires 1M; } }
Перезапустим nginx
[root@sakai ~]# systemctl restart nginx
Настройка PHP-FPM
Откроем файл php пула в редакторе
[root@sakai ~]# nano /etc/php-fpm.d/www.conf
Отредактируем строку listen, заменив содержимое строки на
listen = /var/run/php-fpm/pool.sock
Раскомментируем (уберем # в начале) строки
#listen.owner = nobody #listen.group = nobody #listen.mode = 0666
Отредактируем строки user и group заменив содержимое строк на nginx
Закомментируем (добавим # в начале) строку с php_value[session.save_path]
Сохраним файл и перезапустим PHP-FPM
[root@sakai ~]# systemctl restart php-fpm
Доступ по паролю
Мы указали в конфигурации nginx, что доступ к PMA будет доступен по паролю, теперь создадим логин и пароль для входа:
htpasswd -cb /etc/nginx/conf.d/htpasswd admin 12345
Эта команда создаст файл, который будет содержать данные для доступа с логином admin и паролем 12345. Данный файл уже указан в nginx.
Теперь можно зайти по адресу: http://site.ru/pma/ , где site.ru – адрес вашего сайта.
Источник: http://cyber01.ru/manuals/ustanovka-phpmyadmin-v-nginx-centos-7/
Установка Phpmyadmin CentOS 7
Система управления базами данных mysql набрала огромной популярности в последнее время. Она используется на большинстве веб-серверов, поскольку для работы современных веб-технологий нужно быстрое и надежное хранилище данных.
Время от времени нам нужно вручную внести изменения в хранимые данные, но по умолчанию mysql поддерживает работу только через терминал. Это достаточно сложно, поэтому был разработан веб-интерфейс phpmyadmin. В этой статье мы рассмотрим как выполняется установка Phpmyadmin CentOS 7 и как все настроить для максимально правильной работы.
В репозиториях, которые поставляются по умолчанию вместе с дистрибутивом Phpmyadmin нет. Он находится в репозитории EPEL или Extra Packages for Enterprise Linux. Поэтому сначала нам нужно установить этот репозиторий:
sudo rpm -iUvh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Затем обновляем списки доступных пакетов из нового репозитория. В CentOS это делать не обязательно в отличие от Ubuntu, но будет так будет более правильно:
sudo yum -y update
Заодно команда установит все доступные обновления. Дальше можно устанавливать Phpmyadmin:
sudo yum -y install phpmyadmin
Если вы используете веб-сервер Apache, то вам осталось перезапустить его и phpmyadmin будет доступен по адресу:
http://ip_вашего_сервера/phpmyadmin
Установка новой версии Phpmyadmin
Но, таким образом, вы получите старую версию phpmyadmin 4.4, которая работает на php 5.4. Если вы хотите php 7 и самый свежий phpmyadmin, то его можно установить из репозитория remi. Сначала добавляем репозиторий в систему:
sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Обновляем доступные пакеты, как и выше:
sudo yum update
Включаем поддержку новой версии PHP 7.1:
yum-config-manager –enable remi-php71
И теперь осталось только установить phpmyadmin Centos 7, нужную версию php он возьмет сам:
sudo yum install phpmyadmin
Дальше phpmyadmin будет доступен по тому же адресу при условии, что вы используете Apache.
Настройка Phpmyadmin Nginx
Если же вы используете Nginx, то перед тем, как вы сможете открыть веб-интерфейс, вам будет необходимо его включить. Для этого выполните команду:
sudo ln -s /usr/share/phpMyAdmin /var/www/html/phpmyadmin
Тут /var/www/html/phpmyadmin – это папка с вашим проектом. Затем перезапустите php-fpm:
sudo systemctl restart php-fpm
В основной конфигурационный файл nginx.conf, в секцию http добавьте такую команду, это включит поддержку перехода по символическим ссылкам:
sudo vi /etc/nginx/nginx.conf
disable_symlinks off;
И еще, если у вас ISPManager поищите строчку disable_symlinks if_not_owner в настройке сайта и удалите ее иначе тоже ничего не заработает. Перезапустите nginx:
sudo nginx -s reload
Теперь вы сможете получить доступ к phpmyadmin добавив его адрес к адресу вашего рабочего проекта. Дальше про безопасность. Нам нужно, чтобы к этому адресу могли получить доступ только вы. Несмотря на то, что интерфейс запрашивает пароль, его можно пытаться перебрать, а это для нас очень нежелательно. Во-первых, вы можете переименовать ссылку во что-то более непонятное, например:
mv /var/www/html/phpmyadmin /var/www/html/pppma
Но для большей надежности можно использовать аутентификацию Nginx. Сначала создадим зашифрованный пароль:
openssl passwd
Полученное значение нужно скопировать. Дальше создайте файл /etc/nginx/passwords и поместите в него имя пользователя и пароль через двоеточие, например:
sudo vi /etc/nginx/passwords
admin:4inq6EdrlAHMA
Теперь добавьте такой location в файл настройки вашего сайта, адрес pppma, в случае, если вы меняли название ссылки:
location /pppma { auth_basic “Admin Login”; auth_basic_user_file /etc/nginx/passwords;
}
Теперь при запросе этого адреса будет спрашиваться пароль.
И только после ввода этого пароля и пароля базы данных вы сможете войти в интерфейс управления.
Настройка phpmyadmin Apache
Радует то, что при работе с Apache Phpmyadmin будет доступен сразу же, без необходимости выполнять кучу дополнительных настроек. Но безопасность настраивать все же надо. Настройки phpmyadmin для Apache находится в файле /etc/httpd/conf.d/phpMyAdmin.conf нам будет достаточно добавить несколько строк. Но сначала создаем пароль:
htpasswd -c /etc/httpd/passwords admin
Дальше редактируем файл настроек:
vi /etc/httpd/conf.d/phpMyAdmin.conf
Добавьте в секцию такие строки:
Options Indexes FollowSymLinks AllowOverride All AuthType Basic AuthName “Restricted Content” AuthUserFile /etc/httpd/passwords
Require valid-user
Теперь, как и в предыдущем варианте, при попытке открыть phpmyadmin вы увидите запрос пароля.
Как удалить Phpmyadmin
Удаление Phpmyadmin выполняется такой командой:
sudo yum remove phpmyadmin
Не забудьте после этого удалить оставшиеся символические ссылки и конфигурации.
Выводы
В этой небольшой статье мы рассмотрели как выполняется установка Phpmyadmin Centos 7. Теперь вы знаете как установить самую новую версию программы и как заставить ее работать в вашей системе. Надеюсь эта информация была полезной, если у вас остались вопросы, спрашивайте в комментариях!
(2
Источник: https://losst.ru/ustanovka-phpmyadmin-centos-7
Как установить phpmyadmin на CentOS 7
В данном руководстве описывается процесс установки одного из самых популярных приложений для управления базами данных MySQL с открытым исходным кодом – phpmyadmin. Phpmyadmin – это веб-приложение, написанное на PHP, легко использованно для управления базами данных MySQL через Ваш любимый веб-браузер, а не через интерфейс командной строки MySQL.
В phpmyadmin позволяет пользователям создавать, изменять, переименовывать и удалять базы данных, таблицы или поля, выполнять команды SQL через браузер, импорт и экспорт таблиц в различные форматы, создавать пользователей и изменять их права, и многое другое..
Мы собираемся установить phpmyadmin на CentOS 7 VPS-сервер с Apache, mariadb и РНР
Phpmyadmin имеет длинный список полезных функций, таких как:
- Интуитивно понятный и простой в использовании веб-интерфейс
- Поддержка почти всех операций в MySQL
- Импорт данных из CSV и SQL
- Экспорт данных в различные форматы, такие как CSV, SQL, XML, PDF, ISO/IEC 26300 – формате opendocument text и таблицы, Word, Latex и др.
- Легко администрировать несколько серверов MySQL из одной установки в phpmyadmin
- Создание графической базы данных верстка в различных форматах
- Создание сложных запросов с помощью запросов по образцу (qbe)
- Глобальный поиск в базе данных или подмножество его
- Преобразование сохраненных данных в любом формате с помощью набора стандартных функций, как отображение blob-данных в виде изображения или скачать-ссылка
- И многое другое…
Требования
Для того, чтобы запустить phpmyadmin на VPS сервере под управлением CentOS 7 необходимы следующие требования к предустановленной
- Веб-сервер: Apache, nginx или IIS и
- PHP версии 5.3.0 или выше, с поддержкой сессии, Стандартная Библиотека PHP (SPL), поддержка json, и mbstring, zip и расширение gd2.
- Сервера базы данных MySQL или mariadb версии 5.5 или новее
- В CentOS 7 VPS с root доступом
Логин через SSH
Зайти для управлением CentOS 7 VPS через SSH как пользователь root
ssh roo@IP_Address -p Port_number
Обновить все пакеты
После того как вы вошли на сервер выполните следующую команду, чтобы убедиться, что все установленные пакеты находятся в актуальном состоянии
yum -y update
Установите стек Lamp
Как отмечено в разделе “Системные требования”, требуется стек Lamp (Apache и СУБД MySQL/mariadb и на PHP), чтобы запустить phpmyadmin. Мы начнем с установки веб-сервера Apache
yum -y install httpd
После завершения установки, запустить веб-сервер и включить его, чтобы начать после загрузки сервера
systemctl enable httpd
Далее, установка PHP вместе с необходимыми расширениями PHP
yum -y install php php-common php-mbstring php-gd
И, наконец, завершить установку LAMP при установке сервера баз данных mariadb
yum -y mariadb mariadb-server
Запустить службу и установить его для запуска при перезагрузке
systemctl start mariadb
systemctl enable mariadb
Запустить ‘mysql_secure_installation’ после установки скрипта mariadb для укрепления безопасности сервера базы данных и установки пароля root. Вы можете использовать следующие варианты:
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Установка phpmyadmin
phpmyadmin – не доступно в официальном репозитории в CentOS 7, поэтому нам придется включить репозиторий EPEL, выполнив следующую команду
yum -y install epel-release
После того, как репозиторий EPEL включен, мы можем приступить к установке phpmyadmin
yum -y install phpmyadmin
Менеджер пакетов установит phpmyadmin и все необходимые зависимости и установка phpmyadmin будет завершена. Теперь вы можете открыть приложение и начать работу над вашими базами данных набрав в адресной строке http://IP_Address/phpmyadmin.
По умолчанию phpmyadmin будет доступен только с localhost. Если вы хотите, чтобы он был доступен отовсюду или определенный IP-адрес, откройте включен конфигурационный файл Apache и добавьте/отредактируйте следующие строки соответственно:
nano /etc/httpd/conf.d/phpMyAdmin.conf # Apache 2.4 Require ip IP_Address Require ip 127.0.0.1 Require ip ::1 # Apache 2.2 Order Deny,Allow Deny from All Allow from IP_Address Allow from 127.0.0.1 Allow from ::1
Где ip_address – это реальный IP-адрес.
Сохраните изменения и перезапустите веб-сервер Apache, чтобы изменения вступили в силу.
systemctl restart httpd
Для получения дополнительной информации о том, как настроить и использовать phpmyadmin почитайте официальную документацию: https://www.phpmyadmin.net/docs/
Источник: https://andreyex.ru/centos-7/kak-ustanovit-phpmyadmin-na-centos-7/
Установка Apache, MySQL, PHP, phpMyAdmin на Centos 7
Для решения различных задач на сервер необходимо установить набор программ, в народе именуемый LAMP (Linux Apache MySQL PHP). Это может понадобиться не только для web-сервера, но и для серверов предназначаемых для других задач, т.к. почти все программные продукты имеют web-интерфейс для управления ими.
Срдержание:
- Установка Apache
- Установка MySql
- Установка PHP
- Установка php MyAdmin
Итак, после успешной установки и настройки Centos 7, можно приступать к установке LAMP.
Установка Apache
После установки добавляем сервер Apache в автозапуск:
Если у Вас настроен firewall, добавьте настройку, которая разрешает подключения на порт 80 (http) и порт 443 (https):
firewall-cmd –permanent –zone=public –add-service=httpfirewall-cmd –permanent –zone=public –add-service=https |
Затем, откройте в браузере http://192.168.100.1 (где 192.168.100.1 — ip-адрес вашего сервера), на экране должна отобразиться тестовая страница web-сервера Apache:
По умолчанию в web-сервере Apache корневая директория для каталогов с файлами сайтов расположена в:
Конфигурационный файл с настройками web-сервера Apache находится в файле:
/etc/httpd/conf/httpd.conf |
Дополнительные конфигурационные файлы находятся в директории:
Установка MySQL
В Centos 7 в качестве системы управления базами данных (СУБД), вместо MySQL, используется свободная версия СУБД — MariaDB.
MariaDB и MySQL совместимы друг с другом в плане API и использования командной строки.
Приступим к установке:
yum -y install mariadb-server mariadb |
Запускаем:
Добавляем в автозагрузку:
Теперь необходимо запустить простой скрипт, который переконфигурирует базу данных сервера в целях улучшения безопасности. Например, он заменит пустой пароль рута (root), удалит анонимного пользователя, отключит удалённую авторизацию рута и удалит дефолтную тестовую базу данных.
mysql_secure_installation |
Установка PHP
Устанавливаем PHP и поддержку БД:
yum -y install php php-mysql |
Мы установили минимальный набор модулей для работы php с MySQL, возможно вам понадобиться установить дополнительные модули.
Перезапускаем web-сервер:
Для проверки работы PHP в корневой директории web-сервера Apache /var/www/html можно создать файл info.php который будет содержать функцию phpinfo():
echo “” > /var/www/html/info.php |
После чего, в браузере можно открыть страницу http://192.168.100.1/info.php
На этой странице отображается информация о настройках web-сервера и PHP.
Установит phpMyAdmin
Для удобного управления БД установим phpMyAdmin.
Для установки нужно выполнить инициализиацию репозитория EPEL так как в официальном репозитории CentOS 7 phpMyAdmin отсуствует.
yum -y install epel-release |
Теперь установим сам phpMyAdmin:
yum -y install phpmyadmin |
Теперь немного подправим файл конфигурации:
vi /etc/httpd/conf.d/phpMyAdmin.conf |
По умолчанию этот конфиг запрещает доступ к web-интерфейсу phpMyAdmin кроме как с локального сервера. Поэтому, если вы работаете удаленно, Вам необходимо разрешить доступ с вашего IP-адреса.
Изменим все строки содержащие «Require ip 127.0.0.1″ или «Allow from 127.0.0.1″ на свой IP-адрес или же разрешим доступ с любого IP-адреса, прописав «Require all granted». Однако если данный сервер будет доступен из Интернета, в целях безопасности, лучше ограничится IP-адресом вашего рабочего компьютера.
Теперь перезапустим Apache:
Попасть на web-интерфейс phpMyAdmin можно по адресу:
http://ip_адрес_вашего_сервера/phpMyAdmin |
Чтобы войти используйте логин и пароль существующего пользователя БД.
Вот вроде бы и все. Дальше уже следует настройка под конкретные цели. Всем удачи!
Источник: https://itstuff.info/linux_unix/install-apache-mysql-php-phpmyadmin-on-centos-7/
Установка и настройка PHPMyAdmin на Centos 7.3
Управление базами данных и СУБД используя стандартные инструменты, является достаточно неудобным занятием, поэтому администраторами СУБД и разработчиками используются сторонние средства администрирования и разработки, например использующие web-интерфейс.
Phpmyadmin – это веб-интерфейс для администрирования MySQL, написанный на PHP. Поэтому предварительно желательно настроить LAMP-стек. (Linux, Apache (в случае Centos он называется Httpd),MySQL (опять же в Centos это MariaDB), PHP). Для этого можно воспользоваться соответствующей инструкцией.
Для установки PhpMyAdmin на системах, использующих пакетный менеджер yum достаточно выполнить следующие действия:
Обновляем базу пакетов yum используя команду yum makecache
yum makecache Loaded plugins: fastestmirror base | 3.6 kB 00:00 epel/x86_64/metalink | 31 kB 00:00 epel | 3.2 kB 00:00 extras | 3.4 kB 00:00 updates | 3.4 kB 00:00 (1/2): epel/x86_64/updateinfo | 931 kB 00:01 (2/2): epel/x86_64/primary | 3.5 MB 00:03 Loading mirror speeds from cached hostfile * base: mirror.reconn.ru * epel: mirror.linux-ia64.org * extras: mirror.corbina.net * updates: mirror.logol.ru epel 12581/12581 Metadata Cache Created
Далее ищем этот пакет в базе данных yum командой
yum list phpmyadmin yum list phpmyadmin Загружены модули: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.reconn.ru * epel: mirror.linux-ia64.org * extras: mirror.corbina.net * updates: mirror.logol.ru Доступные пакеты phpMyAdmin.noarch 4.4.15.10-2.el7 epel [root@centos7x64 ~]#
Устанавливаем этот пакет командой yum install. При этом yum предложит доставить (предварительно поставить) компоненты, наличия которых требует данный пакет (зависимости). Также, если это не установлено ранее поставим Mariadb, HTTPd и PHP.
yum install httpd mariadb-server php phpmyadmin
После установки запускаем Httpd и mariadb командой systemctl.
systemctl status – проверить запущен ли службу
systemctl start – запустить службу
systemctl stop – остановить службу
systemctl enable – добавить службуl в автозагрузку
т.е в нашем случае
systemctl start httpd
systemctl start mariadb
systemctl status httpd
systemctl status mariadb
Также проинициализируем MariaDB С помощью команды
mysql_secure_installation.
После задания паролей система спрашивает запретить ли доступ анонимных пользователей – скажем да, запретить
Password updated successfully! Reloading privilege tables.. … Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n]
Запретить ли пользователю root логиниться удаленно – обычно да, запрещают по соображениям безопасности, так как у этого пользователя неограниченные права на доступ в СУБД.
… Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y
Убрать ли тестовые базы. Скажем, например, нет.
… Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] n
Перезагрузить ли таблицу привилегий – это таблица прав доступа
… skipping. Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n]
По умолчанию к phpmyadmin на Centos разрешено логиниться только с локального сервера (127.0.0.1). Если Нас это не устраивает то нужно поправить конфигурационный файл web-сервера HTTPD (Apache) Для этого сохраните исходный конфигурационный файл Apache.
cp /etc/httpd/conf.d/phpMyAdmin.conf /etc/httpd/conf.d/phpMyAdmin.conf.orig
После этого в этом конфигурационном файле надо заменить строку
Require ip 127.0.0.1
На
Require all granted
И перезапустить сервер.
На этом установка закончена. Работоспособность, если стандартный порт TCP 3306 не закрыт firewall, можно проверить просто набрав в браузере http:///phpmyadmin – должна открыться консоль входа в которую можно зайти пользователем root и паролем заданным на шаге 6. После успешного входа Вы попадете в PhpMyAdmin который выглядит так:
Источник: https://oblako.kz/help/linux/ustanovka-phpmyadmin-na-centos-7
Установка phpMyAdmin на CentOS 7 — X5X.RU
Реляционные базы данных, такие как MySQL и MariaDB, в наше время необходимы для практически любого веб-сайта или приложения. Однако, далеко не всем пользователям удобно управлять ими через командную строку сервера.
Для решения этой проблемы существует множество различный веб-интерфейсов для управления базами данных, один из них – phpMyAdmin.
В этой статье мы разберём установку и настройку phpMyAdmin на сервере с операционной системой CentOS 7. Установка будет производиться с использованием наиболее популярного сейчас веб-сервера Apache.
Подготовка
Перед тем как начать установку, необходимо убедиться в том, что на Вашем сервере уже установлен Apache, PHP и сервер баз данных MySQL или MariaDB.
Установка phpMyAdmin
После того, как Apache, PHP и MySQL установлены мы можем приступить непосредственно к установке phpMyAdmin. К сожалению, phpMyAdmin отсутствует в стандартном репозитории CentOS 7, поэтому придётся установить дополнительный репозиторий.
Нам нужен будет репозиторий EPEL (Extra Packages for Enterprise Linux). Этот репозиторий можно установить простой командой через yum:
yum install epel-release
Теперь мы можем устанавливать phpMyAdmin:
yum install phpmyadmin
После завершения установки нужно будет подредактировать конфигурационный файл Apache, который по умолчанию создаётся при установке phpMyAdmin.
Откройте файл через nano:
nano /etc/httpd/conf.d/phpMyAdmin.conf
Внутри файла Вы увидите несколько блоков конфигурации. Нам нужны те, которые отвечают за настройку доступа к директории с phpMyAdmin.
По умолчанию доступ настроен так, что зайти в phpMyAdmin можно только локального с того же компьютера, где он установлен. Само собой, когда речь идёт о серверах, этот вариант не подходит.
Нам нужно изменить строки, которые начинаются так: Require ip 127.0.0.1 или Allow from 127.0.0.1. Вместо 127.0.0.1 укажите IP-адрес Вашего компьютера, или же удалите эту строку вовсе.
После изменения файла перезапустите Apache:
systemctl restart httpd.service
Далее у Вас должно получиться войти в phpMyAdmin через браузер добавив /phpMyAdmin к URL:
http:///phpMyAdmin
Для входа используйте логин и пароль, который Вы использовали при установке MySQL/MariaDB. Логин root и его пароль вполне подойдёт для начала работы.
Сам интерфейс phpMyAdmin выглядит следующим образом:
Настройка phpMyAdmin для безопасной работы
phpMyAdmin предоставляет широкий доступ к управлению Вашими базами данных. Поэтому, очень важно настроить его для безопасной работы.
В первую очередь рекомендуем заменить адрес для доступа, чтобы злоумышленнику было сложно его подобрать.
Давайте заменим /phpMyAdmin на /abrakadabra.
Для этого открываем для редактирования файл конфигурации Apache:
nano /etc/httpd/conf.d/phpMyAdmin.conf
Далее ищем в нём строки следующего вида:
Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin
Удаляем их (либо комментируем с помощью # перед строкой) и вместо них пишем:
Alias /abrakadabra /usr/share/phpMyAdmin
Далее сохраняем изменения и перезапускаем Apache:
systemctl restart httpd.service
Отлично! Теперь Вы можете зайти в phpMyAdmin через http:///abrakadabra, а вот старый адрес http:///phpMyAdmin работать уже не будет. Это существенно повышает безопасность.
Источник: https://x5x.ru/help.html/vps/ustanovka-phpmyadmin-na-centos-7
Установка LEMP + phpMyAdmin на CentOS 7
LEMP — набор софта, который реализует серверную платформу для хостинга сайтов с динамическим контентом.
Термин является акронимом, за которым скрывается операционная система Linux, веб сервер ENginx (иногда он заменяется сервером Apache — LAMP), база данных MySQL и скриптовый язык PHP.
Сначала для получения последней версии пакета добавим официальный репозиторий:
# vim /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1
Подключив его просто устанавливаем nginx
# yum install nginx
пробуем запустить:
# service nginx start Redirecting to /bin/systemctl start nginx.service
Автозагрузка тоже немного изменилась:
# chkconfig nginx on Note: Forwarding request to 'systemctl enable nginx.service'. ln -s '/usr/lib/systemd/system/nginx.service' '/etc/systemd/system/multi-user.target.wants/nginx.service'
По умолчанию в CentOS 7 открыт только 22 порт для коннекта по ssh. Необходимо разрешить и 80 для веб-сервера
Добавим правило:
# iptables -A IN_public_allow -p tcp -m tcp –dport 80 -m conntrack –ctstate NEW -j ACCEPT
Для того, что бы правила сохранились после перезагрузки необходимо сохранить их
# iptables-save > /etc/sysconfig/iptables
MySQL
Что бы иметь последние версии форка MariaDB добавим официальный репозиторий. Корректное содержание для файла можно сгенерировать на этом ресурсе, выбрав свой дистрибутив и версию
Для CentOS 7 текст такой
# MariaDB 10.3 CentOS repository list – created 2018-10-08 09:21 UTC # http://downloads.mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.3/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
И устанавливаем рекомендуемые пакеты
# yum install MariaDB-server MariaDB-client -y
Мы уже умеем правильно запускать сервисы:
# systemctl start mariadb # mysql_secure_installation Enter current password for root (enter for none): OK, successfully used password, moving on… Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. … Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y … Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y … Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y – Dropping test database… … Success! – Removing privileges on test database… … Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y … Success! Cleaning up… All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
И знаем как правильно добавить сервис в автозагрузку:
# systemctl enable mariadb.service
Установка интерпретатора PHP. Я сразу установлю и phpMyAdmin
# yum -y install epel-release # yum install php-fpm php php-mysql phpMyAdmin
По умолчанию PHP-FPM работает на сетевом порту 9000. Я же для повышения как безопасности так и производительности запускаю его на доменном сокете.
Для этого в файле /etc/php-fpm.d/www.conf необходимо поменять строку listen = 127.0.0.1:9000 на listen = /var/run/php-fpm/php-fpm.sock
или быстрее просто
# sed -i 's/^listen = 127.*/listen = /var/run/php-fpm/php-fpm.sock/' /etc/php-fpm.d/www.conf
Кроме того по умолчанию есть параметр, который необходимо раскоментировать(удалив перед ним «;«) и заменить значение с 1 на 0 из соображений секьюрности в /etc/php.ini
# sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php.ini
Запускаем и проверяем:
# systemctl start php-fpm.service # ps aux | grep php-fpm root 47055 0.0 0.2 220696 8428 ? Ss 12:09 0:00 php-fpm: master process (/etc/php-fpm.conf) apache 47056 0.0 0.1 220696 4056 ? S 12:09 0:00 php-fpm: pool www apache 47057 0.0 0.1 220696 4056 ? S 12:09 0:00 php-fpm: pool www apache 47058 0.0 0.1 220696 4056 ? S 12:09 0:00 php-fpm: pool www apache 47059 0.0 0.1 220696 4056 ? S 12:09 0:00 php-fpm: pool www apache 47060 0.0 0.1 220696 4052 ? S 12:09 0:00 php-fpm: pool www
Работает, добавляем в автозагрузку:
# systemctl enable php-fpm.service
И собственно необходимо подружить вебсервер и менеджер процессов FastCGI. Мой конфиг имеет такой вид:
/etc/nginx/conf.d/default.conf
server { listen 80 default; server_name localhost; root /usr/share/nginx/html; index index.php index.html index.htm; #access_log /var/log/nginx/log/host.access.log main; location / { try_files $uri $uri/ =404; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location /pma/ { auth_basic “O-ops! Password required”; auth_basic_user_file /usr/share/phpMyAdmin/htpasswd; alias /usr/share/phpMyAdmin/; location ~ .php$ { fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_ignore_client_abort off; } } location ~ .php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Мы запаролили phpMyAdmin. Точнее пока что мы только указали, что этот локейшн запаролен. Так же нужно сгенерировать файл с доступами.
# htpasswd -cb /usr/share/phpMyAdmin/htpasswd user P@ssw0rd
Можно перезапустить сервер
# systemctl restart nginx.service
но я обычно проверяю конфиг и просто перечитываю правила:
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful # nginx -s reload
Источник: https://tradenark.com.ua/centos/nginx-mysql-php-fpm-phpmyadmin-on-centos-7/
Как установить phpMyAdmin на CentOS 7
В этом руководстве объясняется процесс установки одного из самых популярных приложений с открытым исходным кодом для управления базами данных MySQL – phpMyAdmin.
phpMyAdmin – это бесплатное приложение с открытым исходным кодом, написанное на PHP, которое используется для простого управления базами данных MySQL через ваш любимый веб-браузер вместо интерфейса командной строки MySQL.
phpMyAdmin позволяет пользователям создавать, изменять, переименовывать и удалять базы данных, таблицы или поля, выполнять команды SQL через браузер, импортировать и экспортировать таблицы в широкий диапазон форматов, создавать пользователей и изменять их привилегии и многое другое. Мы собираемся установить phpMyAdmin на CentOS 7 VPS с Apache, MariaDB и PHP
phpMyAdmin имеет длинный список удобных функций, таких как:
– Интуитивно понятный и простой в использовании веб-интерфейс – Поддержка почти всех операций MySQL – Импорт данных из CSV и SQL – Экспорт данных в различные форматы, такие как: CSV, SQL, XML, PDF, ISO / IEC 26300 – Текст и таблица OpenDocument, Word, LATEX и другие – Простое администрирование нескольких серверов MySQL из одной установки phpMyAdmin – Создание графики вашего макета базы данных в различных форматах – Создание сложных запросов с использованием Query-by-example (QBE) – Поиск по всему миру в базе данных или его подмножестве – Преобразование сохраненных данных в любой формат с использованием набора предопределенных функций, таких как отображение BLOB-данных в виде изображения или ссылки загрузки
И многое другое …
Требования
Для запуска phpMyAdmin на CentOS 7 VPS вам необходимо предусмотреть следующие требования: – Веб-сервер: Apache, Nginx или IIS – PHP-версия 5.3.0 или новее, с поддержкой сеанса, расширение стандартной библиотеки PHP (SPL), поддержка JSON и расширение mbstring, zip и GD2. – Версия сервера баз данных MySQL или MariaDB 5.5 или новее
– CentOS 7 VPS с включенным доступом root
Вход через SSH
Войдите в свой CentOS 7 VPS через ssh как пользователь root
ssh [защищенный электронной почтой] _Address -p Port_number
Обновление всех пакетов
После входа на сервер выполните следующую команду, чтобы убедиться, что все установленные пакеты обновлены
Обновление yum -y
Установить стек LAMP
Как упоминается в разделе требований учебника, для запуска phpMyAdmin нет сервера требуется стек LAMP (Apache, MySQL / MariaDB и PHP). Мы начнем с установки веб-сервера Apache
yum -y установить httpd
По завершении установки запустите веб-сервер и включите его при загрузке сервера
systemctl включить httpd
Затем установите PHP вместе с требуемыми расширениями PHP
yum -y install php php-common php-mbstring php-gd
И, наконец, завершите установку LAMP, установив сервер базы данных MariaDB
yum -y mariadb mariadb-server
Запустите службу и установите ее для перезагрузки
systemctl start mariadb systemctl включить mariadb
Запустите установочный сценарий установки mysql_secure_installation, предоставленный MariaDB, чтобы повысить безопасность сервера базы данных и установить пароль root. Вы можете использовать следующие параметры:
Установить пароль root? [Y / n] Y Удалить анонимных пользователей? [Y / n] Y Запретить вход в систему удаленно? [Y / n] Y Удалить тестовую базу данных и получить к ней доступ? [Y / n] Y Обновить таблицы привилегий сейчас? [Y / n] Y
Установить phpMyAdmin
phpMyAdmin недоступен в официальных репозиториях CentOS 7, поэтому нам нужно включить репозиторий EPEL, выполнив следующую команду
yum -y install epel-release
Когда репозиторий EPEL включен, мы можем продолжить установку phpMyAdmin
yum -y установить phpmyadmin
Менеджер пакетов установит phpMyAdmin и все необходимые зависимости, а установка phpMyAdmin будет завершена. Теперь вы можете получить доступ к приложению и начать работу с вашими базами данных по адресу http: // IP_Address / phpmyadmin.
По умолчанию phpMyAdmin доступен только из localhost. Если вы хотите, чтобы он был доступен везде или определенному IP-адресу, откройте его файл конфигурации Apache и добавьте / отредактируйте следующие строки соответственно:
nano /etc/httpd/conf.d/phpMyAdmin.conf # Apache 2.4 Require ip IP_Address Require ip 127.0.0.1 Require ip ::1 # Apache 2.2 Order Deny,Allow Deny from All Allow from IP_Address Allow from 127.0.0.1 Allow from ::1
Где IP_Address является фактическим IP-адресом.
Сохраните изменения и перезапустите веб-сервер Apache, чтобы изменения вступили в силу.
systemctl restart httpd
Дополнительные сведения о настройке и использовании phpMyAdmin см. В официальной документации по адресу https://www.phpmyadmin.net/docs/.
Оригинал статьи
Источник: https://websetnet.net/ru/how-to-install-phpmyadmin-on-centos-7/
How To Install phpMyAdmin On CentOS 7 With LAMP Support
There are many ways to access and manage databases. There are dedicated database applications that allow you to manipulate databases as well as manage access to them.
Another method is to directly connecting to the database server and running SQL statements using command-line utilities, although this is for highly advanced database administrators or someone who’s really brave. Using terminal consoles to manage databases isn’t recommended for new users or those just starting with managing database servers.
The third and most popular method is to manage database servers using web browsers. This is true especially for MySQL or MariaDB databases. Using web browser to access and manage databases is the fastest and easiest way yet. With phpMyAdmin tool, one can perform almost any database functions from the browser.
This brief tutorial is going to show you how to install phpMyAdmin and use your favorite web browsers to manage MySQL databases in CentOS 7.
Enhance your coding experience with this split keyboard that offers up to 9″ of separation.
If you’re new to managing and running online content management systems that connect to MySQL or MariaDB databases, you should definitely stick to managing your databases using phpMyAdmin.
It will come help you a lot.
phpMyAdmin depends on the LAMP stack. It requires Apache2 or any compatible web servers, MySQL and PHP. This post will show you how to get them all installed and configured for phpMyAdmin.
- Installing MariaDB Database Server.
Since MySQL isn’t being shipped with CentOS 7, you’ll need to install MariaDB database server instead. MariaDB is a drop-in replacement for MySQL server and well compatible with phpMyAdmin.
To install MariaDB database server in CentOS 7, run the commands below.
sudo yum update && sudo yum install mariadb-server mariadb
Next, run the commands below to started MariaDB server
sudo systemctl start mariadb.service
After that, run the commands below to configure the database server with a root password and to secure it.
sudo mysql_secure_installation
When prompted for the root password, leave blank and press Enter. Then choose Y for yes to create a new root password.
Next, choose Yes for the rest of the prompts until you’re done.
- Enter current password for root (enter for none): press Enter
- Set root password? Y
- New password: Type new root password
- Re-enter new password: Confirm the password
- Remove anonymous users? Y
- Disallow root login remotely? Y
- Remove test database and access to it? Y
- Reload privilege tables now? Y
- Installing PHP On CentOS 7
Next, install PHP. phpMyAdmin depends on it. To install it in CentOS 7, run the commands below.
sudo yum install php php-mysql php-gd php-pear
- Installing Apache2 On CentOS 7
Next, run the commands below to install Apache2 on CentOS 7.
sudo yum install httpd
- Installing phpMyAdmin on CentOS 7
Finally, let’s go and install phpMyAdmin. To do that in CentOS 7, you must first enable external repositories since the package isn’t readily available from CentOS default repository.
One repository that contains a lot of open sources packages including phpMyAdmin is the EPEL repository. To install it in CentOS 7, run the commands below.
cd /tmp/ && wget http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-1.noarch.rpm
Then run the commands below to install it.
sudo yum install epel-release-7-1.noarch.rpm
After that, run the commands below to install phpMyAdmin
sudo yum install phpmyadmin
After installing it, open phpMyAdmin default configuration file and make the below changes. Replace all 127.0.0.1 IPs with the IP address of the computer you’ll be connecting from.
Источник: https://www.liberiangeek.net/2014/09/install-phpmyadmin-centos-7-lamp-support/
Как установить LAMP (Linux Apache MySQL PHP) на CentOS 7 ? –
LAMP это акроним от Linux, Apache, MySQL, PHP. В этой инструкции будет описано как установить веб-сервер Apache на CentOS 7 с поддержкой PHP и MySQL
В этой инструкции Мы будем использовать в качестве hostname (имени сервера) server1.example.com c IP адресом 192.168.0.100.
Эти настройки будут отличаться от ваших, поэтому в процессе настройки измените их.
Установка MySQL
в CentOS 7 вместо MySQL используется свободная копия которая называется MariaDB,
Для начала установим сервер MariaDB для этого в командной строке нужно выполнить:
yum -y install mariadb-server mariadb |
После установки добавляем сервер MariaDB в автозапуск:
systemctl start mariadb.service |
systemctl enable mariadb.service |
Установка Apache
Для установки веб-сервера Apache нужно выполнить команду:
После установки добавляем сервер Apache в автозапуск:
systemctl start httpd.service |
systemctl enable httpd.service |
В CentOS 7 используется firewall Firewall-cmd. Добавим настройку которая разрешает подключения на порт 80 (http) и порт 443 (https)
firewall-cmd –permanent –zone=public –add-service=http |
firewall-cmd –permanent –zone=public –add-service=https |
firewall-cmd –reload |
После, откройте в браузере http://192.168.0.100 , и на экране будет отображаться стандартная страница веб-сервера Apache
По умолчанию в веб-сервере Apache корневая директория для сайтов (document root) расположена в директории /var/www/html
Конфигурационный файл (файл с настройками) веб-сервера Apache находится в файле /etc/httpd/conf/httpd.conf
Дополнительные конфигурационные файлы находятся в директории: /etc/httpd/conf.d/
Установка PHP
Для установку PHP необходимо выполнить команду:
После установки нужно выполнить перезагрузку веб-сервера apache:
systemctl restart httpd.service |
Для проверки работы PHP в корневой директории (document root) веб-сервера apache /var/www/html можно создать файл pi.php который будет содержать функцию phpinfo()
(функция phpinfo() отображает много полезной информации о настройках веб-сервера и PHP).
Для это нужно выполнить команду:
echo “” > /var/www/html/pi.php |
После чего в браузере можно открыть страницу:
http://192.168.0.100/pi.php
На этой странице отображается вся необходимая информация о веб-сервере Apache и настройках PHP
Настройка поддержки MySQL в PHP
Для поддержки MariaDB в PHP нужно установить пакет php-mysql. Так же можно установить и некоторые другие пакеты для работы PHP с различными модулями, которые могут понадобится. Для этого выполним команду:
yum -y install php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel |
После заверешения установки необходимы выполнить перезагрузка apache:
systemctl restart httpd.service |
Теперь можно переоткрыть страницу http://192.168.0.100/pi.php и увидеть новую информацию.После заверешения установки необходимы выполнить перезагрузка apache:
Установка phpMyAdmin
phpMyAdmin это программа предоставляющая веб-интерфейс через который можно управлять базами данных MySQL и MariaDB
Для установки нужно выполнить инициализиацию репозитория EPEL так как в официальном репозитории CentOS 7 phpMyAdmin отсуствует.
yum -y install epel-release |
После добавления репозитория есть возможность установить phpMyAdmin:
yum -y install phpmyadmin |
После установки phpMyAdmin будет доступен по адресу: http://192.168.0.100/phpmyadmin/
Источник: http://my.activecloud.com/ru/index.php?/Knowledgebase/Article/View/332/0/kk-ustnovit-lamp-linux-apache-mysql-php-n-centos-7