Как поднять веб-сервер (Apache2+Nginx+Mysql+PHPmyAdmin) на VPS Debian 7. Как удалить phpmyadmin debian


Установка PhpMyAdmin в различных операционных системах

PhpMyAdmin - бесплатный проект для веб-разработчиков, призванный упростить взаимодействие с базами данных MySQL. Инструмент написан на языке PHP и функционирует через любой веб-браузер. Для его нормальной работы нужно, чтобы в системе был установлен веб-сервер, PHP и MySQL. В данной статье речь пойдёт об установке PhpMyAdmin в разных операционных системах - Ubuntu, Centos и Debian.

Перед тем как выполнить установку программы в этой системе, нужно чтобы в ней присутствовала связка LAMP. Первый термин в аббревиатуре означает, что будет использована система семейства Linux.

Apache - один из наиболее востребованных веб-серверов. MySql - компонент для оперирования с базами данных сайта или проекта. Ну и PHP - язык, на котором пишутся веб-сервисы. В данном контексте он означает, что используется транслятор, который будет преобразовывать PHP-код в понятные браузеру инструкции. Далее следует краткое описание процесса установки этого набора. Без него не получится воспользоваться PhpMyAdmin.

Установка LAMP

Все эти компоненты можно установить по отдельности, а можно готовым набором. Для понимания процесса настройки лучше сделать все вручную. Apache в Ubuntu можно установить двумя строчками:

  • sudo apt-get update - эта строка нужна для обновления данных об уже имеющихся в системе приложениях;
  • sudo apt-get install apache2 - непосредственно сама установка.

Так как данные команды нужно выполнять от лица суперпользователя, то перед ними ставится sudo, и потребуется пароль root. Система просканирует доступное место и сообщит о том, сколько займёт новое программное обеспечение. Затем предложит согласиться путем нажатия клавиши Y. Успешная установка сервера проверяется переходом в браузере по адресу localhost. В результате должна быть показана примерно такая страница, как показано на рисунке ниже.

Далее стоит установить и настроить MySQL. Как и для сервера, используется терминал. В нем набирается: sudo apt-get install mysql-server. В процессе система выдаст приглашение на введение пароля для учётной записи root. Стоит отметить, что это не root Ubuntu, а именно MySQL.

Последним шагом будет установка в Ubuntu PHP. Данный модуль придётся инсталлировать в связке с несколькими его дополнениями, для того чтобы он мог правильно и оптимизировано работать с базами и сервером. Выполняется такая команда, состоящая из нескольких имён: sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql. После её ввода установку компонентов LAMP можно считать завершённой. Осталось перезагрузить сервер командой sudo systemctl restart apache2.

Для тестирования работоспособности этого комплекта программного обеспечения нужно создать тестовый файл в каталоге /var/www/html/. В нем можно написать несколько строк на PHP, которые выведут данные о системе или ошибку в случае неудачи:

Теперь по адресу localhost/имя_файла.php должна отобразиться примерно такая страница, как показано на рисунке выше.

PhpMyAdmin: последовательность действий

Установка PhpMyAdmin в Ubuntu выполняется так же, как и остальные приложения - посредством нескольких строк. Сначала пишем такую команду: sudo apt-get install phpmyadmin. В процессе пользователя спросят, какой сервер будет функционировать. В данном случае надо выбрать Apache. Далее последует вопрос о том, будет ли использоваться средство настройки dbconfig-common, на что стоит ответить утвердительно. И самое главное - будет запрошен пароль для базы данных MySQL. Затем понадобится секретный код и для PhpMyAdmin. Остаётся снова перезапустить веб-сервер: sudo systemctl restart apache2. После перехода по адресу localhost/phpmyadmin должна отобразиться страница ввода логина и пароля: После входа можно вручную управлять базами данных, используя удобный интерфейс.

CentOS и PhpMyAdmin

Для установки PhpMyAdmin в CentOS также понадобится набор LAMP. Вся процедура очень похожа на описанную для Ubuntu. Единственное отличие состоит в том, что выполняется она через менеджер Yum и немного по-другому выглядит название самого сервера: sudo yum install httpd.

Запуск происходит так:

  • sudo systemctl start httpd
  • sudo systemctl enable httpd

Если все правильно, то тестовая страница станет доступна по адресу localhost в браузере.

Далее понадобится сервер MySQL. Его реализации немного отличаются для разных дистрибутивов Linux, в частности, для CentOS устанавливается интерпретация MariaDB: sudo yum install mariadb-server.

Запуск аналогичен веб-серверу:

  • sudo systemctl start mariadb
  • sudo systemctl enable mariadb

Но для работы нужно ведь указать пароль для root, поэтому применяется команда: sudo mysql_secure_installation. Указывается новый пароль.

Установка PHP тоже происходит с подключением такого модуля: sudo yum install php php-pear php-gd php-mysql.

Чтобы применить все произведённые изменения в системе, проводят перезагрузку веб-сервера: sudo systemctl restart httpd.

