crewstyle/olympus

此包已被废弃,不再维护。作者建议使用getolympus/olympus包。

Olympus框架,简单、易用且功能强大的WordPress部署和工作框架。这是一个专为WordPress开发者构建的优秀的框架。

安装: 1

依赖项: 0

建议者: 0

安全: 0

星星: 1

关注者: 3

分支: 2

开放问题: 1

类型:项目


README

Olympus

Olympus Component CodeFactor Grade Packagist Version PHP Version Travis Status MIT

Olympus包是安装带有强大Zeus Core框架的WordPress网站的最简单且安全的方式。所有WordPress优化都被列出并启用。您可以轻松使用主题。

# Quick install ~ See #install-olympus-in-2-steps section for details
git clone https://github.com/GetOlympus/Olympus.git projectname && cd $_
composer install

目录

Olympus是什么?

Olympus包是一组线代码,为开发者提供具有更好工具的安全WordPress应用程序结构。它面向任何水平的WordPress开发者。

为了提供这些工具,Olympus包使用依赖管理器和远程服务器自动化工具,如ComposerCapistrano。一系列自动生成的文件和自动加载的插件使您的WordPress网站更安全、更快速。

特性

  • 更好的和安全的文件夹结构
  • mu插件自动加载器
  • 使用composer install自动生成配置文件
  • 使用Composer进行依赖管理
  • 使用CapistranoOlympus Hestia Capistrano进行远程服务器自动化

开始使用

两步安装Olympus

第一步,克隆仓库(如果您想使用SSH密钥,请使用git@github.com:GetOlympus/Olympus.git)

# Change "projectname" to your root website folder name
git clone https://github.com/GetOlympus/Olympus.git projectname && cd $_

第二步,通过Composer安装包供应商并在需要时设置您的参数
查看此文档了解如何安装Composer

composer install

更新虚拟主机

这很简单:将web/文件夹作为您的docroot。
web/index.php文件将使用所有配置文件引导WordPress。
重新启动您的服务器,就这样。

构建数据库

转到您的网站主页URL以启动WordPress安装。

使用Capistrano开始

Capistrano是一个远程服务器自动化工具。
它支持脚本的编写和执行,并包含一套合理的默认部署工作流程。

您可以在Capistrano网站上找到所有详细信息。

构建脚本

您需要为您所有环境创建部署脚本。这些脚本是用Ruby编程语言编写的。
Olympus包为您提供了2个示例,您可以将它们轻松复制粘贴到app/deploy/stages/文件夹中。

# You can find all explanations as comments in the `app/deploy/stages/staging.rb.dist` file.
cp app/deploy/stages/production.rb.dist app/deploy/stages/production.rb
cp app/deploy/stages/staging.rb.dist app/deploy/stages/staging.rb

请随意阅读 README.md 文件以了解更多关于 Olympus Hestia Capistrano 仓库的信息。

使用Capistrano更新虚拟主机

如“更新 Vhost”部分所示,这次您需要将 current/web/ 文件夹设置为您的 docroot。
重新启动您的服务器,就这样。

使用Capistrano构建数据库

前往您的网站主页 URL 以启动 WordPress 网站安装。

高级细节

应用程序结构

Olympus 软件包的结构如下

+-- app/                        # ~ main application folder
|  +-- cache/                   # stores cache files generated by WordPress plugins and Olympus components
|  +-- components/              # stores custom components used to autoload mu-plugins and error logger
   |  +-- Autoloader
   |  +-- Error
   |  +-- Handler
|  +-- config/                  # stores custom configuration files
   |  +-- env.php.dist
   |  +-- opts.php.dist
   |  +-- own.php.dist
   |  +-- salt.php.dist
|  +-- deploy/                  # stores Capistrano workflows deployments
   |  +-- stages/
      |  +-- production.rb.dist
      |  +-- staging.rb.dist
   |  +-- config.rb.dist
|  +-- environments/            # stores WordPress constants definitions
   |  +-- cache.php
   |  +-- configuration.php
   |  +-- cookies.php
   |  +-- database.php
   |  +-- debug.php
   |  +-- multisite.php
   |  +-- website.php
|  +-- logs/                    # stores log file generated by Monolog package
|  +-- app.php
|  +-- autoload.php
|  +-- environment.php
|  +-- error.php
+-- vendor/                     # ~ vendors downloaded with composer
+-- web/                        # ~ web server doc root
|  +-- cms/                     # stores default WordPress installation
|  +-- resources/               # stores assets files expected by Olympus bundles
   |  +-- dist/
|  +-- statics/                 # stores default "wp-content" folder contents
   |  +-- languages/
   |  +-- mu-plugins/
   |  +-- plugins/
   |  +-- themes/
   |  +-- uploads/
   |  +-- advanced-cache.php
|  +-- .htaccess.dist
|  +-- constants.php            # defines default Olympus package constants
|  +-- favicon.ico              # custom favicon.ico made by anischouk.com
|  +-- index.php                # ~ main file, bootstraps WordPress
|  +-- robots.txt.dist
|  +-- wp-config.php
|  +-- xmlrpc.php
+-- .gitattributes
+-- .gitignore
+-- .travis.yml
+-- Capfile
+-- CHANGELOG.md
+-- composer.json
+-- Gemfile
+-- LICENCE
+-- phpcs.xml
+-- README.md
+-- wp-cli.yml

配置文件

前往您的 app/config/ 文件夹并确保找到

  • env.php,包含 WordPress 网站环境配置
  • own.php,一个简单的空白 PHP 文件,您可以在此添加自己的常量定义
  • salt.php,包含 WordPress 身份验证唯一密钥和盐

