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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章