Теперь пришла очередь и самого PhpMyAdmin. Для этого существует команда: sudo yum install phpmyadmin

Так же, как и в Ubuntu, после очередного перезапуска веб-сервера страница с PhpMyAdmin будет открываться по набранной в адресной строке браузера команде: localhost/phpmyadmin. С этого момента можно считать установку PhpMyAdmin в CentOS завершённой.

PhpMyAdmin и Debian

Дистрибутивы Debian и Ubuntu очень схожи между собой. Поэтому неудивительно, что вся инструкция по установке PhpMyAdmin в Debian может быть скопирована с Ubuntu команда в команду. Единственное отличие может быть в том, что текущий пользователь и есть root, поэтому команда sudo будет лишней.

Заключение

В статье были рассмотрены краткие инструкции по простой установке пакета программного обеспечения LAMP и PhpMyAdmin к нему. Конечно, процесс не всегда может проходить гладко, и будут возникать ошибки. Но практически все они сопровождаются своими собственными кодами, по которым можно найти им объяснение и решение. Но в большинстве случаев установка PhpMyAdmin должна происходить без видимых препятствий.

К тому же в Сети для разных дистрибутивов имеется готовый набор комплекта LAMP, который можно установить одной строкой. Естественно, его сборку осуществляют не официальные производители продуктов, поэтому иногда их версии могут слегка устареть. Установка вручную даёт возможность использовать самые свежие версии. А после выполнения всех процедур владелец получит удобный и быстрый компонент для управления своими базами данных.

fb.ru

Устанавливаем и защищаем phpMyAdmin в Debian

В прошлой заметке я подробно разобрал процесс установки базовых компонентов любого хостинга – Apache, MySQL и PHP. Уже сейчас хост готов к работе, но для удобства в нем не хватает несколько полезных инструментов. Одним из таких инструментов по праву считается phpMyAdmin. Он упрощает администрирование сервера БД. Добавление пользователей, создание новых баз, выполнение запросов – эти и многие другие задачи легко и просто решать при помощи phpMyAdmin. Установка phpMyAdmin немногим отличается от того же Apache. Правда если оставить phpMyAdmin без дополнительной защиты, то рано или поздно злоумышленники смогут скомпрометировать весь сервер. О простейшем, но эффективным способе защиты phpMyAdmin пойдет речь в этой заметке.

Установка phpMyAdmin

Для установки phpMyAdmin в терминале выполняем команду:

apt-get install phpmyadmin

Загрузив все необходимые компоненты, запустится мастер настройки phpMyAdmin. В первом вопросе требуется определиться с установленным web-сервером. Доступно два варианта:

Мы выбираем первый вариант, поскольку в предыдущей заметке устанавливали именно Apache. После ответа на вопрос начнется загрузка недостающих компонентов и их установка.

В следующем шаге мастер попросит разрешения на создания новой базы данных для хранения всех настроек phpMyAdmin. Без этого установка phpMyAdmin будет невозможна, поэтому соглашаемся.

Далее нас попросят ввести пароль пользователя root MySQL-сервера. Вводим и нажимаем «enter».

Затем нас попросят придумать пароль для доступа в phpMyAdmin. Придумываем пароль посложней и нажимаем «Enter».

Добавляем phpMyAdmin к конфигурации к Apache

Установка phpMyAdmin завершена. Чтобы протестировать этот инструмент в работе, необходимо добавить phpMyAdmin к конфигурации Apache. Для этого открываем конфигурационный файл Apache:

nano /etc/apache2/apache2.conf

Перемещаемся в его конец и добавляем строчку для подключения phpMyAdmin:

Include /etc/phpmyadmin/apache.conf

Сохраняем внесенные изменения (ctrl + o) и закрываем файл (ctrl + x). Перезапускаем Apache:

service apache2 restart

Проверяем phpMyAdmin

Открывай браузер и переходим по ссылке http://ip_адрес/phpmyadmin . Открытие страницы входа phpMyAdmin – подтверждение успешной установки.

Защищаем phpMyAdmin

Пользоваться phpMyAdmin можно начиать прямо сейчас, но если не обеспечить ему минимальную защиту, то рано или поздно кто-нибудь его взломает. В php приложениях частенько находят ошибки и в большинстве случаев они носят фатальный характер. Чтобы избежать подобных проблем, необходимо изначально продумать организацию дополнительной линии защиты. Проще всего это сделать с помощью установки дополнительной аутентификации на уровне web-сервера.

При обращении к директории, в которой установлен phpMyAdmin, web-сервер будет запрашивать связку логин/пароль. Неправильный ввод данных на этом уровне не позволит злоумышленнику получить доступ к странице ввода учетных данных phpMyAdmin. Пробить такую защиту тоже можно, но сделать это будет намного сложней. Что ж, попробуем обыграть выше сказанный сценарий на практике.

Конфигурируем авторизацию на уровне Apache

Сначала откроем конфигурационный файл phpMyAdmin, который используется с Apache:

sudo nano /etc/phpmyadmin/apache.conf

