如何在一个VPS上安装etherpad,并与node.js和mysql组成生产环境?
发布于 9个月前 作者 yingjie0904 869 次浏览

###介绍 Etherpad是一个实时的多用户线上共制工具,用于项目开发和网页设计。这篇教程里,我们会着重讲解Etherpad在CentOS 6.4 VPS(云服务器)上运行,我们默认您已经安装好了该VPS,如果还没有,可以参考这篇指导。


###步骤1—安装所需要的库 安装Etherpad前,我们需要安装一些库及其他必要的东西。 往下是执行下面的命令,通过根用户或添加sudo都可以。

yum install gzip git-core curl python openssl-devel make gcc gcc-c++ postgresql-devel && yum -y groupinstall "Development Tools"


完成后,你需要安装Node.JS库和NPM库。运行下列命令:

cd /tmp
wget http://mirror-fpt-telecom.fpt.net/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
yum install nodejs npm

祝贺,Node.JS和NPM安装完毕,现在我们安装Etherpad。


###步骤2—安装Etherpad 首先,我们创建一个单独的Etherpad用户,这样就允许Etherpad独立运行,比使用根用户更加安全,这个命令在创建用户的同时也创建了一个主目录。

useradd --create-home etherpad


现在,我们执行一些命令,这样可以作为新用户进行Etherpad配置。

su - etherpad
cd /home/etherpad


为了让Etherpad运行,我们首先需要下载。执行下面命令开始从Github上下载。

git clone git://github.com/ether/etherpad-lite.git


###步骤3—给Etherpad数据库安装MySQL Etherpad用的是自己的非关系型数据库,这不建议生产环境使用,我们要安装MySQL,并配置Etherpad使用。

我们假设你当前没有安装MySQL,运行下面命令,用根用户或sudo都可以:

yum install mysql-server
service mysqld start
chkconfig mysqld on


安装完成后,运行这些命令,一定要更改一个安全的密码:

mysql -u root -p
create database `etherpad-lite`;
grant all privileges on `etherpad-lite`.* to 'etherpad'@'localhost' identified by 'PASSWORD';
exit


现在,我们进入Etherpad目录,执行:

su - etherpad
cd /home/etherpad/etherpad-lite 
cp settings.json.template settings.json


用你最喜欢的编辑器打开settings.json 找到下面的文本:

"sessionKey" : "",


改为:

"sessionKey" : "SECURESTRING",


用户一个10-18位的alpha数值字符串替换SECURESTRING。 然后找到:

"dbType" : "dirty",
  //the database specific settings
  "dbSettings" : {
                   "filename" : "var/dirty.db"
                 },


并将其注释掉:

// "dbType" : "dirty", */
  //the database specific settings
  // "dbSettings" : {
  //                   "filename" : "var/dirty.db"
  //                 },


然后找到:

/* An Example of MySQL Configuration
   "dbType" : "mysql",
   "dbSettings" : {
                    "user"    : "root",
                    "host"    : "localhost",
                    "password": "",
                    "database": "store"
                  },
  */


将其改为下面这样(注意删掉最后的*/)

// Etherpad MySQL Config
   "dbType" : "mysql",
   "dbSettings" : {
                    "user"    : "etherpad",
                    "host"    : "localhost",
                     "port"    : "/var/lib/mysql/mysql.sock",
                    "password": "YOURDBPASSWORD",
                    "database": "etherpad-lite"
                  },


确保创建数据库时,将你的数据库密码替换为你设置的密码。然后保存文件,关闭编辑器。 现在我们需要让Etherpad安装一些依赖项,执行下面命令:

/bin/installDeps.sh


一旦运行起来,我们需要运行Etherpad,也是第一次运行Etherpad,这样它就可以在数据库里创建适当的表格。运行下面命令:

./bin/run.sh


Etherpad加载完成后,用Ctrl+C关闭进程。在真正运行Etherpad前,我们需要修改Etherpad数据库:

mysql -u root -p
alter database `etherpad-lite` character set utf8 collate utf8_bin;
use `etherpad-lite`;
alter table `store` convert to character set utf8 collate utf8_bin;
exit


###步骤4—运行Etherpad 已经安装好了Etherpad,并配置好了使用MySQL,为了正确运行,执行:

./bin/run.sh


这个脚本会初始化Etherpad,并开启进程。 要记住的是:当取消或关闭SSH会话窗口时,Etherpad将会终止。你可以使用可选步骤把Etherpad放到一个screen会话,以便于更轻松地管理。


###步骤5—访问Etherpad 运行上面的脚本后,你就可以访问你的Etherpad安装,通过浏览http://yourdomain.com:9001。 你应该会看到一个Etherpad页面,要求你创建一个pad或打开现有的。


###步骤6—在Screen(可选项)运行Etherpad 使用screen可以为你节省出宝贵的时间,以防你的客户端意外终止。它会让你的会话保持活跃,并可以在任何时间返回,甚至是当你退出登录或你的SSH客户端意外退出时。

root(su)或作为超级用户(sudo)运行下面的命令,安装screen程序:

yum install screen


安装完成后,在screen执行下面的命令运行Etherpad。

su - etherpad
cd /home/etherpad 
screen -dmS etherpad ./etherpad-lite/bin/run.sh 


Etherpad应该会在后台立刻运行。 想要查看你的screen会话的话,需要退出登陆,再使用你的Etherpad用户登陆,但我们必须首先为它创建一个密码。用根用户运行下面命令来为Etherpad用户创建一个密码:

passwd etherpad


这步完成后,你可以退出当前的SSH会话,然后用Etherpad用户登陆。 登陆后,运行下面命令重新连接到你的screen会话:

 screen -r etherpad


要退出screen,并返回到bash prompt,同时按CtrlA+D,是Control-A后加D

注意:如果VPS没电了或重启,screen会话会丢失。你需要再次运行命令或使用一个启动脚本,比如这儿这个。


###步骤7—其他的配置 本教程只展示Etherpad设置方面的一些基础,你也可以做些这里没有提到的来提升改善Etherpad安装。


更多的关于之后配置Etherpad的信息,可以查看 https://github.com/ether/etherpad-lite/wiki


From: https://www.digitalocean.com/community/articles/how-to-install-etherpad-for-production-with-node-js-and-mysql-on-a-vps

4 回复

支持一下楼主~~有图就更棒了

就是就是!!

赞啊,很实用的说

回到顶部