【今日推荐】:为什么一到面试就懵逼!>>> 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库

[[email protected] ~]# yum localinstall -y mysql57-community-release-el7-7.noarch.rpm

安装MySQL

[[email protected] ~]# yum install -y mysql-community-server

启动MYSQL

[[email protected] ~]# systemctl start  mysqld.service

安装完成后就会覆盖掉之前的mariadb

2.2 数据库密码修改

centos7安装mysql时会得到一个系统给的初始密码,因此我们无法直接登录mysql,需要先对其进行修改,而修改密码有两种方法,但是方法一可能会失效,建议使用方法二一步到位。

方法一:通过初始密码登陆修改

查找初始化密码

[[email protected] ~]# grep 'temporary password' /var/log/mysqld.log

得到初始密码,然后通过下面命令进入数据库

[[email protected] ~]# 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 免密码登录

[[email protected] ~]# vim /etc/my.cnf

输入上述命令,然后Shift+A进入可写模式,在[mysqld]下面增添一行:skip-grant-tables,然后按Esc,输入:wq回车保存。

重启MYSQL

[[email protected] ~]# systemctl restart mysql

即可无密登陆MYSQL,输入下面命令:

[[email protected] ~]# mysql

mysql> use mysql;

mysql> update user set password = password ('new-password') where user = 'root';

mysql> flush privileges;

mysql> quit;

然后将配置文件skip-grant-tables删掉,重启MYSQL

[[email protected] ~]# systemctl restart mysql

此时就完成数据库密码修改,但若想远程登录还需开启远程链接授权。

2.3 数据库开启远程连接

进入数据库,输入下面命令:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

mysql> FLUSH PRIVILEGES;

然后重启数据库,就可以尝试在外网通过Navicat for MySQL连接服务器数据库。

[[email protected] ~]#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操作失败,有可能是服务器防火墙限制导致,这边有两种方案

方法一:关闭防火墙

查看防火墙是否开启命令:

[[email protected] ~]#service iptables status

关闭防火墙命令:

[[email protected] ~]#service iptables stop

方法二:开放数据库端口

如果服务器有防火墙需求,那么就不能随意关闭防火墙,那么就只能开启数据库的端口,一般是3306或者3307

查看防火墙状态:

[[email protected] ~]#firewall-cmd --list-all

开放端口命令:

[[email protected] ~]# firewall-cmd --permanent --add-port=3306/tcp

重启防火墙:

[[email protected] ~]#service firewalld restart

查看端口开放情况:

[[email protected] ~]# 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

[[email protected]_0_17_centos thinkphp]# ps -ef |grep vsftpd

没有安装则执行安装命令

[[email protected]_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

可以看到我服务器如下:

Centos7下FTP搭建和Mysql远程配置

最后别忘了,开启用户在该目录下的全部权限,命令如下:

chown -R ftpuser /sbin/nologin

3.4设置vsftpd服务开机启动

[[email protected]_0_17_centos ~]# systemctl enable vsftpd.service

3.5启动暂停查看服务状态命令

#启动

[[email protected]_0_17_centos ~]# systemctl start vsftpd.service

#暂停

[[email protected]_0_17_centos ~]# systemctl stop vsftpd.service

#查看

[[email protected]_0_17_centos ~]# systemctl status vsftpd.service

#重启

[[email protected]_0_17_centos ~]# systemctl restart vsftpd.service

3.6远程安装ftp客户端验证能否连接

完成以上全部步骤后,此时可以在本地的FileZilla尝试登录远程FTP服务器

Centos7下FTP搭建和Mysql远程配置

3.6.1 登录成功

Centos7下FTP搭建和Mysql远程配置

3.6.2 登录失败

如果出现登陆失败,显示530 Login incorrect.如下图:

Centos7下FTP搭建和Mysql远程配置

可能是操作系统版本原因,尝试修改如下:

1)密码错误

修改密码试试

[[email protected]_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目录,命令如下:

[[email protected]_0_17_centos /]# find / -name thinkphp

找到目录截图如下:

Centos7下FTP搭建和Mysql远程配置

3.7.2更改用户相应的权限设置

然后使用命令修改用户默认目录,命令如下:

[[email protected]_0_17_centos thinkphp]# usermod -d /yjdata/thinkphp ftpuser

 如果用户不能上传文件,记得

[[email protected]_0_17_centos thinkphp]#chmod -R 777 /yjdata/thinkphp

4.总结

总的来说,本次配置按照步骤一步一步来实现就可以了,虽然我对一些基本配置还是存在一定的疑惑和不足,但期待自己多加练习,早日秃头。

相关文章: