一、前期环境准备
提前准备好符合要求的运行环境,是避免90%部署报错的前提,具体要求如下:
- 宝塔面板版本:推荐7.9以上稳定版,官方安装地址:https://www.bt.cn/new/download.html
- PHP版本:织梦5.7 SP2及以上版本选PHP7.2,旧版织梦选PHP5.6,不要使用PHP8.0及以上版本
- 数据库:MySQL5.6/5.7版本,字符集选utf8mb4
- 织梦程序官方下载地址:https://www.dedecms.com/download.html
二、标准部署流程
2.1 宝塔站点创建
- 登录宝塔后台,左侧菜单栏点击【网站】-【添加站点】
- 域名填写你要绑定的实际域名,FTP按需创建,数据库选择MySQL,字符集选utf8mb4,PHP版本选择和织梦适配的版本,点击提交后保存生成的数据库名、用户名、密码
2.2 程序上传与权限配置
- 解压下载的织梦压缩包,将uploads目录下的所有文件,上传到站点根目录(宝塔默认路径为/www/wwwroot/你的站点域名)
- 回到宝塔站点列表,点击对应站点右侧的【权限】,把根目录及所有子目录的权限设置为755,所有者改为www,勾选“应用到子目录”后确认
2.3 安装引导操作
- 访问你的域名/install/index.php,如果跳转到静态的index.html页面,直接删除install目录下的index.html文件后重新访问
- 同意协议后进入环境检测页面,所有选项显示对勾即可下一步,数据库信息填写创建站点时生成的内容,数据库前缀默认dede_即可,管理员账号密码自行保存,不需要测试内容不要勾选“体验数据”
- 安装完成后立即删除或重命名install目录,后台默认访问地址为你的域名/dede
三、常见报错及解决方案
3.1 安装时提示“php.ini参数allow_url_fopen未开启”
解决步骤:宝塔后台左侧点击【软件商店】-【已安装】,找到站点使用的PHP版本,点击【设置】,切换到【配置文件】标签页,搜索allow_url_fopen,把Off改为On,保存后重启PHP即可。
3.2 安装时提示“GD库未安装”
解决步骤:进入对应PHP版本的设置页面,切换到【安装扩展】标签页,找到gd扩展,点击【安装】,等待10秒左右安装完成自动生效,无需手动重启。
3.3 安装后前台/后台页面空白
- 首先开启PHP错误提示:进入对应PHP设置页面,【配置文件】搜索display_errors,把Off改为On,保存重启PHP后刷新空白页查看具体报错
- 最常见原因为PHP版本不兼容:旧版未升级SP2的织梦5.7,直接将站点PHP版本切换为5.6即可
- 权限问题:重新给站点根目录设置755权限,所有者改为www,勾选应用到子目录
3.4 后台登录提示“验证码错误”
- 首先按3.2的步骤检查是否已安装gd扩展
- 打开站点根目录下的data/safe/inc_safe_config.php,把$cfg_gdverify的值改为1
- 检查data目录权限是否为755、所有者为www,验证码缓存文件需要写入data目录,权限不足会生成失败
3.5 发布文章时提示“请求来路不正确或表单验证串不符”
- 方法一:登录织梦后台,点击【系统】-【系统基本参数】-【核心设置】,找到“是否开启CSRF防护”,选择“否”后保存
- 方法二:打开/include/common.inc.php,搜索checkcsrf()函数,直接注释该行代码即可:
```
//checkcsrf();
```
3.6 设置伪静态后页面404

解决步骤:进入宝塔站点设置页面,切换到【伪静态】标签页,直接粘贴下方规则后保存即可:
```
rewrite ^/index.html$ /index.php last;
rewrite ^/list-([0-9]+)-([0-9]+).html$ /plus/list.php?tid=$1&PageNo=$2 last;
rewrite ^/view-([0-9]+)-([0-9]+)-([0-9]+).html$ /plus/view.php?aid=$1&pageno=$2 last;
rewrite ^/tags.html$ /tags.php last;
rewrite ^/tags-([0-9]+)-([0-9]+).html$ /tags.php?/$1/$2/ last;
```
如果动态页面仍404,检查站点安全设置里是否禁用了plus目录的PHP执行权限,按需关闭该规则即可。
3.7 数据库连接报错“Access denied for user”
解决步骤:打开站点根目录下的data/common.inc.php,检查数据库配置是否和创建站点时的信息一致,完整参考配置如下:
```
```
如果配置正确,进入宝塔【数据库】页面,检查对应数据库的访问权限是否为“本地”,不是的话修改为localhost即可。
3.8 上传附件/图片提示“目录不可写”
- 检查站点根目录下的uploads目录权限是否为755,所有者为www,勾选应用到子目录
- 进入对应PHP设置页面,【配置文件】搜索upload_max_filesize,修改为20M(按需调整),post_max_size同步修改为20M,保存重启PHP即可
四、部署后安全建议
- 将后台默认目录dede修改为自定义名称,降低被爆破的风险
- 进入宝塔站点设置的【网站目录】标签页,勾选“防跨站攻击(open_basedir)”
- 定期更新织梦官方安全补丁,补丁下载地址:https://www.dedecms.com/bug.html