ubuntu12升级到14.04过程实录

此文记录阿里云上的服务器的升级过程。

动机

  1. php版本太低,而且直接用apt-get再安装也不会升级,必须自己编译
  2. 打算安装一个wordpress的客户端,其中有不少的东西需要较新的包
  3. 如果打算安装其他的最新工具,ubuntu12也显得有点旧了
  4. 可乘此机会,把整个升级过程弄清楚一些,以后再升级会比较容易

备份

  • mysql数据库备份 mysqldump -uroot -p -A > db.sql
  • /var/www/ 数据备份, 直接压缩在另一个硬盘即可
  • /home/xuyang 备份,方法同上
  • /etc/apache2 备份,其中有些apache的设置需要备份,还原时有用
  • /usr/bin/cgi-bin 备份,其中有些程序需要备份

还原

安装必要的软件

使用下面的命令:

apt-get -y update
apt-get -y install vim firefox python-pdfminer fcitx-googlepinyin curl libxml2-dev libcurl4-openssl-dev libjpeg62
apt-get -y install apache2 php5 mysql-server php5-mysql rar php5-dev php5-cli php-pear php5-curl php5-gd php5-imap php-net-imap

更多安装可以参考ubuntu上安装的软件

重建用户

  1. 添加用户,此时的身份是root,需要添加一个工作用户,使用adduser xuyang, 检查/home/xuyang是否被创建。如果已经创建就可以了。
  2. 将用户添加到sudo, 修改/etc/sudoers , 添加 %xuyang ALL=(ALL) ALL

数据库恢复

mysql -u root -p < db.sql

www数据恢复

  1. 解压www.tar.gz文件到/var/www/就可以了
  2. 解压cgi-bin.tar.gz 到/usr/lib/
  3. 解压xuyang.tar.gz到 /home/xuyang

设置apache

  1. 启用rewrite , 因为wordpress中需要用到,方法是:
    1. sudo a2enmod rewrite
    2. 修改sites-enabled/000-default, 添加AllowOverride All, 如下:

      <Directory /var/www/bagualu>
              Options Indexes FollowSymLinks MultiViews
              AllowOverride All
              Order allow,deny
              allow from all
      </Directory>
    3. 重启 apache2

  2. 启用apache的cgi, 这个需要加载apache的cgi_module ,
    1. 我的mods-available中有cgi.load这个文件,直接把这个文件拷贝到mods-enabled目录
    2. 修改apache的config文件,在sites-enabled/000-default文件中添加下面的设置:

      ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
      <Directory /usr/lib/cgi-bin>
              AllowOverride All
              Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
              Order allow,deny
              Allow from all
      </Directory>
      AddHandler cgi-script .cgi .pl .py .sh
    3. 重启apache就可以了。

其他应该注意的事情

升级以后的php必须要求代码块的开头必须写成<?php,如果些成<? ,不会被认为是php代码,因此,我把所有的php块都改了一边。这样才算是没问题了。

其他

整个升级过程,一个晚上搞定。还算顺利。今后应该会更快。容易跟上最新的进展了。



本文地址: http://www.bagualu.net/wordpress/archives/5350 转载请注明




发表评论

电子邮件地址不会被公开。 必填项已用*标注