Находим в файле блок «» и дописываем директиву «AllowOverride All». Отредактированный блок в итоге должен выглядеть так:

<Directory /usr/share/phpmyadmin> Options FollowSymLinks DirectoryIndex index.php AllowOverride All //Остальной текст оставляем как есть

Сохраняем изменения (ctrl + o) и закрываем файл (ctrl + x). При помощи директивы “AllowOverride” мы сообщили Apache, что все директивы могут быть переопределены через внешний файл настроек – «.htaccess».

Подготавливаем .htaccess

Создадим новый конфигурационный файл .htaccess в директории с phpmyadmin:

nano /usr/share/phpmyadmin/.htaccess

Прописываем в этом файле необходимость авторизации на уровне web-сервера:

AuthType Basic AuthName "Restricted Files" AuthUserFile /home/.htpasswd Require valid-user

В конфигурационном файле мне пришлось воспользоваться следующими директивами:

  • AuthType – директива определяет тип идентификации пользователя. В качестве значения я указываю Basic. Насколько мне известно, вариантов кроме Basic до сих пор в Apache не реализовано (поправьте, если ошибаюсь).
  • AuthName – директива используется совместно с предыдущей. В ней мы пишем текст, который будет отображаться в диалоге запроса логина/пароля. Значением директивы может быть абсолютно любой текст.
  • AuthUserFile – значением директивы выступает путь к файлу, содержащий информацию о пользователях и их паролях, которые могут получить доступ к закрытому ресурсу. На данном этапе этого файла нет, мы создадим его чуть позже.
  • Require – директива позволяет определить принцип аутентификации. Она может принимать несколько значений (например, мы можем перечислить пользователей или группы пользователей, которые могут получать доступ к закрытому ресурсу). Значение Valid-user подразумевает, что получить доступ к закрытому ресурсу могут получить все пользователи, доступные в файле AuthUserFile.

Создание htpasswd файла

Необходимые настройки сделаны. Теперь создадим файл, путь к которому мы указывали в директиве AuthUserFile. Для этого вбиваем команду:

sudo htpasswd -c /home/.htpasswd username

Имя пользователя выбираем любое, с системными пользователями оно не переплетается. Утилита htpasswd запросит пароль для нового пользователя. Придумываем пароль и после завершения создания пользователя перезапустим apache:

service apache2 restart

Проверяем авторизацию на уровне web-сервера

Попробуем обратиться к phpMyAdmin. Если все описанные выше манипуляции были проделаны правильно, то страница входа phpMyAdmin сразу будет недоступна. Вместо нее появится окно с запросом имени пользователя и пароля. Вводим данные, которые мы указали утилите htpasswd и только после этого попадаем на страницу входа в phpMyAdmin

Источник

vavik96.com

часть 22. Ставим phpmyadmin и делаем его чуть безопаснее. « Debian.pro

Эта статья — часть Большого Мануала по настройке lamp-сервера на debian.

Предыдущая часть цикла — Учимся делать редиректы в nginx.

Следующая часть цикла — Делаем бэкапы.

Вообще я не любитель использовать PMA (здесь и далее — PhpMyAdmin). Он не умеет ничего такого, чего нельзя было бы сделать в консольном mysql, а местами даже умеет меньше. Но на чужих серверах ставить его всё же приходится. Вообще, прежде чем наживать себе геморрой на задницу, посмотрите на «легкую» альтернативу PMA — https://www.adminer.org/. Он, в буквальном смысле, состоит из одного файла (раньше были стили в отдельных файлах, но сейчас всё вроде в один положили). Хоть и проблемы обеспечения безопасности у вас будут почти те же и всю статью прочитать всё же придется, но с adminer-ом всё же немного попроще. Да и кодовая база меньше, уязвимостей меньше.Перейдем к проблемам безопасности, с которыми нам придется бороться.Во-первых PMA (и adminer, само собой) обязаны работать только по https. Иначе любые данные, передаваемые в браузере (а это и пароли к базе, и её содержимое) у вас смогут перехватить в открытой сети. Ну или провайдер заинтересуется. Или по СОРМ-у нагрепают нужный пароль. Впрочем, с https мы уже справились в прошлых частях, так что тут всё просто. Здесь же важно понимать, что HTTP-протокол туповат и редиректа на https там, куда приходят POST-запросы, недостаточно (данные-то по http будут отправлены).Во-вторых, очень важно понимать, что в PMA находили достаточно уязвимостей, которые можно было эксплуатировать без авторизации в mysql (честно говоря я не помню сколько, но и одной достаточно). Да и сам торчащий голой жопой PMA в ситуации, когда пароль от базы могут достать где-то ещё, вынуждает задуматься о том, что мы катимся не туда. В общем, PMA (и adminer тоже, куда ж без него), обязательно необходимо убирать за дополнительную авторизацию. Я ниже рассмотрю авторизацию по IP и http basic auth.В третьих, PMA — излюбленная цель для CSRF-атак. В чём их суть. Если кто-то проникнет на ваш сервер (сами по ssh пустите или php-шелл зальют), то можно будет обращаться с самого сервера в http://127.0.0.1:8080 (или где у вас там апач). И если настраивать ограничение доступа к PMA на уровне nginx-а — то мы оставляем лазейку для скрипт-киддисов. И если с большинством CMS/CMF эта проблема не очень актуальна, то для PMA (с учетом абзаца выше) такая проблема — весьма критична. Поэтому ограничения мы будем реализовывать на уровне apache (через htaccess-файл) и конфиге самого PMA, дабы человек, добравшийся до возможной CSRF-атаки, не получил доступа к PMA. Теперь об установке. Для дебианщиков есть 2 более или менее «правильных» способа установки PMA. Первый — пойти на сайт phpmyadmin.org, скачать архив и положить в каталог определенного домена на сервере. Такой способ работает только на вашем первом сервере, с которого вы сдуваете пылинки. Как только у вас появляется второй — вы забиваете на обновление установленного таким образом PMA и он обрастает мхом.Мы будем ставить из пакета. Хотя бы периодически вы запускаете apt-get upgrade, тогда и PMA будет обновляться. Ну, поехали. Ставим пакет:

