Skip to content

Instantly share code, notes, and snippets.

@lagenceoueb
Created March 7, 2022 10:44
Show Gist options
  • Save lagenceoueb/8c812ad216835ac14b37a4fc184622ba to your computer and use it in GitHub Desktop.
Save lagenceoueb/8c812ad216835ac14b37a4fc184622ba to your computer and use it in GitHub Desktop.
WordPress Lando recipe
name: nom_du_projet
recipe: wordpress # configure appserver for WP
config:
php: '8.1' # or maybe PHP 8.0?
via: nginx
database: mysql:5.7
webroot: public # where my site files live
xdebug: true # easy debugging
services:
appserver: # the php/nginx server
build_as_root: # install nodejs on your new ubuntu container
- curl -sL https://deb.nodesource.com/setup_current.x | bash -
- apt-get install -y nodejs
phpmyadmin: # add PMA for easy database administration
type: phpmyadmin:5.0
hosts: [database]
mailhog: # keep those pesky emails from leaving your sandbox
type: mailhog:v1.0.0
hogfrom: [appserver]
node:
type: node
build:
- npm install
tooling:
npm:
service: node
node:
service: node
wp-install: # create a command to automate the 1-click install
description: set up site
cmd:
- wp config create --dbname=wordpress --dbuser=wordpress --dbpass=wordpress --dbhost=database
- wp core install --url="$LANDO_APP_NAME".lndo.site --title="$LANDO_APP_NAME" --admin_user=admin --admin_password=password --admin_email=mail@mail.fr
@lagenceoueb
Copy link
Author

  • Environnement local

    WordPress Lando Recipe

    1 - Créer un dossier, y accéder et créer un fichier .lando.yml

    mkdir monDossierProjet
    cd monDossiProjet
    touch .lando.yml

    2 - Editer le fichier .lando.yml et y copier le contenu ci-dessous :

    💡 name: Le nom souhaité, il apparaîtra dans l’url locale *`nom_du_projet.lndo.site`* webroot: Le dossier qui contiendra l’application `public`
    name: nom_du_projet
    recipe: wordpress # configure appserver for WP
    config:
      php: '8.1' # or maybe PHP 8.0?
      via: nginx
      database: mysql:5.7
      webroot: public # where my site files live
      xdebug: true # easy debugging
    services:
      appserver:  # the php/nginx server
        build_as_root: # install nodejs on your new ubuntu container
          - curl -sL https://deb.nodesource.com/setup_current.x | bash -
          - apt-get install -y nodejs
      phpmyadmin: # add PMA for easy database administration
        type: phpmyadmin:5.0
        hosts: [database]
      mailhog: # keep those pesky emails from leaving your sandbox
        type: mailhog:v1.0.0
        hogfrom: [appserver]
      node:
        type: node
        build:
          - npm install
    tooling:
      npm:
        service: node
      node:
        service: node
      wp-install: # create a command to automate the 1-click install
        description: set up site
        cmd:
          - wp config create --dbname=wordpress --dbuser=wordpress --dbpass=wordpress --dbhost=database
          - wp core install  --url="$LANDO_APP_NAME".lndo.site --title="$LANDO_APP_NAME" --admin_user=admin --admin_password=password --admin_email=jm@XXXX.tld

    3 - Télécharger WordPress dans le dossier choisi pour l’application

    curl -O https://wordpress.org/latest.tar.gz
    tar -xvf latest.tar.gz
    rm latest.tar.gz

    Renommer le dossier wordpress en public (ou le nom choisi pour le dossier de l’application dans le fichier .lando.yml à la rubrique webroot:

    4 - Lancer le serveur

    💡 Docker doit être installé sur la machine et être ouvert

    Get Docker

    5 - installer WordPress

    Se rendre à l’adresse nom_du_projet.lndo.site et suivre le processus d’installation habituel de WordPress
    Les données à entrer sont

    • databasename : wordpress
    • databaseuser : wordpress
    • databasepass : wordpress
    • databaseserver: database
    • et les noms, passwd et mails choisis pour l’administration de wordpress
  • Environnement distant

  • CI/CD

    le thème, l’extension éventuelle et le wp-content de distribution sont associés à des repo séparé (Gitlab, Github ou Bitbucket)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment