Linux的LAMP环境搭建,SQL语句,文件共享

一、搭建php-fpm工做方式的LAMP环境,实现wordpress正常访问
1)安装程序包php

[root@silassu  ~]# yum install mariadb-server php-fpm httpd php-mysql

2)Mysql服务的搭建html

[root@silassu ~]# cat /etc/my.cnf.d/server.cnf
#
# These groups are read by MariaDB server.
# Use it for options that only the server (but not clients) should see
#
# See the examples of server my.cnf files in /usr/share/mysql/
#

# this is read by the standalone daemon and embedded servers
[server]

# this is only for the mysqld standalone daemon
[mysqld]

# this is only for embedded server
[embedded]

# This group is only read by MariaDB-5.5 servers.
# If you use the same .cnf file for MariaDB of different versions,
# use this group for options that older servers don't understand
[mysqld-5.5]

# These two groups are only read by MariaDB servers, not by MySQL.
# If you use the same .cnf file for MySQL and MariaDB,
# you can put MariaDB-only options here
[mariadb]

[mariadb-5.5]

[root@silassu ~]# systemctl start mariadb.service
[root@silassu ~]# ss -tnl
State       Recv-Q Send-Q Local Address:Port               Peer Address:Port              
LISTEN      0      128           *:22                        *:*                  
LISTEN      0      50            *:3306                      *:*     
[root@silassu ~]# mysql_secure_installation
[root@silassu ~]# mysql -uroot -p123qwe
MariaDB [(none)]> create database wordpress;
MariaDB [(none)]> GRANT ALL ON *.* to 'wordpress'@'120.79.170.206' IDENTIFIED BY '123qwe';
MariaDB [(none)]> GRANT ALL ON wordpress.* TO 'wpuser'@'120.79.170.206' IDENTIFIED BY '123qwe';
MariaDB [(none)]> FLUSH PRIVILEGES;

3)Php-fpm服务器的搭建mysql

[root@silassu ~]# vi /etc/php-fpm.d/www.conf    #修改相关参数
[root@silassu ~]# mkdir -pv /var/lib/php/session
[root@silassu ~]# chown apache:apache /var/lib/php/session/
[root@silassu ~]# systemctl start php-fpm.service
[root@silassu ~]# ss -tnl
State       Recv-Q Send-Q                                                Local Address:Port                                                               Peer Address:Port              
LISTEN      0      128                                                               *:22                                                                            *:*                  
LISTEN      0      128                                                       127.0.0.1:9000                                                                          *:*                  
LISTEN      0      50                                                                *:3306                                                                          *:*                  
[root@silassu ~]# systemctl status php-fpm.service
● php-fpm.service - php-fpm
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
   Active: activating (start) since Mon 2018-12-17 15:14:01 CST; 1min 14s ago
 Main PID: 10980 (code=exited, status=78);         : 11027 (php-fpm)
   CGroup: /system.slice/php-fpm.service
           ├─11027 php-fpm: master process (/etc/php-fpm.conf)
           ├─11029 php-fpm: pool www
           ├─11030 php-fpm: pool www
           ├─11031 php-fpm: pool www
           ├─11032 php-fpm: pool www
           └─11033 php-fpm: pool www

Dec 17 15:14:01 silassu systemd[1]: Starting php-fpm...

4)搭建httpd服务linux

[root@silassu ~]# httpd -M | grep fcgi
proxy_fcgi_module (shared)
[root@silassu ~]# cat /etc/httpd/conf.d/fcgi.conf 
Listen 8080
<VirtualHost *:8080>
        DirectoryIndex index.php
        ServerName www.silassu.com
        DocumentRoot /var/www/html
        ProxyRequests off
        ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/$1
        ProxyPassMatch ^/(ping|pmstatus)$ fcgi://127.0.0.1:9000/$1
        <Directory "/var/www/html">
               options none
               Allowoverride None
               Require all granted
        </Directory>
</VirtualHost>

5)建立测试文件sql

[root@silassu ~]# cat /var/www/html/index.php
<?php
          phpinfo();
