收藏文章 楼主

linux第四次学习-in update

版块:linux   类型:普通   作者:小绿叶技术博客   查看:1338   回复:6   获赞:2   时间:2020-07-02 13:48:32

1

 问题描述

1.搭建zabbix

2.Firewall、iptables防火墙限制IP端口

3.搭建WordPress并破解后台登录密码

4.配置常见301重定向

5.http常见5xx、4xx状态原因和异常处理


1.搭建zabbix

yum install -y ntpdate # 安装时间工具

timedatectl set-timezone Asia/Shanghai

# 设置时区:亚洲/上海

systemctl restart ntpdate # 重新启动ntp

systemctl enable ntpdate # 添加开机启动; system [ˈsɪstəm] 系统; enable [ɛˈnebəl] 启动;  

cat /etc/redhat-release  # 查看系统版本

yum install -y wget # 下载工具

rpm -Uvh http://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm

# -U upgrade [ʌpˈɡreɪd] 改进 

# -v verbose [vəːˈbəʊs] 沉长的;provide more detailed output   [prəˈvʌɪd] [mɔr] [ˈdiːteɪld]  [ˈaʊtpʊt] 提供更详细的输出

# -h hash [haʃ] 在...什么(打撒,混杂);print hash marks as package installs  [mɑːks]标记 [ˈpakɪdʒ] [ɪnˈstɔːl]安装包 ;在软件包安装时打印散列标记

wget -rndp /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# wget -O 下载文件到指定目录;此处是替换原有文件

systemctl stop firewalld # 关闭防火墙 firewall  [ˈfaɪrwɑl]

setenforce 0 临时关闭selinux;永久关闭:sed -i "s/SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config ; reboot

yum -y install httpd mariadb mariadb-server php php-mysql php-bcmath php-mbstring zabbix-server-mysql zabbix-web-mysql zabbix-agent

# 安装mariadb  等软件

sed -i s/index.html/index.php/g /etc/httpd/conf/httpd.conf

# 修改默认访问文件;  find / -name "httpd.conf" | grep "etc"  # 查找 etc目录下的这个文件

# httpd.conf 修改 index 添加运用:x-httpd-php .php  去过滤grep Add 

cat -n `find / -name "httpd.conf" | grep etc` | grep "AddType application" 

cat -n 查看文件显示行号;`find / -name "httpd.conf" | grep etc` 反单引号是执行结果为一个整体变量;find 查找文件路径

# grep 查找

sed -i "272 a\AddType application/x-httpd-php .php" /etc/httpd/conf/httpd.conf

# 添加运用的位置 ; a\ 是在指定272行下面插入字符

# 由上个查看行号有四行,任意位置可以添加,我这里是272行

cat -n /etc/php.ini | grep "date.timezone" # 查看时间区域行号;我这里是878行

sed -i "878 a\date.timezone = Asia/Shanghai" /etc/php.ini 


systemctl start mariadb # 重启mariadb数据库

systemctl enable mariadb # enable [ɛˈnebəl] 启动;开机启动

mysql  # 默认没有密码,直接mysql 进入数据库;设置密码后需要 mysql -uroot -p密码  进入数据库


set password = password('eisccn') ;   # 设置密码

create database zabbix character set utf8 collate utf8_bin;

# create  [kriˈet] 创建 ;database [ˈdædəˌbeɪs] 数据库;character [ˈkɛrɪktər] 字符,设置字符类型,collate [kəˈlet] 核对字符

# 登陆数据库,创建库编码为utf8

grant all on zabbix.* to 'zabbix'@'localhost' identified by '123'

# grant [grænt] 授权;all 所有,on 在...上;    授予zabbix账户在 localhost [ləʊkæl'həʊst] 本机的所有权限; identified [aɪ'dentɪfaɪd] 识别(设置密码)

# identified [aɪ'dentɪfaɪd] 标识;by 由 123密码:设置zabbix 的 DBPassword

# 123 是密码,需要单引号,数据库账户和本机需要

find / -name "create.sql.gz" # 查找数据库文件路径

zcat /usr/share/doc/zabbix-server-mysql-4.4.10/create.sql.gz | mysql -uzabbix -p123 zabbix

# 将查到的文件导入数据库账户 zabbix 下的库名zabbix下

cat -n /etc/zabbix/zabbix_server.conf | grep DBPassword

# 查看到是124行

sed -i "$NRuser a\DBPassword=123" /etc/zabbix/zabbix_server.conf

# 配置密码

/usr/bin/systemctl restart httpd zabbix-server zabbix-agent

/usr/bin/systemctl enable httpd zabbix-server zabbix-agent

