Centos7下FTP搭建和Mysql遠程配置

  •  目錄
  • 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.總結

總的來說,本次配置按照步驟一步一步來實現就可以了,雖然我對一些基本配置還是存在一定的疑惑和不足,但期待自己多加練習,早日禿頭。

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