phpMyAdmin试图安装Apache

我打算在我的服务器上安装新的环境,与HHVM一起使用Nginx webserver。

我安装了两个,然后来到MariaDB并安装它。 我可以通过点击IP地址来确认服务器的工作: 欢迎来到nginx

然后我需要安装一个基于Web的客户端来pipe理数据库。 我知道phpMyAdmin非常适合Apache和Litespeed,但是当我跟着很多关于在Nginx旁边安装phpMyAdmin的文章时,步骤几乎是一样的。

但问题是做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的依赖(至less在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 

在所需软件包的第二个列表中,您将findapache2 ,它将安装此软件包。 所以,没有太多的魔术参与。

如果你像你那样安装phpmyadmin ,那么你不能在之后清除apache2 。 这样做,也将删除phpmyadmin ,因为依赖不再满足。

那么…怎么做,如果你想安装phpmyadmin ,但同时又不想安装apache2 ? 并不那么难:

phpmyadmin取决于提供php5解释器/库/模块的几个包。 由于有几个选项,这取决于你select。 你不需要所有这些软件包,它更像是一个“这个软件包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 

如果您有其他问题或需要进一步的帮助,请告诉我。

编辑 :关于你对其他基于Web的数据库pipe理系统的评论:你可以看看Adminer 。 引用项目网站(不能自己判断):

用AdminerreplacephpMyAdmin,你将得到一个更加整洁的用户界面,更好地支持MySQL特性,更高的性能和更高的安全性。

也有Ubuntu软件包可用 。

我有点使用你的相同的堆栈(所以没有Apache涉及)。 我喜欢使用的是

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

这只会安装phpmyadmin与你的Apache