一、基础环境LNMP
安装nginx:
yum install epel-release -y
yum install nginx -y
# 启动 nginx
systemctl start nginx
# 将 nginx 设置为开机启动
systemctl enable nginx
安装php:
yum install php php-mysql php-fpm php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc -y
安装mysql:
自从 mysql 被收购之后,我们就不使用了,而是使用一个叫 mariadb 的从 mysql 发展而来的数据库,完全兼容。
除了名字不一样,哪哪就兼容。
# 安装 mariadb
yum install mariadb-server mariadb
# 启动 mariadb
systemctl start mariadb
# 将 mariadb 设置为开机启动
systemctl enable mariadb
配置 php
安装完成之后,我们需要对它进行一些配置。首先,我们打开配置文件:
vim /etc/php.ini
打开文件后,我们找到 cgi.fix_pathinfo 并把它的值设置为 0
大概在 763 行
配置好 php.ini 文件之后,我们来配置 /etc/php-fpm.d/www.conf 文件
vim /etc/php-fpm.d/www.conf
第一处修改,将 listen = 127.0.0.1:9000 修改为如下:
listen = /var/run/php-fpm/php-fpm.sock (可保持不变,我设置为不变与/etc/nginx/nginx.conf中的fastcgi_pass参数设置的要一致)
然后找到下面两行,删掉前面的 ; 分号,取消注释。
listen.owner = nobody
listen.group = nobody
最后,我们找到下面两行
user = apache
group = apache
将 apache 换成 nginx,如下所示:
user = nginx
group = nginx
好,这样,我们就已经安装并且配置好了。下面我们可以启动了。
至此LNMP环境安装并配置完毕。
二、安装GOLANG环境
下载和解压Golang
wget https://storage.googleapis.com/golang/go1.8.linux-amd64.tar.gz
tar -zxvf go1.8.linux-amd64.tar.gz
mkdir -p gopackage
添加变量:
export GOROOT=/root/go
export GOPATH=/root/gopackage
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
然后保存后退出。
source /etc/profile
执行生效,然后再"go version"命令检查是否有版本提示。
三、安装MongoDB数据库
mkdir -p mongodb
cd mongodb
下载和解压MongoDB。
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.1.tgz
tar -zxvf mongodb-linux-x86_64-3.0.1.tgz
修改变量,在最后一行添加:
vim /etc/profile
export PATH=$PATH:/root/mongodb/mongodb-linux-x86_64-3.0.1/bin(与解压的文件名一致,或者自行更改文件名)
保存后退出,然后"source /etc/profile"执行生效。
创建存储文件夹(数据库目录):mkdir -p /data/db
启动MongoDB:mongod --bind_ip localhost --port 27017 --dbpath /data/db/ --logpath=/var/log/mongod.log --fork(此处的路径就是刚刚创建的,也可自行更改。)
停止服务,先获得PID号,ps -axu |grep mongo,然后kill掉。
开启。
为mongodb数据库添加用户
mongodb 初始是没有用户的, 这样很不安全, 所以要为leanote数据库新建一个用户来连接leanote数据库(注意, 并不是为leanote的表users里新建用户, 而是新建一个连接leanote数据库的用户, 类似mysql的root用户).
# 首先切换到leanote数据库下
命令行下输入mongo,直接进入数据库:
>use leanote;
>show databases;
# 添加一个用户root, 密码是abc123
>db.createUser({
user: 'root',
pwd: 'Brysjhhrhl@321',
roles: [{role: 'dbOwner', db: 'leanote'}]
});
>db.auth("root", "Brysjhhrhl@321"); # 测试下是否正确
1 # 返回1表示正确
>show collections
>db.collection.find(); # collection填入上一步查到的collection名称,例如db.users.find();
更改现有用户的密码:
> db.changeUserPassword('root','Brysjhhrhl321'); 即可。
四、安装revel Web框架
yum install -y git
go get github.com/revel/cmd/revel
遇到问题,总是拒绝请求:
于是google,按照网上的教程:进入gopath的src目录
cd ~/go/src
创建目录:mkdir -p golang.org/x/,进入刚创建的目录,
cd golang.org/x,克隆git库:git clone https://github.com/golang/sys.git
上面的方法不通,在另一个博客中看到,说是需要翻墙才可以,于是给centos7安装了shadowsocks,执行了下面的语句,倒是不显示报错之类的信息了,不清楚有没有安装成功,继续往下做,看看后面会不会有问题吧。
五、添加站点和导入数据库
添加站点
这里我们是用的LNMP环境,所以直接用对应的脚本快速添加站点,使得对应的网站目录。
下载解压源码
wget https://sourceforge.net/projects/leanote-bin/files/2.6.1/leanote-linux-amd64-v2.6.1.bin.tar.gz
tar -zxvf lean*.tar.gz解压之后将所有目录都放到/root下。
编辑 Leanote 配置文件 /root/leanote/conf/app.conf找到 app.secret= 这一项,任意修改一下,比如修改为如下内容:app.secret=dengdeng's_note。(我把原先的注释了)
然后导入leanote的初始化数据,
mongorestore -h localhost -d leanote --dir /root/leanote/mongodb_backup/leanote_install_data/
启动 Leanote 服务
nohup /bin/bash /root/leanote/bin/run.sh >> /var/log/leanote.log 2>&1 &(自己使用的时候直接到目录下run.sh或者在终端中输入/bin/bash /root/leanote/bin/run.sh就可以了,后面的意思是将启动服务的过程输出到日志文件中,不在前台显示过程。使用nohup是在终端关闭的情况下也可以运行服务。)
{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
nohup 命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( no hang up)
用途:不挂断地运行命令。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}
使用浏览器可以直接登陆,端口号9000在没有修改的情况下是默认端口号:
使用客户端登录,打开windows客户端,显示:
点击下面的登录自建服务,分别在第一栏填入:http://192.168.0.106:9000 ,安装服务的机器的ip地址,第二栏填入:admin,第三栏填入:abc123,这里用的是默认的用户名和密码,可以根据自己的需要在配置文件里修改。这样就登录上了我们自建的云笔记服务了。
添加了mongo数据库的用户名后,将其添加到leanote配置文件中/root/leanote/conf/app.conf,重启leanote。
这时候又出现坑了,看到上面图片中显示,我设置的密码中有“@”字符,结果就是这个@有问题了,总是没办法正常开启leanote,搜索了一番是因为密码中带了“@”这个字符的关系。去掉就都ok了。https://github.com/leanote/leanote/issues/524