linux学习:【第3篇】远程连接及软件安装
狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 !
linux学习:【第3篇】远程连接及软件安装
远程连接
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。xshell , xftp软件官网 : netsarang官网
Xftp : 远程文件传输软件
- 远程协议使用SFTP , 端口 : 22
Xshell : 远程终端模拟软件
- 远程连接协议用SSH , 端口号 :22
虚拟机中linux查看主机IP命令 : ifconfig
注 : 真实服务器可以从服务器提供商处获取ip(如:腾讯云或阿里云)
启动网卡命令 : ifconfig [网卡标识] up
关闭网卡命令 : ifconfig [网卡标识] down
重新获取IP命令 : dhclient
Linux进程
Linux进程PID : Linux系统中的进程的唯一标识
Ps是linux中非常强大的进程查看工具,其中-e为显示所有进程,-f为全格式显示。
Grep是一个非常高效的查询工具,可以查询文本中带有某关键字的行。
'' | '' : 管道符,可理解为前一个命令的输出 , 作为后一个命令的输入.
ps –ef |grep java
停止进程 : kill -9 [PID] (除了-9还有其他参数,大家可以自己百度)
服务相关命令 :
service 服务名 start 启动服务
service 服务名 stop 停止服务
service 服务名 restart 重启服务
service 服务名 status 服务状态
...
Linux软件安装
- tar : 解压安装
- 安装包格式 : tar , tar.gz , tar.bz
- 安装软件包 : tar -zxvf [ 包名 ]
- rpm : 直接安装
- 安装包格式 : rpm
- 安装软件包 : rpm -ivh 软件包路径
- 卸载软件包 : rpm -e 软件包全名
- yum : 在线安装
- 安装软件包 : yum -y install subversion
- 卸载软件包 : yum -y remove subversion
安装JDK
利用rpm安装
- 下载JDK的rpm软件包 官网地址
- 检测JDK是否安装
- 安装JDK软件包
- 配置环境变量 , 修改/etc/profile文件
# vim /etc/profile 进入编辑 export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
- 测试配置文件
- 写一段代码试试吧
# cd kuangshen/Desktop/ 到桌面下 # vim HelloWorld.java 新建一个java public class HelloWorld { public static void main(String[]agrs) { System.out.println("HelloWorld!"); } } # 保存 # javac HelloWorld.java 编译 # java HelloWorld 执行
安装Tomcat
利用tar.jz解压安装
- 下载Tomcat 9 安装包> 官网链接
- 将Tomcat解压到指定目录,并将文件名修改为Tomcat 9
# 我把文件解压在 /www/server下 , 没有的可以自己创建~ tar -zxvf apache-tomcat-9.0.14.tar.gz -C /www/server #解压 cd /www/server #切换目录 mv apache-tomcat-9.0.14/ tomcat9 #改文件夹名
- 使用sh命令启动Tomcat
- 开启服务器8080端口
#查看防火墙状态 firewall-cmd --state #开启防火墙 systemctl start firewalld.service #开启8080端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent 解释这个命令: --zone=public:表示作用域为公共的; --add-port=8080/tcp:添加tcp协议的端口8080; --permanent:永久生效,如果没有此参数,则只能维持当前服务生命周期内,重新启动后失效; # 重启防火墙 systemctl restart firewalld.service # 输入命令重新载入配置 firewall-cmd --reload
#查看开启的端口列表
firewall-cmd --permanent --list-port - 用自己的电脑去访问虚拟机中的tomcat , 可以访问就成功了 !
安装MySQL
Mysql去官网即可下载 mysql官网
- 安装前,我们可以检测系统是否自带安装 MySQL
rpm -qa | grep mysql #如果你系统有安装,那可以选择进行卸载 rpm -e mysql // 普通删除模式 rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
- 我们使用yum命令安装MySQL.(下面实操笔记会说我遇到的坑!!!)
//yum下载,所以必须要有网络 //安装MySQL的yum源 wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm rpm -ivh mysql57-community-release-el7-8.noarch.rpm //安装MySQL yum -y install mysql-server //然后中间出现(Y/N)就一直Y就好了,到安装完成 //默认配置文件路径: //配置文件:/etc/my.cnf //日志文件:/var/log/var/log/mysqld.log //服务启动脚本:/usr/lib/systemd/system/mysqld.service //socket文件:/var/run/mysqld/mysqld.pid #我们需要去配置下/etc/my.cnf
- 关于取消强密码验证(大坑)
//[增加如下配置] server_id = 1 expire_logs_days = 3 validate_password=off default_password_lifetime=0 //保存! //重启mysql服务 service mysqld restart //查看随机密码 grep "password" /var/log/mysqld.log //输入密码登录,第一次登陆 ,需要重置密码 要不什么也不能操作 mysql -u root -p //踩过的坑啊,设置了好几次。(重点) //mysql5.7之后,安全性大幅度上升。 //强密码验证的的配置如果你按照上面的方法去做,就已经解决了 //否则就需要去改配置文件,添加 validate_password=off 这是关闭强密码插件,具体解释继续往下看. //进入mysql mysql> SHOW VARIABLES LIKE 'vali%'; //输出 +--------------------------------------+--------+ | Variable_name | Value | +--------------------------------------+--------+ | validate_password_check_user_name | OFF | | validate_password_dictionary_file | | | validate_password_length | 8 | | validate_password_mixed_case_count | 1 | | validate_password_number_count | 1 | | validate_password_policy | MEDIUM | | validate_password_special_char_count | 1 | +--------------------------------------+--------+ 7 rows in set (0.01 sec) //根据官方文档可以发现策略为1,即MEDIUM //5.7默认会安装这个插件,若没有安装,则SHOW VARIABLES LIKE 'vali%'则会返回空。 //对应参数的value值也为默认值,以下是这些值的解释 validate_password_length 8 # 密码的最小长度,此处为8。 validate_password_mixed_case_count 1 # 至少要包含小写或大写字母的个数,此处为1。 validate_password_number_count 1 # 至少要包含的数字的个数,此处为1。 validate_password_policy MEDIUM # 强度等级,其中其值可设置为0、1、2。分别对应: 【0/LOW】:只检查长度。 【1/MEDIUM】:在0等级的基础上多检查数字、大小写、特殊字符。 【2/STRONG】:在1等级的基础上多检查特殊字符字典文件,此处为1。 validate_password_special_char_count 1 # 至少要包含的个数字符的个数,此处为1。
- 登录成功后,修改密码,刷新权限,重启
//修改强密码(如果这个步骤有提示密码太low了就回看上面写的!) alter user 'root'@'localhost' identified by 'Kuang!!2019'; //最后记得刷新权限; flush privileges ; //也可以 直接再添加新用户 CREATE USER ‘root‘@‘%‘ IDENTIFIED BY ‘您的密码‘;
//远程连接需要打开授权开通3306端口 , 否则会报错不被允许登录;
//开端口和上面开8080步骤一样;firewall-cmd --zone=public --add-port=3306/tcp --permanent; 注意刷新
grant all on *.* to 'root'@'%' identified by '123456' with grant option;
//增加root用户指定可以任意IP登录,如果想限制只能让指定IP登录请把%替换成IP地址 - 登录成功,再说下会遇到的问题吧
//修改MySQL的登录设置: #vi /etc/my.cnf //在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出vi。 //重新启动mysqld service mysqld restart //修改密码 use mysql update user set password=password("123456") where user="root"; //mysql 5.7的数据库没有了password字段 用的是authentication_string字段 mysql> update mysql.user set authentication_string=password('root') where user='root' ; //刷新权限 flush privileges; 修改密码之后在改回来
远程连接测试也通过,搞定!
安装SVN
SVN (Subversion) : 版本控制系统
SVN特点 :
- 跨平台
- 简单 , 易用
中央仓库 : SVN服务器上文件的保存位置
工作空间 : 操作者下载到本地的文件的位置
利用yum安装 , 安装之前还是要查看是否已经安装.我们这里用阿里云远程服务器测试
- 安装subversion服务器端
yum -y install subversion
#一会就安装好了,等待安装完成即可(信息如下)[root@iZuf69s5ga2219syf1pqgpZ ~]# yum -y install subversion Loaded plugins: fastestmirror base | 3.6 kB 00:00:00 epel | 4.7 kB 00:00:00 extras | 3.4 kB 00:00:00 updates | 3.4 kB 00:00:00 (1/7): base/7/x86_64/group_gz | 166 kB 00:00:00 (2/7): epel/x86_64/group_gz | 88 kB 00:00:00 (3/7): epel/x86_64/updateinfo | 949 kB 00:00:00 (4/7): epel/x86_64/primary_db | 6.6 MB 00:00:00 (5/7): extras/7/x86_64/primary_db | 156 kB 00:00:00 (6/7): base/7/x86_64/primary_db | 6.0 MB 00:00:00 (7/7): updates/7/x86_64/primary_db | 1.3 MB 00:00:00 Determining fastest mirrors Resolving Dependencies --> Running transaction check ---> Package subversion.x86_64 0:1.7.14-14.el7 will be installed --> Processing Dependency: subversion-libs(x86-64) = 1.7.14-14.el7 for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_wc-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_subr-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_repos-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_ra_svn-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_ra_neon-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_ra_local-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_ra-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_fs_util-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_fs_fs-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_fs_base-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_fs-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_diff-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_delta-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_client-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libneon.so.27()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libaprutil-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libapr-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Running transaction check ---> Package apr.x86_64 0:1.4.8-3.el7_4.1 will be installed ---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed ---> Package neon.x86_64 0:0.30.0-3.el7 will be installed --> Processing Dependency: libgnutls.so.28(GNUTLS_2_12)(64bit) for package: neon-0.30.0-3.el7.x86_64 --> Processing Dependency: libgnutls.so.28(GNUTLS_1_4)(64bit) for package: neon-0.30.0-3.el7.x86_64 --> Processing Dependency: libproxy.so.1()(64bit) for package: neon-0.30.0-3.el7.x86_64 --> Processing Dependency: libpakchois.so.0()(64bit) for package: neon-0.30.0-3.el7.x86_64 --> Processing Dependency: libgnutls.so.28()(64bit) for package: neon-0.30.0-3.el7.x86_64 ---> Package subversion-libs.x86_64 0:1.7.14-14.el7 will be installed --> Running transaction check ---> Package gnutls.x86_64 0:3.3.29-8.el7 will be installed --> Processing Dependency: trousers >= 0.3.11.2 for package: gnutls-3.3.29-8.el7.x86_64 --> Processing Dependency: libnettle.so.4()(64bit) for package: gnutls-3.3.29-8.el7.x86_64 --> Processing Dependency: libhogweed.so.2()(64bit) for package: gnutls-3.3.29-8.el7.x86_64 ---> Package libproxy.x86_64 0:0.4.11-11.el7 will be installed --> Processing Dependency: libmodman.so.1()(64bit) for package: libproxy-0.4.11-11.el7.x86_64 ---> Package pakchois.x86_64 0:0.4-10.el7 will be installed --> Running transaction check ---> Package libmodman.x86_64 0:2.0.1-8.el7 will be installed ---> Package nettle.x86_64 0:2.7.1-8.el7 will be installed ---> Package trousers.x86_64 0:0.3.14-2.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================== Package Arch Version Repository Size ============================================================================================== Installing: subversion x86_64 1.7.14-14.el7 base 1.0 M Installing for dependencies: apr x86_64 1.4.8-3.el7_4.1 base 103 k apr-util x86_64 1.5.2-6.el7 base 92 k gnutls x86_64 3.3.29-8.el7 base 680 k libmodman x86_64 2.0.1-8.el7 base 28 k libproxy x86_64 0.4.11-11.el7 base 64 k neon x86_64 0.30.0-3.el7 base 165 k nettle x86_64 2.7.1-8.el7 base 327 k pakchois x86_64 0.4-10.el7 base 14 k subversion-libs x86_64 1.7.14-14.el7 base 922 k trousers x86_64 0.3.14-2.el7 base 289 k Transaction Summary ============================================================================================== Install 1 Package (+10 Dependent packages) Total download size: 3.6 M Installed size: 12 M Downloading packages: (1/11): apr-util-1.5.2-6.el7.x86_64.rpm | 92 kB 00:00:00 (2/11): apr-1.4.8-3.el7_4.1.x86_64.rpm | 103 kB 00:00:00 (3/11): libmodman-2.0.1-8.el7.x86_64.rpm | 28 kB 00:00:00 (4/11): libproxy-0.4.11-11.el7.x86_64.rpm | 64 kB 00:00:00 (5/11): gnutls-3.3.29-8.el7.x86_64.rpm | 680 kB 00:00:00 (6/11): neon-0.30.0-3.el7.x86_64.rpm | 165 kB 00:00:00 (7/11): nettle-2.7.1-8.el7.x86_64.rpm | 327 kB 00:00:00 (8/11): pakchois-0.4-10.el7.x86_64.rpm | 14 kB 00:00:00 (9/11): subversion-libs-1.7.14-14.el7.x86_64.rpm | 922 kB 00:00:00 (10/11): trousers-0.3.14-2.el7.x86_64.rpm | 289 kB 00:00:00 (11/11): subversion-1.7.14-14.el7.x86_64.rpm | 1.0 MB 00:00:00 ---------------------------------------------------------------------------------------------- Total 12 MB/s | 3.6 MB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : apr-1.4.8-3.el7_4.1.x86_64 1/11 Installing : apr-util-1.5.2-6.el7.x86_64 2/11 Installing : pakchois-0.4-10.el7.x86_64 3/11 Installing : nettle-2.7.1-8.el7.x86_64 4/11 Installing : libmodman-2.0.1-8.el7.x86_64 5/11 Installing : libproxy-0.4.11-11.el7.x86_64 6/11 Installing : trousers-0.3.14-2.el7.x86_64 7/11 Installing : gnutls-3.3.29-8.el7.x86_64 8/11 Installing : neon-0.30.0-3.el7.x86_64 9/11 Installing : subversion-libs-1.7.14-14.el7.x86_64 10/11 Installing : subversion-1.7.14-14.el7.x86_64 11/11 Verifying : trousers-0.3.14-2.el7.x86_64 1/11 Verifying : libmodman-2.0.1-8.el7.x86_64 2/11 Verifying : neon-0.30.0-3.el7.x86_64 3/11 Verifying : subversion-1.7.14-14.el7.x86_64 4/11 Verifying : subversion-libs-1.7.14-14.el7.x86_64 5/11 Verifying : apr-util-1.5.2-6.el7.x86_64 6/11 Verifying : nettle-2.7.1-8.el7.x86_64 7/11 Verifying : gnutls-3.3.29-8.el7.x86_64 8/11 Verifying : pakchois-0.4-10.el7.x86_64 9/11 Verifying : apr-1.4.8-3.el7_4.1.x86_64 10/11 Verifying : libproxy-0.4.11-11.el7.x86_64 11/11 Installed: subversion.x86_64 0:1.7.14-14.el7 Dependency Installed: apr.x86_64 0:1.4.8-3.el7_4.1 apr-util.x86_64 0:1.5.2-6.el7 gnutls.x86_64 0:3.3.29-8.el7 libmodman.x86_64 0:2.0.1-8.el7 libproxy.x86_64 0:0.4.11-11.el7 neon.x86_64 0:0.30.0-3.el7 nettle.x86_64 0:2.7.1-8.el7 pakchois.x86_64 0:0.4-10.el7 subversion-libs.x86_64 0:1.7.14-14.el7 trousers.x86_64 0:0.3.14-2.el7 Complete! [root@iZuf69s5ga2219syf1pqgpZ ~]# svn --version svn, version 1.7.14 (r1542130) compiled Apr 11 2018, 02:40:28 Copyright (C) 2013 The Apache Software Foundation. This software consists of contributions made by many people; see the NOTICE file for more information. Subversion is open source software, see http://subversion.apache.org/ The following repository access (RA) modules are available: * ra_neon : Module for accessing a repository via WebDAV protocol using Neon. - handles 'http' scheme - handles 'https' scheme * ra_svn : Module for accessing a repository using the svn network protocol. - with Cyrus SASL authentication - handles 'svn' scheme * ra_local : Module for accessing a repository on local disk. - handles 'file' scheme
View Code - 创建SVN资源库目录
mkdir /opt/svn
- 生成SVN资源目录
svnadmin create /opt/svn/kuangshen
出现以下文件,说明已经建立OK - 开启3690端口
#查看防火墙状态 firewall-cmd --state #开启防火墙 systemctl start firewalld.service #开启3690端口 firewall-cmd --zone=public --add-port=3690/tcp --permanent # 重启防火墙 systemctl restart firewalld.service # 输入命令重新载入配置 firewall-cmd --reload #查看开启的端口列表 firewall-cmd --permanent --list-port
- 使用命令svnserve启动服务
#查看是否启动svn服务 ps -ef|grep svn 使用命令svnserve启动服务 svnserve -d -r /opt/svn --listen-port=3690
-
用户密码passwd配置
文件都在svn的 conf/ 目录下
修改passwd:
[users]
# harry = harryssecret
# sally = sallyssecret
admin = 123456
guest = 000000用户名=密码
这样我们就建立了两个用户
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
权限控制authz配置
vi authz
#设置[/]代表根目录下所有的资源 或者写成[kuangshen:/]
设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe# [/foo/bar]
# harry = rw
# &joe = r
# * =
admin=user1
guest=user2
[kuangshen:/]
@admin=rw
user2=r以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
- 修改svnserve.conf配置选项
vim svnserve.conf 追加以下内容: [general] #匿名访问的权限,可以是read,write,none,默认为read anon-access=none #使授权用户有写权限 auth-access=write #密码数据库的路径 password-db=passwd #访问控制文件 authz-db=authz #认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字 realm= repo 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
- window安装TortoiseSVN进行远程连接.这个下载后直接安装即可
- 访问SVN
svn://ip地址 端口默认为3690,输入配置好的用户名和密码即可。 注意: svn://ip地址/库名,使用svnserve -d -r /opt/svn 以多库svnserve方式启动SVN 我们这里使用 svn://ip地址/库名 连接
输入用户名和密码 , 就可以连接成功了!
