在XAMPP环境中部署多个OpenCart站点时,通过多端口配置可以让不同站点使用不同的访问端口,避免站点之间的文件和资源冲突,适合同时开发多个OpenCart项目的场景。本文将以Windows系统下的XAMPP为例,逐步讲解多端口部署OpenCart的具体操作。

准备工作和环境说明
首先需要确保已经安装好XAMPP软件,并且Apache和MySQL服务可以正常启动。本文使用的XAMPP版本为默认安装路径C:xampp,OpenCart版本为3.0.3.8,如果你使用的是其他版本,操作步骤基本一致,仅部分文件路径可能略有不同。
假设我们需要部署两个OpenCart站点,分别使用端口8081和8082,对应的站点文件分别放在C:xampphtdocsopencart1和C:xampphtdocsopencart2目录下。
第一步:修改Apache配置文件添加监听端口
Apache默认只监听80端口,要支持多端口访问,需要先修改Apache的主配置文件添加额外的监听端口。
操作步骤
- 打开XAMPP安装目录下的
apacheconfhttpd.conf文件 - 找到
Listen 80这一行,在下方添加需要监听的端口:
# 原有监听端口 Listen 80 # 新增两个监听端口 Listen 8081 Listen 8082
- 保存文件后,还需要确认Apache是否加载了虚拟主机配置模块,找到
#LoadModule vhost_alias_module modules/mod_vhost_alias.so这一行,去掉前面的#号,确保模块被加载 - 找到
#Include conf/extra/httpd-vhosts.conf这一行,去掉前面的#号,开启虚拟主机配置支持 - 保存并关闭
httpd.conf文件
第二步:配置Apache虚拟主机
接下来需要修改虚拟主机配置文件,为两个端口分别配置对应的站点根目录和权限。
操作步骤
- 打开
C:xamppapacheconfextrahttpd-vhosts.conf文件 - 在文件末尾添加两个虚拟主机配置块,分别对应8081和8082端口:
# 第一个OpenCart站点 端口8081
<VirtualHost *:8081>
# 站点根目录
DocumentRoot "C:/xampp/htdocs/opencart1"
# 站点域名,这里用端口区分所以写localhost
ServerName localhost
# 目录权限配置
<Directory "C:/xampp/htdocs/opencart1">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
# 第二个OpenCart站点 端口8082
<VirtualHost *:8082>
# 站点根目录
DocumentRoot "C:/xampp/htdocs/opencart2"
# 站点域名
ServerName localhost
# 目录权限配置
<Directory "C:/xampp/htdocs/opencart2">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
- 保存并关闭
httpd-vhosts.conf文件 - 重启XAMPP的Apache服务,让配置生效
第三步:部署OpenCart站点文件
将两个OpenCart的源码包分别解压到之前设定的两个站点目录下,确保目录结构正确。
注意事项
- 解压后需要确认
opencart1和opencart2目录下包含index.php、admin、catalog等OpenCart核心目录和文件 - 给两个站点目录添加写入权限,避免后续安装过程中出现文件权限不足的问题
- 将
opencart1/upload目录下的所有文件移动到opencart1根目录,opencart2目录做同样操作,这是OpenCart源码的默认结构要求
第四步:创建对应的数据库
两个OpenCart站点需要使用不同的数据库,避免数据冲突。
操作步骤
- 打开XAMPP的phpMyAdmin,地址为
http://localhost/phpmyadmin - 分别创建两个数据库,例如
opencart_db1和opencart_db2,字符集选择utf8mb4_general_ci - 可以为两个数据库分别创建独立的用户,也可以使用root用户,本文演示使用root用户操作
第五步:安装OpenCart站点
完成上述配置后,就可以分别访问两个端口进行OpenCart的安装了。
第一个站点安装
在浏览器中访问http://localhost:8081,进入OpenCart安装向导:
- 第一步检查环境,确保所有检测项都通过,如果有不通过的项,根据提示修改PHP配置或目录权限
- 第二步配置数据库,数据库主机填写
127.0.0.1,端口默认3306,数据库名填写opencart_db1,用户名填写root,密码为空(XAMPP默认root密码为空),填写完成后点击下一步 - 第三步配置站点信息,填写管理员账号、密码和邮箱,点击下一步完成安装
- 安装完成后删除
install目录,避免安全风险
第二个站点安装
在浏览器中访问http://localhost:8082,重复上述安装步骤,仅数据库名填写opencart_db2,其他配置根据需求修改即可。
常见问题排查
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
| 访问端口提示无法连接 | Apache未监听对应端口,或端口被其他程序占用 | 检查httpd.conf中的Listen配置,用netstat -ano命令查看端口占用情况,关闭占用端口的程序 |
| 访问站点提示403 Forbidden | 虚拟主机目录权限配置错误 | 检查httpd-vhosts.conf中Directory块的权限配置,确保设置了Require all granted |
| OpenCart安装时提示数据库无法连接 | 数据库信息填写错误,或MySQL服务未启动 | 检查MySQL服务是否正常运行,确认数据库名、用户名、密码填写正确 |
| 站点页面样式错乱 | OpenCart的SEO模块或URL重写配置问题 | 检查apacheconfhttpd.conf中是否加载了mod_rewrite模块,确保AllowOverride All已配置 |
总结
通过上述步骤,就可以在XAMPP环境下实现多端口部署OpenCart的需求,核心操作是修改Apache的监听端口和虚拟主机配置,同时为每个站点分配独立的目录和数据库。这种方式不需要修改hosts文件,配置简单,适合本地多项目开发测试使用。如果后续需要新增更多OpenCart站点,只需要重复添加监听端口、虚拟主机配置、部署文件和创建数据库的步骤即可。