-
-
Notifications
You must be signed in to change notification settings - Fork 28
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
8444a20
commit 3b69b91
Showing
19 changed files
with
768 additions
and
2,725 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
#!/bin/bash | ||
## Description: Set up the development environment | ||
## Usage: orchestrate | ||
## Example: "ddev orchestrate" | ||
|
||
mkdir -p "${DDEV_DOCROOT}" | ||
pushd "${DDEV_DOCROOT}" | ||
PLUGIN_FOLDER="${DDEV_DOCROOT}/wp-content/plugins/${PLUGIN_NAME:-$DDEV_PROJECT}" | ||
VALID_ARGS=$(getopt -o fp: --long force,plugin: -- "$@") | ||
if [[ $? -ne 0 ]]; then | ||
exit 1; | ||
fi | ||
|
||
eval set -- "$VALID_ARGS" | ||
while [ : ]; do | ||
case "$1" in | ||
-f | --force) | ||
echo "Removing WordPress installation" | ||
shift | ||
export RECREATE_ENV=1; | ||
popd | ||
find "${DDEV_DOCROOT}" -mindepth 1 ! -regex "^${PLUGIN_FOLDER}\(/.*\)?" -delete | ||
pushd "${DDEV_DOCROOT}" | ||
;; | ||
-p | --plugin) | ||
echo "Processing 'delta' option. Input argument is '$2'" | ||
shift 2 | ||
;; | ||
--) shift; | ||
break | ||
;; | ||
esac | ||
done | ||
|
||
# Execute all fragments from orchestrate.d | ||
if [ -d "${0}.d" ]; then | ||
for FN in ${0}.d/*.sh ; do | ||
echo $FN | ||
source "${FN}" | ||
done | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
#!/bin/bash | ||
|
||
if ! wp core download --version="${WP_VERSION:-latest}"; then | ||
echo 'WordPress is already installed.' | ||
exit | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
#!/bin/bash | ||
|
||
cat << 'EOF' > ".gitignore" | ||
# ignores everything in the docroot (docroot in config.yaml), this path may not be included in the standard .ddev/.gitignore. | ||
* | ||
EOF |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
#!/bin/bash | ||
|
||
# Create wp-config.php | ||
# the PHP snippet avoids some notices during CLI calls | ||
# https://make.wordpress.org/cli/handbook/guides/common-issues/#php-notice-undefined-index-on-_server-superglobal | ||
printf ' | ||
if ( defined( "WP_CLI" ) && WP_CLI && ! isset( $_SERVER["HTTP_HOST"] ) ) { | ||
$_SERVER["HTTP_HOST"] = "%s"; | ||
} | ||
' "${DDEV_HOSTNAME}" | wp config create \ | ||
--dbname=db \ | ||
--dbuser=db \ | ||
--dbpass=db \ | ||
--dbhost=db \ | ||
--force \ | ||
--extra-php | ||
|
||
wp config set WP_DEBUG true --raw | ||
wp config set WP_DEBUG_DISPLAY true --raw | ||
wp config set WP_DEBUG_LOG true --raw | ||
wp config set SCRIPT_DEBUG true --raw | ||
wp config set WP_SITEURL '(isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] ? "https://" : "http://") . $_SERVER["HTTP_HOST"]' --raw | ||
wp config set WP_HOME '(isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] ? "https://" : "http://") . $_SERVER["HTTP_HOST"]' --raw |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
#!/bin/bash | ||
|
||
if [ ! -z "${RECREATE_ENV}" ]; then | ||
echo "Deleting database before creating a new one" | ||
wp db clean --yes | ||
fi | ||
|
||
if [ "${WP_MULTISITE}" = "true" ]; then | ||
wp core multisite-install \ | ||
--title="${WP_TITLE}" \ | ||
--admin_user="${ADMIN_USER}" \ | ||
--admin_password="${ADMIN_PASS}" \ | ||
--url="${DDEV_PRIMARY_URL}" \ | ||
--admin_email="${ADMIN_EMAIL}" \ | ||
--skip-email | ||
|
||
readarray -d , -t slugs <<< "${WP_MULTISITE_SLUGS},"; unset "slugs[-1]"; | ||
for slug in "${slugs[@]}"; do | ||
if [ ! -z "${slug}" ]; then | ||
wp site create --slug="${slug}" | ||
fi | ||
done | ||
|
||
else | ||
wp core install \ | ||
--title="${WP_TITLE}" \ | ||
--admin_user="${ADMIN_USER}" \ | ||
--admin_password="${ADMIN_PASS}" \ | ||
--url="${DDEV_PRIMARY_URL}" \ | ||
--admin_email="${ADMIN_EMAIL}" \ | ||
--skip-email | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
#!/bin/bash | ||
|
||
cat << 'EOF' >> ".htaccess" | ||
RewriteEngine On | ||
RewriteBase / | ||
RewriteRule ^index\.php$ - [L] | ||
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] | ||
RewriteCond %{REQUEST_FILENAME} -f [OR] | ||
RewriteCond %{REQUEST_FILENAME} -d | ||
RewriteRule ^ - [L] | ||
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] | ||
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L] | ||
RewriteRule . index.php [L] | ||
EOF |
4 changes: 4 additions & 0 deletions
4
.ddev/commands/web/orchestrate.d/20_cleanup_default_plugins.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
#!/bin/bash | ||
|
||
wp plugin is-installed akismet && wp plugin uninstall akismet | ||
wp plugin is-installed hello && wp plugin uninstall hello |
6 changes: 6 additions & 0 deletions
6
.ddev/commands/web/orchestrate.d/30_install_plugin_packages.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
#!/bin/bash | ||
|
||
popd | ||
|
||
composer install | ||
npm install |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
#!/bin/bash | ||
|
||
pushd "${DDEV_DOCROOT}" | ||
|
||
wp plugin activate "${PLUGIN_NAME:-$DDEV_PROJECT}" --network |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
#!/bin/bash | ||
|
||
pushd "${DDEV_DOCROOT}" | ||
|
||
wp plugin install https://github.com/Rarst/wps/releases/latest/download/wps.zip --network-activate |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
#!/bin/bash | ||
|
||
wp rewrite structure '/%postname%' | ||
wp rewrite flush |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
"/var/www/html/.ddev/wordpress/wp-content/plugins/${PLUGIN_NAME:-$DDEV_PROJECT}/node_modules/.bin/grunt" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
#!/bin/bash | ||
## Description: Run WordPress CLI inside the web container. DDEV core only provides this for the "wordpress" project type for some reason | ||
## Usage: wp [flags] [args] | ||
## Example: "ddev wp core version" or "ddev wp plugin install user-switching --activate" | ||
## ProjectTypes: php | ||
|
||
wp "$@" --path=.ddev/wordpress |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,210 @@ | ||
name: multisite-enhancements | ||
type: php | ||
docroot: .ddev/wordpress | ||
php_version: "8.3" | ||
nodejs_version: "18" | ||
webserver_type: apache-fpm | ||
router_http_port: "80" | ||
router_https_port: "443" | ||
xdebug_enabled: false | ||
additional_hostnames: [] | ||
additional_fqdns: [] | ||
mariadb_version: "10.3" | ||
mysql_version: "" | ||
nfs_mount_enabled: false | ||
mutagen_enabled: false | ||
use_dns_when_possible: true | ||
composer_version: "2.2" | ||
hooks: | ||
pre-start: | ||
- exec-host: "mkdir -p .ddev/wordpress/wp-content/plugins/${DDEV_PROJECT}" | ||
|
||
web_environment: | ||
- WP_VERSION=6.5.3 | ||
- WP_LOCALE=de_DE | ||
- WP_TITLE=DDEV Search and Replace Test | ||
- WP_MULTISITE=true | ||
- WP_MULTISITE_SLUGS=seite1,seite2 | ||
- ADMIN_USER=admin | ||
- ADMIN_PASS=admin | ||
- ADMIN_EMAIL=admin@example.com | ||
|
||
# Key features of ddev's config.yaml: | ||
|
||
# name: <projectname> # Name of the project, automatically provides | ||
# http://projectname.ddev.site and https://projectname.ddev.site | ||
|
||
# type: <projecttype> # drupal6/7/8, backdrop, typo3, wordpress, php | ||
|
||
# docroot: <relative_path> # Relative path to the directory containing index.php. | ||
|
||
# php_version: "7.4" # PHP version to use, "5.6", "7.0", "7.1", "7.2", "7.3", "7.4", "8.0", "8.1" | ||
|
||
# You can explicitly specify the webimage, dbimage, dbaimage lines but this | ||
# is not recommended, as the images are often closely tied to ddev's' behavior, | ||
# so this can break upgrades. | ||
|
||
# webimage: <docker_image> # nginx/php docker image. | ||
# dbimage: <docker_image> # mariadb docker image. | ||
# dbaimage: <docker_image> | ||
|
||
# mariadb_version and mysql_version | ||
# ddev can use many versions of mariadb and mysql | ||
# However these directives are mutually exclusive | ||
# mariadb_version: 10.2 | ||
# mysql_version: 8.0 | ||
|
||
# router_http_port: <port> # Port to be used for http (defaults to port 80) | ||
# router_https_port: <port> # Port for https (defaults to 443) | ||
|
||
# xdebug_enabled: false # Set to true to enable xdebug and "ddev start" or "ddev restart" | ||
# Note that for most people the commands | ||
# "ddev xdebug" to enable xdebug and "ddev xdebug off" to disable it work better, | ||
# as leaving xdebug enabled all the time is a big performance hit. | ||
|
||
# xhprof_enabled: false # Set to true to enable xhprof and "ddev start" or "ddev restart" | ||
# Note that for most people the commands | ||
# "ddev xhprof" to enable xhprof and "ddev xhprof off" to disable it work better, | ||
# as leaving xhprof enabled all the time is a big performance hit. | ||
|
||
# webserver_type: nginx-fpm # or apache-fpm | ||
|
||
# timezone: Europe/Berlin | ||
# This is the timezone used in the containers and by PHP; | ||
# it can be set to any valid timezone, | ||
# see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones | ||
# For example Europe/Dublin or MST7MDT | ||
|
||
# composer_version: "2" | ||
# if composer_version:"2" it will use the most recent composer v2 | ||
# It can also be set to "1", to get most recent composer v1 | ||
# or "" for the default v2 created at release time. | ||
# It can be set to any existing specific composer version. | ||
# After first project 'ddev start' this will not be updated until it changes | ||
|
||
# additional_hostnames: | ||
# - somename | ||
# - someothername | ||
# would provide http and https URLs for "somename.ddev.site" | ||
# and "someothername.ddev.site". | ||
|
||
# additional_fqdns: | ||
# - example.com | ||
# - sub1.example.com | ||
# would provide http and https URLs for "example.com" and "sub1.example.com" | ||
# Please take care with this because it can cause great confusion. | ||
|
||
# upload_dir: custom/upload/dir | ||
# would set the destination path for ddev import-files to <docroot>/custom/upload/dir | ||
|
||
# working_dir: | ||
# web: /var/www/html | ||
# db: /home | ||
# would set the default working directory for the web and db services. | ||
# These values specify the destination directory for ddev ssh and the | ||
# directory in which commands passed into ddev exec are run. | ||
|
||
# omit_containers: [db, dba, ddev-ssh-agent] | ||
# Currently only these containers are supported. Some containers can also be | ||
# omitted globally in the ~/.ddev/global_config.yaml. Note that if you omit | ||
# the "db" container, several standard features of ddev that access the | ||
# database container will be unusable. In the global configuration it is also | ||
# possible to omit ddev-router, but not here. | ||
|
||
# nfs_mount_enabled: false | ||
# Great performance improvement but requires host configuration first. | ||
# See https://ddev.readthedocs.io/en/stable/users/performance/#using-nfs-to-mount-the-project-into-the-container | ||
|
||
# mutagen_enabled: false | ||
# Experimental performance improvement using mutagen asynchronous updates. | ||
# See https://ddev.readthedocs.io/en/latest/users/performance/#using-mutagen | ||
|
||
# fail_on_hook_fail: False | ||
# Decide whether 'ddev start' should be interrupted by a failing hook | ||
|
||
# host_https_port: "59002" | ||
# The host port binding for https can be explicitly specified. It is | ||
# dynamic unless otherwise specified. | ||
# This is not used by most people, most people use the *router* instead | ||
# of the localhost port. | ||
|
||
# host_webserver_port: "59001" | ||
# The host port binding for the ddev-webserver can be explicitly specified. It is | ||
# dynamic unless otherwise specified. | ||
# This is not used by most people, most people use the *router* instead | ||
# of the localhost port. | ||
|
||
# host_db_port: "59002" | ||
# The host port binding for the ddev-dbserver can be explicitly specified. It is dynamic | ||
# unless explicitly specified. | ||
|
||
# phpmyadmin_port: "8036" | ||
# phpmyadmin_https_port: "8037" | ||
# The PHPMyAdmin ports can be changed from the default 8036 and 8037 | ||
|
||
# host_phpmyadmin_port: "8036" | ||
# The phpmyadmin (dba) port is not normally bound on the host at all, instead being routed | ||
# through ddev-router, but it can be specified and bound. | ||
|
||
# mailhog_port: "8025" | ||
# mailhog_https_port: "8026" | ||
# The MailHog ports can be changed from the default 8025 and 8026 | ||
|
||
# host_mailhog_port: "8025" | ||
# The mailhog port is not normally bound on the host at all, instead being routed | ||
# through ddev-router, but it can be bound directly to localhost if specified here. | ||
|
||
# webimage_extra_packages: [php7.4-tidy, php-bcmath] | ||
# Extra Debian packages that are needed in the webimage can be added here | ||
|
||
# dbimage_extra_packages: [telnet,netcat] | ||
# Extra Debian packages that are needed in the dbimage can be added here | ||
|
||
# use_dns_when_possible: true | ||
# If the host has internet access and the domain configured can | ||
# successfully be looked up, DNS will be used for hostname resolution | ||
# instead of editing /etc/hosts | ||
# Defaults to true | ||
|
||
# project_tld: ddev.site | ||
# The top-level domain used for project URLs | ||
# The default "ddev.site" allows DNS lookup via a wildcard | ||
# If you prefer you can change this to "ddev.local" to preserve | ||
# pre-v1.9 behavior. | ||
|
||
# ngrok_args: --subdomain mysite --auth username:pass | ||
# Provide extra flags to the "ngrok http" command, see | ||
# https://ngrok.com/docs#http or run "ngrok http -h" | ||
|
||
# disable_settings_management: false | ||
# If true, ddev will not create CMS-specific settings files like | ||
# Drupal's settings.php/settings.ddev.php or TYPO3's AdditionalConfiguration.php | ||
# In this case the user must provide all such settings. | ||
|
||
# You can inject environment variables into the web container with: | ||
# web_environment: | ||
# - SOMEENV=somevalue | ||
# - SOMEOTHERENV=someothervalue | ||
|
||
# no_project_mount: false | ||
# (Experimental) If true, ddev will not mount the project into the web container; | ||
# the user is responsible for mounting it manually or via a script. | ||
# This is to enable experimentation with alternate file mounting strategies. | ||
# For advanced users only! | ||
|
||
# bind_all_interfaces: false | ||
# If true, host ports will be bound on all network interfaces, | ||
# not just the localhost interface. This means that ports | ||
# will be available on the local network if the host firewall | ||
# allows it. | ||
|
||
# Many ddev commands can be extended to run tasks before or after the | ||
# ddev command is executed, for example "post-start", "post-import-db", | ||
# "pre-composer", "post-composer" | ||
# See https://ddev.readthedocs.io/en/stable/users/extending-commands/ for more | ||
# information on the commands that can be extended and the tasks you can define | ||
# for them. Example: | ||
#hooks: | ||
# Un-comment to emit the WP CLI version after ddev start. | ||
# post-start: | ||
# - exec: wp cli version |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
services: | ||
web: | ||
volumes: | ||
- source: ../ | ||
target: /var/www/html/.ddev/wordpress/wp-content/plugins/multisite-enhancements | ||
type: bind |
Oops, something went wrong.