欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Ubuntu下ReviewBoard安装全过程_MySQL

程序员文章站 2022-05-26 09:21:20
...
Ubuntu

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

参考:

在Ubuntu上安装ReviewBoardhttp://www.linuxidc.com/Linux/2014-05/101222.htm

在CentOS系统上搭建Reviewboardhttp://www.linuxidc.com/Linux/2014-04/100220.htm

在Ubuntu Server上安装ReviewBoard http://www.linuxidc.com/Linux/2009-06/20420.htm

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

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-07/104089p2.htm