追梦之路第十一周修炼


1、搭建php-fpm工作方式的LAMP环境,实现wordpress正常访问 
LAMP快速部署:
centos6:httpd,php,mysql-server,php-mysql-server
centos7:httpd,php,php-mysql,mariadb-server

(1).安装程序:
[root@localhost ljj]# yum -y install httpd php php-mysql mariadb-sercice

说明:php, php-mysql,mariadb-sercice等组件安装即可使用,只需测试是否安装成功即可,
而httpd建议更改默认DocumentRoot路径进行测试实验,在这里我更改路径为/data/web/ilinux

(2).更改httpd网页默认路径(若不想更改也可以跳过此步骤)
[root@localhost ljj]# mkdir -pv /data/web/ilinux
[root@localhost ljj]# vim /etc/httpd/conf/httpd.conf
 DocumentRoot "/data/web/ilinux/"        #网页路径

<Directory "/data/web/ilinux/">            #路径必须有模块配置其权限才能访问
    AllowOverride None
    #Allow open access:
    Require all granted
</Directory>

:wq                                    #保存退出

[root@localhost ljj]# vim /data/web/ilinux/index.html     #新建测试页内容
[root@localhost ljj]# cat /data/web/ilinux/index.html 
<h1>ilinux.io</h1>
<h2>welcome here</h2>

(3).启动httpd服务
[root@localhost ljj]# systemctl start httpd.service        #启动httpd服务
[root@localhost ljj]# ss -tnl                            #检查httpd默认80端口是否监听

!!此时在浏览器输入本机地址即可看到测试页内容!!

(4).编辑PHP测试文件,查看是否安装
[root@localhost ljj]# vim /data/web/ilinux/phpinfo.php 
[root@localhost ljj]# cat /data/web/ilinux/phpinfo.php         #编辑此文件内容以.php结尾即可
<?php
        phpinfo();
?>
    
!!输入IP地址192.168.10.100/phpinfo.php 即可看到PHP的默认网页界面!!        

注:到此httpd,PHP中间件已经安装完成,若不是上述测试结果,请自行检查配置是否正确,
程序版本是否正确!

(5).配置MySQL数据库

首先关闭数据库自动解析域名功能
[root@localhost ljj]# vim /etc/my.cnf

skip-name-resolve=ON                #在其中加入此段内容

[root@localhost ljj]# systemctl start mariadb.service                #启动数据库
[root@localhost ljj]# ss -tnl
State       Recv-Q Send-Q Local Address:Port               Peer Address:Port              
LISTEN      0      50              *:3306                        *:*                  
LISTEN      0      128             *:111                         *:*                  
LISTEN      0      5      192.168.122.1:53                          *:*                  
LISTEN      0      128             *:22                          *:*                  
LISTEN      0      128     127.0.0.1:631                         *:*                  
LISTEN      0      100     127.0.0.1:25                          *:*                  
LISTEN      0      128            :::443                        :::*                  
LISTEN      0      128            :::10080                      :::*                  
LISTEN      0      128            :::111                        :::*                  
LISTEN      0      128            :::80                         :::*                  
LISTEN      0      128            :::22                         :::*                  
LISTEN      0      128           ::1:631                        :::*                  
LISTEN      0      100           ::1:25                         :::*  

    !!可见数据库3306,httpd 80 , 端口已经处于监听状态!!
    
连接MySQL,创建WordPress用户名和密码
[root@localhost ljj]# mysql
MariaDB [(none)]> GRANT ALL ON wordpress.* TO 'wpuser'@'%' IPENTIFIED BY 'wppass';


测试账号是否能连接

[root@localhost ljj]# mysql -uwpuser -h192.168.10.100 -pwppass
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

!!到此表示php-mysql可以正常连接!!


(6).安装WordPress程序

在wordp官网下载WordPress程序程序包解压
[root@localhost ljj]# tar xf wordpress-4.9.4-zh_CN.tar.gz
创建文件路径,将解压的内容放在httpd的网页路径之下
[root@localhost ljj]# mkdir /data/web/ilinux/blog
[root@localhost 下载]# cp -a ./wordpress /data/web/ilinux/blog


(7).重启httpd,mysql

[root@localhost ljj]#systemctl restart httpd.service mariadb.service

!!网页访问IP地址192.168.10.100/blog 即可访问WordPress程序,注册登录即可
也可以在WordPress配置文件中修改选项来快速创建账号密码!!

    


 2、什么是DML?常用SQL举例,每个命令至少1个例子,最多不超过3个例子 
    DML:Data Manipulation Language,数据操纵语言,负责对数据库对象运行数据访问
    工作的指令集,以INSERT,UPDATE,DELETE三种指令为核心。
    DML: INSERT增,DELETE删,UPDATE改,SELECT查
    
    SELECT(查询):  SELECT * FROM tbl_name; 
    DELETE(删除):(1): DELETE FROM tb1_name WHERE where_condition
                    (2):DELETE FROM tb1_name [ORDER BY…][LIMI]row_count]
    UPDATE(更新):
    UPDATE [LOW_PRIORIYY][IGNORE]table_reference SET col_name1=value1 [,col_name2+value2]…[WHERE where_condition]
    [OROER BY…][LIMIT row_count}
    INSERT(添加):
    INSERT [INTO] tbl_name[(col1,…)]{VALUES|UALUE}(val1,…),(…),…
 
 
 


