https://github.com/leoloso/pop-app-wp
Bootstrap a PoP Application for WordPress
https://github.com/leoloso/pop-app-wp
app bootstrapper pop wordpress
Last synced: 2 months ago
JSON representation
Bootstrap a PoP Application for WordPress
- Host: GitHub
- URL: https://github.com/leoloso/pop-app-wp
- Owner: leoloso
- License: mit
- Created: 2019-07-26T05:42:06.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2020-02-03T13:16:26.000Z (over 6 years ago)
- Last Synced: 2025-03-01T00:53:05.372Z (over 1 year ago)
- Topics: app, bootstrapper, pop, wordpress
- Language: PHP
- Size: 42 KB
- Stars: 2
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Bootstrap a PoP Application for WordPress
Project to install a PoP application running on WordPress.
## Install
Via [Composer](https://getcomposer.org) and [WP-CLI](https://wp-cli.org/) (both are assumed to be installed globally):
1. Create the [WordPress database and user](https://wordpress.org/support/article/how-to-install-wordpress/#step-2-create-the-database-and-a-user)
2. Configure WordPress through environment variables:
> Copy the code below to an editor, replace all values (such as `{YOUR_SITE_DB_NAME}`) with your own values, and then either paste it on the terminal to execute, or save it in file "~/.bash_profile" and then execute `source ~/.bash_profile`.
```bash
export DB_NAME={YOUR_SITE_DB_NAME} #eg: database
export DB_USER={YOUR_SITE_DB_USER} #eg: admin
export DB_PASSWORD={YOUR_SITE_DB_PASSWORD} #eg: sADF!kl9diq@#Sjfk
export DB_HOST={YOUR_SITE_DB_HOST} #eg: 127.0.0.1
export SITE_URL_WITHOUT_HTTP={YOUR_SITE_URL_WITHOUT_HTTP} #eg: localhost
export SITE_URL_WITH_HTTP={YOUR_SITE_URL_WITH_HTTP} #eg: http://localhost
export SITE_NAME="{YOUR_SITE_NAME}" #eg: "My awesome website"
export ADMIN_USER={ADMIN_USER} #eg: admin
export ADMIN_PASSWORD={ADMIN_PASSWORD} #eg: JKo$@sfjASD00w
export ADMIN_EMAIL={ADMIN_EMAIL} #eg: pedro@example.com
```
To set the SALT keys there are two alternatives:
I. Set random values through environment variable `SHUFFLE_SALT_KEYS`:
```bash
export SHUFFLE_SALT_KEYS=true
```
II. Set the corresponding values directly:
```bash
# Obtain random values from https://api.wordpress.org/secret-key/1.1/salt
export AUTH_KEY={YOUR_AUTH_KEY}
export SECURE_AUTH_KEY={YOUR_SECURE_AUTH_KEY}
export LOGGED_IN_KEY={YOUR_LOGGED_IN_KEY}
export NONCE_KEY={YOUR_NONCE_KEY}
export AUTH_SALT={YOUR_AUTH_SALT}
export SECURE_AUTH_SALT={YOUR_SECURE_AUTH_SALT}
export LOGGED_IN_SALT={YOUR_LOGGED_IN_SALT}
export NONCE_SALT={YOUR_NONCE_SALT}
```
3. Bootstrap a new project from this repo:
```bash
composer create-project leoloso/pop-app-wp
```
4. Wait for a few minutes ☕️😁
5. Execute `install` again to copy the WordPress must-use plugins under folder `/mu-plugins` (somehow it doesn't do it with `create-project`). `cd` into the project's folder (by default `"pop-app-wp"`) and execute:
```bash
$ composer install
```
6. ✅ The site is installed under:
- 👉WordPress site: `{YOUR_SITE_URL_WITH_HTTP}`
- 👉WordPress admin: `{YOUR_SITE_URL_WITH_HTTP}`/wp/wp-admin/
- 👉PoP API: `{YOUR_SITE_URL_WITH_HTTP}/api/?query=fullSchema`
### Configure application options (optional)
Upon installation, the Composer script will create file `config/.env` including default values for application options (passed as environment variables). You can further edit this file, or even create more specific ones (following [Symfony's Dotenv component](https://symfony.com/doc/current/components/dotenv.html)'s file hierarchy).
## Installed Components
This bootstrapper will install the following components (for WordPress):
Coming soon...
## Usage
Coming soon...
## Credits
- [Leonardo Losoviz][link-author]
## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.
[link-author]: https://github.com/leoloso