如果需要,您还可以创建另一个文件

  • opts.php,包含 WordPress 常量覆盖。简单地将 opts.php.dist 文件复制到 opts.php 并进行编辑。
    请注意 此文件:您可以更改 WordPress 核心函数
    查看 变量定义 了解更多关于此 opts.php 文件的内容。

变量定义

配置部分,设置内存限制、一些安全性和功能选项

变量 类型 默认值 描述
wp_memory_limit 字符串 '128M' 前端 PHP memory_limit
wp_max_memory_limit 字符串 '256M' 后端 PHP memory_limit
autosave_interval 整数 60 两次自动保存之间的秒数间隔
wp_cron_lock_timeout 整数 60 解锁 cron 任务的秒数间隔
media_trash 布尔型 true 启用或禁用媒体页面上的回收站
disallow_file_mods 布尔型 false 允许用户更新核心、主题或插件
image_edit_overwrite 布尔型 false 允许编辑图像以替换原始图像
enforce_gzip 布尔型 false 强制 GZIP 编码
fs_method 字符串 false FS 方法: 'direct''ssh2''ftpext''ftpsockets'
fs_chmod_dir 整数 0755 更改目录的权限
fs_chmod_file 整数 0644 更改文件的权限
wp_temp_dir 字符串 '' 临时目录 ~ 我们建议将其留空

Cookie 部分,设置所有 Cookie 名称。
在这些示例中,您可以替换

  • olympusmd5('olympus') 的结果
  • domaintldmd5('https://www.domain.tld/cms/') 的结果
变量 类型 默认值 描述
cookiehash 字符串 'domaintld' 当前域名 Cookie 哈希
user_cookie 字符串 'olympusu_domaintld' 用户 Cookie 哈希
pass_cookie 字符串 'olympusp_domaintld' 密码 Cookie 哈希
auth_cookie 字符串 'olympusa_domaintld' 认证 Cookie 哈希
secure_auth_cookie 字符串 'olympuss_domaintld' 安全认证 Cookie 哈希
logged_in_cookie 字符串 'olympusl_domaintld' 登录 Cookie 哈希
recovery_mode_cookie 字符串 'olympusr_domaintld' 恢复模式 Cookie 哈希
cookiepath 字符串 'www.domain.tld' 主页 Cookie 哈希
sitecookiepath 字符串 'www.domain.tld/cms/' 网站 Cookie 哈希
admin_cookie_path 字符串 'www.domain.tld/cms/wp-admin/' 管理面板 Cookie 哈希
plugins_cookie_path 字符串 'www.domain.tld/statics/plugins/' 插件 URL Cookie 哈希
cookie_domain 布尔型 false 启用或禁用 Cookie 域名
test_cookie 字符串 'olympusis_trying' 测试 Cookie 哈希

调试部分,设置所有调试选项

变量 类型 默认值 描述
concatenate_scripts 布尔型 false 启用或禁用脚本连接
compress_scripts 布尔型 false 启用或禁用脚本压缩
compress_css 布尔型 false 启用或禁用样式表压缩
wp_sandbox_scraping 布尔型 true 关闭 WSOD 默认保护
error_level 整数 200 错误级别,请参阅 日志级别

多站部分,在多站情况下设置默认当前站点的定义

变量 类型 默认值 描述
subdomain_install 布尔型 true 使用或禁用子域显示
domain_current_site 字符串 'www.domain.tld' 当前(主)网站的URL
当前网站路径 字符串 '/cms/' 当前(主)网站的路径
当前网站site_id 整数 1 主网站的site id
当前网站blog_id 整数 1 主网站的blog id

网站部分,设置所有静态文件夹名称

变量 类型 默认值 描述
wp_content_dir 字符串 '/path/to/web_docroot/statics/' 到您的statics文件夹的路径
wp_content_url 字符串 'https://www.domain.tld/statics/' 到您的statics文件夹的URL
contentdir 字符串 '../statics' 从ABSPATH到statics的路径
wpmu_plugin_dir 字符串 '/path/to/web_docroot/statics/mu-plugins/' 到您的mu-plugins文件夹的路径
wpmu_plugin_dir 字符串 'https://www.domain.tld/statics/mu-plugins/' 到您的mu-plugins文件夹的URL
muplugindir 字符串 '../statics/mu-plugins' 从ABSPATH到mu-plugins的路径
wp_plugin_dir 字符串 '/path/to/web_docroot/statics/plugins/' 到您的plugins文件夹的路径
wp_plugin_url 字符串 'https://www.domain.tld/statics/plugins/' 到您的plugins文件夹的URL
plugindir 字符串 '../statics/plugins' 从ABSPATH到plugins的路径
wp_theme_dir 字符串 '/path/to/web_docroot/statics/themes/' 到您的themes文件夹的路径
wp_theme_url 字符串 'https://www.domain.tld/statics/themes/' 到您的themes文件夹的URL
themedir 字符串 '../statics/themes' 从ABSPATH到themes的路径

日志级别

  • 100 详细调试信息。
  • 200 有趣的事件,如用户登录,SQL日志。
  • 250 不常见的事件。
  • 300 例外情况,不是错误,如使用已弃用的API,API使用不当等。
  • 400 运行时错误。
  • 500 临界条件。
  • 550 必须立即采取行动。
  • 600 紧急警报。

版本历史

查看CHANGELOG.md以获取所有详细信息。

贡献

  1. 分叉它(https://github.com/GetOlympus/Olympus/fork
  2. 创建您的功能分支(git checkout -b feature/fooBar
  3. 提交您的更改(git commit -am 'Add some fooBar'
  4. 推送到分支(git push origin feature/fooBar
  5. 创建一个新的Pull Request

Achraf Chouk用♥构建 ~ (c) 很长时间以来。
标志设计由Anis Chouk设计得非常漂亮