?>
[root@silassu ~]# cat /var/www/html/mysql.php 
<?php
         $conn = mysql_connect('120.79.170.206','wordpress','123qwe');
         if ($conn)
                 echo "Connected to mysql.";
         else
                 echo "Fail";
?>

6)搭建wordpressshell

[root@silassu ~]#unzip wordpress-5.0.1-zh_CN.zip -d /var/www/html/

Linux的LAMP环境搭建,SQL语句,文件共享
Linux的LAMP环境搭建,SQL语句,文件共享
Linux的LAMP环境搭建,SQL语句,文件共享


二、什么是DML?经常使用SQL举例,每一个命令至少1个例子,最多不超过3个例子数据库

DML( Data Manipulation Language):数据库操做语言:SQL中处理数据库中的数据;其主要命令有SELECT,INSERT,UPDATE,DELETE等。
    SELECT
        1)查询指定表的全部数据
                SELECT * FROM  table_name
        2)查询指定字段的数据,字段名能够显示别名
                SELECT field1,field2,…FROM table_name;
        3)根据指定条件查询数据,分组,排序
                SELECT field,…FROM table_name WHERE condition GROUP BY field HAVING COUNT(*) >= '' ORDER BY field [ASC|DESC]; 
                condition:用于指明挑选条件
                GROUP BY:分组
                ORDER BY:排序
                        ASC:升序
                        DESC:降序

Linux的LAMP环境搭建,SQL语句,文件共享

INSERT
        1)默认根据表结构插入数据
                INSERT INTO table_name VALUES (value1,value2,value3,value4);
        2)往指定字段插入数据,剩余字段不能为非空
                INSERT INTO table_name (field1,field2,field3,field4) VALUES (value1,value2,value3,value4);

Linux的LAMP环境搭建,SQL语句,文件共享

UPDATE :表数据更新
            UPDATE table_name SET field=new_value WHERE condition;
            condition:用于指明挑选条件

Linux的LAMP环境搭建,SQL语句,文件共享

DELETE:删除行数据
            DELETE FROM table_name WHERE condition
            condition:用于指明挑选条件

Linux的LAMP环境搭建,SQL语句,文件共享

DDL( Data Definition Language):数据库服务器端命令的一种语言类型,表示数据定义语言,主要用于管理数据库组件,例如数据库,表,索引,视图,用户,存储过程等;经常使用命令有CREATE,ALTER,DROP等;
    CREATE(建立)
            CREATE DATABASE 建立数据库
            CREATE TABLE 建立表
            CREATE USER 建立用户

Linux的LAMP环境搭建,SQL语句,文件共享

SHOW(查看)
            SHOW CREATE DATABASE 查看建立的数据库
            SHOW CREATE TABLE 查看建立的表

Linux的LAMP环境搭建,SQL语句,文件共享

ALTER(修改)
            ALTER DATABASE 修改数据库
            ALTER TABLE 修改表

Linux的LAMP环境搭建,SQL语句,文件共享

DROP(删除)
            DROP DATABASE 删除数据库
            DROP TABLE 删除表
            DROP USER 删除用户

Linux的LAMP环境搭建,SQL语句,文件共享


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

FTP(File transfer Protocl):文件传输协议,是用于在网络中控制文件的双向传输的协议。FTP协议运行在TCP/21和20端口,一般来讲21端口是命令端口、20端口是数据端口,但根据FTP的工做模式的不一样,数据端口也有可能跟着改变。
     链接方式:
             命令链接:传输命令
             数据链接:传输数据
    工做模式:
            主动模式(PORT):服务器向客户端发起数据传输请求;服务器端口是固定的;
            缺点:服务器带客户端的FTP链接很容易被传输过程当中的路由器、防火墙所影响或拦截。

Linux的LAMP环境搭建,SQL语句,文件共享

被动模式(PASV):客户端向服务器端发起数据传输请求;服务器端口:半随机,是随机的;
            为了解决主动模式所面临的服务器到客户端的链接会被拦截阻塞的问题,FTP发展出了被动模式。在被动模式中,命令链接和数据链接都由客户端来发起,这样就能够解决从服务器到客户端的数据端口的入方向链接被防火墙拦截的问题。

