实验目的:搭建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服务器 手机搭建samba服务器_安卓手机建立samba服务器

搭建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进程服务操作该文件夹。