Я играю с установкой новой среды на моем сервере, веб-сервер Nginx в сочетании с HHVM.
Я установил оба, затем пришел в MariaDB и установил его. Я могу подтвердить работу сервера, нажав IP-адрес: Добро пожаловать в nginx!
Затем мне нужно было установить веб-клиент для управления базами данных. Я знаю, что phpMyAdmin очень хорошо работает с Apache и Litespeed, но, поскольку я следил за многими статьями об установке phpMyAdmin рядом с Nginx, шаги были почти такими же.
Но проблема в том, чтобы apt-get install phpmyadmin
установит Apache тоже:
The following extra packages will be installed:
apache2 apache2-bin apache2-data dbconfig-common libapache2-mod-php5 libapr1
libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libjs-codemirror
libjs-jquery libjs-jquery-cookie libjs-jquery-event-drag
libjs-jquery-metadata libjs-jquery-mousewheel libjs-jquery-tablesorter
libjs-jquery-ui libjs-underscore php-gettext php5 php5-common php5-json
php5-mcrypt php5-mysql
Подтвердив установку, он установит и включит модули Apache:
[...]
Enabling module mpm_event.
Enabling module authz_core.
Enabling module authz_host.
Enabling module authn_core.
Enabling module auth_basic.
Enabling module access_compat.
Enabling module authn_file.
Enabling module authz_user.
Enabling module alias.
Enabling module dir.
Enabling module autoindex.
Enabling module env.
Enabling module mime.
Enabling module negotiation.
Enabling module setenvif.
Enabling module filter.
Enabling module deflate.
Enabling module status.
[...]
, а затем выдаст ошибку, из-за которой Apache не смог запустить:
* Starting web server apache2 AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using vultr.guest. Set the 'ServerName' directive globally to suppress this message
(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
no listening sockets available, shutting down
AH00015: Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
*
* The apache2 instance did not start within 20 seconds. Please read the log files to discover problems
invoke-rc.d: initscript apache2, action "start" failed.
Setting up dbconfig-common (1.8.47+nmu1) ...
Я перехожу с Apache на Nginx, что означает, что я не больше не хочу Apache! Это поведение по умолчанию для phpMyAdmin? В любом случае запускать phpMyAdmin с последними версиями Nginx и HHVM?
Причиной такого поведения являются зависимости phpmyadmin
(по крайней мере, в Debian
), и я думаю, что они довольно похожи в Ubuntu
):
# apt-cache show phpmyadmin | grep Depends:
libapache2-mod-php5 | libapache2-mod-php5filter | php5-cgi | php5-fpm | php5, php5-mysql | php5-mysqli | php5-mysqlnd, php5-mcrypt, php5-json, perl, debconf (>= 0.5) | debconf-2.0, libjs-sphinxdoc (>= 1.0), dbconfig-common, php-gettext, ucf (>= 0.28)
# apt-cache show libapache2-mod-php5 | grep Depends:
libbz2-1.0, libc6 (>= 2.15), libcomerr2 (>= 1.01), libdb5.3, libgssapi-krb5-2 (>= 1.6.dfsg.2), libk5crypto3 (>= 1.6.dfsg.2), libkrb5-3 (>= 1.6.dfsg.2), libonig2 (>= 5.9.5), libpcre3 (>= 1:8.35), libqdbm14 (>= 1.8.74), libssl1.0.0 (>= 1.0.1), libstdc++6 (>= 4.1.1), libxml2 (>= 2.9.0), zlib1g (>= 1:1.1.4), apache2-api-20120211, apache2 (>= 2.4), mime-support, php5-common (= 5.6.14+dfsg-0+deb8u1), php5-cli, php5-json, libmagic1, ucf, tzdata
Внутри второго списка требуемых пакетов вы найдёте apache2
, который установит этот пакет. Итак, не так уж и много волшебства.
Если вы установите phpmyadmin
так же, как вы это сделали, вы не сможете очистить apache2
после этого. Это удалит phpmyadmin
, потому что зависимости больше не удовлетворяются.
Итак... что делать, если вы хотите установить phpmyadmin
, но в то же время не хотите устанавливать apache2
? Не так уж и сложно:
phpmyadmin
зависит от нескольких пакетов, предоставляющих php5
интерпретатор / библиотеки / модули. Так как есть несколько вариантов, выбор за вами. Вам не нужны все эти пакеты, это скорее "this package OR
this package OR
that one". (Обратите внимание на |
в требуемом списке пакетов phpmyadmin
. )
Итак, вам нужно сначала установить нужные php5
пакеты, которые не подключены к apache2
, а после установить phpmyadmin
:
# apt-get install php5-fpm
[...]
The following NEW packages will be installed:
libonig2 libqdbm14 php5-common php5-fpm
# apt-get install phpmyadmin
[...]
The following NEW packages will be installed:
dbconfig-common libltdl7 libmcrypt4 libmysqlclient18 mysql-common php5-mcrypt php5-mysql phpmyadmin
Если у вас возникли дополнительные вопросы или вам нужна дальнейшая помощь, пожалуйста, дайте мне знать.
Edit: Относительно вашего комментария по поводу других веб-систем управления базами данных: Вы можете посмотреть на Adminer. Цитирование сайта проекта (не могу судить об этом по себе):
.Замените phpMyAdmin на Adminer и вы получите более аккуратный пользовательский интерфейс, лучшую поддержку функций MySQL, более высокую производительность и большую безопасность.
Я вроде как использую тот же стек (так что apache не задействован). Мне нравится использовать
apt-get --no-install-recommends install phpmyadmin
И это установит phpmyadmin только без apache