VPS侦探论坛

 找回密码
 注册
查看: 7533|回复: 7

【原创】LNMP0.8安装vsftpd SSH一键添加删除FTP用户和虚拟主机绑定域名

[复制链接]
发表于 2012-3-2 21:37:35 | 显示全部楼层 |阅读模式

注意:安装前默认让你绑定个域名到/home/wwwroot/目录 但是以后还会在里边建站 所以安装的时候绑定个2级域名
如果已经绑定了主域名请修改 然后使用我修改的脚本安装程序

脚本所有问题都修复完成了 以前下载的请重新下载后上传到VPS  O(∩_∩)O

# vim /usr/local/nginx/conf/nginx.conf
打开后找这里其他不要修改如果你想用phpmyadmin  root /home/wwwroot;不要修改 只修改server_name 就可以
                listen       80;
                server_name 51kwz.com;
                index index.html index.htm index.php;
                root  /home/wwwroot;


我也是新手这几天研究LNMP一直感觉没有控制面板不会用
发现 vhost.sh 这个脚本挺智能但是没有达到要求 只能创建主机不能创建FTP用户 被我简单的修改了下
这下直接用SSH就可以傻瓜式操作了
前提:你要安装vsftpd服务 按照说明
找到你的下载的解压目录 我习惯下载/tmp临时文件里不用就删除

[root@localhost tmp]# wget -c http://soft.vpser.net/lnmp/lnmp0.8.tar.gz

进入目录lnmp0.8
[root@localhost tmp]# cd lnmp0.8

执行安装命令
[root@localhost lnmp0.8]#./vsftpd.sh

完成后我的是随着xinetd守护进程启动的 我这里安装后出现问题 不能启动 然后我的解决办法
用vim打开文件
VIM使用方法 打开文件后按键盘上insert健 一下底部显示插入 然后开始用上下左右控制修改
退出保存 按ESC键 然后 : wq 保存退出 : q 退出 : q! 不修改文件退出 分号有空格的 给新手看的高手略过

#vim /etc/vsftpd.conf

找到这里 我这个是yes然后改成no
# 以独立的FTP服务运行
listen=no

然后往下找看看这个前是否有“#”号 有的去掉 没有继续

# 调用限制在家目录的用户名单
chroot_list_enable=YES

# 限制在家目录的用户名单所在路径
chroot_list_file=/etc/vsftpd/chroot_list

然后打开
#vim /etc/xinetd.d/vsftpd

按照以下修改
  1. # default: on
  2. # description:
  3. #   The vsftpd FTP server serves FTP connections. It uses
  4. #   normal, unencrypted usernames and passwords for authentication.
  5. # vsftpd is designed to be secure.
  6. service ftp
  7. {
  8.         socket_type             = stream
  9.         wait                    = no
  10.         user                    = root
  11.         server                  = /usr/local/sbin/vsftpd
  12.         server_args             = /etc/vsftpd.conf  
  13. #       log_on_success          += DURATION USERID
  14. #       log_on_failure          += USERID
  15.         nice                    = 10
  16.         disable                 = no
  17. }
复制代码
这里修改完重启xinetd服务 这样开机就随着xinetd启动了
#service xinetd restart
======================================================
上面完事了 这下是主要的来了

打开文件
#vim /root/vhost.sh

我这是先添加FTP账号然后添加虚拟主机
功能是直接输入想要开通FTP的用户名然后输入密码就可以了
这里已经限制用户访问上层目录或根目录
打开
#vim /root/vhost.sh
在if [ "$1" != "--help" ]; then添加以下代码
  1. echo "lease input FTP Username:"
  2. read -p "(FTP username):" userftp
  3. if [ "$userftp" = "" ]; then
  4.   echo "Warning: Please input FTP Username"
  5. else
  6.   useradd -d /home/wwwroot/$userftp -s /sbin/nologin $userftp
  7.   echo "$userftp">>/etc/vsftpd/chroot_list
  8.   passwd $userftp
  9. fi
