第十五周作业

1、部署分离的LAMP,部署到二台服务器上,php加载xcache模块

2、部署wordpress论坛,并实现正常访问登录论坛。

[root@Centos8 ~]# dnf -y install httpd php php-json php-mysqlnd mariadb-server
[root@Centos8 ~]# systemctl enable --now httpd mariadb
MariaDB [(none)]> create databases wordpress;
MariaDB [(none)]> grant all on wordpress.* to wordpress@'10.0.0.%' identified by 'magedu';
[root@Centos8 ~]# tar xvf wordpress-5.4.2-zh_CN.tar.gz
[root@Centos8 ~]# mv wordpress/* /var/www/html
[root@Centos8 ~]# chown -R apache.apache /var/www/html/

浏览器访问10.0.0.28


image.png
image.png
image.png
image.png
image.png
image.png

3、收集apache访问日志,并实现图形化展示。

准备3台机器:

  • 日志服务器rsyslog 10.0.0.8
  • 数据库服务器 10.0.0.18
  • http+php+loganalyzer服务器 10.0.0.28
在rsyslog服务器上安装连接mysql模块相关的程序包
[root@Centos8 ~]# yum install rsyslog-mysql
[root@Centos8 ~]# rpm -ql rsyslog-mysql
/usr/lib/.build-id
/usr/lib/.build-id/b1
/usr/lib/.build-id/b1/435a976b2dfddfb19d0d1517964f615d510402
/usr/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog/mysql-createDB.sql
#查看sql脚本文件内容
[root@centos8 ~]#cat /usr/share/doc/rsyslog/mysql-createDB.sql
#将sql脚本复制到数据库服库上
[root@Centos8 ~]# scp /usr/share/doc/rsyslog/mysql-createDB.sql 10.0.0.18:/date

准备MYSQL Server

[root@Centos8 ~]# yum install -y mariadb-server
#在mariadb数据库服务器上创建相关数据库和表,并授权rsyslog能连接至当前服务器
[root@Centos8 data]# mysql < /data/mysql-createDB.sql 
MariaDB [(none)]> grant all on Syslog.* to 'rsyslog'@'10.0.0.%' identified by 'magedu';

配置日志服务器将日志发送至指定数据库

#配置rsyslog将日志保存到mysql中
[root@centos8 ~]#vim /etc/rsyslog.conf
#
####MODULES####
#在 MODULES 语言下面,如果是 CentOS 8 加下面行
module(load="ommysql")
#在 MODULES 语言下面,如果是 CentOS 7,6 加下面行
$ModLoad ommysql
#在RULES语句块加下面行的格式
#facility.priority  :ommysql:DBHOST,DBNAME,DBUSER, PASSWORD
*.info :ommysql:10.0.0.18,Syslog,rsyslog,magedu
[root@centos8 ~]#systemctl restart rsyslog.service

测试

#在日志服务器上生成日志
[root@centos8 ~]#logger "this is a test log"
#在数据库上查询到上面的测试日志
MariaDB [Syslog]> select * from SystemEvents\G

安装 php和相关软件包,安装 LogAnalyzer
在10.0.0.28机器上

[root@Centos8 ~]# yum -y install httpd php-fpm php-mysqlnd php-gd
[root@Centos8 ~]# systemctl enable --now httpd php-fpm

下载loganalyzer-4.1.10.tar.gz
[root@Centos8 ~]# tar xvf loganalyzer-4.1.12.tar.gz 
[root@Centos8 ~]# mv loganalyzer-4.1.12/src/ /var/www/html/log
[root@Centos8 ~]# touch /var/www/html/log/config.php
[root@Centos8 ~]# chmod 666 /var/www/html/log/config.php

初始化


image.png

image.png

4、实现基于MYSQL验证的vsftpd虚拟用户访问

** 环境**

mariadb-server:192.168.103.74
ftp:192.168.103.75

创建mysql数据库

