安装服务器
一、安装系统
- 安装系统及基本软件
在云主机-->更多-->重装系统-->选择企业服务
2、设置安全组,开放远程终端端口、FTP端口21(出入)
3、关闭FTP,并关闭开机自启动
systemctl stop vsftpd.service
systemctl disable vsftpd.service
二、安装EPEL库,用于支持第三方软件包的安装
- 安装:yum -y install epel-release
- 查看:rpm -q epel-release
(卸载:rpm -e epel-release)
三、在本地windows上安装SecureCRT并进行登录、文件传输操作
- 下载并安装SecureCRT
- 使用secureCRT登录服务器
- 使用secrureCRT上传/下载文件
(1)给服务器安装lrzsz工具
yum -y install lrzsz
rz中的r意为received(接收),输入rz时、意为服务器接收文件,既将文件从本地上传到服务器。
sz中的s意为send(发送),输入sz时、意为服务器要发送文件,既从服务器发送文件到本地,或是说本地从服务器上 下载文件。
注:不论是send还是received,动作都是在服务器上发起的。
(2)使用rz命令上传文件:
将文件存储的目录设置为当前目录
执行rz,选择需要上传的文件
(3)停止、重启FTP
停止vsftpd: service vsftpd stop
重启vsftpd: service vsftpd restart
secrureCRT支持的文件类型:
ASCII:这是最快的传输协议,但只能传送文本文件。
Xmodem:这种古老的传输协议速度较慢,但由于使用了CRC错误侦测方法,传输的准确率可高达99.6%。
Ymodem:这是Xmodem的改良版,使用了1024位区段传送,速度比Xmodem要快
Zmodem:Zmodem采用了串流式(streaming)传输方式,传输速度较快,而且还具有自动改变区段大小和断点续传、快速错误侦测等功能。这是目前最流行的文件传输协议
四、加入PHP搜索路径
1)#vim /etc/profile ;在PATH=中加入/usr/local/php7.1/bin:
2)#source /etc/profile ;重新载入环境变量
3)#php -v ;显示版本号测试
五、修改mysql root密码,删除不需要的用户,创建新用户并授权,修改端口
1)修改root密码
方式1:利用phpmyadmin
方式2:利用mysql命令
1)#mysql -uroot -p
输入原密码后,执行:
2)set password for [email protected] = password('****');
3)exit退出mysql
2)修改端口
(1)#vim /etc/my.cnf
在其中将端口号改为需要的端口号
(2)重启mysql
#systemctl restart mysql
六、建立Svn服务器与网站仓库
1)#yum install subversion
2)#svnserve --version ; 查看版本验证成功
3)#mkdir -p /var/svn/repos ;创建库总目录,其下可以放多个库
4)# svnadmin create /var/svn/repos/fm_www ;创建版本库
5)创建用户帐号
#cd /var/svn/repos
#cp fm_www/conf/passwd passwd ; 将文件复制到总目录下,供多个版本库共用
#vim passwd ;输入如下内容
[users]
chch = [email protected]
6)设置权限
#cp fm_www/conf/authz authz ; 将文件复制到总目录下,供多个版本库共用
# vi authz ;输入以下内容
[groups]
admins = chen ;管理员组
rds = chen,chch,cyf ; 开发人员组
* = #禁止其他用户访问
[fm_www:/] #版本库根目录
@admins = rw ; @表示组
* =
[fm_www:/data]
@admins = rw ;管理员可以读写,配置与动态数据所在目录
@rds = ;开发人员无权访问
* = #禁止其他用户访问
7)svn服务器配置
#vim fm_www/conf/svnserve.conf ;此文件由各库独有,输入以下内容
anon-access = none #匿名用户禁用
auth-access = write #授权用户可写
password-db = ../../passwd #使用哪个文件作为账号文件,指向共享帐号文件
authz-db = ../../authz #使用哪个文件作为权限文件,指向共享权限文件
realm = fm_www # 认证空间名,版本库所在目录
8)启动svn server
方法1:
#svnserve -d -r /var/svn/repos ;启动svn server 要用参数-d -r /var/svn/repos
方法2:设为自启动
1)修改svn配置文件,设置正确的仓库目录参数:
#vim /etc/sysconfig/svnserve ;将 OPTIONS选项修改为库目录所在
OPTIONS="-r /var/svn/repos"
2)使能自启动
#systemctl enable svnserve ;允许自启动
#systemctl list-unit-files |grep svnserve ;验让svnserve 为enabled
3)启动
#systemctl start svnserve
七、建立网站开发环境
1、安装Thinkcmf
1)下载.zip并解压到本地任意目录
2)利用svn客户端将Thinkcmd导入版本库
3)建立网站目录
#mkdir -p /var/yw_www
4)从版本库中导出Thinkcmf文件
#cd /var
#svn co svn://*.*.*.*/ym_www ym_www ; 前一个fm_www为realm 名,后一个导出的目标路径
5)让网站upload、runtime目录具有写权限
(解决mkdir() Permission denied错误)
#ps aux|grep nginx ;查看当前的nginx进程,能够找到nginx用户是哪个(可能是www,user或者其他的,看work process用户)
然后将data/runtime目录改为www所有
#chown -R www runtime
#chmod a+w -R public/upload
另外,data/conf/rout.conf也要修改所有者:
#chown -R www route.php
2、建立钩子
1)建立钩子脚本
# cd /var/svn/repos/ym_www/hooks
#vim post-commit ;输入如下内容:
#!/bin/sh
export LANG=en_US.utf8
REPOS="$1" #库所在目录
REV="$2" # 版本号
LOG=/run/log/svn.fm_www.log #日记文件,要求在/run/中创建log目录
SVN=/usr/bin/svn //
SVNLOOK=/usr/bin/svnlook
WEB_PATH=/var/ym_www #目标路径
AUTHOR=$(svnlook author -r $REV $REPOS) #提交代码的用户
echo "Commited by $AUTHOR at `date "+%Y-%m-%d %H:%M"`........................................" >> $LOG
$SVN update $WEB_PATH --username chen --password [email protected] --no-auth-cache >>$LOG
#chmod -R 755 post-commit ;给post-commit增加可搪行权限
2)将post-commit加入可执行权限
#chmod 777 post-commit
2、配置nginx 指定网站根目录
#find / -name nginx.conf ;查找nginx配置文件所在路径
#cd /usr/local/nginx/conf
#vim nginx.conf
将server{}块内容修改如***,有的配置文件把以下部分单独放到一个文件中,并在nginx.conf中包含该文件,如 include vhost/www.conf。
另外,thinkcmf中也有相关配置:
server{
listen 80;
server_name 129.211.126.128; #可以改为域名
root /var/mywww/fm_www/public; # 该项要修改为你准备存放相关网页的路径
location / {
index index.php index.html index.htm;
#如果请求既不是一个文件,也不是一个目录,则执行一下重写规则
if (!-e $request_filename)
{
#地址作为将参数rewrite到index.php上。
rewrite ^/(.*)$ /index.php?s=$1;
#若是子目录则使用下面这句,将subdir改成目录名称即可。
#rewrite ^/subdir/(.*)$ /subdir/index.php?s=$1;
}
}
location /api/ {
index index.php index.html index.htm;
#如果请求既不是一个文件,也不是一个目录,则执行一下重写规则
if (!-e $request_filename)
{
#地址作为将参数rewrite到index.php上。
#rewrite ^/(.*)$ /index.php?s=$1;
#若是子目录则使用下面这句,将subdir改成目录名称即可。
rewrite ^/api/(.*)$ /api/index.php?s=$1;
}
}
location ~* ^\/upload\/.+\.(html|php)$ {
return 404;
}
location ~* ^\/plugins\/.+\.(html|php)$ {
return 404;
}
location ~* ^\/themes\/.+\.(html|php)$ {
return 404;
}
#proxy the php scripts to php-fpm
location ~ \.php {
include fastcgi_params;
##pathinfo支持start
#定义变量 $path_info ,用于存放pathinfo信息
set $path_info "";
#定义变量 $real_script_name,用于存放真实地址
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name !~ ".php"){
set $real_script_name "/index.php";
}
#如果地址与引号内的正则表达式匹配
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
#将文件地址赋值给变量 $real_script_name
set $real_script_name $1;
#将文件地址后的参数赋值给变量 $path_info
set $path_info $2;
}
#配置fastcgi的一些参数
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
###pathinfo支持end
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
# fastcgi_pass 如果是 sock形式,可能是下面的配置
# fastcgi_pass unix:/tmp/php-cgi.sock
}
}
#systemctl restart nginx ;重启nginx服务
3、安装Thinkcmf
1)按引导安装Thinkcmf
从浏览器输入网址,进入网站,进行Thinkcmf安装。
如果发现有些目录权限不够,则增加相应权限,如upload目录加入写的权限:
#chmod a+w -R upload
2)删除临时文件
将ym_www/data目录下的临时文件全部删除,包括 runtime目录下的文件
4、将安装后的系统commit到版本库
#cd /var/yw_www
#svn add * --force
#svn ci -m *
5、将版本库checkout到本地用作开发
6、修改数据库配置
用phpstorm打开yw_www
修改data/config/database.php中的用户名,密码与端口号
八、建立gatewayworker开发环境
1、建立svn仓库
#cd /var/svn/repos
# svnadmin create /var/svn/repos/yw_gateway ;创建版本库
2、修改配置文件,加入用户权限
3、下载gateway并解压
4、导入gateway到版本库