Ubuntu下ReviewBoard安装全过程

经过长达一个半月的研究探索,终于在Ubuntu下搭建ReviewBoard完成一个可以跑完一个流程的系统,感觉超有成就感!

参考:

1  开始搭建之前必须要安装easy_install的软件:
 
    sudo apt-get install python-setuptools python-dev;
 
2  安装apache2和mod_python
    sudo apt-get install apache2 libapache2-mod-python
 
  sudo a2enmod python /* 修改apache2的配置,让python mod处于enable状态 */

3  安装mysql
      sudo apt-get install mysql-server python-mysqldb libmemcache-dev
      sudo easy_install http://gijsbert.org/downloads/cmemcache/cmemcache-0.95.tar.bz2
 
  创建数据库、数据库用户for ReviewBoard(这块要注意数据库的字符集设置,默认不是UTF-8)
 
    前几次的安装都没有之一字符集的问题,导致网页上中文显示乱码。按照默认的步骤安装和配置后,输入和保存英文均没有问题,但是一旦输入中文,保存后页面显示的都是乱      码,甚至某些时候在保存中文数据时Review Board还提示错误。我的Ubuntu的locale是"zh_CN.UTF-8",输入法输      入后的中文内码应该是UTF-8。Review Board本身按理来说其    内核也应该是内置支持的UTF-8编码的,问题出在哪呢?答案是MySQL
 
    在命令行模式进入MySQL,敲入status命令:Server characterset:    latin1
                                                                                  Db    characterset:    latin1
                                                                                  Client characterset:    latin1
                                                                                  Conn.  characterset:    latin1
 
    修改MySQL默认字符集的方法很简单,先停止MySQL Server(sudo /etc/init.d/mysqlstop),之后打开/etc/mysql/my.cnf,分别在[client]和[mysqld]两个section下,    增加一个key-    value(这个方法会导致mysql不能重启)
 
    正确的做法是:
 
    找到[client] 添加:
 
  default-character-set=utf8 //默认字符集为utf8
 
    找到[mysqld] 添加:
 
    //默认字符集为utf8
 
    default-character-set=utf8
 
    //设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行
 

    init_connect='SET NAMES utf8'
 
    可是我根据这样修改后启动mysql服务报错,启动不了
 
    在网上试了多种解决办法,都没有解决,
 
    最后找到一个方法,可以解决,如下:
 
    其他的还跟上面一样,只有在[mysqld]下面添加的
 
    default-character-set=utf8
 
    改为
 
    character-set-server = utf8
 
    重新启动mysql,启动成功
 
    查看下结果是:Server characterset:    utf8
                                Db    characterset:    utf8
                                Client characterset:    utf8
                                Conn.  characterset:    utf8,代表测试成功。
 
  接下来配置是数据库用户:mysql -u root -p  /* 用root用户登录 */
                                                  mysql> create database reviewboard;
                                                  Query OK, 1 row affected (0.00 sec)
                                                  mysql> create user 'reviewboard'@'localhost' identified by 'reviewboard';  /* 前一个reviewboard是访问数据库的用户名,后一个reviewboard是密码 */
                                                  Query OK, 0 rows affected (0.00 sec)
                                                  mysql> grant all on reviewboard.* to 'reviewboard'@'localhost';  /* 前一个reviewboard是数据库的名字,而后一个reviewboard则是访问数据库的用户名 */
                                                  Query OK, 0 rows affected (0.00 sec)
                                                  mysql> exit
 

相关推荐