KBS安装指南
- 一些环境准备
虚机(virtualbox 5.1+, 比如5.1.26)环境搭建
如果没有开启vt,需要开启,首先开机进入BIOS,Security,Virtualization,选择Enable即可
安装ubuntu12.04.5,地址 :
http://mirrors.163.com/ubuntu-releases/12.04/ubuntu-12.04.5-desktop-amd64.iso
比较古老的32位的或不支持vt技术的cpu选择:
http://mirrors.163.com/ubuntu-releases/12.04/ubuntu-12.04.5-desktop-i386.iso
虚机网络断开安装,否则会自动安装更新,耗时比较久,
virtualbox - 显示 - 启用3d加速
安装过程中,配置用户名设置为 bbs
安装完成后去掉iso挂载,网络选择网络地址转换NAT,重启后
virtuabbox, 设备-安装增强功能(和主机共享文件)
df 查看光盘挂载地址
cd /media/VBOXADDITIONS_5.1_xxxx (xxxx为上面命令结果补全)
sudo ./VBoxLinuxAdditions.run
重启,设备 - 共享文件夹, 选择windows主机的文件夹映射为 bbs目录为共享目录,选择固定分配,自动挂载
sudo mount -t vboxsf bbs /mnt
添加国内源
sudo vi /etc/apt/sources.list
删除文本所有内容,添加:
1 | # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 |
修改一下vim打开文件的编码方式,否则后续编辑有可能显示乱码
vim ~/.vimrc
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
- 安装 sudo ./php_apache.sh 安装合适的 php, apache, mysql 等依赖库
php_apache.sh 的内容:
apt-get update &&
apt-get install -y zlib1g-dev &&
apt-get install -y autoconf &&
apt-get install -y automake &&
apt-get install -y libtool &&
apt-get install -y libgmp3c2 &&
apt-get install -y libgmp3-dev &&
apt-get install -y openssl &&
apt-get install -y apache2 &&
apt-get install -y libapache2-mod-php5 &&
apt-get install -y php5-dev &&
apt-get install -y php5-gd &&
apt-get install -y bison &&
apt-get install -y byacc &&
apt-get install -y tree &&
apt-get install -y libcurl4-openssl-dev &&
apt-get install -y dos2unix &&
apt-get install -y libpcre3 &&
apt-get install -y libpcre3-dev &&
apt-get install -y libmysqlclient-dev &&
apt-get install -y php5-mysql &&
apt-get install -y sendmail &&
apt-get install -y php-pear &&
apt-get install -y sqlite3 &&
apt-get install -y libsqlite3-dev &&
apt-get install -y git &&
apt-get install -y mysql-client &&
apt-get install -y mysql-server &&
apt-get install -y curl &&
apt-get install -y libboost-dev &&
apt-get install -y libboost-test-dev &&
apt-get install -y libboost-program-options-dev &&
apt-get install -y libboost-system-dev &&
apt-get install -y libboost-filesystem-dev &&
apt-get install -y libevent-dev &&
apt-get install -y pkg-config &&
apt-get install -y g++ &&
apt-get install -y libglib2.0-dev &&
apt-get install -y libgtk2.0-dev &&
#apt-get install -y librdkafka-dev librdkafka1 &&
apt-get install -y python-dev &&
apt-get install -y openjdk-7-jre openjdk-7-jdk
安装过程提示输入mysql密码,设置的是beautiful,如设置别的密码,后续使用mysql相应修改
拷贝一些头文件,编译kbs会用到
sudo cp /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h /usr/include/
sudo cp /usr/lib/jvm/java-7-openjdk-amd64/include/* /usr/include/ -a
sudo cp /usr/lib/jvm/java-7-openjdk-amd64/include/linux/* /usr/include/ -a
thirft使用 thrift-0.10.0.tar.gz (version 0.11.0/0.12.0在ubuntu12.04未能编译通过)
kafka使用 librdkafka-1.0.1.tar.gz (低版本有函数未定义)
两者编译安装
./configure –prefix=/usr && make && sudo make install
- 安装kbs
解压kbs到/home/bbs/src目录
src/Makefile.am
local_utl/Makefile.am
daemon/Makefile.am
libBBS/Makefile.am
几个文件的 LDADD 增加 -lrdkafka
./autogen.sh
./configure –prefix=/home/bbs –enable-site=newsmth –with-php –with-mysql
vi /etc/passwd, 找bbs的userid, grpid, 我这里是1000,1000, 更新到 site/newsmth.h 的 BBSUID, BBSGID
site.h, src/extra.h 中暂时去掉以下KBS宏定义 (暂未编译通过)
//#define ENABLE_LIKE 1
//#define ENABLE_REFER_LIKE
src/bbs.c 屏蔽函数 recommend_tg
src/talk.c 屏蔽函数 display_user_summary display_userinfo
libBBS/libbm.c 屏蔽函数 AO_int_fetch_and_add
libBBS/extra.c 屏蔽函数 AO_int_fetch_and_add
local_utl/awardonline.c 屏蔽函数 AO_int_fetch_and_add
修改php模块待安装目录的权限
sudo chown bbs:bbs /usr/lib/php5 -R
make
make install
make install-home