Назад | Перейти на главную страницу

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?

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

Если у вас есть дополнительные вопросы или вам нужна дополнительная помощь, дайте мне знать.

редактировать: Относительно вашего комментария о других системах управления базами данных на базе Интернета: Вы могли бы взглянуть на Администратор. Цитата с сайта проекта (сам не могу судить):

Замените phpMyAdmin на Adminer, и вы получите более аккуратный пользовательский интерфейс, лучшую поддержку функций MySQL, более высокую производительность и большую безопасность.

Есть Ubuntu пакеты доступный также.

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

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

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