Linux的LAMP环境搭建,SQL语句,文件共享

vfs 配置
             主程序:/usr/sbin/vsftpd
             主配置文件:/etc/vsftpd/vsftpd.conf
             数据根目录:/var/ftp
             Systemd Unit File :/usr/lib/systemd/systemd/vsftpd.service
             禁止登录用户列表:/etc/vsftpd/ftpusers
             用户列表/etc/vsftpd/user_list

1)数据库设置
[root@silassu ~]# mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 173
Server version: 5.6.21-log MySQL Community Server (GPL)

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

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

MySQL [(none)]> CREATE DATABASE vsftpd;
Query OK, 1 row affected (0.00 sec)

MySQL [(none)]> USE vsftpd;
Database changed
MySQL [vsftpd]> CREATE TABLE users(id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,name CHAR(50) BINARY NOT NULL,password CHAR(48) BINARY NOT NULL);
Query OK, 0 rows affected (0.02 sec)

MySQL [vsftpd]> DESC users;
+----------+----------+------+-----+---------+----------------+
| Field    | Type     | Null | Key | Default | Extra          |
+----------+----------+------+-----+---------+----------------+
| id       | int(11)  | NO   | PRI | NULL    | auto_increment |
| name     | char(50) | NO   |     | NULL    |                |
| password | char(48) | NO   |     | NULL    |                |
+----------+----------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

MySQL [vsftpd]> INSERT INTO users(name,password) VALUE('PaulCormier',password('RedHat'));
Query OK, 1 row affected (0.08 sec)

MySQL [vsftpd]> INSERT INTO users(name,password) VALUE('CamilleGutt',password('CentOS'));
Query OK, 1 row affected (0.00 sec)

MySQL [vsftpd]> SELECT * FROM users;
+----+-------------+-------------------------------------------+
| id | name        | password                                  |
+----+-------------+-------------------------------------------+
|  1 | PaulCormier | *023141D26FD2A879F5D82DE673D789E1508C9008 |
|  2 | CamilleGutt | *2273FEDA7433D659EE517A065F38BE5B8035F2C2 |
+----+-------------+-------------------------------------------+
2 rows in set (0.00 sec)

MySQL [vsftpd]> GRANT SELECT ON vsftpd.* TO 'vsftpd'@'127.0.0.1' IDENTIFIED BY 'RedHat';
Query OK, 0 rows affected (0.00 sec)

MySQL [vsftpd]> GRANT SELECT ON vsftpd.* TO 'vsftpd'@'localhost' IDENTIFIED BY 'RedHat';
Query OK, 0 rows affected (0.00 sec)

MySQL [vsftpd]>
2)安装vsftpd服务
[root@silassu ~]# setenforce 0
[root@silassu ~]# iptables -F
[root@silassu ~]# yum install mariadb-devel pam-devel openssl-devel -y
[root@silassu ~]# tar -xf pam_mysql-0.7RC1.tar.gz
[root@silassu ~]# cd pam_mysql-0.7RC1/
[root@silassu pam_mysql-0.7RC1]# ./configure --with-mysql=/usr --with-openssl=/usr --with-pam=/usr --with-pam-mods-dir=/lib64/security
[root@silassu pam_mysql-0.7RC1]# make && make install
[root@silassu ~]# cd /usr/lib64/security/
[root@silassu security]# ls
pam_access.so    pam_deny.so       pam_filter      pam_lastlog.so    pam_mkhomedir.so   pam_pwhistory.so       pam_selinux.so     pam_tally2.so     pam_unix_auth.so     pam_wheel.so
pam_cap.so       pam_echo.so       pam_filter.so   pam_limits.so    pam_mysql.so        pam_pwquality.so       pam_sepermit.so    pam_time.so       pam_unix_passwd.so   pam_xauth.so
pam_chroot.so    pam_env.so        pam_ftp.so      pam_listfile.so   pam_namespace.so   pam_rhosts.so          pam_shells.so      pam_timestamp.so  pam_unix_session.so
pam_console.so   pam_exec.so       pam_group.so    pam_localuser.so  pam_nologin.so     pam_rootok.so          pam_stress.so      pam_tty_audit.so  pam_unix.so
pam_cracklib.so  pam_faildelay.so  pam_issue.so    pam_loginuid.so   pam_permit.so      pam_securetty.so       pam_succeed_if.so  pam_umask.so      pam_userdb.so
pam_debug.so     pam_faillock.so   pam_keyinit.so  pam_mail.so       pam_postgresok.so  pam_selinux_permit.so  pam_systemd.so     pam_unix_acct.so  pam_warn.so
[root@silassu ~]# yum install vsftpd -y
[root@silassu ~]# mkdir /ftproot/vuser -pv
mkdir: created directory ‘/ftproot’
mkdir: created directory ‘/ftproot/vuser’
[root@silassu ~]# useradd -s /sbin/nologin -d /ftproot/vuser/ vuser
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
[root@silassu ~]# chmod u-w /ftproot/vuser/
[root@silassu ~]# cd /etc/pam.d/
[root@silassu pam.d]# vim vsftpd.mysql
[root@silassu pam.d]# cat vsftpd.mysql 
auth required /usr/lib64/security/pam_mysql.so user=vsftpd passwd=redhat host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

