lamp+wordpress及文件存储服务

1、搭建php-fpm工作方式的LAMP环境,实现wordpress正常访问
2、什么是DML?常用SQL举例,每个命令至少1个例子,最多不超过3个例子
3、简述ftp的主动和被动模式,并实现基于pam认证的vsftpd
4、简述NFS服务原理及配置
5、简述samba服务,并实现samba配置

1、搭建php-fpm工作方式的LAMP环境,实现wordpress正常访问

(1)、先使用yum安装需要得软件

~]# yum -y install httpd php php-mysql mariadb-server

(2)、配置httpd服务

注意:httpd2.4版本所使用到得目录需要显式定义不然会报错

 ]# vim /etc/httpd/conf.d/wordpress.conf 
DocumentRoot "/var/www/wordpre"
ServerName www.mywordpr.com
<Directory "/var/www/wordpre">                                                                                                
        AllowOverride None
        Require all granted
</Directory>

然后我们先创建个php网页看看能不能成功显示


13920922-161015d7897cf63b.png
image.png

现在php和httpd都已经成功启动了,然后我们去下载wordpress解压,复制到网站目录下

 ~]#tar -xzvf wordpress-4.7.4-zh_CN.tar.gz
 ~]# cp -a wordpress /var/www/wordpre/

已经能访问到wordpress


13920922-db8fb670b1dd5809.png
image.png

如果我们点击现在开始也可以开始配置wordpress得管理
但是我们使用配置文件来配置

(3)、配置wordpress的数据库设置

wordpress]# cp wp-config-sample.php wp-config.php
vim wp-config.php
/** WordPress数据库的名称 */
define('DB_NAME', 'wordpress');

/** MySQL数据库用户名 */
define('DB_USER', 'worduser');

/** MySQL数据库密码 */
define('DB_PASSWORD', 'worduser');

/** MySQL主机 */
define('DB_HOST', '192.168.31.100');

/** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8');

/** 数据库整理类型。如不确定请勿更改 */
define('DB_COLLATE', '');

(4)、配置mariadb数据库

我们对php用于连接mysql的用户授权,然后创建用于保存wordpress数据的数据库

MariaDB [(none)]> GRANT  ALL  PRIVILEGES  ON  wordpress.* 

TO  'worduser'@'192.168.31.100'  IDENTIFIED BY 'worduser';   

MariaDB [(none)]> create database wordpress;

注意:在使用mariadb链接的时候需要注意所使用的主机,因为mysql规定了账户密码使用指定的主机才能登陆,所以如果出现反解主机名与ip不一致导致链接被拒绝,可以在/etc/my.cnf添加skip-name-resolve=ON跳过自动的解析

看到这个页面,至此我们在服务器端需要做的操作已经做完了

13920922-db2e09e69ead5951.png
image.png
13920922-fc3c8c3ce511d689.png

然后属于我们自己的一个blog就算是建好了,当然要真正在互联网上有一个属于我们自己的blog还要做很多操作,这只能算是练练手。但千里之行,始于足下,只要有恒心坚持下去相信一定能有所收获的。

2、什么是DML?常用SQL举例,每个命令至少1个例子,最多不超过3个例子

DML:数据操纵语言
负责对数据库对象运行数据访问工作的指令集,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入、更新与删除

mysql> create database mydb;
Query OK, 1 row affected (0.00 sec)

mysql> use mydb;
Database changed

create table tb1(id INT, name char(10));
Query OK, 0 rows affected (0.29 sec)

mysql> insert into tb1(id,name) values(1,"xiaoming");
Query OK, 1 row affected (0.01 sec)

mysql> update tb1 set name="laowang" where id=1;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from tb1;
+------+---------+
| id   | name    |
+------+---------+
|    1 | laowang |
+------+---------+
1 row in set (0.00 sec)

mysql> delete from tb1;
Query OK, 1 row affected (0.00 sec)

mysql> select * from tb1;
Empty set (0.00 sec)

3、简述ftp的主动和被动模式,并实现基于pam认证的vsftpd

简述ftp的主动和被动模式

首先要知道FTP是一种文件传输协议,但它使用两个端口来进行文件传输,一般20被称为数据端口,21被称为控制端口。但并不总是使用20来进行数据传输,这里就需要了解到主动和被动的模式
主动模式:
客户端从一个任意的非特权端口N连接到FTP服务器的命令端口,也就是21端口。然后客户端开始监听端口N+1,接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)
被动模式:
要知道服务器主动向客户端发起请求是不符合使用逻辑的,很有可能会被客户端的防火墙拦截,所以就有了被动模式。
当开启一个 FTP连接时,客户端打开两个任意的非特权本地端口(N和N+1)。第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交 PASV命令。这样做的结果是服务器会开启一个任意的非特权端口P,并发送PORT P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。

**基于pam认证的vsftpd **
1、安装软件
yum install vsftpd -y