root@server:~# apt-get -qq update; apt-get install phpmyadmin

Когда у вас будут спрашивать, какой у вас веб-сервер, выбирайте стрелочками apache2, нажимайте пробел, и только потом нажимайте tab и enter (а то задавали мне уже вопрос на эту тему, чего PMA не поставился из пакета). Потом у вас спросят что-то в духе «Configure database for phpmyadmin with dbconfig-common?», отвечаем Yes.«Password of the database’s administrative user» — наш пароль от рута в mysql (мы его ещё в .my.cnf сохраняли, дабы не протерялся).«MySQL application password for phpmyadmin» — пароль для базы самого PMA. Вообще он нам больше не понадобится, так что скопируйте туда любые 100 символов из случайного места в интернете. Дважды (потом подтверждение спросят же). На этом в общем-то установка закончена и наш уютненький сервер радостно торчит огромной дыркой в безопасности на весь интернет. Ну а радостные роботы-сканеры эту дырку уже нашли и пытаются в неё чем-нибудь потыкаться. Здесь бы и статью закончить, но зачем я тогда лишних 600 слов писал? Давайте исправлять. Для начала выбираем URL, по которому в будущем будет доступен наш PMA. Да, можно, конечно и оставить /phpmyadmin на всех доменах (как это организовано по умолчанию), но это не наш путь.Допустим, у нас fqdn у сервера host.example.com. Допустим, у нас свободен наружу порт 7443. Допустим, мы сможем запомнить /pma-is-bad в качестве uri. Чудесно, будем селить по урлу https://host.example.com:7443/pma-is-badДля начала заведем конфиг в nginx (напомню, что сертификат мы уже получили, а nginx немного настроили). Заводим файл /etc/nginx/sites-available/phpmyadmin7443.conf (опять же, смысл написанного в этом файле можно посмотреть по ссылкам в предыдущих скобках).

# Молча дропаем все запросы по https в 7443-й порт, если они пришли в "неправильный" домен:server {    listen 7443 ssl default;    ssl_certificate /etc/nginx/ssl/cert.pem;    ssl_certificate_key /etc/nginx/ssl/cert.pem;    ssl_dhparam /etc/nginx/ssl/dhparam.pem;    ssl_prefer_server_ciphers on;    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;    ssl_ciphers kEECDH+AES128:kEECDH:kEDH:-3DES:kRSA+AES128:kEDH+3DES:DES-CBC3-SHA:!RC4:!aNULL:!eNULL:!MD5:!EXPORT:!LOW:!SEED:!CAMELLIA:!IDEA:!PSK:!SRP:!SSLv2;    ssl_session_cache shared:SSL:64m;    ssl_session_timeout 28h;    location / { return 444; }}

# Здесь и далее - server{} для домена, на котором будет работать PMA. server {    listen 7443 ssl;    server_name host.example.com;    ssl_certificate /etc/nginx/ssl/cert.pem;    ssl_certificate_key /etc/nginx/ssl/cert.pem;    ssl_dhparam /etc/nginx/ssl/dhparam.pem;    ssl_prefer_server_ciphers on;    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;    ssl_ciphers kEECDH+AES128:kEECDH:kEDH:-3DES:kRSA+AES128:kEDH+3DES:DES-CBC3-SHA:!RC4:!aNULL:!eNULL:!MD5:!EXPORT:!LOW:!SEED:!CAMELLIA:!IDEA:!PSK:!SRP:!SSLv2;    ssl_session_cache shared:SSL:64m;    ssl_session_timeout 28h;# location для самого PMA, проксируем запросы к нему в apache:    location /pma-is-bad {        proxy_pass http://127.0.0.1:81;        proxy_redirect http://127.0.0.1:81/ /;        proxy_set_header Host $host;        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        proxy_set_header X-Real-IP $remote_addr;        proxy_set_header X-Forwarded-Proto $scheme;    }    # запросы к файлам .htaccess/.htpasswd на всякий случай фильтруем и здесь тоже.    location ~ /\.ht {        return 404;    }# остальные запросы тоже молча дропаем:    location / { return 444; }}

