这是本文档旧的修订版!
====== Ubuntu安装ClusterCC方案介绍 ====== ==== Ubuntu普通用户执行sudo免密码 ==== <code>sudo visudo 注:出入命令打开文件,末行回车增加下面一行。 $user$ ALL = NOPASSWD : ALL 注:$user$为你当前登陆的用户名。</code> ==== 修改sshd端口执行操作 ==== <code>sudo sed -i 's/Port 22/Port 10202/g' /etc/ssh/sshd_config sudo sed -i 's/AcceptEnv/#AcceptEnv/g' /etc/ssh/sshd_config sudo /etc/init.d/ssh restart</code> ==== 更新Ubuntu代码库 ==== <code>sudo apt-get install -y build-essential linux-headers-`uname -r` uuid uuid-dev libjansson-dev libxml2-dev sqlite3 libsqlite3-dev libsrtp-dev libncurses5-dev libnewt-dev libgtk2.0-dev git openssl libssl-dev</code> ==== 安装mongodb数据库 ==== <code>sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list sudo apt-get -y update sudo apt-get install -y mongodb-org</code> ==== 安装redis数据库 ==== <code>sudo apt-get -y install redis-server</code> ==== 安装pjsip开源SIP协议栈 ==== <code>sudo wget http://www.pjsip.org/release/2.4.5/pjproject-2.4.5.tar.bz2 tar jxf pjproject-2.4.5.tar.bz2 cd pjproject-2.4.5 sudo ./configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr sudo make dep; make; make install; ldconfig</code> ==== 安装asterisk服务 ==== <code>wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-2.10.2-rc1+2.10.2-rc1.tar.gz wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz tar zxf dahdi-linux-complete-2.10.2-rc1+2.10.2-rc1.tar.gz tar zxf libpri-current.tar.gz tar zxf asterisk-13-current.tar.gz cd dahdi-linux-complete-2.10.2-rc1+2.10.2-rc1; make; make install; make config cd libpri-current.tar.gz; make; make install cd asterisk-13-current; ./configure; make; make install perl -MCPAN -e 'my $c = "CPAN::HandleConfig"; $c->load(doit => 1, autoconfig => 1); $c->edit(prerequisites_policy => "follow"); $c->edit(build_requires_install_policy => "yes"); $c->commit' sudo cpan JSON sudo cpan LWP::UserAgent sudo /usr/sbin/groupadd asterisk sudo /usr/sbin/useradd -d /var/lib/asterisk -g asterisk asterisk </code> ==== 安装node运行环境 ==== <code>sudo apt-get install nodes npm sudo npm -g install supervisor sudo npm install n -g sudo n lts node -v 输出信息显示当前版本为v6.9.1</code> ==== 安装生成头像的依赖、Mcrypt功能 ==== <code>sudo apt-get install libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++ sudo apt-get install libmcrypt4 libmcrypt-dev</code> ==== 从github上Sonicwell库里克隆代码 ==== <note>执行git clone 前注册github并加入Sonicwell团队并添加本地SSHkey。</note> 输入并执行 ssh-keygen -t rsa -b 4096 按三次回车过程如下: {{:zh:新手上路:选区_031.png?550|}} 成功后将会在用户目录下创建一个.ssh的隐藏文件夹过程如下: {{:zh:新手上路:选区_030.png?550|}} 启动的ssh-agent在后台: <code tip>eval `ssh-agent -s`</code> 添加你的SSH key到ssh-agent: <code>ssh-add ~/.ssh/id_rsa</code> {{:zh:新手上路:选区_032.png?550|}} 登陆github点击页面右上角头像选择【Settings】 {{:zh:新手上路:选区_033.png?550|}} 进入后点击右上角【New SSH key】输入秘钥名字,把.ssh下面的id_rsa.pub里的内容填到下面的框体里后点击【Add SSH key】保存。 {{:zh:新手上路:选区_035.png?550|}} 执行上面的git clone命令成功下载过程如下: <code>git clone git@github.com:Sonicwell/clustercc.git clustercc --depth=1</code> ==== iptable防火墙管理设置 ==== <code>sudo apt-get update sudo apt-get install iptables-persistent sudo invoke-rc.d iptables-persistent save sudo apt-get install sox lame</code> ==== 安装ngx_openresty集成Nginx核心的第三方服务器应用 ==== <code>cd clustercc sudo cp ngx_openresty-1.9.3.1.tar.gz /usr/src/ cd /usr/src/ sudo tar zxf ngx_openresty-1.9.3.1.tar.gz cd ngx_openresty-1.9.3.1/ sudo ./configure; make; make install</code> ==== 配置clustercc相关文件 ==== <code>sudo cp scripts/init/clustercc.conf /etc/init sudo cp scripts/nginx /etc/init.d sudo service nginx start sudo update-rc.d -f nginx defaults cp config.json.example config.json</code> ==== 启动clustercc服务 ==== 进入文件夹/$PATH$/clustercc/server下找到server.js文件($PATH$为clustercc存放路径) <code>nodejs server.js &</code> ==== 创建clustercc更新 ==== 在clustercc文件夹下定期执行如下操作从github上获取更新: <code>git fetch upstream git branch git merge upstream/development</code> ==== 打开clustercc服务页面 ==== <note>浏览器地址栏输入 http://127.0.0.1:3000 打开服务页面,并进行初始化注册。</note> {{:zh:新手上路:选区_029.png?750|}}