All Projects → Seravo → wordpress

Seravo / wordpress

Licence: GPL-3.0 License
The WordPress project layout used by many of Seravo's customers, suitable also for local development with Vagrant and git deployment

Programming Languages

PHP
23972 projects - #3 most used programming language
shell
77523 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to wordpress

Beetbox
Pre-provisioned L*MP stack
Stars: ✭ 94 (-1.05%)
Mutual labels:  vagrant, composer, virtualbox
kubernetes the easy way
Automating Kubernetes the hard way with Vagrant and scripts
Stars: ✭ 22 (-76.84%)
Mutual labels:  vagrant, virtualbox
opnsense-starterkit
Try opnsense, build opnsense images or start development
Stars: ✭ 18 (-81.05%)
Mutual labels:  vagrant, virtualbox
junos-orchestration-with-vagrant
How to orchestrate and provision Junos virtual machines with Vagrant
Stars: ✭ 14 (-85.26%)
Mutual labels:  vagrant, virtualbox
packer-ubuntu
No description or website provided.
Stars: ✭ 29 (-69.47%)
Mutual labels:  vagrant, virtualbox
ansible-vbox-vagrant-kubernetes
Building a Kubernetes Cluster with Vagrant and Ansible
Stars: ✭ 70 (-26.32%)
Mutual labels:  vagrant, virtualbox
ansible virtualization
Ansible Collection: Virtualization roles
Stars: ✭ 31 (-67.37%)
Mutual labels:  vagrant, virtualbox
upstream-institute-virtual-environment
A Vagrant-based image creator for OpenStack Upstream Training sessions
Stars: ✭ 18 (-81.05%)
Mutual labels:  vagrant, virtualbox
rails-development-environment
Development environment for Ruby on Rails based on Vagrant, VirtualBox and Ubuntu 16.04 LTS (Xenial Xerus).
Stars: ✭ 50 (-47.37%)
Mutual labels:  vagrant, virtualbox
insaneworks-packer-template
CentOS 7-8 8Stream / AlmaLinux 8 / FreeBSD 12 - 13 x64 + VirtualBox / VMWare for Packer Template + FreeBSD 13 / AlmaLinux 9 + Parallels
Stars: ✭ 38 (-60%)
Mutual labels:  vagrant, virtualbox
k3s-homeops-ansible
Bootstrap a k3s cluster on top of Ubuntu 20.04
Stars: ✭ 47 (-50.53%)
Mutual labels:  vagrant, virtualbox
packer-FreeBSD
Build a FreeBSD VM for Vagrant using packer
Stars: ✭ 23 (-75.79%)
Mutual labels:  vagrant, virtualbox
vagrant-pebble-sdk
This repo contains allows you to quickly and easily create a Virtual Machine with a working Pebble SDK install using Vagrant and Virtualbox
Stars: ✭ 13 (-86.32%)
Mutual labels:  vagrant, virtualbox
acquia-cloud-vm
VirtualBox/Vagrant-based VM to closely match Acquia Cloud environment.
Stars: ✭ 20 (-78.95%)
Mutual labels:  vagrant, virtualbox
packer-windows
Windows Templates for Packer: Windows 11, Windows 10, Windows Server 2022, 2019, 2016, also with Docker
Stars: ✭ 1,116 (+1074.74%)
Mutual labels:  vagrant, virtualbox
TYPOTry
A small Vagrant box to try out the most recent TYPO3 release
Stars: ✭ 21 (-77.89%)
Mutual labels:  vagrant, virtualbox
magento2-fast-vm
Optimal vagrant developer box for Magento2. Folders synced by nfs/rsync. This box includes Magento developer utilities.
Stars: ✭ 89 (-6.32%)
Mutual labels:  vagrant, virtualbox
iosxrv-x64-vbox
IOS XR VirtualBox Vagrant Image Generation tools
Stars: ✭ 72 (-24.21%)
Mutual labels:  vagrant, virtualbox
nodejs-dev-vm
DEPRECATED Simple Node.js Development VM using Vagrant + VirtualBox + Ansible
Stars: ✭ 25 (-73.68%)
Mutual labels:  vagrant, virtualbox
docker-hands-on-guide
Hands on guide for docker, k8s cluster lightweight virtualization.
Stars: ✭ 25 (-73.68%)
Mutual labels:  vagrant, virtualbox

