使用 Laravel 快速构建网站系列 —— 内容管理系统:PyroCMS
1、简介
PyroCMS是一个MVC架构的PHP内容管理系统(CMS),很容易上手,模块化,并且支持多主题和二次开发,在世界范围内被广泛使用。 3.0以前的版本基于CodeIgniter框架进行开发,目前主版本是3.0 ,基于Laravel 5.1。2、网站
https://www.pyrocms.com/3、GitHub
https://github.com/pyrocms/pyrocms4、安装
系统要求
安装之前,确保服务器满足以下要求:
- PHP >= 5.5.9
- OpenSSL扩展
- PDO扩展
- Mbstring扩展
- Tokenizer扩展
- Fileinfo扩展
- GD库(>=2.0)或Imagick扩展(>=6.5.7)
安装PyroCMS
PyroCMS使用Composer管理依赖,因此,使用之前,确保机器已经安装了Composer。
通过Composer安装:
composer create-project pyrocms/pyrocms=3.0-beta1 --prefer-dist
目录权限
安装完成后,需要配置一些目录的访问权限。storage
、public/assets
、bootstrap/cache
目录及其子目录必须有写权限。如果你使用的是Homestead虚拟机,这些权限已经为你设置好了。
运行安装器
下载并安装PyroCMS及其依赖之后,还需要在浏览器中进一步做初始化配置才能正式使用。此时你需要访问站点URL并跳转到安装界面(自动),第一次访问需要等待较长时间,这是因为第一次加载主题资源会进行编译和缓存。
5、配置
基本配置
PyroCMS和Laravel框架的所有配置文件都存放在config
目录下,每一个配置项都是文档化的,所以看起来很轻松。
覆盖配置
可以通过覆盖config/streams
中的配置值来指定流平台(Streams Platform)的配置值。例如,如果你想要覆盖streams::assets.paths
的值,可以添加自己的assets.php
配置文件如下:
config/streams/assets.php
在该配置文件中定义自己的paths
值:
<?php
return [
'paths' => [
'https://s3-us-west-1.amazonaws.com/bucket'
]
];
可以在vendor/anomaly/streams-platform/resources/config
查看流平台的有效配置。所有配置值都可以通过上述方式覆盖。
类似的,可以在config/addon/example-module
中覆盖新增的配置。
目录权限
安装完成后,需要配置一些权限。storage
、public/assets
和bootstrap/cache
目录及其子目录必须是可写的,如果你使用的是Homestead虚拟机,这些权限已经配置好了。
应用key
接下来需要设置应用key为一个随机字符串,如果你通过Composer或安装器进行安装,则该key已经通过key:generate
命令设置好了,该字符串应该是32位长,并且可以在.env
文件中进行设置/修改。如果应用key没有被设置,那么用户session和其它加密数据将会有安全隐患!
额外配置
几乎不需要再进行其它配置就可以进行开发了,当然你可以再去浏览下config/app.php
文件和其文档,其中还包含了一些其它配置如timezone
和locale
,分别用于设置时区和语言。
还可以配置Laravel框架的额外组件,例如缓存、数据库和Session等。
安装完成后,还需要使用Laravel环境文件.env
(默认已经为你生成了)配置本地环境。
优雅的URL(SEO友好)
Apache
PyroCMS和Laravel一样包含了一个public/.htaccess
文件用于设置URL不包含index.php
。如果你使用Apache作为web服务器,确保已经启用了mod_rewrite
模块。
如果默认的.htaccess
文件不起作用,将其内容替换如下:
Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]
Nginx
在Nginx中,使用如下设置:
location / { try_files $uri $uri/ /index.php?$query_string; }
当然,如果你使用的是Homestead,这些都已经为你设置好了,无需再做额外操作。
环境配置
参考Laravel环境配置文档。配置缓存
参考Laravel配置缓存文档。访问配置值
访问新增/核心配置值
你可以像访问其他配置值一样访问流平台(Streams Platform)配置值:
$value = config('streams::assets.paths'); $value = config('anomaly.module.users::throttle.max_attempts');
6、维护模式
扩展阅读:实例教程 —— 如何在Windows上快速安装配置PyroCMS
34 Comments