account required /usr/lib64/security/pam_mysql.so user=vsftpd passwd=redhat host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
[root@silassu pam.d]# vim /etc/vsftpd/vsftpd.conf
[root@silassu pam.d]# cat /etc/vsftpd/vsftpd.conf
......
pam_service_name=vsftpd.mysal
guest_enable=NO
guest_username=vuser
userlist_enable=YES
tcp_wrappers=YES
[root@silassu ~]# cd
[root@silassu ~]# cd /etc/vsftpd/vusrs_conf/
[root@silassu vusrs_conf]# vim PaulCormier
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
[root@silassu vusrs_conf]# vim CamilleGutt
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
[root@silassu ~]# systemctl start vsftpd
3)客户端测试
[root@SilasSZL ~]# yum install ftp -y 
[root@SilasSZL ~]# ftp 192.168.2.100
Connected to 192.168.2.100 (192.168.2.100).
220 (vsFTPd 3.0.2)
Name (10.9.3.244:root): PaulCormier
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> lcd /etc
Local directory now /etc
ftp> put issue
local: issue remote: issue
227 Entering Passive Mode (192.168.2.100,24,224).
150 Ok to send data.
226 Transfer complete.
47 bytes sent in 0.000194 secs (242.27 Kbytes/sec)
ftp> mkdir sharetest
257 "/upload/sharetest" created
ftp> rm sharetest
250 Remove directory operation successful.
[root@SilasSZL ~]# ftp 192.168.2.100
Connected to 192.168.2.100 (192.168.2.100).
220 (vsFTPd 3.0.2)
Name (192.168.2.100:root): CamilleGutt
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> lcd /etc
Local directory now /etc
ftp> mkdir share
550 Permission denied.
ftp> put issue
local: issue remote: issue
227 Entering Passive Mode (192.168.2.100,24,175).
550 Permission denied.

四、简述NFS服务原理及配置vim

NFS(Network File System):网络文件系统,它容许网络中的计算机之间经过TCP/IP网络共享资源。在NFS中,客户端能够透明读写服务器端上的文件,就像访问本地文件同样,经过挂载的方式将服务器的文件挂载到本地,如同本地磁盘同样。
    NFS服务的优缺点
        优势:
            节省本地存储空间,将经常使用的数据存放在一台能够经过网络访问的服务器上
            简单容易上手
            方便部署很是快速,维护十分简单
        缺点:
            容易发生单点故障,须要作备份处理
            在高并发环境中效率性能有限
            客户端没有认证机制,数据经过明文传输,缺少安全性
            对数据的完整性不作验证
            多台机器挂载NFS服务器时,链接管理维护比较麻烦

Linux的LAMP环境搭建,SQL语句,文件共享
1)nfs服务端配置安全