[root@localhost ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.68-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE DATABASE vsftpd;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> USE vsftpd;
Database changed
MariaDB [vsftpd]> CREATE TABLE users (
   -> id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
   -> name CHAR(50) BINARY NOT NULL,
   -> password CHAR(48) BINARY NOT NULL
   -> );
Query OK, 0 rows affected (0.00 sec)

MariaDB [vsftpd]> INSERT INTO users(name,password) values('ftp_ptg',password('ptg123'));
Query OK, 1 row affected (0.00 sec)

MariaDB [vsftpd]> GRANT SELECT ON vsftpd.* TO vsftpd@'192.168.103.%' IDENTIFIED BY 'ptg123';
Query OK, 0 rows affected (0.00 sec)

MariaDB [vsftpd]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

MariaDB [vsftpd]> 

安装pam模块,并写入调用PAM模块参数

[root@localhost ~]# wget http://prdownloads.sourceforge.net/pam-mysql/pam_mysql-0.7RC1.tar.gz
--2021-05-22 17:16:36--  http://prdownloads.sourceforge.net/pam-mysql/pam_mysql-0.7RC1.tar.gz
Resolving prdownloads.sourceforge.net (prdownloads.sourceforge.net)... 216.105.38.13
Connecting to prdownloads.sourceforge.net (prdownloads.sourceforge.net)|216.105.38.13|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://downloads.sourceforge.net/project/pam-mysql/pam-mysql/0.7RC1/pam_mysql-0.7RC1.tar.gz [following]
--2021-05-22 17:16:40--  http://downloads.sourceforge.net/project/pam-mysql/pam-mysql/0.7RC1/pam_mysql-0.7RC1.tar.gz
Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.105.38.13
Reusing existing connection to prdownloads.sourceforge.net:80.
HTTP request sent, awaiting response... 302 Found
Location: https://nchc.dl.sourceforge.net/project/pam-mysql/pam-mysql/0.7RC1/pam_mysql-0.7RC1.tar.gz [following]
--2021-05-22 17:16:40--  https://nchc.dl.sourceforge.net/project/pam-mysql/pam-mysql/0.7RC1/pam_mysql-0.7RC1.tar.gz
Resolving nchc.dl.sourceforge.net (nchc.dl.sourceforge.net)... 140.110.96.69, 2001:e10:ffff:1f02::17
Connecting to nchc.dl.sourceforge.net (nchc.dl.sourceforge.net)|140.110.96.69|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 335240 (327K) [application/x-gzip]
Saving to: ‘pam_mysql-0.7RC1.tar.gz’

100%[============================================================================>] 335,240      308KB/s   in 1.1s   

2021-05-22 17:16:42 (308 KB/s) - ‘pam_mysql-0.7RC1.tar.gz’ saved [335240/335240]

[root@localhost ~]# tar xf pam_mysql-0.7RC1.tar.gz
[root@localhost ~]# cd pam_mysql-0.7RC1/
[root@localhost pam_mysql-0.7RC1]# ./configure --with-pam-mods-dir=/lib64/security
[root@localhost pam_mysql-0.7RC1]# make && make install

[root@localhost ~]# vi /etc/pam.d/vsftpd.mysql
auth required /lib64/security/pam_mysql.so user=vsftpd passwd=ptg123 host=192.168.103.74 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2 table=users usercolumn=name passwdcolumn=password crypt=2
account required /lib64/security/pam_mysql.so user=vsftpd passwd=ptg123 host=192.168.103.74 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

vsftp调用参数

[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf 
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd.mysql

测试

[root@localhost ~]# ftp 192.168.103.75
Connected to 192.168.103.75 (192.168.103.75).
220 (vsFTPd 3.0.2)
Name (192.168.103.75:root): ftp_ptg
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 

5、通过NFS实现服务器/www共享访问。

服务器端10.0.0.7,共享目录/www
客户端10.0.0.8

服务器端安装nfs服务
[root@centos7 ~]# yum install -y nfs-utils rpcbind
[root@centos7 ~]# systemctl enable --now rpcbind
[root@centos7 ~]# systemctl enable --now nfs-server

准备共享目录
[root@centos7 ~]# cat /etc/exports
/www 10.0.0.0/24(rw,no_root_squash)
[root@centos7 ~]# exportfs -v
/www            10.0.0.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
[root@centos7 ~]# showmount  -e
Export list for centos7:
/www 10.0.0.0/24

在客户端上
[root@Centos8 ~]# mkdir /mnt/www
[root@Centos8 ~]# mount -t nfs 10.0.0.7:/www /mnt/www

6、配置samba共享,实现/www目录共享

samba服务器:10.0.0.7
客户端:10.0.0.17

#在samba服务器上安装samba包
[root@centos7 ~]# yum -y install samba
#创建samba用户和组
[root@centos7 ~]# groupadd -r admins
[root@centos7 ~]# useradd -s /sbin/nologin -G admins wang
[root@centos7 ~]# smbpasswd -a wang

#创建samba共享目录,并设置SElinux
[root@centos7 ~]# mkdir -p /testdir/smbshare
[root@centos7 ~]# chgrp admins /testdir/smbshare
[root@centos7 ~]# chmod 2775 /testdir/smbshare

#samba服务器配置,添加以下行
vim /etc/samba/smb.conf     
[share]
path = /testdir/smbshare
write list = @admins   

[root@centos7 ~]# systemctl enable --now smb nmb
#客户端访问
[root@centos7 ~]# yum -y install cifs-utils
#用wang用户挂载smb共享并访问
[root@centos7 ~]# mkdir /mnt/wang
[root@centos7 ~]# mount -o username=wang //10.0.0.7/share /mnt/wang
Password for wang@//10.0.0.7/share:  ******
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容