狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 !
linux学习:【第3篇】远程连接及软件安装
远程连接
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
停止进程 : [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软件包 : rpm -qa|grep jdk
- 卸载JDK : rpm -e [已安装JDK软件包]
- 安装JDK软件包
- rpm -ivh[软件包目录]
- 配置环境变量 , 修改/etc/profile文件
# vim /etc/profile 进入编辑 export JAVA_HOME=/usr/java/jdk1..0_201-amd64 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
- 测试配置文件
- 使用命令 : source /etc/profile让配置文件生效
- 使用命令 : java -version检测是否安装成功
- 写一段代码试试吧
# 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.gz -C /www/server #解压 cd /www/server #切换目录 / tomcat9 #改文件夹名
- 使用sh命令启动Tomcat
- 开启服务器8080端口
#查看防火墙状态 firewall-cmd --state #开启防火墙 systemctl start firewalld.service #开启8080端口 firewall-cmd --zone=public --add-port=/tcp --permanent 解释这个命令: --zone=public:表示作用域为公共的; --add-port=/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-.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 = expire_logs_days = validate_password=off default_password_lifetime= //保存! //重启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 | | | validate_password_mixed_case_count | | | validate_password_number_count | | | validate_password_policy | MEDIUM | | validate_password_special_char_count | | +--------------------------------------+--------+ rows in set (0.01 sec) //根据官方文档可以发现策略为1,即MEDIUM //5.7默认会安装这个插件,若没有安装,则SHOW VARIABLES LIKE 'vali%'则会返回空。 //对应参数的value值也为默认值,以下是这些值的解释 validate_password_length # 密码的最小长度,此处为8。 validate_password_mixed_case_count # 至少要包含小写或大写字母的个数,此处为1。 validate_password_number_count # 至少要包含的数字的个数,此处为1。 validate_password_policy MEDIUM # 强度等级,其中其值可设置为0、、。分别对应: 【/LOW】:只检查长度。 【/MEDIUM】:在0等级的基础上多检查数字、大小写、特殊字符。 【/STRONG】:在1等级的基础上多检查特殊字符字典文件,此处为1。 validate_password_special_char_count # 至少要包含的个数字符的个数,此处为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(") 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 | :: epel | :: extras | :: updates | :: (/): base//x86_64/group_gz | kB :: (/): epel/x86_64/group_gz | kB :: (/): epel/x86_64/updateinfo | kB :: (/): epel/x86_64/primary_db | :: (/): extras//x86_64/primary_db | kB :: (/): base//x86_64/primary_db | :: (/): updates//x86_64/primary_db | :: Determining fastest mirrors Resolving Dependencies --> Running transaction check ---> Package subversion.x86_64 :-.el7 will be installed --> Processing Dependency: subversion-libs(x86-) = -.el7 -.el7.x86_64 --> Processing Dependency: libsvn_wc-.so.()(64bit) -.el7.x86_64 --> Processing Dependency: libsvn_subr-.so.()(64bit) -.el7.x86_64 --> Processing Dependency: libsvn_repos-.so.()(64bit) -.el7.x86_64 --> Processing Dependency: libsvn_ra_svn-.so.()(64bit) -.el7.x86_64 --> Processing Dependency: libsvn_ra_neon-.so.()(64bit) -.el7.x86_64 --> Processing Dependency: libsvn_ra_local-.so.()(64bit) -.el7.x86_64 --> Processing Dependency: libsvn_ra-.so.()(64bit) -.el7.x86_64 --> Processing Dependency: libsvn_fs_util-.so.()(64bit) -.el7.x86_64 --> Processing Dependency: libsvn_fs_fs-.so.()(64bit) -.el7.x86_64 --> Processing Dependency: libsvn_fs_base-.so.()(64bit) -.el7.x86_64 --> Processing Dependency: libsvn_fs-.so.()(64bit) -.el7.x86_64 --> Processing Dependency: libsvn_diff-.so.()(64bit) -.el7.x86_64 --> Processing Dependency: libsvn_delta-.so.()(64bit) -.el7.x86_64 --> Processing Dependency: libsvn_client-.so.()(64bit) -.el7.x86_64 --> Processing Dependency: libneon.so.()(64bit) -.el7.x86_64 --> Processing Dependency: libaprutil-.so.()(64bit) -.el7.x86_64 --> Processing Dependency: libapr-.so.()(64bit) -.el7.x86_64 --> Running transaction check ---> Package apr.x86_64 :-.el7_4. will be installed ---> Package apr-util.x86_64 :-.el7 will be installed ---> Package neon.x86_64 :-.el7 will be installed --> Processing Dependency: libgnutls.so.(GNUTLS_2_12)(64bit) -.el7.x86_64 --> Processing Dependency: libgnutls.so.(GNUTLS_1_4)(64bit) -.el7.x86_64 --> Processing Dependency: libproxy.so.()(64bit) -.el7.x86_64 --> Processing Dependency: libpakchois.so.()(64bit) -.el7.x86_64 --> Processing Dependency: libgnutls.so.()(64bit) -.el7.x86_64 ---> Package subversion-libs.x86_64 :-.el7 will be installed --> Running transaction check ---> Package gnutls.x86_64 :-.el7 will be installed --> Processing Dependency: trousers >= -.el7.x86_64 --> Processing Dependency: libnettle.so.()(64bit) -.el7.x86_64 --> Processing Dependency: libhogweed.so.()(64bit) -.el7.x86_64 ---> Package libproxy.x86_64 :-.el7 will be installed --> Processing Dependency: libmodman.so.()(64bit) -.el7.x86_64 ---> Package pakchois.x86_64 :.el7 will be installed --> Running transaction check ---> Package libmodman.x86_64 :-.el7 will be installed ---> Package nettle.x86_64 :-.el7 will be installed ---> Package trousers.x86_64 :-.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================== Package Arch Version Repository Size ============================================================================================== Installing: subversion x86_64 -.el7 base 1.0 M Installing for dependencies: apr x86_64 -.el7_4. base k apr-util x86_64 -.el7 base k gnutls x86_64 -.el7 base k libmodman x86_64 -.el7 base k libproxy x86_64 -.el7 base k neon x86_64 -.el7 base k nettle x86_64 -.el7 base k pakchois x86_64 .el7 base k subversion-libs x86_64 -.el7 base k trousers x86_64 -.el7 base k Transaction Summary ============================================================================================== Install Package (+ Dependent packages) Total download size: 3.6 M Installed size: M Downloading packages: (/): apr-util--.el7.x86_64.rpm | kB :: (/): apr--.el7_4..x86_64.rpm | kB :: (/): libmodman--.el7.x86_64.rpm | kB :: (/): libproxy--.el7.x86_64.rpm | kB :: (/): gnutls--.el7.x86_64.rpm | kB :: (/): neon--.el7.x86_64.rpm | kB :: (/): nettle--.el7.x86_64.rpm | kB :: (/): pakchois-.el7.x86_64.rpm | kB :: (/): subversion-libs--.el7.x86_64.rpm | kB :: (/): trousers--.el7.x86_64.rpm | kB :: (/): subversion--.el7.x86_64.rpm | :: ---------------------------------------------------------------------------------------------- Total MB/s | :: Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : apr--.el7_4..x86_64 / Installing : apr-util--.el7.x86_64 / Installing : pakchois-.el7.x86_64 / Installing : nettle--.el7.x86_64 / Installing : libmodman--.el7.x86_64 / Installing : libproxy--.el7.x86_64 / Installing : trousers--.el7.x86_64 / Installing : gnutls--.el7.x86_64 / Installing : neon--.el7.x86_64 / Installing : subversion-libs--.el7.x86_64 / Installing : subversion--.el7.x86_64 / Verifying : trousers--.el7.x86_64 / Verifying : libmodman--.el7.x86_64 / Verifying : neon--.el7.x86_64 / Verifying : subversion--.el7.x86_64 / Verifying : subversion-libs--.el7.x86_64 / Verifying : apr-util--.el7.x86_64 / Verifying : nettle--.el7.x86_64 / Verifying : gnutls--.el7.x86_64 / Verifying : pakchois-.el7.x86_64 / Verifying : apr--.el7_4..x86_64 / Verifying : libproxy--.el7.x86_64 / Installed: subversion.x86_64 :-.el7 Dependency Installed: apr.x86_64 :-.el7_4. apr-util.x86_64 :-.el7 gnutls.x86_64 :-.el7 libmodman.x86_64 :-.el7 libproxy.x86_64 :-.el7 neon.x86_64 :-.el7 nettle.x86_64 :-.el7 pakchois.x86_64 :.el7 subversion-libs.x86_64 :-.el7 trousers.x86_64 :-.el7 Complete! [root@iZuf69s5ga2219syf1pqgpZ ~]# svn --version svn, version (r1542130) compiled Apr , :: Copyright (C) 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
- 创建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=/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=
-
用户密码passwd配置
文件都在svn的 conf/ 目录下
修改passwd:
[users]
# harry = harryssecret
# sally = sallyssecret
admin = 123456
guest = 000000用户名=密码
这样我们就建立了两个用户
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
权限控制authz配置
vi authz
设置哪些用户可以访问哪些目录,向authz文件追加以下内容:#设置[/]代表根目录下所有的资源 或者写成[kuangshen:/][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地址/库名 连接
输入用户名和密码 , 就可以连接成功了!