# dhost
**Repository Path**: chenyongze/dhost
## Basic Information
- **Project Name**: dhost
- **Description**: web方式管理虚拟主机,支持ftp、虚拟站点、mysql用户和数据库操作
非侵入式管理,可以在现有环境中集成,轻量级
- **Primary Language**: Unknown
- **License**: BSD-2-Clause
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 4
- **Created**: 2015-01-18
- **Last Updated**: 2022-06-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 实现功能:
1、虚拟主机站点(支持正式域名和临时域名)
2、ftp账户
3、mysql账户
4、站点文件权限(根据程序需要赋予777权限)
=======================================
## 原理:
给apache安装了apache2-mpm-itk组件,该组件可以让虚拟主机管理软件使用root权限和sh脚本,
而生成出来的虚拟主机只拥有普通权限,php程序采用了CI程序开发。
优点:超轻量级,非侵入式,可以在编译方式安装lamp的基础上使用,过程脚本全透明。
缺点:安全性还待考虑。
## 使用说明:
基本环境是lamp,并安装了vsftpd(根据系统用户登录),默认的虚拟站点目录是/www/web/,默认ftp管理员是ftp_super,归属用户组fptall,需要开启防火墙端口大于等于10300,供临时站点使用
部署的时候需要修改账户或密码的地方(在php和脚本文件中对应着有):
1. ftp超级管理员和组
2. mysql的root管理员帐户密码
### 一、先安装apache2-mpm-itk组件,教程:https://www.centos.bz/2011/11/apache-virtualhost-different-user-with-apache2-mpm-itk/
如果已经编译安装的话,先卸载:
1. 备份httpd的配置 conf文件夹,方便和新配置后的对比修改
2.备份apache目录下的moudles下面的so文件,比如mod_fastcgi.so和libphp5.so(如果没有这个,就无法支持php_admin_value),如果忘记备份只能重新安装了
3.备份好/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/(根据php版本不同而不同) 下面有扩展编译的so文件:gd、mbstring、eaccelerator
4.最好备份/etc/php.ini文件,防止php编译重装
5.删除/usr/local/apache
6.删除/tmp下面的编译过的文件夹并重新解压
### 二、ftpadd、ftpdel、siteadd、sitedel 脚本文件放到/usr/local/bin/下面,并赋予执行权限 chown +x
### 三、在apapche中新建一个站点,并赋予root站点运行权限
下面是例子:
vi /etc/httpd/conf/extra/httpd-vhosts.conf
内容如下:
AllowOverride All
NameVirtualHost *:80
Order allow,deny
Allow from all
Satisfy all
ServerAlias host.xxx.com
DocumentRoot /www/web/host.xxx.com
php_admin_value open_basedir /www/web/host.xxx.com/:/tmp/
AssignUserId root root
### 四、有两个配置虚拟主机配置文件,分别是正式域名和临时域名的
/etc/httpd/conf/extra/dc-site.conf
/etc/httpd/conf/extra/dc-temp.conf
每开一个虚拟主机,就会去修改配置文件,并自动重新载入配置文件
### 五、ftp开头的bash脚本含有超级ftp用户ftp_super设置,可以任意修改,同时在D_shell.php中也有配置,需要一起修改
### 六、开mysql用户是在D_shell.php中配置和完成,并没有利用脚本
### 七、注意删除虚拟主机站点,会删除站点文件、ftp用户、mysql用户和数据库
### 八、界面
1、列表

2、添加
