centos7.2软件安装

一.软件安装

由于网上没有完整的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服务加入自启动:

参考:http://blog.csdn.net/lqg1122/article/details/7345671

问题二、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常用指令

Linux常用指令

参考链接:
https://blog.csdn.net/wohiusdashi/article/details/89358071
https://www.jianshu.com/p/ad76ac7db32b
https://blog.csdn.net/yycoolsam/article/details/91377807
https://blog.csdn.net/qq_42570879/article/details/82862585
https://www.cnblogs.com/hankuikui/p/9111210.html
https://blog.csdn.net/qq_37345604/article/details/90034424

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值