Linux 学习 15

一身转战三千里,一剑曾当百万师。这篇文章主要讲述Linux 学习 15相关的知识,希望能为你提供帮助。
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 源:
wgethttps://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 学习 15

文章图片





数据库安装:
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

文章图片



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

文章图片





3、收集apache访问日志,并实现图形化展示
使用loganalyzer 做界面展示
环境:centos8-01 192.168.30.8 
【Linux 学习 15】

安装httpd,php
yum install -y httpd phpphp-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

文章图片

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

文章图片

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

 
Linux 学习 15

文章图片





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

文章图片



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

文章图片

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

文章图片



新建文件的所属主和组更改成统一的帐号
vim /etc/exports
/www*(rw,anonuid=993,anongid=991)id 和 gid的用户需要提前存在

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

文章图片



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-clientcifs-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 -auser01,回车后会设置密码

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

Linux 学习 15

文章图片



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

Linux 学习 15

文章图片

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

Linux 学习 15

文章图片






















    推荐阅读