【原创】LNMP0.8安装vsftpd SSH一键添加删除FTP用户和虚拟主机绑定域名
注意:安装前默认让你绑定个域名到/home/wwwroot/目录 但是以后还会在里边建站 所以安装的时候绑定个2级域名如果已经绑定了主域名请修改 然后使用我修改的脚本安装程序
脚本所有问题都修复完成了 以前下载的请重新下载后上传到VPSO(∩_∩)O
# vim /usr/local/nginx/conf/nginx.conf
打开后找这里其他不要修改如果你想用phpmyadminroot /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临时文件里不用就删除
# wget -c http://soft.vpser.net/lnmp/lnmp0.8.tar.gz
进入目录lnmp0.8
# cd 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
按照以下修改# default: on
# description:
# The vsftpd FTP server serves FTP connections. It uses
# normal, unencrypted usernames and passwords for authentication.
# vsftpd is designed to be secure.
service ftp
{
socket_type = stream
wait = no
user = root
server = /usr/local/sbin/vsftpd
server_args = /etc/vsftpd.conf
# log_on_success += DURATION USERID
# log_on_failure += USERID
nice = 10
disable = no
}这里修改完重启xinetd服务 这样开机就随着xinetd启动了
#service xinetd restart
======================================================
上面完事了 这下是主要的来了
打开文件
#vim /root/vhost.sh
我这是先添加FTP账号然后添加虚拟主机
功能是直接输入想要开通FTP的用户名然后输入密码就可以了
这里已经限制用户访问上层目录或根目录
打开
#vim /root/vhost.sh
在if [ "$1" != "--help" ]; then添加以下代码echo "lease input FTP Username:"
read -p "(FTP username):" userftp
if [ "$userftp" = "" ]; then
echo "Warning: Please input FTP Username"
else
useradd -d /home/wwwroot/$userftp -s /sbin/nologin $userftp
echo "$userftp">>/etc/vsftpd/chroot_list
passwd $userftp
fi然后是搜索这个
这里的路径修改下加上FTP用户名称
为了虚拟机目录规整我的路径是这样的 删除也好删除
FTP用户目录里创建虚拟主机目录
这样直接查找用户名就可以找到网站了
然后是搜索这个
/home/wwwroot/$domain 改成下面的代码vhostdir="/home/wwwroot/$userftp/$domain"
echo "lease input the directory for the domaindomain :"
read -p "(Default directory: /home/wwwroot/$userftp/$domain):" vhostdir
if [ "$vhostdir" = "" ]; then
vhostdir="/home/wwwroot/$userftp/$domain"
fi一键删除FTP用户和虚拟主机userdel.sh
#!/bin/bash
# Check if user is root
if [ $(id -u) != "0" ]; then
echo "Error: You must be root to run this script, use sudo sh $0"
exit 1
fi
clear
echo "========================================================================="
echo " DELETE FTP USER and vhost USER "
echo " BY:Eboy HomeWEB:http://hi.baidu.com/tf8615/ QQ:95803936"
echo "========================================================================="
if [ "$1" != "--help" ]; then
echo "lease input DELETE FTP user:"
read -p "(Delete user):" userftp
if [ ! -d /home/wwwroot/$userftp ]; then
echo "User $userftp does not exist"
fi
echo "lease input DELETE domain:"
read -p "(Delete domain" domain
if [ ! -f /usr/local/nginx/conf/$domain.conf ]; then
echo "Host $domain does not exist"
fi
echo "==========================="
echo "Confirm to delete? (y/n)"
echo "==========================="
read domainame
if [ "$domainame" == 'y' ]; then
echo "Delete FTP users....."
userdel -r $userftp
sed -i '/'"$userftp"'/d' /etc/vsftpd/chroot_list
echo "Delete host directory....."
rm -rf /usr/local/nginx/conf/vhost/$domain.conf
/etc/init.d/nginx reload
else
echo "Bye! Bye!"
exit
fi
fi
echo "========================================================================="
echo " $userftp User deleted"
echo " $domain Host deleted"
echo ""
echo " Done!"
echo " BY:Eboy HomeWEB:http://hi.baidu.com/tf8615/ QQ:95803936"
echo "========================================================================="2个完整脚本上传了提供下载 还是放在/root/文件
夹下就可以 本人测试完的哦 管理员加精哦。。
sh文件不能执行的请输入命令 没错误的不需要执行
chmod +x /root/vhost.sh
chmod +x /root/userdel.sh
[ 本帖最后由 笨男孩 于 2012-5-9 17:26 编辑 ] 自己坐沙发了 这都没人顶??? :'( 为了让更多人看到 我要人工置顶 为什么没人顶呢,都不想用SSH控制空间么?
人工置顶!:lol 不错,学习了。顶你。 看不大懂
小白学习中 楼主是好心,高手不会用,新手不敢用,呵呵 就是2个脚本啊!没有控制面板的直接用这个就可以的
页:
[1]