centos7.2软件安装
- 一.软件安装
- 1.centos 7.2 创建
- 1.1 下载镜像
- 1.2 创建过程
- 1.3 设置静态ip
- 2. MySql 5.7
- 2.1 到mysql的官网下载yum repo配置文件(因为centos的yum源中没有MySQL)
- 2.2 使用yum命令即可完成MySQL安装
- 2.3 登录MySQL
- 2.4 登录成功后修改密码
- 2.5 修改密码
- 2.6 开启远程控制
- 3. SVN安装
- 3.1 Windows安装
- 3.2 centos安装
- 1.安装指令
- 2.配置
- 3.3 使用中遇到的问题:
- 4.安装JDK1.8
- 4.1 先确认以前有没有安装过
- 4.2 删除旧版本
- 4.3 检索包含java的列表
- 4.4 检索1.8的列表
- 4.5 安装1.8.0的所有文件
- 4.6 使用命令检查是否安装成功
- 5 安装tomcat8
- 5.1 下载Tomcat8压缩包
- 5.2 防火墙操作
- 5.3 安装tomcat
- 6 安装Redis
- 6.1 安装
- 1 下载redis
- 2 解压
- 3 编译安装Redis
- 4 配置Redis
- 7 安装Nginx
- 7.1 安装所需插件
- 1 安装gcc
- 2 pcre、pcre-devel安装
- 3 zlib安装
- 4 安装openssl
- 7.2 安装nginx
- 1 下载nginx安装包
- 2 把压缩包解压到usr/local/java
- 3 切换到cd /usr/local/java/nginx-1.9.9/下面
- 4 切换到/usr/local/nginx安装目录
- 5 配置nginx的配置文件nginx.conf文件,主要也就是端口
- 6 启动nginx服务
- 7 查看nginx服务是否启动成功
- 附:linux7常用指令
一.软件安装
由于网上没有完整的centos7.2开发软件安装教程,所以在这里记录一下,方便以后自己查看或给有需要的人。安装内容有:MySQL,Redis,SVN 1.7.14,jdk,tomcat,nginx。
1.centos 7.2 创建
1.1 下载镜像
1.2 创建过程
一直点下一步,随意设置电脑名,用户名,密码
1.3 设置静态ip
cd /etc/sysconfig/network-scripts/
vim这个
重启网卡
systemctl restart network
2. MySql 5.7
2.1 到mysql的官网下载yum repo配置文件(因为centos的yum源中没有MySQL)
先下载:
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
然后进行repo的安装:
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo
cd /etc/yum.repos.d/
ls
2.2 使用yum命令即可完成MySQL安装
注意:必须进入到 /etc/yum.repos.d/目录后再执行以下脚本
1、安装命令:
yum install mysql-server
2、启动msyql:
systemctl start mysqld #启动MySQL
3、获取安装时的临时密码(在第一次登录时就是用这个密码):
grep 'temporary password' /var/log/mysqld.log
执行结果如下:
4、倘若没有获取临时密码,则
4.1、删除原来安装过的mysql残留的数据
rm -rf /var/lib/mysql
4.2.再启动mysql
systemctl start mysqld #启动MySQL
2.3 登录MySQL
1、方式一(已验证):(注意输入密码时可能会看不见,但实际是输入了的)
mysql -u root -p
然后输入密码(刚刚获取的临时密码)
2、方式二(未验证):
进入mysql数据库
root@test:/home# mysql -uroot -proot <uroot是用户名,proot是密码>
如:
root@test:/home# mysql -root -XXXX
3、若登录不了,则进行以下配置,跳过登录验证
3.1、重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:
3.2、vim /etc/my.cnf(注:windows下修改的是my.ini)
在文档内搜索mysqld定位到[mysqld]文本段:
/mysqld(在vim编辑状态下直接输入该命令可搜索文本内容)
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程
3.3、保存文档并退出:
#:wq
3.4、接下来我们需要重启MySQL:
2.4 登录成功后修改密码
1、注意:这里会进行密码强度校验(密码设置时必须包含大小写字母、特殊符号、数字,并且长度大于8位)
2、如不满足以上条件则会报错,如下图:
密码策略问题异常信息:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
3、解决办法:
3.1、查看 mysql 初始的密码策略,
输入语句下面语句进行查看:
SHOW VARIABLES LIKE 'validate_password%';
如下图:
3.2、首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,
输入设值语句进行设值
set global validate_password_policy=LOW;
3.3、当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可,
输入设值语句下面语句进行设值
set global validate_password_length=6;
3.4、现在可以为 mysql 设置简单密码了,只要满足六位的长度即可,
输入修改语句
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root123456';
可以看到修改成功,表示密码策略修改成功了!!!
3.5、注:在默认密码的长度最小值为 4 ,由 大/小写字母各一个 + 阿拉伯数字一个 + 特殊字符一个,
只要设置密码的长度小于 3 ,都将自动设值为 4 ,
3.6、关于 mysql 密码策略相关参数;
1)、validate_password_length 固定密码的总长度;
2)、validate_password_dictionary_file 指定密码验证的文件路径;
3)、validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
4)、validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
5)、validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
关于 validate_password_policy 的取值:
LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
6)、validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
2.5 修改密码
1、方式一(已验证):
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘@你的密码’;
2、方式二(未验证)
set password=password(“你的密码”);
2.6 开启远程控制
MySQL默认是没有开启远程控制的,必须添加远程访问的用户,即默认是只能自己访问,别的机器是访问不了的。
1、方式一(已验证):
1.1、连接服务器: mysql -u root -p
1.2、看当前所有数据库:show databases;
1.3、进入mysql数据库:use mysql;
1.4、查看mysql数据库中所有的表:show tables;
1.5、查看user表中的数据:select Host, User,Password from user;
1.6、修改user表中的Host: update user set Host=’%’ where User=‘root’;
说明: % 代表任意的客户端,可替换成具体IP地址。
1.7、最后刷新一下:flush privileges;
1.8、注意:一定要记得在写sql的时候要在语句完成后加上" ; "
2、方式二(未验证):
1、使用 grant 命令
grant all privileges on 数据库名.表名 to 创建的用户名(root)@"%" identified by “密码”;
2、格式说明:
数据库名.表名 如果写成*.*代表授权所有的数据库 flush privileges; #刷新刚才的内容
如:
grant all privileges on . to root@“113.123.123.1” identified by “123456789”;
@ 后面是访问mysql的客户端IP地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 为本地访问(那此用户就不能远程访问该mysql数据库了)
七、其他配置
1、设置安全选项:
mysql_secure_installation
2、关闭MySQL
systemctl stop mysqld
3、重启MySQL
systemctl restart mysqld
4、查看MySQL运行状态
systemctl status mysqld
5、设置开机启动
systemctl enable mysqld
6、关闭开机启动
systemctl disable mysqld
7、配置默认编码为utf8:
vi /etc/my.cnf #添加 [mysqld] character_set_server=utf8 init_connect='SET NAMES utf8'
其他默认配置文件路径:
配置文件:/etc/my.cnf 日志文件:/var/log//var/log/mysqld.log 服务启动脚本:
/usr/lib/systemd/system/mysqld.service socket
文件:
/var/run/mysqld/mysqld.pid
8、查看版本
select version();
3. SVN安装
3.1 Windows安装
下载TortoiseSVN-1.11.1.28492-x64-svn-1.11.1,直接安装即可。如果需要汉化,下载对应的汉化软件即可。(官网下载)
Svn服务端centos7安装:
3.2 centos安装
1.安装指令
yum install -y subversion
查询是否安装成功
svnserve --version
查看安装路径
whereis svn
2.配置
采用为每个项目单独建一版本库的策略。
配置文件,密码文件,访问控制文件等都放在版本库的conf目录下。
所以每次开始一个新项目都必须新建一个版本库,并重新配置各配置文件。
还有很重要的一条,要求各组员重新配置客户端,包括服务器版本库路径,本地路径等信息。
1 仓库
建立版本库目录(可建立多个,新建库后以下各项都需重新配置。注意区别安装目录与版本库目录,以下讲的都是版本库目录)
mkdir –p /svndata/repos
建立svn版本库(与上面目录对应)
svnadmin create /svndata/repos
执行此命令后svn自动在repos目录下添加必须的配置文件.
注意:版本库不同于一般的文件夹, 直接在操作系统上新建文件无法被SVN识别, 必须使用import等命令将文件导入版本库.
此为svn内部指令,create用于新建版本库。请使用svn help查看详细说明。
2 修改版本库配置文件
vi /opt/svndata/repos/conf/svnserve.conf
各参数功能在配置文件的注释中有说明, 此处配置如下:
[general]
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = /opt/svndata/repos/conf/pwd.conf # 指明密码文件路径
authz-db = /opt/svndata/repos/conf/authz.conf # 访问控制文件
我的linux中指定上边两项的路径如下:
password-db = passwd
authz-db = authz
这样写简单,文件就在svnserve.conf同级目录下
realm = /svndata/repos # 认证命名空间,
subversion会在认证提示里显示,并且作为凭证缓存的关键字。
版本库路径其它采用默认配置. 各语句都必须顶格写, 左侧不能留空格, 否则会出错.其中pwd.conf 与 authz.conf 在新建版本库时系统不会自动创建,需要自己创建。
指令简介:这是svn配置文件的格式,请按照以上格式书写。
3 配置用户
vi /svndata/repos/conf/pwd.conf
输入以下内容:
[users]
username1 = password1
username2 = password2
可以添加多个,此为用户名密码对。
4 配置权限
vi /svndata/repos/conf/authz.conf
指令简介:此配置文件采用“基于路径的授权”策略,中括号里指定路径,以下列出对各用户的授权。包括只读r,读写rw。没有列出的用户,则不允许访问。还可以对用户分组,具体请参考svn手册,以下是简单例子:
[/svndata/repos]
user1 = rw
user2 = r
5 使用import导入文件
新建好的版本库是空的,需要导入工作目录。
1 $ svnadmin create /usr/local/svn/newrepos (创建版本库)
2 $ svn import mytree file:///usr/local/svn/newrepos/project(把本机mytree目录树导入版本库中的project下)
例如: svn import /var/www/ file:///usr/local/svn/newrepos/project
但是在导入后,原来的目录树并没有转换成工作拷贝,为了开始工作,还是需要运行svn checkout导出一个工作拷贝。因为导入后,文件在版本库中是以特殊的形式存在db文件夹中的,不能以明文的方式查看。必须使用svn checkout导出工作副本(workcopy)才能以正常方式查看。
svn checkout file:///usr/local/svn/newrepos/project workcopy
例如:svn checkout file:///usr/local/svn/newrepos/project /root/svndata(导出版本库到/root/svndata下)
6 启动服务
执行下面指令启动服务, 以deamon方式运行。
svnserve –d –r /opt/svndata/repos/ [ --listen-port 3690 ]
本系统采用svnserve方式, 这是小团队项目的推荐方法. 这种方法维护最少, 配置最简单。
指令简介:此指令用于启动svn服务,-d指明以守护模式运行,svn自动在3690端口监听。3690是默认端口,可以使用“–listen-port=”或者“–listen-host=”来指定其它端口。-r选项用来指定svn服务的根目录,这样用户就可以使用相对路径访问,而不用提供完整路径。
使用以下命令检出:(svnserver方式)
svn checkout svn://127.0.0.1/dir
以上为示例。IP需要根据具体情况调整,dir为版本库路径,若在启动时已指定则可省略。
版本库信息在版本库文件夹里,所以要删除版本库只需要删除版本库所在的文件夹即可。
另外工作副本只是自己维护的文件夹,可以用Windows直接删掉,对别人没有影响。千万不要使用版本库的删除命令,否则版本库里的内容也会被删除。
3.3 使用中遇到的问题:
问题一、Error:Can’t connect to host: 由于目标机器积极拒绝,无法连接。
解决办法:首先测试svn的3690端口是否打开:
telnet localhost 3690
如果不成功说明服务没有被正常启动,请参考前面步骤。可以将svn服务加入自启动:
参考:
问题二、Error:No repository found in svn://192.168.1.110/svn/repos/test
解决方法:
A、测试1:
①运行svnserve -d -r e:\svn\repos\test //指定test根目录为服务的根目录
②运行svn://192.168.1.188,可以正常访问修改test。
③运行svn://192.168.1.188/test
出现svn://192.168.1.188/test non-existent in
B、测试2:
①运行svnserve -d -r e:\svn\repos //指定test上层目录为服务的根目录
②运行svn://192.168.1.188/test,可以正常访问修改Repository
③运行svn://192.168.1.110
出现Error:No repository found in svn://192.168.1.188
C、结论:
①SVN服务启动时指定的根目录不同,会影响相同URL的访问结果。
②SVN在访问指定路径时会从服务的根目录下寻找,即基于我们启动服务时指定的根目录。
③svn://192.168.1.188指向默认的test
svn://192.168.1.188/test指向test
④测试1失败是因为已经把路径直接指向了test的根目录。
⑤测试2失败是因为只是把路径指向了test的上层目录。
解决如下:
svn://192.168.1.188/repos/test而不是 svn://192.168.1.188/svn/repos/test
问题三:提交时发生错误
$:svn ci
svn: Commit failed (details follow):
svn: Could not use external editor to fetch log message; consider setting the $SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options
svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no ‘editor-cmd’ run-time configuration option was found
解决:svn ci -m “添加提交说明信息”。
或者:
问题原因是:
没有设置svn编辑器的环境变量,主要是import、commit中填写comment要用
在 终端中 sudo vim /etc/bashrc 打开文件
加入:export SVN_EDITOR=vim
如果,保存的时候,无法保存。wq! 强制保存退出
编辑完以后一般需要让配置文件立即生效,可执行命令:
source /etc/bashrc
问题四:window下的导出版本库没有对号,差号等图标:
1.执行以下"Cleanup"试试。
2.重启试试。
问题五:show log只显示nodate,没有提交信息:
解决:
此问题主要出现在svnserve.conf文件中的anon-access访问权限的设置问题上。使用SVN客户端SHOW LOG时,
1.找到你SVN版本库下conf文件夹下的svnserve.conf文件
2.打开svnserve.conf文件,将其中名为anon-access的一项设置为 anon-access = none。
这样的话,日志文件即可显示正常。
具体原因参看:http://blog.sina.com.cn/s/blog_672f71fc010107ed.html
svn修改配置文件不需要重启,直接生效。如果修改为none仍旧不显示日志,可以提交一个版本后再查看
4.安装JDK1.8
4.1 先确认以前有没有安装过
rpm -qa |grep java
rpm -qa |grep jdk
rpm -qa |grep gcj
如果没有输入信息表示没有安装。
4.2 删除旧版本
rpm -qa | grep java | xargs rpm -e --nodeps
批量卸载所有带有Java的文件 这句命令的关键字是java
4.3 检索包含java的列表
yum list java*
4.4 检索1.8的列表
yum list java-1.8*
4.5 安装1.8.0的所有文件
yum install java-1.8.0-openjdk* -y
4.6 使用命令检查是否安装成功
java -version
查询java安装路径
先用which java查询到执行路径
再用ls -lrt查询到具体的路径
5 安装tomcat8
5.1 下载Tomcat8压缩包
进入 http://tomcat.apache.org/download-80.cgi
(注:更改文件权限命令:chmod 777 文件名)
5.2 防火墙操作
查看防火墙
firewall-cmd --state或者systemctl status firewallld
开启防火墙:
systemctl start firewalld
关闭防火墙:
systemctl stop firewalld
重启防火墙:
firewall-cmd --reload
在/usr/local 目录下新建java文件夹
mkdir /usr/local/java
5.3 安装tomcat
将tomcat拷贝到 /usr/local/java 进入到java文件夹,解压压缩包
tar -zxvf apache-tomcat-8.0.53.tar.gz
重命名文件为tomcat
mv apache-tomcat-8.0.50 tomcat8
修改环境变量
在 /etc/profile 末尾添加如下配置
CATALINA_BASE=/usr/local/java/tomcat8 PATH=$PATH:$CATALINA_BASE/bin
#export 使上述配置⽣效
export CATALINA_BASE PATH
重新加载环境变量
source /etc/profile
配置防火墙,开放8080端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
启动tomcat:
cd到tomcat8的bin目录下
cd /usr/local/java/tomcat8/bin
启动和关闭tomcat
./startup.sh 启动
./shutdown.sh 关闭
浏览器测试,输入下面地址,出现小猫即可
localhost:8080
6 安装Redis
redis版本: 4.0.2
6.1 安装
安装过程:
1 下载redis
wget http://download.redis.io/releases/redis-4.0.2.tar.gz
2 解压
tar -xzvf redis-4.0.2.tar.gz
3 编译安装Redis
切换至程序目录
cd redis-4.0.2
执行make命令编译(执行前需要确认有GCC环境):
make
这里可能会报 cc 命令找不到,需要安装gcc:
yum -y install gcc automake autoconf libtool make
再次执行make命令,会报错,需要把文件删掉,重新解压,再运行make命令
make命令成功后,执行安装命令
make install
至此,安装完成。
4 配置Redis
把redis配置为随机启动,类似于windows的服务,开机启动。
centos下配置随机启动需要在目录/etc/init.d中添加启动脚本,启动脚本的模板在redis源代码目录的utils文件夹中:redis_init_script
我们把这个文件复制到/etc/init.d文件夹中,并重命名为redis_6379, 我们这个服务名也就为redis_6379了
再来看下这个文件的内容:
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
# as it does use of the /proc filesystem.
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac
注意:
第四行和第五行,是我们后加入的。
$EXEC $CONF 代码中变量赋值,exec为redis-server命令路径,conf为配置文件,配置文件为/etc/redis/6379.conf,这个文件还没有,我们下面来配置它:看到里面的start stop命令,应该就非常熟悉了。注意start命令中,执行的启动命令为
创建目录/etc/redis。 配置文件的模板还在在redis源码中找:redis-4.0.2/redis.conf
将这个配置文件复制到/etc/redis目录 ,并重命名为6379.conf。
打开这个文件并修改:
这里贴出关键修改代码:
# 注释掉它,以便让外网访问
# bind 127.0.0.1
# 关闭保护模式
protected-mode no
# Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
# 启用守护进程后,Redis会把pid写到一个pidfile中,在/var/run/redis.pid
daemonize yes
# 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定
pidfile /var/run/redis_6379.pid
# 指定Redis监听端口,默认端口为6379
# 如果指定0端口,表示Redis不监听TCP连接
port 6379
# 工作目录.
# 指定本地数据库存放目录,文件名由上一个dbfilename配置项指定
#
# Also the Append Only File will be created inside this directory.
#
# 注意,这里只能指定一个目录,不能指定文件名
dir /var/redis/6379
最后一行 /var/redis/6379 这个目录还没有,需要我们创建,用于存放redis的持久化文件。
然后执行命令:
#设置开机执行redis脚本
chkconfig redis_6379 on
通过上面的操作后,我们就可以通过 如下命令启动,停止redis了
service redis_6379 start
service redis_6379 stop
7 安装Nginx
7.1 安装所需插件
1 安装gcc
gcc是linux下的编译器在此不多做解释,感兴趣的小伙伴可以去查一下相关资料,它可以编译 C,C++,Ada,Object C和Java等语言
命令:查看gcc版本
gcc -v
一般阿里云的centOS7里面是都有的,没有安装的话会提示命令找不到
安装命令:
yum -y install gcc
2 pcre、pcre-devel安装
pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。
安装命令:
yum install -y pcre pcre-devel
3 zlib安装
zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装
安装命令:
yum install -y zlib zlib-devel
4 安装openssl
openssl是web安全通信的基石,没有openssl,可以说我们的信息都是在裸奔。。。。。。
安装命令:
yum install -y openssl openssl-devel
7.2 安装nginx
1 下载nginx安装包
wget http://nginx.org/download/nginx-1.9.9.tar.gz
2 把压缩包解压到usr/local/java
tar -zxvf nginx-1.9.9.tar.gz
3 切换到cd /usr/local/java/nginx-1.9.9/下面
执行三个命令:
./configure
make
make install
4 切换到/usr/local/nginx安装目录
cd /usr/local/nginx
5 配置nginx的配置文件nginx.conf文件,主要也就是端口
vim /usr/local/nginx/conf/nginx.conf
可以按照自己服务器的端口使用情况来进行配置
ESC键,wq!强制保存并退出
6 启动nginx服务
切换目录到/usr/local/nginx/sbin下面,启动nginx命令:
./nginx
7 查看nginx服务是否启动成功
ps -ef | grep nginx
附:linux7常用指令