# enable [ɛˈnebəl] 启动; 开机启动


#################################添加主机####################################

rpm -Uvh http://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm

yum -y install zabbix-agent

read -p "请输入Zabbix-serve的ip地址:" server_IP

sed -i s/127.0.0.1/$server_IP/g /etc/zabbix/zabbix_agentd.conf

 /bin/systemctl restart zabbix-agent.service


网页操作:

ZABBIX 顶部导航栏 ---> 配置 --- 主机群组 --- 创建主机群组 --- 定义名称:ceshi  --- 点击添加

ZABBIX 顶部导航栏 ---> 配置 --- 主机 --- 创建主机 ---

主机名称:zabbix_ceshi 

群组: 选择刚创建的 ceshi

agent代理程序的接口: 被监控的主机IP地址, 端口10050  保存

ZABBIX 顶部导航栏 ---> 配置 --- 主机 --- 模版 --- 选择模板 Template OS Linux by Zabbix agent --- 更新


ps aux | grep zabbix # 查看服务是否启动

yum install -y telnet # 端口测试工具

telnet x.x.x.x 10050 # 测试端口是否联通

再到首页查看状态


##########################################邮件报警ping监控###################################################

systemctl stop firewalld # 关闭防火墙

yum install fping -y  在server和proxy端均安装fping

FpingLocation=/usr/sbin/fping  # 在server和proxy端的配置文件里面打开注释

telnet hc1.ssh.gs 10050 # ping 端口


ZABBIX 顶部导航栏 ---> 配置 --- 主机群组 --- 点击刚刚创建的用户组里的用户zabbix_cesshi --- 监控项 --- 创建监控项

名称:ping test

类型:简单检查

键值:icmpping[43.225.156.172,2,1000,68,3000]

主机接口:默认

信息类型:数字

更新间隔:30s

自定义时间间隔:类型:灵活    间隔:50s    期间:默认

历史数据保留时长:90d

储存时间 :365d

查看值:不变

应用集:无

保存


ZABBIX 顶部导航栏 ---> 配置 --- 主机群组 --- 点击刚刚创建的用户组里的用户zabbix_cesshi --- 监控项 --- 触发器 --- 创建触发器

名称:fping

严重性:警告

表达式:选择 ping test

保存


ZABBIX 顶部导航栏 ---> 配置 --- 主机群组 --- 点击刚刚创建的用户组里的用户zabbix_cesshi --- 图形 --- 创建图形

名称:fping

监控项 --- 添加 --- ping test

添加保存


##########################################实现邮件报警功能 server 端口配置###################################################

yum install mailx -y # 安装linux邮件工具,在控制节点:server 端进行操作; agent 是被监控端

vi /etc/mail.rc


set bsdcompat

set sendcharsets=iso-8859-1,utf-8

set from=xitong-mail@eisc.cn

set smtp=smtp://smtp.exmail.qq.com

set smtp-auth-user=xitong-mail@eisc.cn

set smtp-auth-password=xxxxxx

set smtp-auth=login

# 编辑邮件登陆配置信息

echo "这是一封测试邮件" | mail -s "zabbix" xxx@eisc.cn

# 测试邮件发送是否正常

mkdir -p /data/zabbix_server/data/alertscripts # 创建发邮件发警的脚本所在目录

zabbix=`find / -name "zabbix_server.conf"` # 查找zabbix配置文件目录,将结果赋值给zabbix变量

cat -n $zabbix | grep "AlertScriptsPath" # 查看需要更改的位置

sed -i "517 s/AlertScriptsPath.*/AlertScriptsPath=\/data\/zabbix_server\/data\/alertscripts/g" $zabbix

# 517 指定517行的内容进行修改

# alert [əˈlərt] 报警 scripts [skripts] 脚本 path [pæθ] 路径

# sed 修改, 将AlertScriptsPath.*  后面的所有内容修改为:AlertScriptsPath=/data/zabbix_server/data/alertscripts   特殊符号 /,用转译 \

systemctl restart zabbix-server.service # 重启服务


vi /data/zabbix_server/data/alertscripts/mailx.sh # 编写发邮件脚本

#!/bin/bash

#echo "$3" | mail -s "$2" "$1"

FILE=/tmp/mailtmp${RANDOM}.txt

touch $FILE

echo "$3" >$FILE

dos2unix -k $FILE

mailx -v -s "$2" "$1" < $FILE

rm -rf $FILE


chmod +x /data/zabbix_server/data/alertscripts/mailx.sh

# 脚本增加执行权限

chown zabbix:zabbix /data/zabbix_server/data/alertscripts/mailx.sh

# chown 文件所有者

