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