2、修改配置文件

cp   vsftpd.conf{,.bak}
grep -i "^[^#]" /etc/vsftpd/vsftpd.conf
anonymous_enable=YES 
local_enable=YES
write_enable=YES
local_umask=022
user_config_dir=/etc/vsftpd/ftpuser                                       
guest_enable=YES
dirmessage_enable=YES #激活目录信息,当远程用户更改目录时,将出现提示信息
xferlog_enable=YES #启用上传和下载日志功能
connect_from_port_20=YES #启用FTP数据端口的连接请求
xferlog_std_format=YES #是否使用标准的ftpd xferlog日志文件格式
listen=YES
listen_ipv6=YES
pam_service_name=ftp.usr #设置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d/目录下.
userlist_enable=YES #用户列表中的用户是否允许登录FTP服务器,默认是不允许
tcp_wrappers=YES #使用tcp_wrqppers作为主机访问控制方式

3、在/etc/vsftp/下创建存放虚拟用户的认证文件

mkdir /ect/vsftpd/vsftpuser

vim /etc/vsftpd/vsftpuser/ftp1

local_root=/data/ftpdata/ftp1
anon_world_readable_only=no
write_enable=yes
anon_upload_enable=yes
anon_mkdir_write_enable=YES
anon_other_write_enable=yes

mkdir -p /data/ftpdata/ftp1

5、生成虚拟用户的账号密码db数据库文件

vim /etc/vsftpd/login.txt
ftp1
123456

db_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/login.db

6、pam认证模块

vim /etc/pam.d/usr.ftp

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/login
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/login

测试成果

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

4、简述NFS服务原理及配置

NFS是一种简单的网络文件系统,输出的是文件系统级的空间而不是块级别的,NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

安装对应的包yum install -y rpcbind nfs-utils
配置文件的参数示例:

clients:
    single host:ipv4, ipv6, FQDN;
    network:address/netmask, 支持长短格式的掩码;
    wildcards:主机名通配,例如:*.magedu.com; 
    netgroups:NIS域内的主机组;@group_name;
    anonymous:使用*通配所有主机;
                        
General Options:
    ro:只读
    rw:读写;
    sync:同步;
    async:异步;
    secure:客户端端口小于1024,否则就要使用insecure选项;
User ID Mapping:
    root_squash:压缩root用户,一般指将其映射为nfsnobody;
     no_root_squash:不压缩root用户;
    all_squash:压缩所有用户;
    anonuid and anongid:将压缩的用户映射为此处指定的用户;
/data/nfsdata 192.168.31.0/24(rw,sync,all_squashi,root_squash)

[root@lvq-node1 ~]# mkdir /data/nfsdata
[root@lvq-node1 ~]# chown nfsnobody.nfsnobody /data/nfsdata/ -R

结果报错
mount.nfs: access denied by server while mounting 192.168.31.200:/data/nfsdata
发现使用大于1024的端口,所以配置文件需要加入insecure

mount -t nfs 192.168.31.200:/data/nfsdata /tmp
192.168.31.200:/data/nfsdata 18855936 9724736  9131200   52% /tmp

用mount查看的信息

192.168.31.200:/data/nfsdata on /tmp type nfs4 (rw,relatime,vers=4.1,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,port=0,timeo=600,
retrans=2,sec=sys,clientaddr=192.168.31.205,local_lock=none,addr=192.168.31.200)

showmount来查看

showmount -e 192.168.31.200
Export list for 192.168.31.200:
/data1        192.168.31.0/24
/data/nfsdata 192.168.31.0/24

5、简述samba服务,并实现samba配置

Samba是在Linux和UNIX系统上实现SMB协议的软件,SMB协议是一种文件,打印机共享的通信协议,能让Windows与Unix两种不同类型的平台相互通信。

1、安装服务端程序包
yum -y install samba samba-common samba-libs
2、创建用户,及共享目录

useradd smbfile
passwd smbfile
mkdir /data/smbdata
chmod 777 /data/smbdata -R

3、编辑配置文件

cp /etc/samba/smb.conf{,.bak}
vim /etc/samba/smb.conf

[myshare]
        comment = My Share
        path=/data/smbdata
        valid users = smbfile
        browseable = yes
        writable = yes

添加smb用户

smbpasswd -a smbfile

然后测试

smbclient -L 192.168.31.200 -U smbfile
Enter SAMBA\smbfile's password: 
Domain=[LVQ-NODE1] OS=[Windows 6.1] Server=[Samba 4.6.2]

        Sharename       Type      Comment
        ---------       ----      -------
        myshare         Disk      My Share
        print$          Disk      Printer Drivers
        IPC$            IPC       IPC Service (Samba 4.6.2)
        smbfile         Disk      Home Directories
Domain=[LVQ-NODE1] OS=[Windows 6.1] Server=[Samba 4.6.2]


13920922-05ef6a1f107573ca.png
image.png
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章