getolympus / olympus
The Olympus framework, your simple, easy to use and powerfull framework to deploy and work with WordPress. An awesome framework build with ♥ for WordPress developers.
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 3
Forks: 2
Open Issues: 1
Type:project
Requires
- php: >=7
- composer/composer: ^2.1
- getolympus/olympus-hades-error-handler: ^0.0.5
- getolympus/olympus-zeus-core: ^2.1
- gettext/gettext: ^5.7
- johnpbloch/wordpress: ^6.0
- mobiledetect/mobiledetectlib: ^4.8
- wpackagist-theme/twentytwentytwo: ^1.0
Requires (Dev)
- squizlabs/php_codesniffer: 3.*
- wikimedia/less.php: ^3.1
- dev-master / 0.x-dev
- v0.0.38
- v0.0.37
- v0.0.36
- v0.0.35
- v0.0.34
- v0.0.33
- v0.0.31
- v0.0.30
- v0.0.29
- v0.0.28
- v0.0.27
- v0.0.26
- v0.0.25
- v0.0.24
- v0.0.22
- v0.0.21
- v0.0.20
- v0.0.19
- v0.0.18
- v0.0.17
- v0.0.16
- v0.0.15
- v0.0.14
- v0.0.13
- v0.0.12
- v0.0.11
- v0.0.10
- v0.0.9
- v0.0.8
- v0.0.7
- v0.0.6
- v0.0.5
- v0.0.4
- v0.0.3
- v0.0.2
- v0.0.1
- dev-develop
- dev-dependabot/composer/wikimedia/less.php-tw-4.1
- dev-dependabot/add-v2-config-file
This package is auto-updated.
Last update: 2024-10-23 09:34:23 UTC
README
Olympus
The Olympus package is the easiest and secure way to install WordPress websites with the powerfull Zeus Core framework. All WordPress optimizations are listed and enabled here. You can use theme easily.
# Quick install ~ See #install-olympus-in-2-steps section for details git clone https://github.com/GetOlympus/Olympus.git projectname && cd $_ composer install
Table of Contents
- What is Olympus?
- Features
- Get started
- Get started with Capistrano
- Advanced details
- Release History
- Authors and Copyright
- Contributing
What is Olympus?
The Olympus package is a set of line codes that provides a secure WordPress application structure with better tools to developers. It is aimed to WordPress developers of any levels.
In order to provide those tools, the Olympus package uses dependency manager and remote server automation tool such as Composer and Capistrano. A bunch of auto-generated files and auto-loaded plugins make your WordPress website more secure and faster.
Features
- Better and secure folder structure
- Autoloader for mu-plugins
- Auto-generated configuration files with
composer install
- Dependency management with Composer
- Remote server automation tool with Capistrano and Olympus Hestia Capistrano
Get started
Install Olympus in 2 steps
1st step, clone the repository (use SSH key if you want on git@github.com:GetOlympus/Olympus.git):
# Change "projectname" to your root website folder name git clone https://github.com/GetOlympus/Olympus.git projectname && cd $_
2nd step, install package vendors via Composer and set your parameters when it's asked:
See this documentation to know how to install Composer
composer install
Update Vhost
This is quite simple: make the web/
folder as your docroot.
The web/index.php
file will bootstrap WordPress with all your configuration files.
Restart your server and That's all folkes.
Build database
Go to your website homepage URL to launch your WordPress install.
Get started with Capistrano
Capistrano is a remote server automation tool.
It supports the scripting and execution of arbitrary tasks, and includes a set of sane-default deployment workflows.
You can find all details on Capistrano website.
Build scripts
You'll need to create your deployments scripts for all your environments. These scripts are written in Ruby programming language.
The Olympus package provides you 2 examples you can easily copy/paste in the app/deploy/stages/
folder:
# 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
Feel free to read the README.md
file of the Olympus Hestia Capistrano repository to know more.
Update Vhost with Capistrano
As seen on the "Update Vhost" section, you'll need to set the current/web/
folder as your docroot this time.
Restart your server and That's all folkes.
Build database with Capistrano
Go to your website homepage URL to launch your WordPress website install.
Advanced details
Application Structure
The Olympus package is structured as this:
+-- 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
Configuration files
Go to your app/config/
folder and make sure to find:
env.php
, contains WordPress website environment configurationown.php
, a simple blank PHP file you can fill with your own constants definitionssalt.php
, contains WordPress authentication unique keys and salts
An other file you can create if needed is:
opts.php
, contains WordPress constants overrides. Simply copy theopts.php.dist
file toopts.php
and edit it.
Be carefull with this file: you can change your WordPress core functions
See Variables definitions to know more about thisopts.php
file contents.
Variables definitions
Configuration section, sets memory limit, some security and features options:
Cookies section, sets all cookies names.
In these examples, you can replace:
olympus
by the result ofmd5('olympus')
domaintld
by the result ofmd5('https://www.domain.tld/cms/')
Debug section, sets all debug options:
Multisite section, sets default current site definitions in multisite case
Website section, sets all statics folder names:
Log levels
100
Detailed debug information.200
Interesting events, like User logs in, SQL logs.250
Uncommon events.300
Exceptional occurrences that are not errors, like use of deprecated APIs, poor use of an API, etc.400
Runtime errors.500
Critical conditions.550
Action must be taken immediately.600
Urgent alert.
Release History
See CHANGELOG.md for all details.
Contributing
- Fork it (https://github.com/GetOlympus/Olympus/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request
Built with ♥ by Achraf Chouk ~ (c) since a long time.
Logo design made lovely by Anis Chouk