3、简述ftp的主动和被动模式,并实现基于pam认证的vsftpd 
 
 ftp的工作逻辑是由两路连接实现:
    一个是用来传输命令的连接,一个是用来传输数据的连接,而主动模式和被动模式的区别在于传输数据
    连接的端口是如何定义的。
    
    主动模式PORT :服务器在传输数据连接时,是打开本机20/TCP端口于客户端使用的端口向后的第一个可用端
        口进行数据连接
    被动模式PASU :客户端与服务器端完成命令连接后,服务器打开一个随机端口,并等待客户端连接 
 
ftp服务器的功能:
FTP服务主要提供下载数据、上传数据,并且可以将远程的文件复制到本地计算机,以达到资源共享和传递信
息的目的,FTP在传输文件时还支持断点续传功能。  

FTP服务归根基地提供两个功能:  
①可以在两台完全不同的计算机之间进行文件数据传输。(支持传送二进制文件,如:文件、程序、
数据、视频、图片等各种类型的文件传输)  
②可以提供许多文件数据同时共享。
 
FTP服务登录模式:  
匿名用户登录模式:只需要输入用户anonymous/ftp,并将自己的E-mail作为口令即可登录FTP服务器,又称为(anonymousFTP服务器)                    
本地账户登录模式:当进入FTP登录窗口是,需要输入正确的用户名(user)和密码(passwd)即可登录FTP服务器。  
虚拟用户登录模式:将登录用户映射到指定的系统账号(/sbin/nologin)来访问FTP资源,这样就起到安全的效果。 
 
 PAM(Pluggable Authenticate Module):
    插入式认证模块,ftp的认证方式交由PAM模块来实现认证,通过即可连接。PAM是一个库工具,是高度模块化的
    可以调用库也可装载模块,是个第三方认证方式。

    
实例:基于pam认证的vsftpd,实现文件上传和下载。 

    安装vsftpd:
    [root@localhost ljj]# yum -y install vsftpd            
    [root@localhost ljj]# systemctl start vsftpd.service        #启动vsftpd服务
    [root@localhost ljj]# ss -tnl                                #查看21,22端口是否开启,开启则启动服务成功
    State       Recv-Q Send-Q Local Address:Port               Peer Address:Port              
    LISTEN      0      100     127.0.0.1:25                          *:*                  
    LISTEN      0      128             *:111                         *:*                  
    LISTEN      0      5      192.168.122.1:53                          *:*                  
    LISTEN      0      128             *:22                          *:*                  
    LISTEN      0      128     127.0.0.1:631                         *:*                  
    LISTEN      0      100           ::1:25                         :::*                  
    LISTEN      0      128            :::111                        :::*                  
    LISTEN      0      32             :::21                         :::*                  
    LISTEN      0      128            :::22                         :::*                  
    LISTEN      0      128           ::1:631                        :::*     

