热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Centos7下FTP搭建和Mysql远程配置

【今日推荐】:为什么一到面试就懵逼!目录1.前言2.配置MYSQL数据库一路通2.1数据库安装2.2数据库密码修改方法一:通过初始密

【今日推荐】:为什么一到面试就懵逼!>>> hot3.png

  • 目录
  • 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

可以看到我服务器如下:

up-62e013b291b3db409dbbb441818174b9b6e.png

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

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服务器

up-abba5b481a32f471b3b9a681c58fa930548.png

3.6.1 登录成功

up-820e6c7c3e4db25e66b06996efd2578898c.png

3.6.2 登录失败

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

up-b7cb438803347592f86f0d3a874e7b88bf8.png

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

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

找到目录截图如下:

up-2808377cf5e6d50c1a5a20e6fecd8d65516.png

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.总结

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


推荐阅读
author-avatar
良辰rose
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有