phpMyAdmin пытается установить Apache

Я играю с установкой новой среды на моем сервере, веб-сервер 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?

1
задан 12 December 2015 в 11:11
2 ответа

Причиной такого поведения являются зависимости 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, более высокую производительность и большую безопасность.

Также доступны Ubuntu пакеты .

.
4
ответ дан 3 December 2019 в 16:44

Я вроде как использую тот же стек (так что apache не задействован). Мне нравится использовать

apt-get --no-install-recommends install phpmyadmin

И это установит phpmyadmin только без apache

2
ответ дан 3 December 2019 в 16:44

Теги

Похожие вопросы