注:1.vsftpd以ftp用户的身份运行进程,默认用户即为ftp
    2.普通用户通过文件共享服务访问文件系统上的文件生效期限为二者的交集
    
    创建一个共享文件
    
    [root@localhost ljj]#mkdir /var/ftp/upload                    #创建共享目录
    [root@localhost ljj]#chown ftp:ftp /var/ftp/upload            #更改属主属组为ftp
    [root@localhost ljj]# vim /etc/vsftpd/vsftpd.conf            #更改配置文件
                anon_upload_enable=YES                            #启动此配置项使匿名用户有上传权限
    [root@localhost ljj]# systemctl restart vsftpd.service        #重启vsftpd服务
    
    
    
    在Windows端连接ftp,并实现上传文件操作


 


  4、简述NFS服务原理及配置 
 
    1)简述:NFS为 Network FileSystem 的简称,它的目的是想让不同主机之间进行文件传输。例如有三台主机
    A,B,C要进行某文件的互相传输功能,则可以将A主机配置为主共享服务器,在主服务器上将某目录(例如
    /data)作为共享目录,B,C主机可以作为NFS客户机,将该目录(/data)挂载到本地任何路径下(例如/mnt)
    就可以像在操作本机目录一样操作NFS服务器端共享出来的目录,来达到文件共享的目的。
    
    2)工作逻辑:客户端用户要访问nfs服务端共享目录时,首先服务端开启nfs服务,客户端只需要通过mount命令挂载
    共享目录地址到本地某个路径下即可。
    
    3)服务端配置共享目录
    配置NFS:
        NFS的配置比较简单,只需要编辑配置文件/etc/exports即可生效,实现服务器端共享目录的操作。
        [root@localhost ~]# cat /etc/exports
        /data/nfs    192.168.10.100/24(rw)   192.168.2.148/24(ro)
        
        [root@localhost ~]# mkdir /data/nfs                        #创建共享目录

        [root@localhost ~]# cp /etc/host.conf /data/nfs            #拷贝一个文件到该目录下做测试

        [root@localhost ~]# systemctl start nfs.service            #启动nfs服务
        
        [root@localhost ~]# ss -tnl                                #查看2049端口是否处于监听状态
        
    3)客户端
    客户端只需要挂载上述主机目录即可进行访问
    [root@localhost ~]#  mount -t nfs 192.168.10.100:/data/nfs /mnt    #挂载目录到本地目录下

    [root@localhost mnt]# ls /mnt                                #测试文件存在,挂载成功
    host.conf

    [root@localhost mnt]# cp /etc/group ./mnt                    #但无法创建目录
    cp: 无法创建普通文件"./mnt": 权限不够
    
    4)问题分析:
        因为客户机挂载nfs时,是以root用户运行,所以是root用户的权限,而在nfs中默认将root用户
    压缩为nfsnobody来宾账号,是没有写权限的。
        解决方法:创建一个普通用户,设置所有访问共享文件的用户都是指定的普通用户,给予普通用户访问权限。
        
 
 


5、简述samba服务,并实现samba配置
    1)简述:Samba可以实现跨文件系统的文件共享服务,实现Linux和Linux,Windows,Unix操作系统间文件共享。
    2)程序环境:
            服务端程序包:samab,samba-common,samba-libs
            主配置文件:/etc/samba/smb.conf
            主程序:①nmdb(与Windows主机共享文件时必须启动)
                    ②smdb(Linux主机做文件共享时开启)
            监听端口:137/ucp    138/udp
                      139/tcp    445/tcp
                      
    3)实例:在一个主机上创建一个共享文件在window主机上访问
        ①:安装Samba
        [root@localhost ~]# yum install samba -y

        ②:在Linux主机上创建共享目录
        [root@localhost ~]# mkdir /data/samba/files -pv
        mkdir: 已创建目录 "/data"
        mkdir: 已创建目录 "/data/samba"
        mkdir: 已创建目录 "/data/samba/files"
        
        ③:编辑Samba配置文件
        [root@localhost ~]# vim /etc/samba/smb.conf                #编辑配置文件加上配置块myfiles
        [myfiles]
        comment = This is windows shared dir                    #自定义注释信息
        path = /data/samba/files                                #共享文件的路径
        public = Yes                                            #是否允许公开给所有用户
        writable = Yes                                            #是否可写
        browseable = Yes                                        #是否可被用户查看

        ④:检查语法
        [root@localhost ~]# testparm
        Load smb config files from /etc/samba/smb.conf
        rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
        Processing section "[homes]"
        Processing section "[printers]"
        Processing section "[print$]"
        Processing section "[myfiles]"
        Loaded services file OK.
        Server role: ROLE_STANDALONE

        Press enter to see a dump of your service definitions

        ⑤:启动Samba
        [root@localhost ~]# systemctl start nmb.service smb.service
        
        ⑥:创建一个Samba用户
        [root@localhost ~]# useradd sambuser1
        
        [root@localhost ~]# smbpasswd -a sambuser1            #给用户添加Samba密码
        注:Samba的认证用户模式是,访问Samba共享文件的用户必须要存在与Linux主机上,但密码要属于Samba
        单独管理,否则不能对共享文件做任何操作
        
        [root@localhost ~]# setfacl -m u:sambuser1:rwx /data/samba/files/ 
        注解:将文件属主改为Samba用户,给予最高权限
        
        [root@localhost ~]# ls /data/samba/ -l
        总用量 0
        drwxrwxr-x+ 2 sambuser1 root 54 9月  23 00:56 files

        ⑦:Linux另一台主机访问服务器端共享文件(以root用户访问,则是以匿名用户访问)
        [root@localhost ~]# smbclient -L 192.168.0.118 -U
        Enter MYGROUP\root's password: 
        Anonymous login successful

            Sharename       Type      Comment
            ———       —-      ——-
            print$          Disk      Printer Drivers
            myfiles         Disk      This is windows shared dir
            IPC$            IPC       IPC Service (Samba 4.7.1)
        Reconnecting with SMB1 for workgroup listing.
        Anonymous login successful

            Server               Comment
            ———            ——-

            Workgroup            Master
            ———            ——-
            SAMBA                LOCALHOST

        ⑧:Windows主机用sambuser1用户访问
        


 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/124388

发表评论

登录后才能评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code