阿里云的服务器是Ubuntu 12.04
根据Canonical
发布的支持路线图,可以看到2017年4月份之后就不再提供支持。因此很有升级导致Ubuntu 14.04
的必要,更别说很多软件在Ubuntu 12.04
上已经比较过时了。
Ubuntu LTS
版本支持路线图如下图:
升级的流程如下所示:(执行下面操作之前,请务必先备份重要数据,阿里云服务器推荐使用自带的系统快照功能,非常好用)
1.首先保证当前系统上的软件都是最新的
1 2 |
$sudo apt-get update $sudo apt-get dist-upgrade |
2.安装系统升级模块
1 2 |
$sudo apt-get install update-manager-core $sudo do-release-upgrade -d |
3.升级流程
允许系统在升级期间开放1022
端口用来处理系统升级异常,当系统升级异常的时候,可以通过这个端口进行某些恢复操作。(实际上没太大作用,出问题就快照回滚了,更快速安全方便)
输入y
,点击回车(Enter
)。
点击回车(Enter
),允许在iptable
上面开放1022
端口出来,这个端口在安装完成后会自动关闭,不需要过多关心。
允许升级程序更新sources.list
用来获取升级所需要的文件,输入y
,点击回车(Enter
)。
询问是否确认系统升级,输入y
,点击回车(Enter
)。
询问是否禁止root
用户通过ssh
访问系统,这个一定要选择No
,否则升级完成后,我们无法远程登陆系统。
询问在升级期间是否允许自动重启需要升级的服务,这个一定要选择Yes
,否则会不断的询问你是不是确定重启服务,非常麻烦。
询问是否用新系统的文件替换原系统的/etc/security/limits.conf
文件,直接回车(Enter
),不允许替换,使用原系统的配置。
同上,直接回车(Enter
)。
同上,直接回车(Enter
)。
同上,直接回车(Enter
)。
同上,直接回车(Enter
)。
同上,直接回车(Enter
)。
询问是否替换文件,同上,直接回车(Enter
),不允许替换。
同上,直接回车(Enter
)。
同上,直接回车(Enter
)。
同上,直接回车(Enter
)。
同上,直接回车(Enter
)。
同上,直接回车(Enter
)。
询问是否升级数据库,此处选择Yes
,回车(Enter
)。
输入数据库的密码,完成后点击回车(Enter
)。
询问是否删除不再使用的安装包,输入y
后点击回车(Enter
)。
升级完成,询问是否重启系统,输入y
后点击回车(Enter
)。系统会重启,远程连接会断开,需要稍等几分钟后重新连接服务器。
3.恢复被修改后的系统配置信息
安装Apache2
的PHP
扩展libapache2-mod-php5
,Ubuntu 12.04
版本的库,在升级的过程中被丢弃了,需要重新手动安装。
询问是否替换已经存在的PHP
配置文件,直接点击回车,不允许替换。
修改Apache2
的配置文件
1 |
$sudo vim /etc/apache2/apache2.conf |
原有Apache 2.2
配置为:
1 |
Include sites-enabled/ |
发现升级后变更为:
1 |
IncludeOptional sites-enabled/*.conf |
导致PHP
无法正常工作,因此需要修改回来。
修改前:
修改后:
Apache 2.4
修改了默认目录位置(这导致2.2
版本设置的禁止目录流量功能失效),并且默认开启了目录浏览功能,会导致潜在的安全问题,需要手工关闭.
修改前:
修改后:
重启Apache2
1 |
$sudo service apache2 restart |
到此,整个系统升级完成,所有功能恢复正常。
从升级的效果来看,服务器的响应明显变快,非常值得升级!