Seravo.com

Seravo WordPress project template

Build Status

Brought to you by Seravo.com.

A WordPress project layout for use with Git, Composer and Nginx. It also includes a config a Vagrant box and Docker image for local development.

This same project layout is used by default on all Seravo.com instances for easy deployment workflow. Contents of this repository equals to what you would have on the server in the directory /data/wordpress/.

Documentation

Please see our documentation at https://seravo.com/docs/ on general information about git workflow with this project template.

Installation

Please see our documentation at https://seravo.com/docs/development/how-to-install/ on how to install Vagrant and its dependencies.

Features

  • Includes Nginx, MariaDB, PHP7, PHP8, Redis and Git for running WordPress in modern stack.
  • Git hooks to test your code to make sure that only high quality code is committed into git
  • Advanced WordPress acceptance tests with Codeception and headless Chrome
  • PHP Codesniffer code style and quality analyzer
  • Includes self-signed certs (and trust them automatically in OS X) to test https:// locally
  • Xdebug and Webgrind for debugging and profiling your application
  • Mailcatcher to imitate as SMTP server to debug mails
  • Adminer for a graphical interface to manage your database
  • BrowserSync as automatic testing middleware for WordPress

Credentials for vagrant

WordPress:

user:     vagrant
password: vagrant

MariaDB (MySQL):

user:     root
password: root

Development

The layout of this repo is designed in a way which allows storing the site in version control without exposing any confidential data. By default all sensitive data is ignored by git.

All plugins are handled by Composer so they are ignored by git. If you create custom plugins, force add them to git so that they are tracked or add new lines into .gitignore to not ignore.

Example of not ignore line in .gitignore: !htdocs/wp-content/plugins/your-plugin/

If you create custom themes, they are automatically tracked in git.

Best way to develop custom plugins and themes is to add them into their own repositories and install them by composer. You can do this by adding composer.json for your plugin/theme and then requiring them in your project like:

"repositories": [
  {
      "type": "vcs",
      "url": "https://github.com/your-name/custom-plugin.git"
  }
],
"require": {
    "your-name/custom-plugin": "*"
}

Updates

Vagrant will let you know as soon as a new version of the Vagrant box is available.

To download and update your Vagrant box to use the newest image run:

$ vagrant box update
$ vagrant destroy
$ vagrant up

Configuration

config.yml

Change name in config.yml to change your site name. This is used in quite some places in development environment.

Add production => domain and production => ssh_port to sync with your production instance.

Add new domains under development => domains before first vagrant up to have extra domains.

See config-sample.yml for more.

The Layout

The root of this repository equals the contents of the directory /data/wordpress in the Seravo.com instance.

├── config.yml # Project name, domains and other configuration
├── composer.json # Composer definition, used to pull in WordPress and plugins
├── composer.lock # Composer lock file. This is safe to delete and ignore as detailed dependency control is not relevant in WordPress.
├── gulpfile.js # Gulp example with correct paths
├── Vagrantfile # Vagrantfile for Seravo/WordPress Vagrant box
│
├── nginx # Custom modifications to Nginx which are also used in production
│   └── examples.conf # Some examples to get started
│   └── anything.conf # Your own config files can be named anything *.conf
│
├── scripts
│   ├── hooks # Git hooks for your project
│   │   ├── pre-commit # Run after every git commit
│   │   └── post-receive # Run after every git pull/push
│   │
│   ├── WordPress
│   │   └── Installer.php # Composer helper for WordPress installation
│   │
│   └── run-tests # Bash script as an interface for your tests in Seravo's production and development environments
│
├── vendor # Composer packages go here
└── htdocs # The web root of your site
    ├── wp-content # Directory moved out of WordPress core for git compatibility
    │   ├── mu-plugins
    │   ├── plugins
    │   ├── themes
    │   └── languages
    ├── wp-config.php
    ├── wp-load.php
    ├── index.php
    └── wordpress # WordPress core
        ├── wp-admin
        ├── index.php
        └── ...

Credits

  • Directory layout heavily inspired by roots/bedrock
  • Development stack inspired by VVV

Copyright Seravo Oy, 2015–2021 and contributors. Available under the GPLv3 license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].