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

环境:centos7-01   192.168.30.7   (httpd  php56 xcache)

          centos7-02   192.168.30.17 (mariadb-server)  

centos7-01:
导入php56的yum 源:
wget https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpm
yum install -y remi-release-7.rpm

安装httpd php56 和依赖包
yum install httpd php56-php php56-php-mysqlnd gcc php56-php-devel

编译安装xcache:
tar xf xcache-3.2.0.tar.gz
cd xcache-3.2.0/
./configure --enable-xcache --with-php-config=/opt/remi/php56/root/usr/bin/php-config
make && make install

启动httpd服务
systemctl enable --now httpd

php 测试页:
vim /var/www/html/test.php
<?
phpinfo();
?>

打开测试页面:


Linux 学习 15_Linux 学习


    

Linux 学习 15_Linux 学习_02



数据库安装:

centos7-02:
yum install maria mariadb-server

创建用户:
grant all privileges on *.* to testuser@'192.168.30.7' identified by '123456';


centos7-01:
php 连接 mariadb 测试:
vim /var/www/html/dbtest.php
<?php
$conn = mysql_connect('192.168.30.17','testuser','123456');
if ($conn)
echo "successfully";
else
echo "failure";
mysql_close();

?>

  Linux 学习 15_Linux 学习_03


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

     现有环境LAMP  数据库独立

下载wordpress,并解压到/var/www/html
wget https://wordpress.org/latest.tar.gz
tar xf latest.tar.gz -C /var/www/html/
chown -R apache.apache /var/www/html/wordpress 将所有文件直接放入html中,这样访问时不用加后缀

数据库设置:
create database wordpress;
grant all privileges on wordpress.* to wordpress@'192.168.30.%' identified by '123456';

   访问:http://192.168.30.7/wordpress  , 根据向导填写相关信息

   Linux 学习 15_Linux 学习_04



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

使用loganalyzer 做界面展示

环境:centos8-01 192.168.30.8 


安装httpd,php 
yum install -y httpd php php-xml php-gd

下载并解压loganalyzer,复制src的内容 到/var/www/html/log/
cp -a src/ /var/www/html/log/

创建配置文件:
cd /var/www/html/log/
touch config.php
chmod 666 config.php

浏览器访问:http://192.168.30.8/log

Linux 学习 15_Linux 学习_05

点击  here  ,然后默认next 直到数据源界面

Linux 学习 15_Linux 学习_06

日志文件选择httpd的日志文件/var/log/httpd/access_log,但是默认用户权限是root,需要给apache 用户授权:

setfacl -m u:apache:rwx /var/log/httpd/

 Linux 学习 15_Linux 学习_07



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

 环境:centos7-01  192.168.30.7   vsftpd server

           centos8-01  192.168.30.18  mariadb server 

  通过pam_mysql进行认证,并将创建的用户映射成Linux 操作系统用户访问磁盘文件


数据库安装和相关准备:

centos8-01:
创建vsftpd 使用的数据库和表,存放虚拟用户
create database vsftpd;
use vsftpd;
create table users(
id int auto_increment not null primary key,
name char(50) binary not null, binary 表示大小写敏感
password char(48) binary not null
);

新建虚拟用户
insert into users(name,password) values('user01',password('123'));
insert into users(name,password) values('user02',password('123456'));
使用password()函数将密码加密

创建vsftpd连接数据库时的用户名,授权select权限即可
grant select on vsftpd.* to vsftpd@'192.168.30.7' identified by '123456';


安装vsftpd,编译安装pam_mysql

centos7-01:
安装vsftpd和依赖包:
yum install -y vsftpd gcc gcc-c++ make pam-devel mariadb-devel

下载pam_mysql包并编译安装:
wget http://prdownloads.sourceforge.net/pam-mysql/pam_mysql-0.7RC1.tar.gz
tar xf pam_mysql-0.7RC1.tar.gz
cd pam_mysql/
./configure --with-pam-mods-dir=/lib64/security
make install

建立pam认证文件:
vim /etc/pam.d/vsftpd.mysql
auth required pam_mysql.so user=vsftpd passwd=123456 host=192.168.30.18 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
account required pam_mysql.so user=vsftpd passwd=123456 host=192.168.30.18 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
这里指定数据库地址,连接数据库的用户名,密码,认证的数据库名,表,列的字段,加密方式


在vsftpd 中更改配置文件,映射成linux操作系统的用户,因此用必须提前存在

useradd -s /sbin/nologin -d /data/ftproot -r ftpuser
centos7 需要去除ftp根目录的写权限,否则无法登录
mkdir /data/ftproot/upload
setfacl -m u:ftpuser:rwx /data/ftproot/upload 这里除了vsftpd配置文件中的允许写入以外,还要对本身的文件夹做权限放开,否则无法上传文件


更改vsftpd的配置文件,指定通过mysql认证

vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
guest_enable=YES
guest_username=ftpuser
pam_service_name=vsftpd.mysql

重启vsftp服务
systemctl restart vsftpd


测试:

Linux 学习 15_Linux 学习_08


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

     环境:centos8-02  192.168.30.18  nfs 服务器

  centsos7-01 192.168.30.7   nfs 客户端

centos8-02:
安装nfs-utils:
yum install -y nfs-utils
systemctl start nfs-server

创建共享目录:
mkdir /www

设置目录共享:
vim /etc/exports,添加如下内容
/www *(rw) * 代表所有主机都可访问,rw表示对该目录可读可写

更改文件夹本身的权限:
chmod 777 /www

查看共享:
exportfs -v

生效nfs配置文件命令:
exportfs -r


centos7-01:
客户端查看nfs服务器的共享
showmount -e 192.168.30.18

挂载nfs共享的文件夹:
mount 192.168.30.18:/www /mnt/nfs/

Linux 学习 15_Linux 学习_09

挂载成功后,在文件夹内创建文件,可以发现,文件的主组都是nobody

Linux 学习 15_Linux 学习_10


新建文件的所属主和组更改成统一的帐号

vim /etc/exports
/www *(rw,anonuid=993,anongid=991) id 和 gid的用户需要提前存在

这样创建的文件会根据ID映射成相应的用户

Linux 学习 15_Linux 学习_11


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

  环境:centos8-01 192.168.30.8   samba服务器

            centos7-01 192.168.30.7   samba客户端

centos8-01:
安装samba 软件:
yum install -y samba samba-client cifs-utils

创建共享目录:
mkdir /www

设置共享目录:
vim /etc/samba/smb.conf ,在最下面手动添加如下:
[www]
path = /www
vaild users = user01,user02
writeable = Yes
browseable = Yes

创建连接samba服务器的用户名密码:
首先需要创建linux帐号,再将其转换成samba 用户名
useradd -s /sbin/nologin -r user01
转换smb 用户
smbpasswd -a user01 ,回车后会设置密码

cenos7-01:
客户端查看共享:
smbclient -L 192.168.30.8 -U user01

Linux 学习 15_Linux 学习_12


客户端连接共享:
smbclient //192.168.30.8/www -U user01

Linux 学习 15_Linux 学习_13

此状态只可以看,不可以上传,需要再对/www本身权限做授权:

setfacl -m u:user01:rwx /www

Linux 学习 15_Linux 学习_14