- 目錄
- 1. 前言
- 2. 配置MYSQL數據庫一路通
- 2.1 數據庫安裝
- 2.2 數據庫密碼修改
- 方法一:通過初始密碼登陸修改
- 方法二:配置文件 MySQL 免密碼登錄
- 2.3 數據庫開啓遠程連接
- 2.4 數據庫關閉遠程連接
- 2.5 防火牆限制設置
- 方法一:關閉防火牆
- 方法二:開放數據庫端口
- 3. 安裝FTP服務器一路通
- 3.1 vsftpd介紹
- 3.2 安裝vsftpd
- 3.3 創建FTP用戶
- 3.4 設置vsftpd服務開機啓動
- 3.5 啓動暫停查看服務狀態命令
- 3.6 遠程安裝ftp客戶端驗證能否連接
- 3.6.1 登錄成功
- 3.6.2 登錄失敗
- 3.7 修改用戶默認目錄位置
- 3.7.1 找到WWW目錄
- 3.7.2 更改用戶相應的權限設置
- 4. 總結
1.前言
基於LNMP集成環境,我們完成一些遠程連接的配置,以便我們能夠在本地遠程操作服務器的數據庫和項目文件。
2.配置MYSQL數據庫一路通
2.1數據庫安裝
查看MYSQL運行狀態命令
[root@localhost ~]# systemctl status mysqld.service
啓動MYSQL命令
[root@localhost ~]# systemctl start mysqld.service
關閉MYSQL命令
[root@localhost ~]# systemctl stop mysqld.service
重啓MYSQL命令
[root@localhost ~]# service mysql restart
如果沒有安裝MYSQL,則需要安裝(CentOS 7之後的版本yum的默認源中使用MariaDB替代原先MySQL,因此安裝方式較爲以往有一些改變),上一篇安裝教程已經安裝好了,這裏重複一下。
下載mysql的源
[root@localhost ~]# wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
安裝yum庫
[root@localhost ~]# yum localinstall -y mysql57-community-release-el7-7.noarch.rpm
安裝MySQL
[root@localhost ~]# yum install -y mysql-community-server
啓動MYSQL
[root@localhost ~]# systemctl start mysqld.service
安裝完成後就會覆蓋掉之前的mariadb。
2.2 數據庫密碼修改
centos7安裝mysql時會得到一個系統給的初始密碼,因此我們無法直接登錄mysql,需要先對其進行修改,而修改密碼有兩種方法,但是方法一可能會失效,建議使用方法二一步到位。
方法一:通過初始密碼登陸修改
查找初始化密碼
[root@localhost ~]# grep 'temporary password' /var/log/mysqld.log
得到初始密碼,然後通過下面命令進入數據庫
[root@localhost ~]# mysql -u root -p
輸入初始密碼,此時不能做任何事情,因爲MySQL默認必須修改密碼之後才能操作數據庫
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
mysql> flush privileges;
mysql> quit
mysql> mysql -u root -p
然後退出重新登陸,注意密碼設置有規範要求,這裏不具體敘述。
若提示密碼不安全,輸入以下命令重試即可
mysql> set global validate_password_policy=0; # 關閉密碼複雜性策略
mysql> set global validate_password_length=1; #設置密碼複雜性要求密碼最低長度爲1
mysql> select @@validate_password_policy; # 查看密碼複雜性策略
mysql> select @@validate_password_length; # 查看密碼複雜性要求密碼最低長度大小
方法二:配置文件 MySQL 免密碼登錄
[root@localhost ~]# vim /etc/my.cnf
輸入上述命令,然後Shift+A進入可寫模式,在[mysqld]下面增添一行:skip-grant-tables,然後按Esc,輸入:wq回車保存。
重啓MYSQL
[root@localhost ~]# systemctl restart mysql
即可無密登陸MYSQL,輸入下面命令:
[root@localhost ~]# mysql
mysql> use mysql;
mysql> update user set password = password ('new-password') where user = 'root';
mysql> flush privileges;
mysql> quit;
然後將配置文件skip-grant-tables刪掉,重啓MYSQL
[root@localhost ~]# systemctl restart mysql
此時就完成數據庫密碼修改,但若想遠程登錄還需開啓遠程鏈接授權。
2.3 數據庫開啓遠程連接
進入數據庫,輸入下面命令:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
然後重啓數據庫,就可以嘗試在外網通過Navicat for MySQL連接服務器數據庫。
[root@localhost ~]#service mysqld restart
2.4 數據庫關閉遠程連接
使用root用戶登錄到數據庫
use mysql
選擇mysql數據庫
revoke all privileges on *.* from 'root'@'%';
撤回權限
delete from user where User="root" and Host="%";
刪除用戶
flush privileges;
刷新
2.5 防火牆限制設置
如果章節2.3操作失敗,有可能是服務器防火牆限制導致,這邊有兩種方案
方法一:關閉防火牆
查看防火牆是否開啓命令:
[root@localhost ~]#service iptables status
關閉防火牆命令:
[root@localhost ~]#service iptables stop
方法二:開放數據庫端口
如果服務器有防火牆需求,那麼就不能隨意關閉防火牆,那麼就只能開啓數據庫的端口,一般是3306或者3307
查看防火牆狀態:
[root@localhost ~]#firewall-cmd --list-all
開放端口命令:
[root@localhost ~]# firewall-cmd --permanent --add-port=3306/tcp
重啓防火牆:
[root@localhost ~]#service firewalld restart
查看端口開放情況:
[root@localhost ~]# firewall-cmd --query-port=3306/tcp
最後再次嘗試在外網通過Navicat for MySQL連接服務器數據庫。
3.安裝FTP服務器一路通
3.1 vsftpd介紹
vsftpd 是“very secure FTP daemon”的縮寫,安全性是它的一個最大的特點;它也是一款在Linux發行版中最受推崇的FTP服務器程序。特點是小巧輕快,安全易用。
3.2安裝vsftpd
查看是否安裝了vsftpd
[root@VM_0_17_centos thinkphp]# ps -ef |grep vsftpd
沒有安裝則執行安裝命令
[root@VM_0_17_centos ~]# yum install -y vsftpd
修改vsftpd配置文件,輸入命令
vi /etc/vsftpd/vsftpd.conf
對比文件修改文件內容符合下述選項
- anonymous_enable=NO #不允許匿名訪問
- local_enable=YES #允許使用本地帳戶進行FTP用戶登錄驗證
- chroot_local_user=YES #使用戶不能離開主目錄
- chroot_list_enable=YES
- chroot_list_file=/etc/vsftpd/chroot_list
- ascii_upload_enable=YES #設定支持ASCII模式的上傳和下載功能
- ascii_download_enable=YES
- allow_writeable_chroot=YES #配置文件最後添加(該步驟手動添加否則會報錯500)
然後按ESC,:wq直接保存並退出
如果沒有創建/etc/vsftpd/chroot_list,則需要創建該文件,命令如下:
vi /etc/vsftpd/chroot_list
最後重啓重啓vsftpd,命令如下:
systemctl restart vsftpd.service
3.3創建FTP用戶
創建FTP用戶,命令如下:
useradd -d /var/ftp/public_root -g ftp -s /sbin/nologin ftpuser
修改該FTP用戶密碼,命令如下:
passwd ftpuser
然後通過命令查看FTP用戶是否設置不能通過SSH登錄,只能使用FTP,命令如下:
vim /etc/passwd
可以看到我服務器如下:
最後別忘了,開啓用戶在該目錄下的全部權限,命令如下:
chown -R ftpuser /sbin/nologin
3.4設置vsftpd服務開機啓動
[root@VM_0_17_centos ~]# systemctl enable vsftpd.service
3.5啓動暫停查看服務狀態命令
#啓動
[root@VM_0_17_centos ~]# systemctl start vsftpd.service
#暫停
[root@VM_0_17_centos ~]# systemctl stop vsftpd.service
#查看
[root@VM_0_17_centos ~]# systemctl status vsftpd.service
#重啓
[root@VM_0_17_centos ~]# systemctl restart vsftpd.service
3.6遠程安裝ftp客戶端驗證能否連接
完成以上全部步驟後,此時可以在本地的FileZilla嘗試登錄遠程FTP服務器
3.6.1 登錄成功
3.6.2 登錄失敗
如果出現登陸失敗,顯示530 Login incorrect.如下圖:
可能是操作系統版本原因,嘗試修改如下:
1)密碼錯誤
修改密碼試試
[root@VM_0_17_centos /]# passwd ftpuser
2)檢查/etc/vsftpd/vsftpd.conf配置
vim /etc/vsftpd/vsftpd.conf
看是否符合下面配置
local_enable=YES
pam_service_name=vsftpd
userlist_enable=YES
3)檢查/etc/pam.d/vsftpd配置
vim /etc/pam.d/vsftpd
註釋掉
#auth required pam_shells.so
4)必須重啓
最後,無論嘗試那種,都需要systemctl restart vsftpd.service 重啓vsftpd,我是第三種原因。
3.7修改用戶默認目錄位置
上述步驟只是在安裝和配置vsftpd服務器,正常連接後,我們應該講FTP服務器目錄指向我們的WWW目錄
3.7.1 找到WWW目錄
因爲我使用的是騰訊雲服務商的集成環境,因此包含了thinkphp文件,所有通過find命令,我可以查找相應的WWW目錄,命令如下:
[root@VM_0_17_centos /]# find / -name thinkphp
找到目錄截圖如下:
3.7.2更改用戶相應的權限設置
然後使用命令修改用戶默認目錄,命令如下:
[root@VM_0_17_centos thinkphp]# usermod -d /yjdata/thinkphp ftpuser
如果用戶不能上傳文件,記得
[root@VM_0_17_centos thinkphp]#chmod -R 777 /yjdata/thinkphp
4.總結
總的來說,本次配置按照步驟一步一步來實現就可以了,雖然我對一些基本配置還是存在一定的疑惑和不足,但期待自己多加練習,早日禿頭。