Не забываем сделать симлинку в sites-enabled и рестартнуть nginx:

root@server:~# ln -s /etc/nginx/sites-available/phpmyadmin7443.conf /etc/nginx/sites-enabled/phpmyadmin7443.conf; nginx -t && /etc/init.d/nginx restart

Следующий конфиг, который нам интересен, это /etc/apache2/conf-enabled/phpmyadmin.confИщем в нём строку:

Alias /phpmyadmin /usr/share/phpmyadmin

И меняем на (опять же, /pma-is-bad меняйте на то, что сами придумали):

Alias /pma-is-bad /usr/share/phpmyadmin

Так же где-то в блоке «<Directory /usr/share/phpmyadmin>» (можно следующей строкой, например) добавляем такую строчку:

AllowOverride All

Эта строчка разрешает использовать файлы htaccess в /usr/share/phpmyadmin (дада, all не очень безопасно, только вот писать в /usr/share/phpmyadmin может только рут).Рестартим апач:

root@server:~# apachectl restart

Теперь пора положить .htaccess файл в /usr/share/phpmyadmin/.htaccess

# Подключаем http-auth авторизацию AuthType Basic AuthName "PMA" AuthUserFile /usr/share/phpmyadmin/.htpasswd Require valid-user

Заводим пользователя для basic-авторизации (команда htpasswd запросит пароль для пользователя):

root@server:~# htpasswd -nB username >> /usr/share/phpmyadmin/.htpasswd

Собственно, команда htpasswd -n генерирует строчку из username и хэша его пароля. -B — указывает, что для генерации хэша нужно использовать bcrypt-функции (судя по ману, сейчас это самый безопасный вариант в плане перебора пароля по хэшу). При помощи >> мы записываем сгенерированную строку в нужный нам файл (указанный в .htaccess).Чтобы удалить пользователя — просто удаляем его строку из .htpasswd, чтобы сменить пароль — удаляем строку, а потом генерируем новую. Кстати, сменить username, не меняя пароля, можно тупо поменяв его в файлике. Сама строчка выглядит для username с паролем 123 примерно вот так:

username:$2y$05$m/jEXSvgh84huqR2bsFHN.Vvkw4pLcYYB/ZHdPDr/mQ/NZ4dnFEAe

Если есть возможность (статический адрес или хотя бы подсеть у админов, которым нужен доступ в PMA) — очень хорошо будет ограничить доступ к PMA по IP-адресам. Например, так (всё в том же /usr/share/phpmyadmin/.htaccess):

 order deny,allow deny from all # можно указывать подсети allow from 192.168.0.0/24 # или отдельные адреса allow from 10.0.0.23

В любом случае, неплохим решением будет запретить доступ с локалхоста в PMA:

 deny from 127.0.0.1

Ну и ещё, если вы не заморачивались с запретом location /pma-is-bad на каждом сайте, есть смысл сделать редирект для тех, кто попадёт в PMA по какой-то «левой ссылке» (через другой домен, например):

RewriteEngine OnRewriteCond %{HTTP_HOST} !^host\.example\.com$ [NC,OR]RewriteCond %{REQUEST_URI} !^/pma-is-bad [NC]RewriteRule (.*) https://host.example.com:7443/pma-is-bad [R=301,L]

Само собой, примеры htaccess-а выше можно комбинировать друг с другом в одном файле. Ну и если кто забыл — то рестартить апацхе после изменений в .htaccess-файлах не нужно.

debian.pro

phpMyAdmin установка Ubuntu Debian [АйТи бубен]

phpMyAdmin - это приложение написанное на PHP и обеспечивающее полноценную, в том числе удаленную, работу с базами данных MySQL через браузер.

phpMyAdmin не предоставляет собственных методов обеспечения безопасности MySQL- сервера. Предоставление привилегий в базе данных MySQL - прерогатива системного администратора.

Ubuntu

Инсталляция phpMyAdmin в Ubuntu:

aptitude install phpmyadmin

Безопасность phpMyAdmin:

  • Для увеличения безопасности доступа к phpmyadmin можно разрешить доступ с определенных IP, отредактировав файл /etc/apache2/conf-enabled/phpmyadmin.confAlias /phpmyadmin /usr/share/phpmyadmin <Directory /usr/share/phpmyadmin> Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 Allow from xxx.xxx.xxx.xx ...
  • Можно удалить phpmyadmin.conf в conf-enabled и подгружать его только для определенного виртуального хоста, при помощи директивы IncludeOptional или Include в зависимости от версии Apache<VirtualHost _default_:443>   Include /etc/phpmyadmin/apache.conf # IncludeOptional conf-available/phpmyadmin.conf </VirtualHost>

CentOS + HTTP- авторизация