[root@silassu ~]# yum -y install nfs-utils.x86_64
[root@silassu ~]# yum -y install rpcbind
[root@silassu ~]# mkdir /tmp/test
[root@silassu ~]# vi /etc/exports
[root@silassu ~]# cat /etc/exports
/tmp/text 192.168.2.104(rw,sync,root_squash)
[root@silassu ~]# systemctl start rpcbind
[root@silassu ~]# systemctl status nfs-server.service

2)客户端挂载共享目录

[root@silassu ~]# showmount -e 192.168.2.103
Export list for 192.168.2.103:
/tmp/test 192.168.2.104
[root@silassu ~]# mkdir /tmp/test
[root@silassu ~]# mount -t nfs 192.168.2.103:/tmp/test /tmp/test
[root@silassu ~]# cd /tmp/test
[root@silassu test]# ls
[root@silassu test]# vi nfs-share.txt
this is a client nfs share file

3)服务端验证

[root@silassu ~]# cd /tmp/test/
[root@silassu test]# ls
nfs-share.txt
[root@silassu test]# cat nfs-share.txt
this is a client nfs share file

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

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通讯协议,它为局域网内的不一样计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机经过该协议能够访问服务器上的共享文件系统、打印机及其余资源。例如Windows和Linux,Windows和Unix等,能够使用samba服务器来解决两者传输问题。
    SAMBA主要提供的是SMB/CIFS或者NETBIOS协议的。

    samba用户管理:smbpasswd命令;
    smbpasswd [options] USERNAME
        -a:添加
        -x:删除
        -d:禁用
        -e:启用
    pdbedit
        -L:列出samba服务中的全部用户;
        -a, --create:添加用户为samba用户;
        -u, --user=USER:要管理的用户;
        -x, --delete:删除用户;
        -t, --password-from-stdin:从标准输出接收字符串做为用户密码;使用空提示符,然后将密码输入两次;

samba服务的程序安装和配置

[root@silassu ~]# yum install samba -y
[root@silassu ~]# rpm -ql samba
/etc/openldap/schema
/etc/openldap/schema/samba.schema
/etc/pam.d/samba
/usr/bin/eventlogadm
/usr/bin/smbstatus
/usr/lib/systemd/system/nmb.service
/usr/lib/systemd/system/smb.service
......
[root@silassu ~]# rpm -ql samba-common
/etc/logrotate.d
/etc/logrotate.d/samba
/etc/samba
/etc/samba/lmhosts
/etc/samba/smb.conf
/etc/samba/smb.conf.example
/etc/sysconfig/samba
/usr/lib/tmpfiles.d/samba.conf
/usr/share/man/man5/lmhosts.5.gz
/usr/share/man/man5/smb.conf.5.gz
/usr/share/man/man5/smbpasswd.5.gz
/usr/share/man/man7/samba.7.gz
/var/lib/samba
/var/lib/samba/lock
/var/lib/samba/private
/var/log/samba
/var/log/samba/old
/var/run/samba
/var/run/winbindd
[root@silassu ~]# iptables -F
[root@silassu ~]# setenforce 0
[root@silassu ~]# mkdir /share
[root@silassu ~]# vim /etc/samba/smb.conf
[root@silassu ~]# cat /etc/samba/smb.conf
......
[share]
        comment=share
        path=/share
        guest ok=yes
        read only=no
[root@silassu ~]# testparm
[root@silassu ~]# useradd samba
[root@silassu ~]# pdbedit -a samba
new password:
retype new password:
Unix username:        samba
NT username:          
Account Flags:        [U     
User SID:             S-1-5-21-3402031604-584554795-1042339899-1000
Primary Group SID:    S-1-5-21-3402031604-584554795-1042339899-513
Full Name:            
Home Directory:       \\silassu\samba
HomeDir Drive:        
Logon Script:         
Profile Path:         \\silassu\samba\profile
Domain:               SILASSU
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          Wed, 06 Feb 2036 23:06:39 CST
Kickoff time:         Wed, 06 Feb 2036 23:06:39 CST
Password last set:    Wed, 19 Dec 2018 11:51:23 CST
Password can change:  Wed, 19 Dec 2018 11:51:23 CST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

[root@silassu ~]# systemctl start smb
相关文章
相关标签/搜索