sudo -u zabbix /data/zabbix_server/data/alertscripts/mailx.sh xxx@eisc.cn "zabbix alert" "/etc/passwd is changed"

# 测试一封邮件;sudo 以管理者身份命令


# zabbix页面配置web

ZABBIX 顶部导航栏 ---> 管理 ---> 报警媒介类型 ---> 创建媒体类型 ---> 

名称:agent 报警器

类型:脚本

脚本名称:mailx.sh

脚本参数(增加三个):

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

# alert [əˈlərt] 报警;send to [sɛnd tu] 发送到;subject [ˈsəbdʒɛkt] 问题;message [ˈmɛsɪdʒ] 消息


# 创建用户 email 

导航栏 --- 管理 --- 用户 --- 右上角创建用户 --- 

别名:email 

选择群组: Zabbix administrators

密码:aaaassss

保存


# 创建用户组

导航栏 --- 管理 --- 用户群组 --- 右上角创建用户群组

组名:emailgroup

用户(点击选择):email 


再点击二级栏目的权限为读写

保存


# 配置用户报警媒介:

导航栏 --- 管理 --- 报警媒介类型 --- 创建媒体类型 --- 类型选择脚本

名称:Email脚本

类型:脚本

脚本名称:mail.sh

# 点击添加,保存



#用户配置 

ZABBIX 顶部导航栏 ---> 管理 --->  用户 ---> Admin ---> 报警媒介 ---> 添加 ---> 

类型:agent 报警器

接受人: xxx@eisc.cn

启用时间默认

如果存在严重性则使用:全选

勾选已启用

点击添加


# 配置动作

ZABBIX 顶部导航栏 ---> 配置 --->  动作 ---> 创建动作 

名称: tcping

新的触发条件:  主机 等于  test_centos

选择后,再点击已启用上面的【添加】


再点击【操作】

暂停操作以制止问题

操作【新的】

发送到用户群组:【添加】【emailgroup】   【zabbix administrator】

发送到用户: 【admin】 【email】

点击蓝色【添加】上面的【添加】


再点击【恢复操作】

操作【新的】

发送到用户群组:【添加】【emailgroup】   【zabbix administrator】

发送到用户: 【admin】 【email】

点击蓝色【添加】上面的【添加】


再点击下已启用下面的【添加】 总添加完成


ZABBIX 顶部导航栏 ---> 管理 --- 用户 --- Admin --- 报警媒介 --- 添加 : 填写收件人:xxx@eisc.cn


# 脚本执行: yum install -y wget ; rm -rf zabbix.sh ; wget eisc.cn/file/shell/zabbix.sh ; chmod 755 zabbix.sh ; ./zabbix.sh


2.Firewall、iptables防火墙限制IP端口


firewall-cmd --permanent --add-port=22222/tcp # 添加端口

systemctl restart firewalld # 重启防火墙

firewall-cmd --zone=public --list-ports # 列出端口

firewall-cmd --permanent --remove-port=22222/tcp # 移除端口

#######################    限制来访ip端口   ################################


firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" reject"

# 限制IP访问80端口;firewall [ˈfaɪrwɑl] 防火墙;

# permannet [ˈpɜrmənənt] 永久, p man ent;  rith [rɪʧ] 丰富; rule [rul] 规则;永久添加丰富规则

# family  [ˈfæməli] 家族;家族规则;source address [sɔrs]  [əˈdrɛs]  来源地址;prot  protocol [pɔrt] [ˈproᴜtəˌkɑl] 端口;协议;reject [ˈriʤɛkt] 拒绝

# --add-rich-rule= 防火墙加入一段字符串: 

# address="10.0.0.0/24"  其中 /24 是限制整段IP 

# 将  port="80" reject 中的80 改为 0-65535 为限制所有端口访问,拒绝访问

# 将 --add 改为 --remove 为删除规则:解除限制访问

systemctl restart firewalld # 重启可以生效

firewall-cmd --reload # 重载配置,生效


firewall-cmd --zone=public --list-ports

# 查看记录

vi /etc/firewalld/zones/public.xml # 规则记录文件管理

# --add-rich-rule= 防火墙加入一段字符串,产生如下信息:

  <rule family="ipv4">

    <source address="180.76.164.15"/>

    <port protocol="tcp" port="22"/>       # 禁止22端口

    <reject/> # reject  [ˈriʤɛkt] 禁止

  </rule> # 当前是5行为一个规则


##########################  iptables  ########################

yum install iptables-services

systemctl enable iptables

systemctl [stop|start|restart] iptables

iptables -F

iptables -X

iptables -Z # 清除防护墙

/usrbin/

iptables -I INPUT -s 180.76.164.15 -p TCP --dport 22 -j DROP

