首页
/ ANVC Scalar 项目安装与配置指南

ANVC Scalar 项目安装与配置指南

2025-06-19 16:22:43作者:胡唯隽

项目概述

ANVC Scalar 是一个基于 PHP 和 MySQL 构建的内容管理系统,采用 CodeIgniter 框架开发。它专为学术研究和数字出版设计,提供了灵活的内容组织和展示方式。本文将详细介绍如何正确安装和配置 Scalar 项目。

环境准备

服务器要求

  1. Web 服务器:推荐使用 Apache,并确保已启用 mod_rewrite 模块
  2. PHP 版本:建议 PHP 7.4 或更高版本
  3. 数据库:MySQL 5.7 或更高版本
  4. PHP 配置:必须开启 short_open_tag 选项

关键注意事项

  • .htaccess 文件:确保服务器配置允许 .htaccess 文件生效,否则 URL 重写功能将无法正常工作
  • 文件权限:Scalar 根目录需要设置为可写权限(建议 0775)
  • SSL 支持:Scalar 原生支持 HTTPS,但需注意混合内容问题

安装步骤

1. 数据库准备

首先需要创建一个新的 MySQL 数据库:

CREATE DATABASE scalar_store CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

然后导入初始数据结构:

  • 标准 UTF-8 支持:system/application/config/scalar_store.sql
  • 扩展 UTF-8mb4 支持:system/application/config/scalar_store_utf8mb4.sql

2. 数据库配置

编辑数据库连接配置文件 system/application/config/database.php,设置以下参数:

$db['default'] = array(
    'hostname' => '数据库主机',
    'username' => '数据库用户名',
    'password' => '数据库密码',
    'database' => 'scalar_store',
    'char_set' => 'utf8mb4',  // 使用utf8mb4支持emoji等特殊字符
    'dbcollat' => 'utf8mb4_general_ci'
);

或者通过环境变量配置:

export SCALAR_DB_HOSTNAME=数据库主机
export SCALAR_DB_USERNAME=用户名
export SCALAR_DB_PASSWORD=密码
export SCALAR_DB_DATABASE=scalar_store

3. 应用配置

编辑 system/application/config/local_settings.php 文件,配置以下关键参数:

$config['shasalt'] = '自定义安全盐值';
$config['recaptcha_public_key'] = 'reCAPTCHA公钥';
$config['recaptcha_private_key'] = 'reCAPTCHA私钥';
$config['soundcloud_id'] = 'SoundCloud应用ID';
// 其他API密钥配置...

或者通过环境变量设置:

export SCALAR_SHASALT=自定义安全盐值
export SCALAR_RECAPTCHA_PUBLIC_KEY=公钥
export SCALAR_RECAPTCHA_PRIVATE_KEY=私钥

4. 安全配置

编辑 system/application/config/config.php 文件:

$config['encryption_key'] = '自定义加密密钥';
$config['cookie_prefix'] = 'scalar_';  // 防止cookie冲突

或使用环境变量:

export SCALAR_ENCRYPTION_KEY=自定义加密密钥
export SCALAR_COOKIE_PREFIX=scalar_

5. 站点名称配置

修改默认站点名称,编辑语言文件:

system/application/language/en/content_lang.php

或设置环境变量:

export SCALAR_INSTALL_NAME="我的Scalar站点"

安装后设置

  1. 访问站点:通过浏览器访问安装目录,应能看到Scalar首页
  2. 注册账户:点击"注册"链接创建第一个用户账户
  3. 设置超级管理员
    • 通过数据库工具(如phpMyAdmin)访问 scalar_db_users
    • 找到您的用户记录,将 is_super 字段设置为1
    • 刷新页面后,您将拥有超级管理员权限

本地开发环境搭建

使用DDEV可以快速搭建本地开发环境:

  1. 安装Docker和DDEV
  2. 克隆Scalar代码库
  3. 配置DDEV环境:
ddev config --project-type php --php-version 7.4 --webserver-type apache-fpm \
    --database mysql:5.7 --web-environment="SCALAR_ENCRYPTION_KEY=scalar,\
    SCALAR_DB_HOSTNAME=db,SCALAR_DB_USERNAME=db,SCALAR_DB_PASSWORD=db,\
    SCALAR_DB_DATABASE=db"
  1. 启用PHP短标签:
mkdir .ddev/php && echo 'short_open_tag = ON;' > .ddev/php/my-php.ini
  1. 启动服务并导入数据库:
ddev start
ddev import-db --src=system/application/config/scalar_store.sql
  1. 创建管理员账户:
echo 'INSERT INTO db.scalar_db_users (email, fullname, password, is_super) VALUES
    ("admin@scalar.dev", "admin", SHA2("password", 512), 1)' | ddev mysql
  1. 启动开发服务器:
ddev launch

常见问题解决

  1. URL重写不工作

    • 检查Apache的mod_rewrite是否启用
    • 确认.htaccess文件已正确上传
    • 检查Apache配置中AllowOverride是否设置为All
  2. MySQL连接问题

    • 检查数据库配置是否正确
    • 出现Session错误时,清除浏览器缓存和cookie
  3. 特殊字符显示问题

    • 确保数据库使用utf8mb4字符集
    • 检查PHP文件编码为UTF-8无BOM
  4. 文件上传问题

    • 检查web目录权限
    • 确认PHP上传限制足够大

最佳实践

  1. 定期备份:特别是数据库和用户上传的内容
  2. 安全更新:关注CodeIgniter框架的安全更新
  3. 性能优化:对于大型站点,考虑启用OPcache和数据库查询缓存
  4. 访问控制:通过配置限制用户注册,防止垃圾账户

通过以上步骤,您应该能够成功安装和配置ANVC Scalar项目。如需更高级的功能配置,建议参考项目的官方文档和社区资源。

登录后查看全文
热门项目推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
176
261
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
860
511
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
259
300
kernelkernel
deepin linux kernel
C
22
5
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
595
57
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
332
1.08 K