Инсталляция phpMyAdmin в CentOS.

  • Добавляем репозиторий RPMForge
  • Установка# yum install phpmyadmin
  • Теперь надо провести несколько настроек. В файле /etc/httpd/conf.d/phpmyadmin.conf прописать с какого ip адреса разрешить подключение (по умолчанию прописан 127.0.0.1). Прописываем через пробел необходимый адрес.

  • В файле /usr/share/phpmyadmin/config.inc.php найдем строку:$cfg['Servers'][$i]['auth_type'] = ‘cookies‘;

    и приведем ее к виду

    $cfg['Servers'][$i]['auth_type'] = ‘http‘;
  • Перезагрузим веб-сервер:# service httpd restart

phpMyAdmin за Nginx

location ~ ^/phpmyadmin/ { proxy_pass http://127.0.0.1:8080; }
  1. Распакуйте дистрибутив в корневую директорию вашего веб-сервера (убедитесь, что поддиректории распакованы тоже): tar -xzvf phpMyAdmin_x.x.x.tar.gz.

  2. Убедитесь, что все скрипты имеют соответствующего владельца.

  3. Теперь Вы должны создать конфигурационный файл (config.inc.php). Создание конфигурационного файла - необходимое условие прежде всего для запуска phpMyAdmin, а также необходимо для задания некоторых возможностей. Эта задача может быть выполнена двумя разными способами. Традиционно, пользователи могут вручную отредактировать копию файла config.inc.php. Кроме этого, пользователи, предпочитающие графическую инсталляцию, могут воспользоваться мастером установки (скриптом инсталляции).

  • Для того, чтобы вручную создать конфигурационный файл, достаточно простейшего текстового редактора, с помощью которого нужно создать файл config.inc.php. Для упрощения задачи, Вы можете скопировать в текстовый редактор содержимое файла config.sample.inc.php - образца рабочей конфигурации, содержащей минимальное количество конфигурационных переменных. Созданный файл необходимо поместить в главную директорию phpMyAdmin (ту, которая содержит index.php). phpMyAdmin сперва загружает libraries/config.default.php, а затем подменяет значения прописанных в нем переменных теми, что находит в config.inc.php. Если значение по умолчанию (тех переменных, что определены в libraries/config.default.php) Вас устраивает, тогда нет необходимости включать его в config.inc.php. Для запуска phpMyAdmin вам понадобятся как минимум несколько директив, простейшая конфигурация может выглядеть так:

<?php $cfg['blowfish_secret'] = 'ba17c1ec07d65003'; // use here a value of your choice $i=0; $i++; $cfg['Servers'][$i]['auth_type'] = 'cookie'; ?>

Или, если вы не хотите вводить каждый раз логин/пароль (данная конфигурация не рекомендуется из соображений безопасности), конфигурационный файл может выглядеть так:

<?php $i=0; $i++; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = 'cbb74bc'; // use here your password ?>

Для более полного ознакомления с функциями и описаниями значений всех конфигурационных переменных читайте раздел документации "Конфигурирование".

Для использования многих опций (закладок, комментариев, SQL-истории, PDF-схем, преобразования содержимого полей, и т.д.) необходимо создать набор специальных таблиц. Эти таблицы могут находиться как в Вашей базе данных, так и в центральной базе при многопользовательской системе (в этом случае данная БД может быть доступна только для пользователя controluser, соответственно, другие пользователи не имеют прав на неё).

В файл config.inc.php нужно добавить и раскомментировать строки (копируем их из файла config.sample.inc.php)

/* Advanced phpMyAdmin features */ $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark'; $cfg['Servers'][$i]['relation'] = 'pma_relation'; $cfg['Servers'][$i]['table_info'] = 'pma_table_info'; $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords'; $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages'; $cfg['Servers'][$i]['column_info'] = 'pma_column_info'; $cfg['Servers'][$i]['history'] = 'pma_history'; $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords'; /* Contrib / Swekey authentication */ // $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf'; /* * End of servers configuration */ /* * Directories for saving/loading files from server */ $cfg['UploadDir'] = ''; $cfg['SaveDir'] = '';

Создаем таблицы phpMyAdmin, для этого импортируем файл create_tables.sql

> mysql -u root -p < /usr/local/www/phpMyAdmin/scripts/create_tables.sql
  • PmaAbsoluteUri позволяет в настройках (config.inc.php) phpmyadmin явно указать URL сайта на котором он работает, в противном случае phpmyadmin определяет его автоматически. Эта возможность может понадобиться например если Apache работает на нестандартном порту (пусть 81 порт), а front-end к нему стоит nginx.$cfg['PmaAbsoluteUri'] = 'https://ssl.example.org/pma.example.org/';

phpMyAdmin после установки доступен по 80 порту протокола HTTP. Для безопасности нужно разрешать доступ к phpMyAdmin только по HTTPS (443 порт). Этого можно добиться несколькими способами. Ниже один из них.

  1. Предварительно в Apache должны быть включены модули mod_rewrite и mod_ssl. Включен на порту 443 виртуальный хост по умолчанию.a2enmod rewrite ssl
  2. В конфигурационный файл phpmyadmin.conf добавить директиву# nano /etc/apache2/conf.d/phpmyadmin.conf # phpMyAdmin default Apache configuration Alias /phpmyadmin /usr/share/phpmyadmin <Directory /usr/share/phpmyadmin> Options FollowSymLinks DirectoryIndex index.php AllowOverride All <IfModule mod_php5.c> ...
  3. Создать файл .htaccess с содержимым с настройками для mod_rewrite# nano /usr/share/phpmyadmin/.htaccess RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
  4. Перезапускам Apache. Все. Теперь при обращении к 80 порту автоматически переадресуется(redirect) на 443 защищенного соединения.

Для устранения это ошибки, кроме изменения параметров в php.ini, может понадобиться установить правильные права на каталог phpmyadmin/tmp

chmod 777 /var/lib/phpmyadmin/tmp

phpMyAdmin в Ubuntu 16.04.5 LTS Xenial стал выводить много ошибок Deprecation Notice, как показано на скриншoте. Это не позволяет работать с phpMyAdmin вообще. Для решения этой проблемы я устанавливаю PPA for phpmyadmin

sudo add-apt-repository ppa:nijel/phpmyadmin sudo apt update sudo apt install phpmyadmin

Источник: stackoverflow.com

загрузка...

phpmyadmin.txt · Последние изменения: 2018/11/11 07:29 — darkfire

wiki.dieg.info

Как поднять веб-сервер (Apache2+Nginx+Mysql+PHPmyAdmin) на VPS Debian 7

Никогда бы не подумал, что буду в таком замешательстве сидя за компьютером, как в последние дни. А все потому, что я решил что обычный хостинг данному сайту уже не подходит, сайт вырос и вырос сильно. Поэтому после долгих раздумий было решено переходить на VPS/VDS сервер. Что, собственно, на момент написания этой статьи выполнено, выбрал я сервер от компании Infobox (соотношение цена/функционал меня вполне устроило). Но честно скажу, это было не легко, я еще до этого ни разу не работал в unix системах, тем более через консольные терминалы. А так как этот сайт изначально создавался именно как база моих знаний, на случай если вдруг что-нибудь забуду. То и процесс настройки сервера я задокументирую, тем более операций произведено много, мануалов прочитано еще больше:) Чтож, если вы читаете эту инструкцию, я надеюсь что вам она поможет. В теории эта инструкция может подойти и на Ubuntu сервера, но я при выборе VPS остановился на Debian 7, а в чем разница между ними я не особо в курсе.