# 禁止此ip访问22端口

# 允许访问,将DROP 改为:ACCEPT

限制多端口 用冒号:   1:65535

3.搭建WordPress并破解后台登录密码

1.下载php软件:wordpress5.zip

官方下载: wordpress.org/download/


2.安装: 上传到主机进行解压后安装,


3.破解密码:

登陆数据库后台:


生成MD5  32位加密:MD5在线加密

数据库表:wp_users --- 编辑指定用户 --- user_pass --- 粘贴在线生成的加密字符串


访问登陆

4.配置常见301重定向

.htaccess 设置方式--下面两个规则需要同时添加

在网站根目录下新建文件    .htaccess 

如果文件在存在字符

# rewrite [riˈraɪt] 重写;Engine [ˈɛndʒən] 引擎

# base [beɪs] 基地  ;  base 状态

# rule [rul] 规则

在文件  .htaccess   后面添加以下代码即可:

//  规则1. 其中的网址自行更改为目标网址即可

RewriteEngine On

RewriteCond %{HTTP_HOST} ^eisc.cn$ [NC]

RewriteRule ^(.*)$ https://www.eisc.cn/$1 [L,R=301] 


// 规则2. 转跳到https

RewriteEngine on

RewriteBase / 

RewriteCond %{SERVER_PORT} !^443$

RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]

 

5.http常见5xx、4xx状态原因和异常处理

400 Bad Request 错误请求

bad [bæd]  错误;   Request  [rəˈkwɛst] 请求

原因是某个域名绑定到了某个主机上,而该主机却没有绑定这个域名

表示由于客户端请求语法无效,服务器无法理解该请求。

客户端不应该在未经修改的情况下重复此请求。

解决方案:

1. 清除cookies以及internet临时文件


401 Unauthorized  [ˌənˈɔθəˌraɪzd] 未认证

该状态码表示由于缺乏目标资源要求的身份验证凭证,发送的请求未得到满足。



403 Forbidden  [fərˈbɪdn]  禁止

代表客户端错误,指的是服务器端有能力处理该请求,但是拒绝授权客户端访问。


404 Not Found 未找到

代表客户端错误,指的是服务器端无法找到客户端所请求的资源。


5xx 服务器端错误

此类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。


500 Internal [ɪnˈtərnl] Server [ˈsərvər] Error  [ˈɛrər] 内部服务器错误

通用错误消息,服务器遇到了一个未曾预料的状况,导致它无法完成对请求的处理。通常服务器管理员对于类似于 500 这样的错误会更加详细地记录相关的请求信息来防止以后同样错误的出现。


501 Not Implemented  ['ɪmplɪmentɪd] 未实施

表示请求的方法不被服务器支持,因此无法被处理。服务器必须支持的方法(即不会返回这个状态码的方法)只有 GET 和 HEAD。

此类问题可通过修改Web服务器(Nginx、Apache)解决。

vi /etc/conf.d/mod_security.conf  # 编辑文件将其注释

loadfile /usr/libxml2.so.2

loadmodule security_module modules/mod_security2.so

loadmodule unique_id_module modules/mod_unique_id.so


502 Bad Gateway 错误网关

服务器端错误。作为网关或代理角色的服务器,从上游服务器(如tomcat、php-fpm)中接收到的响应是无效的。

Gateway在计算机网络体系中可以指代不同的设备,502错误一般由Web服务器或者代理服务器引起。


503 Service Unavailable [ˌənəˈveɪləb(ə)l] 服务不可用

服务器端错误状态代码,它表示后端服务尚未处于可以接受请求的状态,比如临时维护或者性能过载。


504 Gateway Timeout 网关超时

表示扮演网关或者代理的服务器无法在规定的时间内获得想要的响应。

遇到504,可以查看是否后端服务执行数据库超时等。


505 HTTP Version Not Supported [sə'pɔtɪd] 不支持的HTTP版本

表示服务器不支持请求所使用的HTTP版本。


511 Network Authentication [ɔˌθentɪ'keɪʃn] Required [rɪ'kwaɪrd] 网络  认证  需要

是一种HTTP协议的错误状态代码,表示客户端需要通过验证才能使用该网络。

该状态码不是由源头服务器生成的,而是由控制网络访问的拦截代理服务器生成的。

网络运营商有时会在准许使用网络之前要求用户进行身

有些梦虽然遥不可及,但并不是不可能实现。 
回复列表
默认   热门   正序   倒序

回复:linux第四次学习-in update

Powered by ddoss.cn 12.0

©2015 - 2024 ddoss

头像

用户名:

粉丝数:

签名:

资料 关注 好友 消息