复制代码
然后是搜索这个
这里的路径修改下加上FTP用户名称
为了虚拟机目录规整我的路径是这样的 删除也好删除
FTP用户目录里创建虚拟主机目录
这样直接查找用户名就可以找到网站了
然后是搜索这个
/home/wwwroot/$domain 改成下面的代码
  1. vhostdir="/home/wwwroot/$userftp/$domain"
  2. echo "lease input the directory for the domaindomain :"
  3. read -p "(Default directory: /home/wwwroot/$userftp/$domain):" vhostdir
  4. if [ "$vhostdir" = "" ]; then
  5.   vhostdir="/home/wwwroot/$userftp/$domain"
  6. fi
复制代码
一键删除FTP用户和虚拟主机userdel.sh

  1. #!/bin/bash
  2. # Check if user is root
  3. if [ $(id -u) != "0" ]; then
  4.     echo "Error: You must be root to run this script, use sudo sh $0"
  5.     exit 1
  6. fi
  7. clear
  8. echo "========================================================================="
  9. echo " DELETE FTP USER and vhost USER "
  10. echo " BY:Eboy HomeWEB:http://hi.baidu.com/tf8615/ QQ:95803936"
  11. echo "========================================================================="
  12. if [ "$1" != "--help" ]; then
  13. echo "lease input DELETE FTP user:"
  14. read -p "(Delete user):" userftp
  15. if [ ! -d /home/wwwroot/$userftp ]; then
  16.   echo "User $userftp does not exist"
  17. fi
  18. echo "lease input DELETE domain:"
  19. read -p "(Delete domain" domain
  20. if [ ! -f /usr/local/nginx/conf/$domain.conf ]; then
  21.   echo "Host $domain does not exist"
  22. fi
  23. echo "==========================="
  24. echo "Confirm to delete? (y/n)"
  25. echo "==========================="
  26. read domainame
  27. if [ "$domainame" == 'y' ]; then
  28.   echo "Delete FTP users....."
  29.   userdel -r $userftp
  30.   sed -i '/'"$userftp"'/d' /etc/vsftpd/chroot_list
  31.   echo "Delete host directory....."
  32.   rm -rf /usr/local/nginx/conf/vhost/$domain.conf
  33.   /etc/init.d/nginx reload
  34. else
  35.   echo "Bye! Bye!"
  36.   exit
  37. fi
  38. fi
  39. echo "========================================================================="
  40. echo " $userftp User deleted"
  41. echo " $domain Host deleted"
  42. echo ""
  43. echo " Done!"
  44. echo " BY:Eboy HomeWEB:http://hi.baidu.com/tf8615/ QQ:95803936"
  45. echo "========================================================================="
复制代码
2个完整脚本上传了提供下载 还是放在/root/文件

夹下就可以 本人测试完的哦 管理员加精哦。。

sh文件不能执行的请输入命令 没错误的不需要执行

chmod +x /root/vhost.sh
chmod +x /root/userdel.sh



[ 本帖最后由 笨男孩 于 2012-5-9 17:26 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2012-3-2 22:23:27 | 显示全部楼层


自己坐沙发了 这都没人顶???
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2012-3-3 20:28:22 | 显示全部楼层

为了让更多人看到 我要人工置顶
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2012-3-4 01:56:28 | 显示全部楼层



为什么没人顶呢,都不想用SSH控制空间么?

人工置顶!
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
发表于 2012-3-19 22:38:56 | 显示全部楼层

不错,学习了。顶你。

军哥运维代购:http://shop63846532.taobao.com/

发表于 2012-3-22 18:12:32 | 显示全部楼层

看不大懂
小白学习中
发表于 2012-3-24 16:29:42 | 显示全部楼层

楼主是好心,高手不会用,新手不敢用,呵呵
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2012-5-9 17:26:53 | 显示全部楼层

就是2个脚本啊!没有控制面板的直接用这个就可以的
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2024-9-22 23:26 , Processed in 0.029384 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表