实验目的:搭建Samba文件服务器,导出wordpress文件夹给主机A和主机B,主机A和主机B同时使用httpd访问。
实验环境:
主机A:CentOS7,IP:192.168.60.129,httpd服务器,pphpmodule模式,提供http访问,
主机B:CentOS6,IP:192.168.60.132, httpd服务器,phpmodule模式,提供http访问
主机C:CentOS7 ,IP:192.168.60.138,作为Samba文件服务器和mysql服务器,导出目录。安装smb,wordpress,mariadb-server
搭建Samba服务器
在主机138上操作,
安装samba程序包
yum install -y samba
默认会同时安装
samba
samba-common
samba-client
samba-lib
创建samba共享用户
useradd centos
useradd gentoo
pdbedit -a -u centos #此时键入的是smb服务端的密码
pdbedit -a -u gentoo #此时键入的是smb服务端的密码
创建共享目录
mkdir /data/web/www/blog/ -pv
把wordpress程序文件放入blog目录
编辑wp-config.php文件
/** WordPress数据库的名称 */
define('DB_NAME', 'wordpress');
/** MySQL数据库用户名 */
define('DB_USER', 'wpuser');
/** MySQL数据库密码 */
define('DB_PASSWORD', '123456');
/** MySQL主机 */
define('DB_HOST', '192.168.60.138');
/** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8');
/** 数据库整理类型。如不确定请勿更改 */
define('DB_COLLATE', '');
创建smb共享用户组
groupadd smbuser
把用户添加附加组
usermod -aG smbuser centos
usermod -aG smbuser gentoo
文件系统授权
修改访问控制列表,允许用户组有文件系统权限
setfacl -m g:smbuser:rwx /data/web/www/blog/
修改wordpress文件夹以及内部文件的属组
chgrp smbuser /data/web/www/blog -R
SMB服务授权
编辑配置文件/etc/samba/smb.conf
[myblog]
comment = My Wordpress blog.
path = /data/web/www/blog/
browseable = yes
write list = +smbuser
启动服务
systemctl start nmb smb
客户端操作测试:
smbclient -L 192.168.60.138 -U gentoo
smbclient //192.168.60.138/myblog -U gentoo
配置SMB客户端A
客户端执行挂载
mount -t cifs //192.168.60.138/myblog /data/web/blog -o username=gentoo,password=123456
编辑配置文件
vim /etc/httpd/conf.d/blog.conf
DirectoryIndex index.php
<VirtualHost *:80>
ServerName www.blog.com
DocumentRoot /data/web/blog
ProxyRequests Off
<Directory "/data/web/blog">
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
启动服务
配置SMB客户端B
实测发现以下问题。
主机A(lamp)
主机B(lamp)
两个主机可以同时访问wordpress,但是不能单独访问。
这是因为首次连接wordpress时是主机地址,wordpress会记录在数据库。
以后所有链接都指向这个主机地址。
因此这个主机必须开启。
问题二,当已root用户挂载smb文件系统后,在本地识别到的目录属主是root,这样导致其它用户没有写权限。
[root@129 web]# ll blog/ -d
drwxr-xr-x 2 root root 0 May 17 17:37 blog/
这样导致apache用户没有写权限,在wordpress页面上无法进行上传图片的操作。
就算用chown命令修改,修改完后还是显示root用户。
groupadd -g 2222 smb
usermod -aG smb gentoo
sermod -aG smb centos
chgrp smb blog -R
chmod 770 blog -R
博客实践作业(Mariadb):
(1) samba server导出/data/目录;
(2) samba client挂载/data/至本地的/mydata目录;本地的mysqld或mariadb服务的数据目录设置为/mydata, 要求服务能正常启动,且可正常 存储数据;
/etc/my.cnf
[mysqld]
datadir=/mydata
mysql服务的数据目录的属主属组得是运行进程的用户,一般为mysql;
实验目的:搭建Samba文件服务器,导出data文件夹给主机A,主机A挂载data目录,本地启动mariadb服务,设置data作为mysql的数据目录。
实验环境:
主机A:CentOS7,IP:192.168.60.129,提供smb服务,导出data文件夹
安装smb服务器
主机C:CentOS7 ,IP:192.168.60.138,作为MariaDB服务器,挂载data,作为mysql数据库的数据目录。
安装smb客户端,安装mariadb服务器
配置smb服务器
在129主机上操作
安装smb服务器端
创建gentoo,centos用户
添加gentoo,centos用户作为smb访问用户。
创建共享目录
mkdir /data/mysql
设置目录的文件系统访问权限
setfacl -m u:gentoo:rwx /data/mysql
setfacl -m u:centos:rwx /data/mysql
设置目录的属主
chmod 27.27 /data/mysql
这步的目的是使该目录,挂载到138主机时,能够让138主机的mysql进程访问。
编辑smb配置文件
[mysql]
comment=MySql dir from 29
path=/data/mysql
browseable=yes
guest ok =yes
read only=no
write list=gentoo centos #授权服务权限
启动smb,nmb服务
systemctl start nmb smb
配置MariaDB服务器
在138主机上操作,
创建挂载点目录
mkdir /data/mysql
修改/data/mysql的属主
chown mysql.msql /data/mysql
查看mysql用户的id
id mysql
uid=27(mysql) gid=27(mysql)
挂载smb服务器的目录
mount -t cifs //192.168.60.129/mysql /data/mysql -o username=gentoo,password=123456
安装MariaDB服务器(详细过程参考其它说明)
配置MaraDB配置文件
[mysqld]
datadir=/data/mysql
关闭SElinux
重启mariadb服务
systemctl start mariadb.service
还是失败
根本原因时
在138主机指向mount命令的时候,
会把挂载点内部的文件的属主,属组全部改成root用户。
并且无法使用chmod等命令修改权限。
导致mysql进程服务操作该文件夹。