lamp+pureftp实现虚拟映射登录

环境的搭建

应用环境要求:linux 5.4 lamp环境

所需软件 pure-ftpd-1.0.36.tar.gz

PureAdmin-0.3.tar.gz

lamp+pureftp实现虚拟映射登录_虚拟映射

lamp环境搭建:

本地yum安装:

配置本地yum服务器:

挂载本地光驱:

mount /dev/cdrom /mnt/cdrom

配置本地yum服务器

vim /etc/yum.repos.d/rhel-debuginfo.repo

lamp+pureftp实现虚拟映射登录_pureftp_02

本地yum安装lamp环境:

yum install httpd mysql mysql-server mysql-devel php php-mysqlphp-gd php-mbstring

启动http服务:servicehttpd start

设置http开机自起:chkconfighttpd on

启动mysql服务:servicemysqld start

mysql创建管理员密码mysqladmin -u root-p password '123'

配置php

vim /etc/httpd/conf/httpd.conf 391

lamp+pureftp实现虚拟映射登录_虚拟映射_03

重启服务:service httpd restart

配置pureftpmysql用户信息:vim pureftp.sql

lamp+pureftp实现虚拟映射登录_虚拟映射_04

数据库导入

mysql -u root -p </root/pureftp/pureftp.sql

添加连接mysql用户

lamp+pureftp实现虚拟映射登录_虚拟映射_05

查看数据库

lamp+pureftp实现虚拟映射登录_linux_06

先用root登录mysql,执行

grant all privileges on ftpusers.* to ftp@localhostidentified by 'tmppasswd'; ftpusers内的表格实现授权

flush privileges; 刷新权限

lamp+pureftp实现虚拟映射登录_pureftp_07

安装pure-ftpd-1.0.36.tar.gz

[root@server pureftp]# tar -zxvfpure-ftpd-1.0.36.tar.gz -C /usr/local/src 拆解文件到指定目录

cd /usr/local/src

lamp+pureftp实现虚拟映射登录_linux_08

./configure \

--prefix=/usr/local/pureftpd \ 安装目录的位置

--with-mysql \ mysql结合

--with-shadow \ 支持本地账号

--with-pam \ 借助pam实现身份验证

--with-welcomemsg \ 支持欢迎消息

--with-uploadscript \

--with-cookie \ 跟踪用户

--with-virtualchroot \ 支持虚拟目录

--with-virtualhosts \ 支持虚拟主机

--with-diraliases \ 目录别名

--with-quotas \ 支持配额

--with-puredb \ 支持本地账号与虚拟账号映射

--with-sysquotas \

--with-ratios \ 支持速率限制

--with-ftpwho \

--with-throttling \

--with-language=simplified-chinese

安装 make && make install

切换到安装目录:

cd /usr/local/pureftpd/

创建配置文件存放目录 mkdir etc

创建控制文件

cd /usr/local/src/pure-ftpd-1.0.36/

cdcontrib/ 控制文件存放目录

拷贝控制文件cp redhat.init /etc/init.d/pureftpd

改变权限可执行chmod a+x/etc/init.d/pureftpd

cd /usr/local/src/pure-ftpd-1.0.36/

cd configuration-file/ 配置文件存放位置

拷贝配置文件:cp pure-ftpd.conf /usr/local/pureftpd/etc/

服务器文件:

改变权限 chmod a+x pure-config.pl

拷贝文件cppure-config.pl /usr/local/pureftpd/sbin/

配置pureftp

vim /etc/init.d/pureftpd

lamp+pureftp实现虚拟映射登录_pureftp_09

启动服务service pureftpd start

查看端口netstat -tupln |grep 21


安装PureAdmin-0.3.tar.gz

cd 回到主目录

切换到软件包存放目录:cd pureftp/

拆解:tar -zxvfPureAdmin-0.3.tar.gz -C /var/www/html/

切换到拆解目录:cd /var/www/html/

更改目录名称:mv PureAdmin-0.3 pureadmin

进入到拆解目录cd pureadmin

编辑配置文件:vim config.php

lamp+pureftp实现虚拟映射登录_pureftp_10

重启各种服务:

service httpd restart

service mysqld restart

service pureftpd restart

浏览器测试http://192.168.30.128/pureadmin/ (主机地址依情况而定)

lamp+pureftp实现虚拟映射登录_虚拟映射_11

lamp+pureftp实现虚拟映射登录_虚拟映射_12

lamp+pureftp实现虚拟映射登录_pureftp_13

创建接口文件用于mysql的连接用户登录等

主目录下 cd pureftp/

cp pureftpd-mysql.conf /usr/local/pureftpd/etc/

cd /usr/local/pureftpd/etc/

vim pureftpd-mysql.conf

编辑配置文件用于调用接口文件

lamp+pureftp实现虚拟映射登录_虚拟映射_14

lamp+pureftp实现虚拟映射登录_pureftp_15

lamp+pureftp实现虚拟映射登录_pureftp_16

vim pure-ftpd.conf

lamp+pureftp实现虚拟映射登录_linux_17

lamp+pureftp实现虚拟映射登录_pureftp_18

创建家目录 mkdir /ftproot

创建账号指明家目录useradd -d /ftproot/ -s/sbin/nologin virtualuser

改变所属组 chown virtualuser:virtualuser /ftproot/

设置权限 chmod -R 777 /ftproot/

关联虚拟映射 /usr/local/pureftpd/bin/pure-pwuseradd user1 -u virtualuser -g virtualuser -d /ftproot/user1 –m

lamp+pureftp实现虚拟映射登录_linux_19

user1是用户名,-u virtualuser是其实际的linux用户,-d指定起始目录,并锁定于该目录。如果不锁定,则用-D;如果需要不同的权限,可以建立新的linux用户与组

如果用的系统自带的ftp用户,这样的话还需修改配置文件pure-ftpd.conf中的MinUIDftp用户的UID 14,否则登录时会出现530错误;所以这里建议创建另一个非系统自带的用户做映射

建立用户数据库:

/usr/local/pureftpd/bin/pure-pwmkdb /usr/local/pureftpd/etc/pureftpd.pdb

说明:今后每添加或修改用户数据库都应该执行一次mkdb

http://192.168.30.128/pureadmin/

新建用户user2测试:

lamp+pureftp实现虚拟映射登录_虚拟映射_20

lamp+pureftp实现虚拟映射登录_pureftp_21

lamp+pureftp实现虚拟映射登录_虚拟映射_22

lamp+pureftp实现虚拟映射登录_虚拟映射_23

新建用户user3测试:

lamp+pureftp实现虚拟映射登录_pureftp_24

lamp+pureftp实现虚拟映射登录_虚拟映射_25

查看本地用户

lamp+pureftp实现虚拟映射登录_linux_26


发现并没有user2 user3 的存在。只用virtualuser用户。由此实现了虚拟映射的登录。