最近自己一直在开发一个APP,服务端代码一直放在本地很不方便,而且没有SVN进行代码管理,存在风险,因此购买了一台阿里云服务器。
因为本人接触服务器的配置很少,这次通过查阅资料,遇到了很多问题,慢慢研究,花了将近一天的时间才配置完成,因此在此记录一下配置流程。
阿里云服务器系统:
CentOS 7.0系统
配置内容包括:
Java环境
Mariadb 数据库
Tomcat
SVN服务器
FTP
我使用的终端是 SecureCRT,很好上手的一个终端软件。
打开SecureCRT后,打开文件-快速连接,协议方式为SSH2,主机名输入IP地址,用户名输入购买阿里云时候配置的用户名,点击连接,再输入密码即可登录到云服务器。
CentOS系统使用yum指令可以很轻松安装大部分环境
使用 yum list xxxx* 可以查看当前可安装的包
使用 yum install xxxx* 可以安装对应包
1、Java环境
在终端输入 yum list java* 查看
Installed Packages 即已经安装的包
Available Packages 即可以安装的包
使用 yum install java-1.7.0* 可安装java环境
安装后输入 java -version
终端输出 java version “版本号” 即安装成功
2、Mariadb数据库
Mariadb是Mysql的一个分支,用法可以说和Mysql几乎没有区别
云服务器默认是已经安装了Mariadb的
使用yum list maria* 查看,在Installed Packages里可以看到。
如果没有安装,使用 yum install maria* 安装即可
安装后使用 systemctl enable mariadb.service可以加入自动启动
启动数据库 systemctl start mariadb.service
使用service mariadb start也是可以的,系统会自动重定位到systemctl start mariadb.service指令。
启动后,使用mysql -u root -p 连接到数据库,因为mariadb默认只允许本地连接,现在需要修改权限,使得可以通过windows上的navicat连接到数据库
GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘root’ WITN GRANT OPTION;
修改权限, 如果希望指定ip才能访问,将上面命令改为
GRANT ALL PRIVILEGES ON *.* TO ‘root’@”ip地址” IDENTIFIED BY ‘root’ WITN GRANT OPTION;
这样只有这个ip才可以通过navicat连接到数据库
flush privileges; 刷新
之后即可通过windows上的navicat连接到数据库了
数据库至此配置完成。
3、安装Tomcat
Tomcat的安装非常简单。
使用指令:
wget http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.39/bin/apache-tomcat-6.0.39.zip
即可下载tomcat
下载后解压即可。进入tomcat目录,找到进入bin目录下,使用./startup.sh即可运行tomcat
不知道解压指令的,可以参考:
http://www.cnblogs.com/eoiioe/archive/2008/09/20/1294681.html
4、安装SVN服务器
使用yum list subversion* 查看可安装的SVN包
使用yum install xxxxx(具体包名)即可安装svn
使用systemctl enable svnserve.service 加入自启动
使用systemctl start svnserve.service 启动
安装SVN后,可以使用svnadmin create test(test为资源库名字) 方法创建你的资源库
创建后的资源库中包含conf db……等多个文件
我们需要对conf中的文件进行配置
conf中包含三个文件 svnserve.conf authz passwd 三个文件
svnserve.conf是配置文件,通过vim svnserve.conf打开后,可以进行配置
在[general]下添加
anon-access = none
anon-access = write
password-db = passwd
authz-db = authz
realm = test(创建时候的名字)
解释下上面的内容含义:
anon-access设置为none即禁止不登陆的用户访问
anon-access 设置为登录后的读写权限
这两个值可以设置为none无权限,write读写权限,read只读权限
password-db即用户名密码表
authz-db即授权表
realm就是创建的资源库
在passwd中可以设置用户名和密码,vim passwd
格式很简单
user = password
左侧为用户名,右侧为密码,依次写下去即可
在authz中配置每个用户的权限,vim authz
在[groups]下添加,格式为
groupname = username
左侧为用户组的名字,右侧为这个用户组下面包含的用户
之后为这些用户组分配权限,格式为
[资源库名:/]
@用户组名 = rw
用户组名即为上面分配的用户组,rw表示读写权限
分配好之后svn即可配置完成。
简单介绍下svn配置方法
假如代码分为客户端和后台代码,总管a,开发人员分为c1,c2和s1,s2,那么如何配置可以让c1,c2只能访问客户端代码,s1,s2智能访问服务器代码,a可以访问所有代码
假设svn路径为/var/svn
先创建两个资源库
/var/svn/client /var/svn/server
之后在/var/svn/下创建passwd和authz文件
然后对client server的svnserve.conf进行配置,其password-db和authz-db分别指向/var/svn/下的passwd和authz,realm分别为client和server。
然后对/var/svn下的passwd和authz配置
passwd为这5个人分配用户名和密码
在authz中,则将其访问权限分开
manager = a
client = c1,c2
server = s1,s2
[/]
@manager = rw
[client:/]
@client = rw
[server:/]
@server = rw
即可完成授权。
5、FTP
主要是使用vsftpd
yum install vsftpd
安装后在/etc/vsftpd中生成ftpusers user_list vsftpd.conf几个文件
ftpusers下是不允许登录的用户
user_list下的用户,当userlist_deny为YES时候,不允许这些用户登录。当为NO时候,只允许以下用户登录。
我配置的比较简单,就是在vsftpd.conf将匿名登录anonymous_enable设为NO,将userlist_deny设为NO,然后注释掉user_list中的用户,添加了一个自己创建的用户test。
创建用户指令
adduser -d /home/ftp -g ftp -s /sbin/nologin test
这个指令是创建一个用户名为test的用户,他的ftp路径为/home/ftp
创建后为这个用户分配密码
passwd test
即可,需要输入两次
之后启动ftp即可,启动的指令用过很多次了
systemctl enable vsftpd.service
systemctl start vsftpd.service
如果从windows上访问ftp时候出现权限问题,注意关闭windows防火墙,并尝试修改/home/ftp路径权限,如果还存在问题,仔细检查ftpusers user_list vsftpd.conf这三个文件的配置有没有问题
测试方法是:在windows cmd中输入ftp 你的IP,按照提示输入用户名密码,正常连接即可。(也可以用一些ftp软件)