Ubuntu升级到16.04 LST后Apache2无法启动的问题

一个月前,服务器从Ubuntu 12.04 升级到 16.04,当时测试了下Django,都能用就没有管了,昨天想看看网站的时候发现Apache2有问题。

今天暴雨封航,困在宁波无聊就花了半天时间研究了下,原来Ubuntu 16.04 LST中的PHP从PHP5升级到了PHP7,相关apache2模块、mysql模块可能要手动更新下。

简单的记录如下。

重装Apache2

sudo apt-get --purge remove apache2
sudo apt-get install apache2

此时能重载apache2

php7模块安装

可以通过 php -v 查看服务器中的php版本

此时虽然php版本已经更新到7.0,但是apache2中没有php7模块(查看/etc/apache2/mods-available)

安装php模块

sudo apt install php libapache2-mod-php

安装结束后,可以在/etc/apache2/mods-available中看到php7 模块,再开启该模块。

sudo a2enmod php7.0

顺便安装mbstring模块

sudo apt install php7.0-mbstring

如果使用mysql,安装php7.0-mysql

sudo apt-get install php7.0-mysql

配置Apache2服务器

这次系统升级后,Apache2升级到了2.4.18,相比之前的版本,配置的格式稍有不同。

网站配置

网站配置的文件需要增加后缀.conf

开启端口

因为配置了多站点,所以开启8080端口,同时用ufw检查下端口开启情况。

ports.conf

Listen 80
Listen 8080
网站目录开启

apache2.conf


    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted

重启服务器
sudo service apache2  restart

后续

  • wordpress恢复正常
  • discuz3.2因为不支持PHP7,所以依旧存在问题
  • 目前我的discuz已搬到另一个服务器,所以这里没用也就这样了
  • 网上有降级或者切换PHP5、PHP7的办法,若需要请自行尝试

相关资料

  • Upgrade to 16.04. php7 not working in browser
  • 把Ubuntu 14.04系统上的PHP 5.x升级到PHP 7.0
  • Ubuntu 16.04 LTS LAMP server tutorial with Apache 2.4, PHP 7 and MySQL
  • How can I downgrade from PHP 7 to PHP 5.6 on Ubuntu 16.04?

你可能感兴趣的:(Ubuntu升级到16.04 LST后Apache2无法启动的问题)