在一个主机上安装两个DEDECMS(织梦内容管理系统)网站,通常需要通过配置虚拟主机、修改数据库和目录结构来实现,以下是详细的操作步骤和注意事项,确保两个系统能够独立运行且互不干扰。

准备工作
- 确认主机环境:确保主机支持虚拟主机或子目录配置,且已安装Web服务器(如Apache、Nginx)、PHP和MySQL,建议使用Linux系统,操作更简便。
- 下载DEDECMS:从官网下载两个不同版本的DEDECMS程序包(或相同版本但后续可区分),并重命名为不同名称,如
dede1
和dede2
。 - 规划目录结构:在Web根目录(如
/var/www/html
)下创建两个独立文件夹,分别存放两个系统的文件,/var/www/html/dede1
/var/www/html/dede2
- 准备数据库:为两个系统创建独立的数据库和用户,避免数据冲突。
- 数据库1:
dede_db1
,用户:dede_user1
- 数据库2:
dede_db2
,用户:dede_user2
- 数据库1:
安装第一个DEDECMS(dede1)
- 上传文件:将第一个DEDECMS程序包解压并上传至
/var/www/html/dede1
目录。 - 设置权限:赋予目录可写权限,执行以下命令(Linux环境):
chmod -R 777 /var/www/html/dede1
- 运行安装向导:通过浏览器访问
http://yourdomain.com/dede1/install
,进入安装界面。 - 配置数据库:
- 数据库名:
dede_db1
- 用户名:
dede_user1
- 密码:输入对应的数据库密码
- 数据库名:
- 完成安装:按照提示完成安装,安装成功后删除
install
目录。
安装第二个DEDECMS(dede2)
- 上传文件:将第二个DEDECMS程序包解压并上传至
/var/www/html/dede2
目录。 - 设置权限:同样赋予
dede2
目录可写权限。 - 修改配置文件:
- 打开
/var/www/html/dede2/data/config.php
,修改数据库连接信息为dede_db2
的配置。 - 若程序包与第一个系统版本相同,需手动修改
config.php
中的数据库名、用户名和密码。
- 打开
- 运行安装向导:通过浏览器访问
http://yourdomain.com/dede2/install
,进入安装界面。 - 配置数据库:
- 数据库名:
dede_db2
- 用户名:
dede_user2
- 密码:输入对应的数据库密码
- 数据库名:
- 完成安装:安装成功后删除
install
目录。
配置虚拟主机(以Apache为例)
若需要通过独立域名访问两个系统,需配置虚拟主机,编辑Apache配置文件(如httpd.conf
),添加以下内容:
<VirtualHost *:80> ServerName site1.com DocumentRoot /var/www/html/dede1 <Directory "/var/www/html/dede1"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost> <VirtualHost *:80> ServerName site2.com DocumentRoot /var/www/html/dede2 <Directory "/var/www/html/dede2"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
重启Apache服务使配置生效:
systemctl restart httpd
常见问题解决
- 数据库连接失败:检查
config.php
中的数据库信息是否正确,确保数据库用户有访问权限。 - 404错误:确认目录权限和
.htaccess
文件配置是否正确,若使用Nginx需添加对应的伪静态规则。
安全优化建议
- 修改默认后台路径:安装后修改DEDECMS默认的
/dede
目录名称,提高安全性。 - 定期更新:及时更新DEDECMS至最新版本,修复已知漏洞。
- 限制访问权限:通过
.htaccess
限制后台IP访问,仅允许指定IP登录。
相关问答FAQs
问题1:两个DEDECMS是否可以共用同一个数据库?
解答:不建议共用同一个数据库,因为两个系统会使用相同的表前缀(默认dede_
),导致数据表冲突,即使修改表前缀,也存在数据覆盖和查询混乱的风险,最佳实践是为每个系统创建独立的数据库和用户。
问题2:如何通过子目录访问两个DEDECMS?
解答:若需通过主域名子目录访问(如http://yourdomain.com/dede1
和http://yourdomain.com/dede2
),只需将程序文件分别放入对应子目录即可,确保Web服务器配置支持子目录解析,且在安装时正确填写数据库信息,若使用Nginx,需在配置文件中添加try_files
规则支持伪静态。