1) Итак, первое к чему нужно привыкнуть — это работа через терминал и протокол SSH (через него же можно скидывать файлы, к примеру через FileZila), для Windows качаем Putty. Запускаем, вбиваем IP-адрес вашего сервера, предоставленный вашим хостером в панели управления сервером. Порт обычно 22. Жмем open для подключения.

Откроется черное окно с фразой Login as, здесь нужно ввести логин администратора под которым вы будете работать, обычно это root, вводим нажимаем Enter  и видим запрос пароля (логин и пароль от вашего сервера можно найти в панели управления сервером), при написании пароля символы и даже звездочки не отображаются, все на ощупь. Так же пароль можно скопировать и вставить в окно терминала одинарным нажатием правой клавишей мыши. (Ctrl+V и «Правой клавишей мыши — вставить» здесь на работают, запоминайте, просто один раз правой клавишей). После ввода пароля так же жмем Enter и сервер радостно нас поприветствует.

2) Второй момент, который стоит запомнить, в Debian все приложения устанавливаются через команду apt-get, приложения по-умолчанию берутся из интернет-репозиториев. К этому легко привыкаешь и потом с сожалением вспоминаешь при работе в Windows. Итак, первое что мы делаем обновляем базы репозитариев и делаем обновление всего ПО, установленного в систему.  Поэтому сперва вбиваем команду apt-get update , а после завершения обновления пишем apt-get upgrade .

3) Теперь установим пару утилит, которые нам могут пригодится в процессе настройки сервера. Первая этот текстовый редактор nano вбиваем apt-get install nano , а вторым будет файловый менеджер Midnight Commaner пишем apt-get install mc , после ввода команды, скорее  всего нужно будет подтвердить установку вбив букву Y и нажав Enter.

4) Все подготовительный этап закончен, начинаем установку сервера. Вводим следующую команду:

apt-get install php5-fpm nginx mysql-server php5-mysql  php5-curl apache2

Жмем Enter. И подтверждаем установку буквой Y.

5) В процессе установки высветится синие окно настройки MySQL и первые вопрос об установки пароля для доступа к базам, вводим пароль, который вы будете для этого использовать.

Повторяем его же. Ждем завершения установки пакетов.

6) После завершения установки нужно создать первую, тестовую базу данных, для тестового же сайта. Поэтому пишем следующую команду: mysql -u root -p И вводим пароль, созданный на прошлом этапе.

Пишем команду на создание базы данных с именем blog (это бд, для тестового сайта, в будущем, когда вы будете переносить свой сайт, вы сможете работать с базами через панель phpmyadmin), команда выглядит следующим образом:

create database blog;

Точка с запятой в конце обязательны!

  Выходим из меню mysql командой exit

7) Теперь займемся конфигами php машин. Для начала запретим apache2 слушать 80 порт, иначе не запустится nginx, а нам нужен именно он.Вбиваем команду:

nano /etc/apache2/ports.conf

Если у вас открылся пустой экран, значит на вашем сервере не установлен даже Apache, закрываем окно клавишами Ctrl+X и переходим к следующему пункту, если же у вас конфиг открылся, то меняем параметры NameVirtualHost и Listen на 81. И тоже жмем CTRL+X, вводим Y  и два раза жмем Enter не внося изменений в название файла.

8) Теперь настраиваем шаблон сайта сервера nginx, открываем его в текстовом редакторе:

nano /etc/nginx/sites-available/default

И здесь приводим все выделенные места как на скриншоте. После изменения сохраняем изменения через Ctrl+X , Y, Enter.

 

Теперь чуть-чуть объясняю, так как мы планируем размещать несколько сайтов на своем VPS, то сразу же перенесем этот тестовый сайт в папку default. То есть он будет открывать просто по IP адресу, для того чтобы добавить сайт с определенным доменом нужно создать файл, подобный этому, только со следующими изменениями:

1) Называем файл нормальным именем вместо default, к примеру skesov.ru

2) Копируем в него содержимое данного конфига

3) В строке root меняем путь на путь до папке, в которой будет хранится сайт /usr/share/nginx/www/skesov.ru (как правильно создавать папки для сайта мы рассмотрим ниже)

4) В строке server_name необходимо заменить localhost на ваш домен (skesov.ru)

Теперь сразу же создаем символьную ссылку с этого файла в соседний каталог командой (для файлов к вашим сайтам символьные ссылки тоже нужно создавать):

ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default

Должно получиться примерно вот так, слева файлы, справа символьные ссылки на них. Чтобы открыть Midnight Commander введите mc в терминале, чтобы закрыть Alt+0.

8) Теперь перезапускаем все, в чем вносили изменения и запускаем установленное. Для этого вводим следующие команды по очереди:

service apache2 restart

service nginx start

service mysql restart

9) Так, сейчас мы создадим каталог для нашего сайта и установим собственно сайт в него. По такому же принципу необходимо создавать папки для ваших сайтов. Делаем дальше в том порядке, как указано.

Переходим в папку www:

cd /usr/share/nginx/www

Создаем каталог default (имя должно быть такое же как в файле, который находится в sites-available):

mkdir default

Переходим в нее:

cd default/

Скачиваем последнюю версию WordPress:

wget http://ru.wordpress.org/latest-ru_RU.zip

Распаковываем архив:

unzip latest-ru_RU.zip

Удаляем архив, он нам больше не нужен:

rm latest-ru_RU.zip

Перемещаем все файлы из папки wordpress в папку default (точка обязательна):

mv wordpress/* .

Удаляем папку wordpress: rmdir wordpress/

Возвращаемся на папку назад: cd ..

И меняем владельца папки default на www-data(такие же данные нужно назначать всем папкам, которые вы создадите для ваших сайтов):

chown www-data.www-data -R default/

Все, теперь перейдя введя IP-адрес сервера, мы должны попасть на страницу первичных настроек WordPress это говорит о том, что сервер настроен правильно и пройдя первичную настройку мы получим полностью работоспособный сайт.

10) Осталось установить PhpMyAdmin для удобства работы с базами данным MySQL. Вводим команду для установки пакета:

apt-get install phpmyadmin

И подтверждаем установкой введя букву Y. После установки откроется страница настройки панели, выбираем то, что у вас стояло по умолчанию.

На следующей странице я ответил утвердительно и меня за это не поругали, так что думаю жмем «Да».

Вводим пароль, которые мы задали при установке MySQL.

И пароль для входа в phpmyadmin.

Теперь осталось создать символьную ссылку для доступа к phpmyadmin по ссылке формата домен.ru/phpmyadmin:

ln -s /usr/share/phpmyadmin/ /usr/share/nginx/www/default

Default меняем на папку с вашим сайтом. Ну и для завершения настройки читаем статью о снятии ограничения на загрузки файлов размером более 2мб.

Надеюсь что вы нигде не запутались и все получилось.

На этом всё. Надеюсь эта статья оказалась вам полезной, нажмите одну из кнопок ниже, чтобы рассказать о ней друзьям. Также подпишитесь на обновления сайта, введя свой e-mail в поле справа или подписавшись на группу в Вконтакте.

Спасибо за внимание 

Материал сайта Skesov.ru

Оцените статью:

(1 голос, среднее: 5 из 5)

Поделитесь с друзьями!

skesov.ru