├── .node-version ├── docs ├── public │ ├── .!77352!favicon.ico │ ├── favicon.ico │ ├── images │ │ ├── icon.png │ │ ├── logo.png │ │ ├── drupal7-extant │ │ │ ├── landoInfo.jpg │ │ │ ├── landoInit.jpg │ │ │ ├── landoAppName.jpg │ │ │ ├── landoStart.jpg │ │ │ ├── landoWebroot.jpg │ │ │ └── landoCodeBase.jpg │ │ ├── icon.svg │ │ ├── drupalicon.svg │ │ └── logo.svg │ ├── contact.html │ └── favicon.svg ├── .vitepress │ ├── theme │ │ └── index.mjs │ └── config.mjs ├── team.md ├── guides.md ├── support.md ├── .eslintrc.json ├── v │ └── index.md ├── index.md ├── install.md ├── legacy │ ├── drupal-6.md │ └── drupal-7.md ├── guides │ ├── landoify-d7.md │ └── drupal-multisite.md ├── getting-started.md └── tooling.md ├── examples ├── drupal10 │ ├── .gitignore │ └── README.md ├── drupal11 │ ├── .gitignore │ └── README.md ├── drupal6 │ ├── .gitignore │ └── README.md ├── drupal7 │ ├── .gitignore │ ├── lando.local.yml │ └── README.md ├── drupal8 │ ├── .gitignore │ ├── .lando.local.yml │ └── README.md ├── drupal9 │ ├── .gitignore │ └── README.md ├── drupal-custom │ ├── bob │ │ ├── index.php │ │ └── info.php │ ├── .lando.yml │ ├── config │ │ ├── default.conf │ │ ├── php.ini │ │ └── mysql.cnf │ └── README.md ├── drupal-defaults │ ├── index.php │ ├── info.php │ ├── .lando.yml │ └── README.md ├── drupal-export │ ├── index.php │ ├── info.php │ ├── .gitignore │ ├── .lando.yml │ ├── README.md │ └── mysql-test.sql ├── drupal-import │ ├── index.php │ ├── info.php │ ├── test.sh │ ├── .lando.yml │ ├── big-bad-dump.sql │ ├── README.md │ ├── mysql-test.sql │ └── subdir │ │ └── test.sql ├── drupal-mysql8 │ ├── .gitignore │ └── README.md ├── drupal-nginx │ ├── web │ │ ├── index.php │ │ └── info.php │ ├── .lando.yml │ └── README.md ├── drupal10-mysql8 │ ├── .gitignore │ └── README.md ├── drupal10-nginx │ ├── .gitignore │ └── README.md ├── drupal11-nginx │ ├── .gitignore │ └── README.md ├── drupal-mariadb-mysql │ ├── web │ │ ├── index.php │ │ └── info.php │ ├── .lando.yml │ └── README.md ├── drupal-mariadb │ ├── web │ │ ├── index.php │ │ └── info.php │ ├── .lando.yml │ └── README.md ├── drupal11-mysql84 │ ├── .gitignore │ └── README.md ├── .lando.upstream.yml └── .lando.yml ├── index.js ├── .eslintignore ├── .npmignore ├── .github ├── ISSUE_TEMPLATE │ ├── misc.md │ ├── feature_request.md │ ├── bug_report.md │ ├── documentation.md │ └── security.md ├── FUNDING.yml ├── workflows │ ├── label-add-to-project.yml │ ├── pr-linter.yml │ ├── pr-unit-tests.yml │ ├── pr-docs-tests.yml │ ├── pr-drupal-tests.yml │ └── release.yml ├── dependabot.yml └── PULL_REQUEST_TEMPLATE.md ├── test └── auth.spec.js ├── inits ├── drupal7.js ├── drupal8.js ├── drupal6.js ├── drupal10.js ├── drupal9.js └── drupal11.js ├── .editorconfig ├── .gitattributes ├── lib ├── warnings.js └── utils.js ├── .lando.yml ├── .gitignore ├── .eslintrc.json ├── LICENSE ├── config ├── drupal10 │ ├── php.ini │ ├── mysql8.cnf │ ├── mysql.cnf │ └── default.conf.tpl ├── drupal11 │ ├── php.ini │ ├── mysql8.cnf │ ├── mysql.cnf │ └── default.conf.tpl ├── drupal7 │ ├── php.ini │ ├── mysql8.cnf │ ├── mysql.cnf │ └── default.conf.tpl ├── drupal8 │ ├── php.ini │ ├── mysql8.cnf │ ├── mysql.cnf │ └── default.conf.tpl ├── drupal9 │ ├── php.ini │ ├── mysql8.cnf │ ├── mysql.cnf │ └── default.conf.tpl └── drupal6 │ ├── php.ini │ ├── mysql8.cnf │ ├── mysql.cnf │ └── default.conf.tpl ├── plugin.yml ├── netlify.toml ├── package.json └── README.md /.node-version: -------------------------------------------------------------------------------- 1 | 20 2 | -------------------------------------------------------------------------------- /docs/public/.!77352!favicon.ico: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/drupal10/.gitignore: -------------------------------------------------------------------------------- 1 | drupal10 2 | -------------------------------------------------------------------------------- /examples/drupal11/.gitignore: -------------------------------------------------------------------------------- 1 | drupal11 2 | -------------------------------------------------------------------------------- /examples/drupal6/.gitignore: -------------------------------------------------------------------------------- 1 | drupal6 2 | -------------------------------------------------------------------------------- /examples/drupal7/.gitignore: -------------------------------------------------------------------------------- 1 | drupal7 2 | -------------------------------------------------------------------------------- /examples/drupal8/.gitignore: -------------------------------------------------------------------------------- 1 | drupal8 2 | -------------------------------------------------------------------------------- /examples/drupal9/.gitignore: -------------------------------------------------------------------------------- 1 | drupal9 2 | -------------------------------------------------------------------------------- /examples/drupal-custom/bob/index.php: -------------------------------------------------------------------------------- 1 | HI BOB 2 | -------------------------------------------------------------------------------- /examples/drupal-defaults/index.php: -------------------------------------------------------------------------------- 1 | DEFAULTS 2 | -------------------------------------------------------------------------------- /examples/drupal-export/index.php: -------------------------------------------------------------------------------- 1 | DEFAULTS 2 | -------------------------------------------------------------------------------- /examples/drupal-import/index.php: -------------------------------------------------------------------------------- 1 | DEFAULTS 2 | -------------------------------------------------------------------------------- /examples/drupal-mysql8/.gitignore: -------------------------------------------------------------------------------- 1 | mysql8 2 | -------------------------------------------------------------------------------- /examples/drupal-nginx/web/index.php: -------------------------------------------------------------------------------- 1 | NGINX 2 | -------------------------------------------------------------------------------- /examples/drupal10-mysql8/.gitignore: -------------------------------------------------------------------------------- 1 | mysql8 2 | -------------------------------------------------------------------------------- /examples/drupal10-nginx/.gitignore: -------------------------------------------------------------------------------- 1 | nginx 2 | -------------------------------------------------------------------------------- /examples/drupal11-nginx/.gitignore: -------------------------------------------------------------------------------- 1 | nginx 2 | -------------------------------------------------------------------------------- /examples/drupal-mariadb-mysql/web/index.php: -------------------------------------------------------------------------------- 1 | MySQL 2 | -------------------------------------------------------------------------------- /examples/drupal-mariadb/web/index.php: -------------------------------------------------------------------------------- 1 | MariaDB 2 | -------------------------------------------------------------------------------- /examples/drupal11-mysql84/.gitignore: -------------------------------------------------------------------------------- 1 | drupal11 2 | -------------------------------------------------------------------------------- /examples/drupal-defaults/info.php: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /examples/drupal-export/info.php: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /examples/drupal-import/info.php: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /examples/drupal-nginx/web/info.php: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /examples/drupal-custom/bob/info.php: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /examples/drupal-mariadb/web/info.php: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = () => {}; 4 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | temp 2 | cache 3 | dist 4 | _site 5 | !.vitepress 6 | -------------------------------------------------------------------------------- /examples/drupal-mariadb-mysql/web/info.php: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /examples/.lando.upstream.yml: -------------------------------------------------------------------------------- 1 | plugins: 2 | "@lando/drupal": ../../.. 3 | -------------------------------------------------------------------------------- /examples/.lando.yml: -------------------------------------------------------------------------------- 1 | name: placeholder 2 | plugins: 3 | "@lando/drupal": .. 4 | -------------------------------------------------------------------------------- /examples/drupal-export/.gitignore: -------------------------------------------------------------------------------- 1 | *.sql 2 | *.gz 3 | *.zip 4 | !mysql-test.sql 5 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | .github 2 | .nyc_output 3 | coverage 4 | docs 5 | examples 6 | guides 7 | test 8 | -------------------------------------------------------------------------------- /docs/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lando/drupal/HEAD/docs/public/favicon.ico -------------------------------------------------------------------------------- /docs/public/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lando/drupal/HEAD/docs/public/images/icon.png -------------------------------------------------------------------------------- /docs/public/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lando/drupal/HEAD/docs/public/images/logo.png -------------------------------------------------------------------------------- /examples/drupal7/lando.local.yml: -------------------------------------------------------------------------------- 1 | proxy: 2 | appserver: 3 | - another.lando-drupal7.lndo.site 4 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/misc.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Misc 3 | about: Create basically every other kind of issue 4 | labels: task 5 | --- 6 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/index.mjs: -------------------------------------------------------------------------------- 1 | import VPLTheme from '@lando/vitepress-theme-default-plus'; 2 | 3 | export default VPLTheme; 4 | -------------------------------------------------------------------------------- /examples/drupal-import/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Just a simple show of our DB tables 4 | mysql -u root drupal10 -e "show tables;" 5 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature 3 | about: Suggest an idea for this project 4 | labels: feature 5 | --- 6 | -------------------------------------------------------------------------------- /docs/public/images/drupal7-extant/landoInfo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lando/drupal/HEAD/docs/public/images/drupal7-extant/landoInfo.jpg -------------------------------------------------------------------------------- /docs/public/images/drupal7-extant/landoInit.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lando/drupal/HEAD/docs/public/images/drupal7-extant/landoInit.jpg -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug 3 | about: Create a bug report to help us improve this plugin 4 | labels: bug 5 | --- 6 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/documentation.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Docs 3 | about: Suggest a documentation change or improvement 4 | labels: docs 5 | --- 6 | -------------------------------------------------------------------------------- /docs/public/images/drupal7-extant/landoAppName.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lando/drupal/HEAD/docs/public/images/drupal7-extant/landoAppName.jpg -------------------------------------------------------------------------------- /docs/public/images/drupal7-extant/landoStart.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lando/drupal/HEAD/docs/public/images/drupal7-extant/landoStart.jpg -------------------------------------------------------------------------------- /docs/public/images/drupal7-extant/landoWebroot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lando/drupal/HEAD/docs/public/images/drupal7-extant/landoWebroot.jpg -------------------------------------------------------------------------------- /docs/public/images/drupal7-extant/landoCodeBase.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lando/drupal/HEAD/docs/public/images/drupal7-extant/landoCodeBase.jpg -------------------------------------------------------------------------------- /examples/drupal-export/.lando.yml: -------------------------------------------------------------------------------- 1 | name: drupal-exports 2 | recipe: drupal10 3 | 4 | # do not remove this 5 | plugins: 6 | "@lando/drupal": ../.. 7 | -------------------------------------------------------------------------------- /examples/drupal-defaults/.lando.yml: -------------------------------------------------------------------------------- 1 | name: drupal-defaults 2 | recipe: drupal10 3 | 4 | # do not remove this 5 | plugins: 6 | "@lando/drupal": ../.. 7 | -------------------------------------------------------------------------------- /test/auth.spec.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const chai = require('chai'); 4 | chai.should(); 5 | 6 | describe('auth', () => { 7 | it('should have tests'); 8 | }); 9 | -------------------------------------------------------------------------------- /inits/drupal7.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* 4 | * Init Lamp 5 | */ 6 | module.exports = { 7 | name: 'drupal7', 8 | defaults: { 9 | 'php': '7.4', 10 | }, 11 | }; 12 | -------------------------------------------------------------------------------- /inits/drupal8.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* 4 | * Init Lamp 5 | */ 6 | module.exports = { 7 | name: 'drupal8', 8 | defaults: { 9 | 'php': '7.3', 10 | }, 11 | }; 12 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [lando, pirog] 4 | patreon: devwithlando 5 | open_collective: devwithlando 6 | custom: https://lando.dev/join 7 | -------------------------------------------------------------------------------- /inits/drupal6.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* 4 | * Init Lamp 5 | */ 6 | module.exports = { 7 | name: 'drupal6', 8 | defaults: { 9 | 'php': '5.6', 10 | 'drush': '8.4.5', 11 | }, 12 | }; 13 | -------------------------------------------------------------------------------- /examples/drupal-mariadb/.lando.yml: -------------------------------------------------------------------------------- 1 | name: lando-drupal-mariadb 2 | recipe: drupal10 3 | config: 4 | php: '8.3' 5 | composer_version: 2.7.4 6 | webroot: web 7 | database: 'mariadb:11.3' 8 | plugins: 9 | '@lando/drupal': ../.. 10 | -------------------------------------------------------------------------------- /inits/drupal10.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* 4 | * Init Lamp 5 | */ 6 | module.exports = { 7 | name: 'drupal10', 8 | defaults: { 9 | 'php': '8.1', 10 | 'drush': '^11', 11 | 'composer_version': '2-latest', 12 | }, 13 | }; 14 | -------------------------------------------------------------------------------- /inits/drupal9.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* 4 | * Init Lamp 5 | */ 6 | module.exports = { 7 | name: 'drupal9', 8 | defaults: { 9 | 'php': '8.0', 10 | 'drush': '^11', 11 | 'composer_version': '2-latest', 12 | }, 13 | }; 14 | -------------------------------------------------------------------------------- /examples/drupal-mariadb-mysql/.lando.yml: -------------------------------------------------------------------------------- 1 | name: lando-drupal-mariadb-mysql 2 | recipe: drupal10 3 | config: 4 | php: '8.3' 5 | composer_version: 2.7.4 6 | webroot: web 7 | database: 'mariadb:10.3' 8 | plugins: 9 | '@lando/drupal': ../.. 10 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # top-most EditorConfig file 2 | root = true 3 | 4 | # Unix-style newlines with a newline ending every file 5 | [*] 6 | end_of_line = lf 7 | insert_final_newline = true 8 | charset = utf-8 9 | 10 | [*.js] 11 | indent_style = space 12 | indent_size = 2 13 | -------------------------------------------------------------------------------- /examples/drupal-nginx/.lando.yml: -------------------------------------------------------------------------------- 1 | name: drupal-nginx 2 | recipe: drupal10 3 | config: 4 | via: nginx 5 | webroot: web 6 | php: 7.4 7 | 8 | tooling: 9 | nginx: 10 | service: appserver_nginx 11 | 12 | # do not remove this 13 | plugins: 14 | "@lando/drupal": ../.. 15 | -------------------------------------------------------------------------------- /examples/drupal-import/.lando.yml: -------------------------------------------------------------------------------- 1 | name: drupal-import 2 | recipe: drupal10 3 | 4 | events: 5 | post-db-import: 6 | - database: /app/test.sh 7 | - database: echo "i-ran" > /tmp/iran.txt 8 | - echo "stuff" 9 | 10 | # do not remove this 11 | plugins: 12 | "@lando/drupal": ../.. 13 | -------------------------------------------------------------------------------- /inits/drupal11.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* 4 | * Init Lamp 5 | */ 6 | module.exports = { 7 | name: 'drupal11', 8 | defaults: { 9 | 'php': '8.3', 10 | 'via': 'apache:2.4', 11 | 'database': 'mysql:8.0', 12 | 'composer_version': '2-latest', 13 | 'drush': '^13', 14 | }, 15 | }; 16 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Set the default behavior, in case people don't have core.autocrlf set. 2 | * text=auto 3 | 4 | # Declare files that will always have LF line endings on checkout. 5 | *.js text eol=lf 6 | *.sh text eol=lf 7 | *.conf text eol=lf 8 | *.cnf text eol=lf 9 | *.ini text eol=lf 10 | *.php text eol=lf 11 | *.vcl text eol=lf 12 | -------------------------------------------------------------------------------- /lib/warnings.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // Modules 4 | 5 | exports.drushWarn = version => ({ 6 | title: 'May need site-local drush', 7 | detail: [ 8 | `Lando has detected you are trying to globally install drush ${version}`, 9 | 'This version of drush prefers a site-local installation', 10 | 'We recommend you install drush that way, see:', 11 | ], 12 | url: 'https://www.drush.org/install/', 13 | }); 14 | -------------------------------------------------------------------------------- /examples/drupal-custom/.lando.yml: -------------------------------------------------------------------------------- 1 | name: drupal-custom 2 | recipe: drupal10 3 | config: 4 | php: '8.3' 5 | composer_version: '2.0.7' 6 | via: nginx:1.17 7 | webroot: bob 8 | database: mysql:5.7 9 | xdebug: true 10 | ssl: true 11 | config: 12 | database: config/mysql.cnf 13 | php: config/php.ini 14 | vhosts: config/default.conf 15 | 16 | # do not remove this 17 | plugins: 18 | "@lando/drupal": ../.. 19 | 20 | -------------------------------------------------------------------------------- /docs/public/contact.html: -------------------------------------------------------------------------------- 1 | 2 |
16 | -------------------------------------------------------------------------------- /.lando.yml: -------------------------------------------------------------------------------- 1 | name: docs.drupal 2 | proxy: 3 | cli: 4 | - docs.drupal.lndo.site:5173 5 | services: 6 | cli: 7 | api: 4 8 | image: node:20 9 | command: sleep infinity 10 | ports: 11 | - 5173:5173/http 12 | scanner: false 13 | user: node 14 | build: 15 | app: | 16 | npm install 17 | tooling: 18 | node: 19 | service: cli 20 | npm: 21 | service: cli 22 | vitepress: 23 | service: cli 24 | cmd: npx vitepress 25 | -------------------------------------------------------------------------------- /examples/drupal8/.lando.local.yml: -------------------------------------------------------------------------------- 1 | name: lando-drupal8 # this can be removed when we release the new lando 3.17.x cli 2 | excludes: 3 | - core 4 | - vendor 5 | config: 6 | drush: false 7 | events: 8 | post-start: 9 | - appserver: env | grep "PATH" | grep "/app/vendor/bin" 10 | - appserver: /app/vendor/bin/drush status || drush status 11 | services: 12 | appserver: 13 | build: 14 | - composer require -n drush/drush:10.2.1 15 | plugins: 16 | "@lando/drupal": ../../.. 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Common sys files 2 | .*.swp 3 | ._* 4 | .git 5 | .hg 6 | .sign 7 | .lock-wscript 8 | .svn 9 | .wafpickle-* 10 | .DS_Store 11 | .idea/ 12 | *.tar 13 | *.jxp 14 | *.sublime-* 15 | 16 | # Logs 17 | *.log 18 | logs 19 | 20 | # NPM files 21 | node_modules 22 | 23 | # lando config 24 | env.yaml 25 | env.yml 26 | lando.env 27 | 28 | # Build dirs 29 | build 30 | dist 31 | 32 | # coverage reporting 33 | .nyc_output 34 | coverage/ 35 | 36 | # docs 37 | .temp 38 | .cache 39 | _site 40 | dist 41 | cache 42 | temp 43 | config.*.timestamp-*-*.* 44 | 45 | # YARN 46 | yarn.lock 47 | -------------------------------------------------------------------------------- /.github/workflows/label-add-to-project.yml: -------------------------------------------------------------------------------- 1 | name: Add to Contrib Project 2 | 3 | on: 4 | issues: 5 | types: [labeled] 6 | pull_request: 7 | types: [labeled] 8 | 9 | jobs: 10 | add_to_project: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: Add issue/PR to GitHub Project 14 | if: github.event.label.name == 'flag' 15 | uses: actions/add-to-project@v1.0.2 16 | with: 17 | project-url: https://github.com/orgs/lando/projects/7 18 | github-token: ${{ secrets.SHADOW_COUNCIL_ESCALATOR }} 19 | labeled: flag 20 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "npm" 4 | directory: "/" 5 | schedule: 6 | interval: "daily" 7 | allow: 8 | - dependency-name: "@lando/*" 9 | - package-ecosystem: "github-actions" 10 | directory: "/" 11 | schedule: 12 | interval: "weekly" 13 | groups: 14 | actions: 15 | applies-to: version-updates 16 | update-types: [ "major", "minor", "patch" ] 17 | 18 | ignore: 19 | - dependency-name: "lando/prepare-release-action" 20 | versions: ["99", "99.x.x"] # v99 used for internal testing 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/security.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Security 3 | about: Create a security issue 4 | labels: security 5 | --- 6 | 7 | **DO NOT SUBMIT A SECURITY ISSUE HERE!** 8 | 9 | If you have discovered a security issue with Lando, please contact the Lando Security Team directly at [security@devwithlando.io](mailto:security@devwithlando.io). 10 | 11 | We manage security issues separately in a private repository until the issue has been resolved. Even if you're not sure if it's a security problem, please contact the security team before filing an issue, blogging, or tweeting about it. 12 | 13 | **DO NOT SUBMIT A SECURITY ISSUE HERE!** 14 | -------------------------------------------------------------------------------- /docs/team.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Learn about the team that made the Drupal plugin. 3 | layout: page 4 | title: Team 5 | --- 6 | 7 |
41 |
42 | Then Lando will ask you `What recipe do you want to use?` select `drupal7`.
43 |
44 |
45 |
46 | Then Lando needs to know what directory has the Drupal code it asks `Where is your webroot relative to the init destination?` If your
47 | code is in the current directory you can just hit enter.
48 |
49 |
50 |
51 |
52 | ::: tip Nested Web Root
53 | If you are using a nested web root then you should
54 | specify the path to the Drupal code here like: `web`
55 | :::
56 |
57 | Then Lando prompts for the app name: ` What do you want to call this app?` you can type anything you like, i.e. MyApp.
58 |
59 |
60 |
61 | The `lando init` command will create the `.lando.yml` config file for you. If you chose the `drupal7` recipe your config file should look like this:
62 |
63 | ```yaml
64 | name: myapp
65 | recipe: drupal7
66 | config:
67 | webroot: .
68 | ```
69 |
70 | ## Lando Start
71 |
72 |
73 | Now you are ready to start your app.
74 |
75 | ```bash
76 | lando start
77 | ```
78 |
79 | This will build out the containers necessary for your Drupal 7 app. You'll end up with a screen like this once the app is started:
80 |
81 |
82 |
83 | Now you can copy any one of the resulting URLs and paste it into a browser to visit your Drupal 7 app running in Lando!
84 |
85 | ## Pro Tips
86 |
87 | If you issue additional terminal commands or clear the screen you can get the URLs and other info about your app anytime by using the `lando info` command:
88 |
89 | ```bash
90 | lando info
91 | ```
92 |
93 | The info command will give you lots of useful information about your app:
94 |
95 |
96 |
--------------------------------------------------------------------------------
/examples/drupal7/README.md:
--------------------------------------------------------------------------------
1 | # Drupal 7 Example
2 |
3 | This example exists primarily to test the following documentation:
4 |
5 | * [Drupal 7 Recipe](https://docs.devwithlando.io/tutorials/drupal7.html)
6 |
7 | ## Start up tests
8 |
9 | Run the following commands to get up and running with this example.
10 |
11 | ```bash
12 | # Should poweroff
13 | lando poweroff
14 |
15 | # Should initialize the latest Drupal 7 codebase
16 | rm -rf drupal7 && mkdir -p drupal7 && cd drupal7
17 | lando init --source remote --remote-url https://ftp.drupal.org/files/projects/drupal-7.71.tar.gz --remote-options="--strip-components 1" --recipe drupal7 --webroot . --name lando-drupal7 --option drush="^8"
18 |
19 | # Should start up successfully
20 | cd drupal7
21 | cp -f ../../.lando.upstream.yml .lando.upstream.yml && cat .lando.upstream.yml
22 | cp -f ../lando.local.yml .lando.local.yml && cat .lando.local.yml
23 | lando start
24 | ```
25 |
26 | ## Verification commands
27 |
28 | Run the following commands to validate things are rolling as they should.
29 |
30 | ```bash
31 | # Should return the drupal installation page by default
32 | cd drupal7
33 | lando exec appserver -- curl -L localhost | grep "Drupal 7"
34 |
35 | # Should use 7.4 as the default php version
36 | cd drupal7
37 | lando php -v | grep "PHP 7.4"
38 |
39 | # Should be running apache 2.4 by default
40 | cd drupal7
41 | lando exec appserver -- apachectl -V | grep 2.4
42 | lando exec appserver -- curl -IL localhost | grep Server | grep 2.4
43 |
44 | # Should be running mysql 5.7 by default
45 | cd drupal7
46 | lando mysql -V | grep 5.7
47 |
48 | # Should be using the mysql_native_password authentication plugin by default
49 | cd drupal7
50 | lando mysql -e "SELECT user,plugin FROM mysql.user;" | grep drupal7 | grep mysql_native_password
51 |
52 | # Should not enable xdebug by default
53 | cd drupal7
54 | lando php -m | grep xdebug || echo $? | grep 1
55 |
56 | # Should use the default database connection info
57 | cd drupal7
58 | lando mysql -udrupal7 -pdrupal7 drupal7 -e quit
59 |
60 | # Should use drush 8.5.x by default
61 | cd drupal7
62 | lando drush version | grep 8.5
63 |
64 | # Should be able to install drupal
65 | cd drupal7
66 | lando drush si --db-url=mysql://drupal7:drupal7@database/drupal7 -y
67 |
68 | # Should have infinite memory for drush
69 | cd drupal7
70 | lando drush eval "phpinfo();" | grep memory_limit | grep -e "-1"
71 |
72 | # Should have SIMPLETEST envvars set correctly
73 | cd drupal7
74 | lando exec appserver -- env | grep SIMPLETEST_BASE_URL | grep "https://appserver"
75 | lando exec appserver -- env | grep SIMPLETEST_DB | grep "mysql://drupal7:drupal7@database/drupal7"
76 |
77 | # Should have proxy urls present in lando info
78 | cd drupal7
79 | lando info | grep "lando-drupal7.lndo.site"
80 | lando info | grep "another.lando-drupal7.lndo.site"
81 |
82 | # Should be able to pipe data directly into lando drush sql-cli
83 | cd drupal7
84 | lando db-export --stdout > dump.sql
85 | lando destroy -y
86 | lando start
87 | lando drush sql-cli < dump.sql
88 | lando mysql drupal7 -e "show tables;" | grep user
89 | ```
90 |
91 | ## Destroy tests
92 |
93 | Run the following commands to trash this app like nothing ever happened.
94 |
95 | ```bash
96 | # Should be destroyed with success
97 | cd drupal7
98 | lando destroy -y
99 | lando poweroff
100 | ```
101 |
--------------------------------------------------------------------------------
/config/drupal6/mysql8.cnf:
--------------------------------------------------------------------------------
1 | #
2 | # The MySQL database server configuration file for Lando
3 | #
4 | # LANDODRUPALMYSQL8CNF
5 |
6 | [mysqld]
7 | #
8 | # * Basic Settings
9 | #
10 | # Data is stored in a volume on the db container /sql
11 | default-storage-engine = innodb
12 |
13 | #
14 | # * Fine Tuning
15 | #
16 | key_buffer_size = 384M
17 | max_allowed_packet = 32M
18 | thread_stack = 400K
19 | thread_cache_size = 8
20 | # This replaces the startup script and checks MyISAM tables if needed
21 | # the first time they are touched
22 | #max_connections = 100
23 | #table_cache = 64
24 | #thread_concurrency = 10
25 | read_rnd_buffer_size = 8M
26 | myisam_sort_buffer_size = 64M
27 | table_open_cache = 512
28 | sort_buffer_size = 2M
29 | read_buffer_size = 2M
30 |
31 | #
32 | # * Logging and Replication
33 | #
34 | # Both location gets rotated by the cronjob.
35 | # Be aware that this log type is a performance killer.
36 | # As of 5.1 you can enable the log at runtime!
37 | #general_log_file = /src/.lando/log/mysql.log
38 | #general_log = 1
39 | #
40 | # Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
41 | #
42 | # Here you can see queries with especially long duration
43 | #log_slow_queries = /var/log/mysql/mysql-slow.log
44 | #long_query_time = 2
45 | #log-queries-not-using-indexes
46 | #
47 | # The following can be used as easy to replay backup logs or for replication.
48 | # note: if you are setting up a replication slave, see README.Debian about
49 | # other settings you may need to change.
50 | #server-id = 1
51 | #log_bin = /src/.lando/log/mysql-bin.log
52 | expire_logs_days = 10
53 | max_binlog_size = 101M
54 | #binlog_do_db = include_database_name
55 | #binlog_ignore_db = include_database_name
56 | #
57 | # * InnoDB
58 | #
59 | # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
60 | # Read the manual for more InnoDB related options. There are many!
61 | #
62 | # Uncomment the following if you are using InnoDB tables
63 | #innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
64 | #innodb_log_group_home_dir = C:\mysql\data/
65 | # You can set .._buffer_pool_size up to 50 - 80 %
66 | # of RAM but beware of setting memory usage too high
67 | #innodb_buffer_pool_size = 384M
68 | #innodb_additional_mem_pool_size = 20M
69 | # Set .._log_file_size to 25 % of buffer pool size
70 | innodb_log_file_size = 100M
71 | #innodb_log_buffer_size = 8M
72 | innodb_flush_log_at_trx_commit = 0
73 | #innodb_lock_wait_timeout = 50
74 | innodb_buffer_pool_size = 384M
75 | innodb_log_buffer_size = 4M
76 | innodb_file_per_table = 1
77 | innodb_open_files = 256
78 | innodb_io_capacity = 512
79 | innodb_flush_method = O_DIRECT
80 | innodb_thread_concurrency = 8
81 | innodb_lock_wait_timeout = 127
82 | #
83 | # * Security Features
84 | #
85 | # Read the manual, too, if you want chroot!
86 | # chroot = /var/lib/mysql/
87 | #
88 | # For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
89 | #
90 | # ssl-ca=/etc/mysql/cacert.pem
91 | # ssl-cert=/etc/mysql/server-cert.pem
92 | # ssl-key=/etc/mysql/server-key.pem
93 |
94 | [mysqldump]
95 | quick
96 | quote-names
97 | max_allowed_packet = 32M
98 |
99 | [mysql]
100 | #no-auto-rehash # faster start of mysql but no tab completion
101 |
102 | [isamchk]
103 | key_buffer_size = 384M
104 | sort_buffer_size = 256M
105 | read_buffer = 2M
106 | write_buffer = 2M
107 |
--------------------------------------------------------------------------------
/config/drupal7/mysql8.cnf:
--------------------------------------------------------------------------------
1 | #
2 | # The MySQL database server configuration file for Lando
3 | #
4 | # LANDODRUPALMYSQL8CNF
5 |
6 | [mysqld]
7 | #
8 | # * Basic Settings
9 | #
10 | # Data is stored in a volume on the db container /sql
11 | default-storage-engine = innodb
12 |
13 | #
14 | # * Fine Tuning
15 | #
16 | key_buffer_size = 384M
17 | max_allowed_packet = 32M
18 | thread_stack = 400K
19 | thread_cache_size = 8
20 | # This replaces the startup script and checks MyISAM tables if needed
21 | # the first time they are touched
22 | #max_connections = 100
23 | #table_cache = 64
24 | #thread_concurrency = 10
25 | read_rnd_buffer_size = 8M
26 | myisam_sort_buffer_size = 64M
27 | table_open_cache = 512
28 | sort_buffer_size = 2M
29 | read_buffer_size = 2M
30 |
31 | #
32 | # * Logging and Replication
33 | #
34 | # Both location gets rotated by the cronjob.
35 | # Be aware that this log type is a performance killer.
36 | # As of 5.1 you can enable the log at runtime!
37 | #general_log_file = /src/.lando/log/mysql.log
38 | #general_log = 1
39 | #
40 | # Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
41 | #
42 | # Here you can see queries with especially long duration
43 | #log_slow_queries = /var/log/mysql/mysql-slow.log
44 | #long_query_time = 2
45 | #log-queries-not-using-indexes
46 | #
47 | # The following can be used as easy to replay backup logs or for replication.
48 | # note: if you are setting up a replication slave, see README.Debian about
49 | # other settings you may need to change.
50 | #server-id = 1
51 | #log_bin = /src/.lando/log/mysql-bin.log
52 | expire_logs_days = 10
53 | max_binlog_size = 101M
54 | #binlog_do_db = include_database_name
55 | #binlog_ignore_db = include_database_name
56 | #
57 | # * InnoDB
58 | #
59 | # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
60 | # Read the manual for more InnoDB related options. There are many!
61 | #
62 | # Uncomment the following if you are using InnoDB tables
63 | #innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
64 | #innodb_log_group_home_dir = C:\mysql\data/
65 | # You can set .._buffer_pool_size up to 50 - 80 %
66 | # of RAM but beware of setting memory usage too high
67 | #innodb_buffer_pool_size = 384M
68 | #innodb_additional_mem_pool_size = 20M
69 | # Set .._log_file_size to 25 % of buffer pool size
70 | innodb_log_file_size = 100M
71 | #innodb_log_buffer_size = 8M
72 | innodb_flush_log_at_trx_commit = 0
73 | #innodb_lock_wait_timeout = 50
74 | innodb_buffer_pool_size = 384M
75 | innodb_log_buffer_size = 4M
76 | innodb_file_per_table = 1
77 | innodb_open_files = 256
78 | innodb_io_capacity = 512
79 | innodb_flush_method = O_DIRECT
80 | innodb_thread_concurrency = 8
81 | innodb_lock_wait_timeout = 127
82 | #
83 | # * Security Features
84 | #
85 | # Read the manual, too, if you want chroot!
86 | # chroot = /var/lib/mysql/
87 | #
88 | # For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
89 | #
90 | # ssl-ca=/etc/mysql/cacert.pem
91 | # ssl-cert=/etc/mysql/server-cert.pem
92 | # ssl-key=/etc/mysql/server-key.pem
93 |
94 | [mysqldump]
95 | quick
96 | quote-names
97 | max_allowed_packet = 32M
98 |
99 | [mysql]
100 | #no-auto-rehash # faster start of mysql but no tab completion
101 |
102 | [isamchk]
103 | key_buffer_size = 384M
104 | sort_buffer_size = 256M
105 | read_buffer = 2M
106 | write_buffer = 2M
107 |
--------------------------------------------------------------------------------
/config/drupal8/mysql8.cnf:
--------------------------------------------------------------------------------
1 | #
2 | # The MySQL database server configuration file for Lando
3 | #
4 | # LANDODRUPALMYSQL8CNF
5 |
6 | [mysqld]
7 | #
8 | # * Basic Settings
9 | #
10 | # Data is stored in a volume on the db container /sql
11 | default-storage-engine = innodb
12 |
13 | #
14 | # * Fine Tuning
15 | #
16 | key_buffer_size = 384M
17 | max_allowed_packet = 32M
18 | thread_stack = 400K
19 | thread_cache_size = 8
20 | # This replaces the startup script and checks MyISAM tables if needed
21 | # the first time they are touched
22 | #max_connections = 100
23 | #table_cache = 64
24 | #thread_concurrency = 10
25 | read_rnd_buffer_size = 8M
26 | myisam_sort_buffer_size = 64M
27 | table_open_cache = 512
28 | sort_buffer_size = 2M
29 | read_buffer_size = 2M
30 |
31 | #
32 | # * Logging and Replication
33 | #
34 | # Both location gets rotated by the cronjob.
35 | # Be aware that this log type is a performance killer.
36 | # As of 5.1 you can enable the log at runtime!
37 | #general_log_file = /src/.lando/log/mysql.log
38 | #general_log = 1
39 | #
40 | # Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
41 | #
42 | # Here you can see queries with especially long duration
43 | #log_slow_queries = /var/log/mysql/mysql-slow.log
44 | #long_query_time = 2
45 | #log-queries-not-using-indexes
46 | #
47 | # The following can be used as easy to replay backup logs or for replication.
48 | # note: if you are setting up a replication slave, see README.Debian about
49 | # other settings you may need to change.
50 | #server-id = 1
51 | #log_bin = /src/.lando/log/mysql-bin.log
52 | expire_logs_days = 10
53 | max_binlog_size = 101M
54 | #binlog_do_db = include_database_name
55 | #binlog_ignore_db = include_database_name
56 | #
57 | # * InnoDB
58 | #
59 | # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
60 | # Read the manual for more InnoDB related options. There are many!
61 | #
62 | # Uncomment the following if you are using InnoDB tables
63 | #innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
64 | #innodb_log_group_home_dir = C:\mysql\data/
65 | # You can set .._buffer_pool_size up to 50 - 80 %
66 | # of RAM but beware of setting memory usage too high
67 | #innodb_buffer_pool_size = 384M
68 | #innodb_additional_mem_pool_size = 20M
69 | # Set .._log_file_size to 25 % of buffer pool size
70 | innodb_log_file_size = 100M
71 | #innodb_log_buffer_size = 8M
72 | innodb_flush_log_at_trx_commit = 0
73 | #innodb_lock_wait_timeout = 50
74 | innodb_buffer_pool_size = 384M
75 | innodb_log_buffer_size = 4M
76 | innodb_file_per_table = 1
77 | innodb_open_files = 256
78 | innodb_io_capacity = 512
79 | innodb_flush_method = O_DIRECT
80 | innodb_thread_concurrency = 8
81 | innodb_lock_wait_timeout = 127
82 | #
83 | # * Security Features
84 | #
85 | # Read the manual, too, if you want chroot!
86 | # chroot = /var/lib/mysql/
87 | #
88 | # For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
89 | #
90 | # ssl-ca=/etc/mysql/cacert.pem
91 | # ssl-cert=/etc/mysql/server-cert.pem
92 | # ssl-key=/etc/mysql/server-key.pem
93 |
94 | [mysqldump]
95 | quick
96 | quote-names
97 | max_allowed_packet = 32M
98 |
99 | [mysql]
100 | #no-auto-rehash # faster start of mysql but no tab completion
101 |
102 | [isamchk]
103 | key_buffer_size = 384M
104 | sort_buffer_size = 256M
105 | read_buffer = 2M
106 | write_buffer = 2M
107 |
--------------------------------------------------------------------------------
/config/drupal9/mysql8.cnf:
--------------------------------------------------------------------------------
1 | #
2 | # The MySQL database server configuration file for Lando
3 | #
4 | # LANDODRUPALMYSQL8CNF
5 |
6 | [mysqld]
7 | #
8 | # * Basic Settings
9 | #
10 | # Data is stored in a volume on the db container /sql
11 | default-storage-engine = innodb
12 |
13 | #
14 | # * Fine Tuning
15 | #
16 | key_buffer_size = 384M
17 | max_allowed_packet = 32M
18 | thread_stack = 400K
19 | thread_cache_size = 8
20 | # This replaces the startup script and checks MyISAM tables if needed
21 | # the first time they are touched
22 | #max_connections = 100
23 | #table_cache = 64
24 | #thread_concurrency = 10
25 | read_rnd_buffer_size = 8M
26 | myisam_sort_buffer_size = 64M
27 | table_open_cache = 512
28 | sort_buffer_size = 2M
29 | read_buffer_size = 2M
30 |
31 | #
32 | # * Logging and Replication
33 | #
34 | # Both location gets rotated by the cronjob.
35 | # Be aware that this log type is a performance killer.
36 | # As of 5.1 you can enable the log at runtime!
37 | #general_log_file = /src/.lando/log/mysql.log
38 | #general_log = 1
39 | #
40 | # Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
41 | #
42 | # Here you can see queries with especially long duration
43 | #log_slow_queries = /var/log/mysql/mysql-slow.log
44 | #long_query_time = 2
45 | #log-queries-not-using-indexes
46 | #
47 | # The following can be used as easy to replay backup logs or for replication.
48 | # note: if you are setting up a replication slave, see README.Debian about
49 | # other settings you may need to change.
50 | #server-id = 1
51 | #log_bin = /src/.lando/log/mysql-bin.log
52 | expire_logs_days = 10
53 | max_binlog_size = 101M
54 | #binlog_do_db = include_database_name
55 | #binlog_ignore_db = include_database_name
56 | #
57 | # * InnoDB
58 | #
59 | # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
60 | # Read the manual for more InnoDB related options. There are many!
61 | #
62 | # Uncomment the following if you are using InnoDB tables
63 | #innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
64 | #innodb_log_group_home_dir = C:\mysql\data/
65 | # You can set .._buffer_pool_size up to 50 - 80 %
66 | # of RAM but beware of setting memory usage too high
67 | #innodb_buffer_pool_size = 384M
68 | #innodb_additional_mem_pool_size = 20M
69 | # Set .._log_file_size to 25 % of buffer pool size
70 | innodb_log_file_size = 100M
71 | #innodb_log_buffer_size = 8M
72 | innodb_flush_log_at_trx_commit = 0
73 | #innodb_lock_wait_timeout = 50
74 | innodb_buffer_pool_size = 384M
75 | innodb_log_buffer_size = 4M
76 | innodb_file_per_table = 1
77 | innodb_open_files = 256
78 | innodb_io_capacity = 512
79 | innodb_flush_method = O_DIRECT
80 | innodb_thread_concurrency = 8
81 | innodb_lock_wait_timeout = 127
82 | #
83 | # * Security Features
84 | #
85 | # Read the manual, too, if you want chroot!
86 | # chroot = /var/lib/mysql/
87 | #
88 | # For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
89 | #
90 | # ssl-ca=/etc/mysql/cacert.pem
91 | # ssl-cert=/etc/mysql/server-cert.pem
92 | # ssl-key=/etc/mysql/server-key.pem
93 |
94 | [mysqldump]
95 | quick
96 | quote-names
97 | max_allowed_packet = 32M
98 |
99 | [mysql]
100 | #no-auto-rehash # faster start of mysql but no tab completion
101 |
102 | [isamchk]
103 | key_buffer_size = 384M
104 | sort_buffer_size = 256M
105 | read_buffer = 2M
106 | write_buffer = 2M
107 |
--------------------------------------------------------------------------------
/config/drupal10/mysql8.cnf:
--------------------------------------------------------------------------------
1 | #
2 | # The MySQL database server configuration file for Lando
3 | #
4 | # LANDODRUPALMYSQL8CNF
5 |
6 | [mysqld]
7 | #
8 | # * Basic Settings
9 | #
10 | # Data is stored in a volume on the db container /sql
11 | default-storage-engine = innodb
12 |
13 | #
14 | # * Fine Tuning
15 | #
16 | key_buffer_size = 384M
17 | max_allowed_packet = 32M
18 | thread_stack = 400K
19 | thread_cache_size = 8
20 | # This replaces the startup script and checks MyISAM tables if needed
21 | # the first time they are touched
22 | #max_connections = 100
23 | #table_cache = 64
24 | #thread_concurrency = 10
25 | read_rnd_buffer_size = 8M
26 | myisam_sort_buffer_size = 64M
27 | table_open_cache = 512
28 | sort_buffer_size = 2M
29 | read_buffer_size = 2M
30 |
31 | #
32 | # * Logging and Replication
33 | #
34 | # Both location gets rotated by the cronjob.
35 | # Be aware that this log type is a performance killer.
36 | # As of 5.1 you can enable the log at runtime!
37 | #general_log_file = /src/.lando/log/mysql.log
38 | #general_log = 1
39 | #
40 | # Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
41 | #
42 | # Here you can see queries with especially long duration
43 | #log_slow_queries = /var/log/mysql/mysql-slow.log
44 | #long_query_time = 2
45 | #log-queries-not-using-indexes
46 | #
47 | # The following can be used as easy to replay backup logs or for replication.
48 | # note: if you are setting up a replication slave, see README.Debian about
49 | # other settings you may need to change.
50 | #server-id = 1
51 | #log_bin = /src/.lando/log/mysql-bin.log
52 | expire_logs_days = 10
53 | max_binlog_size = 101M
54 | #binlog_do_db = include_database_name
55 | #binlog_ignore_db = include_database_name
56 | #
57 | # * InnoDB
58 | #
59 | # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
60 | # Read the manual for more InnoDB related options. There are many!
61 | #
62 | # Uncomment the following if you are using InnoDB tables
63 | #innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
64 | #innodb_log_group_home_dir = C:\mysql\data/
65 | # You can set .._buffer_pool_size up to 50 - 80 %
66 | # of RAM but beware of setting memory usage too high
67 | #innodb_buffer_pool_size = 384M
68 | #innodb_additional_mem_pool_size = 20M
69 | # Set .._log_file_size to 25 % of buffer pool size
70 | innodb_log_file_size = 100M
71 | #innodb_log_buffer_size = 8M
72 | innodb_flush_log_at_trx_commit = 0
73 | #innodb_lock_wait_timeout = 50
74 | innodb_buffer_pool_size = 384M
75 | innodb_log_buffer_size = 4M
76 | innodb_file_per_table = 1
77 | innodb_open_files = 256
78 | innodb_io_capacity = 512
79 | innodb_flush_method = O_DIRECT
80 | innodb_thread_concurrency = 8
81 | innodb_lock_wait_timeout = 127
82 | #
83 | # * Security Features
84 | #
85 | # Read the manual, too, if you want chroot!
86 | # chroot = /var/lib/mysql/
87 | #
88 | # For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
89 | #
90 | # ssl-ca=/etc/mysql/cacert.pem
91 | # ssl-cert=/etc/mysql/server-cert.pem
92 | # ssl-key=/etc/mysql/server-key.pem
93 |
94 | [mysqldump]
95 | quick
96 | quote-names
97 | max_allowed_packet = 32M
98 |
99 | [mysql]
100 | #no-auto-rehash # faster start of mysql but no tab completion
101 |
102 | [isamchk]
103 | key_buffer_size = 384M
104 | sort_buffer_size = 256M
105 | read_buffer = 2M
106 | write_buffer = 2M
107 |
--------------------------------------------------------------------------------
/examples/drupal-export/mysql-test.sql:
--------------------------------------------------------------------------------
1 | -- MySQL dump 10.15 Distrib 10.0.23-MariaDB, for Linux (x86_64)
2 | --
3 | -- Host: 35.188.169.91 Database: db
4 | -- ------------------------------------------------------
5 | -- Server version 10.0.23-MariaDB-log
6 |
7 | /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
8 | /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
9 | /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
10 | /*!40101 SET NAMES utf8mb4 */;
11 | /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
12 | /*!40103 SET TIME_ZONE='+00:00' */;
13 | /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
14 | /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
15 | /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
16 | /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
17 |
18 | --
19 | -- Table structure for table `users`
20 | --
21 |
22 | DROP TABLE IF EXISTS `users`;
23 | /*!40101 SET @saved_cs_client = @@character_set_client */;
24 | /*!40101 SET character_set_client = utf8 */;
25 | CREATE TABLE `users` (
26 | `uid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Primary Key: Unique user ID.',
27 | `name` varchar(60) NOT NULL DEFAULT '' COMMENT 'Unique user name.',
28 | `pass` varchar(128) NOT NULL DEFAULT '' COMMENT 'User’s password (hashed).',
29 | `mail` varchar(254) DEFAULT '' COMMENT 'User’s e-mail address.',
30 | `theme` varchar(255) NOT NULL DEFAULT '' COMMENT 'User’s default theme.',
31 | `signature` varchar(255) NOT NULL DEFAULT '' COMMENT 'User’s signature.',
32 | `signature_format` varchar(255) DEFAULT NULL COMMENT 'The filter_format.format of the signature.',
33 | `created` int(11) NOT NULL DEFAULT '0' COMMENT 'Timestamp for when user was created.',
34 | `access` int(11) NOT NULL DEFAULT '0' COMMENT 'Timestamp for previous time user accessed the site.',
35 | `login` int(11) NOT NULL DEFAULT '0' COMMENT 'Timestamp for user’s last login.',
36 | `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'Whether the user is active(1) or blocked(0).',
37 | `timezone` varchar(32) DEFAULT NULL COMMENT 'User’s time zone.',
38 | `language` varchar(12) NOT NULL DEFAULT '' COMMENT 'User’s default language.',
39 | `picture` int(11) NOT NULL DEFAULT '0' COMMENT 'Foreign key: file_managed.fid of user’s picture.',
40 | `init` varchar(254) DEFAULT '' COMMENT 'E-mail address used for initial account creation.',
41 | `data` longblob COMMENT 'A serialized array of name value pairs that are related to the user. Any form values posted during user edit are stored and are loaded into the $user object during user_load(). Use of this field is discouraged and it will likely disappear in a future...',
42 | PRIMARY KEY (`uid`),
43 | UNIQUE KEY `name` (`name`),
44 | KEY `access` (`access`),
45 | KEY `created` (`created`),
46 | KEY `mail` (`mail`),
47 | KEY `picture` (`picture`)
48 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Stores user data.';
49 | /*!40101 SET character_set_client = @saved_cs_client */;
50 |
51 | --
52 | -- Dumping data for table `users`
53 | --
54 |
55 | LOCK TABLES `users` WRITE;
56 | /*!40000 ALTER TABLE `users` DISABLE KEYS */;
57 | INSERT INTO `users` VALUES (0,'','','','','',NULL,0,0,0,0,NULL,'',0,'',NULL),(1,'admin','$S$DIMFPUEvPzoXpUjtKsvg56/8v.49muwz6.2VC1RzbaN138YZD3hN','mike@thinktandem.io','','',NULL,1485742602,1501816349,1501816349,1,'America/Chicago','',0,'mike@thinktandem.io','b:0;');
58 | /*!40000 ALTER TABLE `users` ENABLE KEYS */;
59 | UNLOCK TABLES;
60 |
--------------------------------------------------------------------------------
/examples/drupal-import/mysql-test.sql:
--------------------------------------------------------------------------------
1 | -- MySQL dump 10.15 Distrib 10.0.23-MariaDB, for Linux (x86_64)
2 | --
3 | -- Host: 35.188.169.91 Database: db
4 | -- ------------------------------------------------------
5 | -- Server version 10.0.23-MariaDB-log
6 |
7 | /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
8 | /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
9 | /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
10 | /*!40101 SET NAMES utf8mb4 */;
11 | /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
12 | /*!40103 SET TIME_ZONE='+00:00' */;
13 | /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
14 | /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
15 | /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
16 | /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
17 |
18 | --
19 | -- Table structure for table `users`
20 | --
21 |
22 | DROP TABLE IF EXISTS `users`;
23 | /*!40101 SET @saved_cs_client = @@character_set_client */;
24 | /*!40101 SET character_set_client = utf8 */;
25 | CREATE TABLE `users` (
26 | `uid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Primary Key: Unique user ID.',
27 | `name` varchar(60) NOT NULL DEFAULT '' COMMENT 'Unique user name.',
28 | `pass` varchar(128) NOT NULL DEFAULT '' COMMENT 'User’s password (hashed).',
29 | `mail` varchar(254) DEFAULT '' COMMENT 'User’s e-mail address.',
30 | `theme` varchar(255) NOT NULL DEFAULT '' COMMENT 'User’s default theme.',
31 | `signature` varchar(255) NOT NULL DEFAULT '' COMMENT 'User’s signature.',
32 | `signature_format` varchar(255) DEFAULT NULL COMMENT 'The filter_format.format of the signature.',
33 | `created` int(11) NOT NULL DEFAULT '0' COMMENT 'Timestamp for when user was created.',
34 | `access` int(11) NOT NULL DEFAULT '0' COMMENT 'Timestamp for previous time user accessed the site.',
35 | `login` int(11) NOT NULL DEFAULT '0' COMMENT 'Timestamp for user’s last login.',
36 | `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'Whether the user is active(1) or blocked(0).',
37 | `timezone` varchar(32) DEFAULT NULL COMMENT 'User’s time zone.',
38 | `language` varchar(12) NOT NULL DEFAULT '' COMMENT 'User’s default language.',
39 | `picture` int(11) NOT NULL DEFAULT '0' COMMENT 'Foreign key: file_managed.fid of user’s picture.',
40 | `init` varchar(254) DEFAULT '' COMMENT 'E-mail address used for initial account creation.',
41 | `data` longblob COMMENT 'A serialized array of name value pairs that are related to the user. Any form values posted during user edit are stored and are loaded into the $user object during user_load(). Use of this field is discouraged and it will likely disappear in a future...',
42 | PRIMARY KEY (`uid`),
43 | UNIQUE KEY `name` (`name`),
44 | KEY `access` (`access`),
45 | KEY `created` (`created`),
46 | KEY `mail` (`mail`),
47 | KEY `picture` (`picture`)
48 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Stores user data.';
49 | /*!40101 SET character_set_client = @saved_cs_client */;
50 |
51 | --
52 | -- Dumping data for table `users`
53 | --
54 |
55 | LOCK TABLES `users` WRITE;
56 | /*!40000 ALTER TABLE `users` DISABLE KEYS */;
57 | INSERT INTO `users` VALUES (0,'','','','','',NULL,0,0,0,0,NULL,'',0,'',NULL),(1,'admin','$S$DIMFPUEvPzoXpUjtKsvg56/8v.49muwz6.2VC1RzbaN138YZD3hN','mike@thinktandem.io','','',NULL,1485742602,1501816349,1501816349,1,'America/Chicago','',0,'mike@thinktandem.io','b:0;');
58 | /*!40000 ALTER TABLE `users` ENABLE KEYS */;
59 | UNLOCK TABLES;
60 |
--------------------------------------------------------------------------------
/examples/drupal-import/subdir/test.sql:
--------------------------------------------------------------------------------
1 | -- MySQL dump 10.15 Distrib 10.0.23-MariaDB, for Linux (x86_64)
2 | --
3 | -- Host: 35.188.169.91 Database: db
4 | -- ------------------------------------------------------
5 | -- Server version 10.0.23-MariaDB-log
6 |
7 | /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
8 | /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
9 | /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
10 | /*!40101 SET NAMES utf8mb4 */;
11 | /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
12 | /*!40103 SET TIME_ZONE='+00:00' */;
13 | /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
14 | /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
15 | /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
16 | /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
17 |
18 | --
19 | -- Table structure for table `users`
20 | --
21 |
22 | DROP TABLE IF EXISTS `users`;
23 | /*!40101 SET @saved_cs_client = @@character_set_client */;
24 | /*!40101 SET character_set_client = utf8 */;
25 | CREATE TABLE `users` (
26 | `uid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Primary Key: Unique user ID.',
27 | `name` varchar(60) NOT NULL DEFAULT '' COMMENT 'Unique user name.',
28 | `pass` varchar(128) NOT NULL DEFAULT '' COMMENT 'User’s password (hashed).',
29 | `mail` varchar(254) DEFAULT '' COMMENT 'User’s e-mail address.',
30 | `theme` varchar(255) NOT NULL DEFAULT '' COMMENT 'User’s default theme.',
31 | `signature` varchar(255) NOT NULL DEFAULT '' COMMENT 'User’s signature.',
32 | `signature_format` varchar(255) DEFAULT NULL COMMENT 'The filter_format.format of the signature.',
33 | `created` int(11) NOT NULL DEFAULT '0' COMMENT 'Timestamp for when user was created.',
34 | `access` int(11) NOT NULL DEFAULT '0' COMMENT 'Timestamp for previous time user accessed the site.',
35 | `login` int(11) NOT NULL DEFAULT '0' COMMENT 'Timestamp for user’s last login.',
36 | `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'Whether the user is active(1) or blocked(0).',
37 | `timezone` varchar(32) DEFAULT NULL COMMENT 'User’s time zone.',
38 | `language` varchar(12) NOT NULL DEFAULT '' COMMENT 'User’s default language.',
39 | `picture` int(11) NOT NULL DEFAULT '0' COMMENT 'Foreign key: file_managed.fid of user’s picture.',
40 | `init` varchar(254) DEFAULT '' COMMENT 'E-mail address used for initial account creation.',
41 | `data` longblob COMMENT 'A serialized array of name value pairs that are related to the user. Any form values posted during user edit are stored and are loaded into the $user object during user_load(). Use of this field is discouraged and it will likely disappear in a future...',
42 | PRIMARY KEY (`uid`),
43 | UNIQUE KEY `name` (`name`),
44 | KEY `access` (`access`),
45 | KEY `created` (`created`),
46 | KEY `mail` (`mail`),
47 | KEY `picture` (`picture`)
48 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Stores user data.';
49 | /*!40101 SET character_set_client = @saved_cs_client */;
50 |
51 | --
52 | -- Dumping data for table `users`
53 | --
54 |
55 | LOCK TABLES `users` WRITE;
56 | /*!40000 ALTER TABLE `users` DISABLE KEYS */;
57 | INSERT INTO `users` VALUES (0,'','','','','',NULL,0,0,0,0,NULL,'',0,'',NULL),(1,'admin','$S$DIMFPUEvPzoXpUjtKsvg56/8v.49muwz6.2VC1RzbaN138YZD3hN','mike@thinktandem.io','','',NULL,1485742602,1501816349,1501816349,1,'America/Chicago','',0,'mike@thinktandem.io','b:0;');
58 | /*!40000 ALTER TABLE `users` ENABLE KEYS */;
59 | UNLOCK TABLES;
60 |
--------------------------------------------------------------------------------
/examples/drupal-custom/config/mysql.cnf:
--------------------------------------------------------------------------------
1 | #
2 | # The MySQL database server configuration file for Lando
3 | #
4 |
5 | [mysqld]
6 | #
7 | # * Basic Settings
8 | #
9 | # Data is stored in a volume on the db container /sql
10 | default-storage-engine = innodb
11 |
12 | #
13 | # * Fine Tuning
14 | #
15 | key_buffer_size = 38M
16 | max_allowed_packet = 32M
17 | thread_stack = 400K
18 | thread_cache_size = 12
19 | # This replaces the startup script and checks MyISAM tables if needed
20 | # the first time they are touched
21 | #max_connections = 100
22 | #table_cache = 64
23 | #thread_concurrency = 10
24 | read_rnd_buffer_size = 8M
25 | myisam_sort_buffer_size = 64M
26 | table_open_cache = 512
27 | sort_buffer_size = 2M
28 | read_buffer_size = 2M
29 |
30 | #
31 | # * Query Cache Configuration
32 | #
33 | query_cache_limit = 1M
34 | query_cache_size = 64M
35 | #
36 | # * Logging and Replication
37 | #
38 | # Both location gets rotated by the cronjob.
39 | # Be aware that this log type is a performance killer.
40 | # As of 5.1 you can enable the log at runtime!
41 | #general_log_file = /src/.lando/log/mysql.log
42 | #general_log = 1
43 | #
44 | # Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
45 | #
46 | # Here you can see queries with especially long duration
47 | #log_slow_queries = /var/log/mysql/mysql-slow.log
48 | #long_query_time = 2
49 | #log-queries-not-using-indexes
50 | #
51 | # The following can be used as easy to replay backup logs or for replication.
52 | # note: if you are setting up a replication slave, see README.Debian about
53 | # other settings you may need to change.
54 | #server-id = 1
55 | #log_bin = /src/.lando/log/mysql-bin.log
56 | expire_logs_days = 10
57 | max_binlog_size = 100M
58 | #binlog_do_db = include_database_name
59 | #binlog_ignore_db = include_database_name
60 | #
61 | # * InnoDB
62 | #
63 | # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
64 | # Read the manual for more InnoDB related options. There are many!
65 | #
66 | # Uncomment the following if you are using InnoDB tables
67 | #innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
68 | #innodb_log_group_home_dir = C:\mysql\data/
69 | # You can set .._buffer_pool_size up to 50 - 80 %
70 | # of RAM but beware of setting memory usage too high
71 | #innodb_buffer_pool_size = 384M
72 | #innodb_additional_mem_pool_size = 20M
73 | # Set .._log_file_size to 25 % of buffer pool size
74 | innodb_log_file_size = 100M
75 | #innodb_log_buffer_size = 8M
76 | innodb_flush_log_at_trx_commit = 0
77 | #innodb_lock_wait_timeout = 50
78 | innodb_buffer_pool_size = 384M
79 | innodb_log_buffer_size = 4M
80 | innodb_file_per_table = 1
81 | innodb_open_files = 256
82 | innodb_io_capacity = 512
83 | innodb_flush_method = O_DIRECT
84 | innodb_thread_concurrency = 8
85 | innodb_lock_wait_timeout = 120
86 | #
87 | # * Security Features
88 | #
89 | # Read the manual, too, if you want chroot!
90 | # chroot = /var/lib/mysql/
91 | #
92 | # For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
93 | #
94 | # ssl-ca=/etc/mysql/cacert.pem
95 | # ssl-cert=/etc/mysql/server-cert.pem
96 | # ssl-key=/etc/mysql/server-key.pem
97 |
98 | [mysqldump]
99 | quick
100 | quote-names
101 | max_allowed_packet = 32M
102 |
103 | [mysql]
104 | #no-auto-rehash # faster start of mysql but no tab completion
105 |
106 | [isamchk]
107 | key_buffer_size = 384M
108 | sort_buffer_size = 256M
109 | read_buffer = 2M
110 | write_buffer = 2M
111 |
--------------------------------------------------------------------------------
/config/drupal10/mysql.cnf:
--------------------------------------------------------------------------------
1 | #
2 | # The MySQL database server configuration file for Lando
3 | #
4 | # LANDODRUPALMYSQLCNF
5 |
6 | [mysqld]
7 | #
8 | # * Basic Settings
9 | #
10 | # Data is stored in a volume on the db container /sql
11 | default-storage-engine = innodb
12 |
13 | #
14 | # * Fine Tuning
15 | #
16 | key_buffer_size = 384M
17 | max_allowed_packet = 32M
18 | thread_stack = 400K
19 | thread_cache_size = 8
20 | # This replaces the startup script and checks MyISAM tables if needed
21 | # the first time they are touched
22 | #max_connections = 100
23 | #table_cache = 64
24 | #thread_concurrency = 10
25 | read_rnd_buffer_size = 8M
26 | myisam_sort_buffer_size = 64M
27 | table_open_cache = 512
28 | sort_buffer_size = 2M
29 | read_buffer_size = 2M
30 |
31 | #
32 | # * Query Cache Configuration
33 | #
34 | query_cache_limit = 1M
35 | query_cache_size = 64M
36 | #
37 | # * Logging and Replication
38 | #
39 | # Both location gets rotated by the cronjob.
40 | # Be aware that this log type is a performance killer.
41 | # As of 5.1 you can enable the log at runtime!
42 | #general_log_file = /src/.lando/log/mysql.log
43 | #general_log = 1
44 | #
45 | # Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
46 | #
47 | # Here you can see queries with especially long duration
48 | #log_slow_queries = /var/log/mysql/mysql-slow.log
49 | #long_query_time = 2
50 | #log-queries-not-using-indexes
51 | #
52 | # The following can be used as easy to replay backup logs or for replication.
53 | # note: if you are setting up a replication slave, see README.Debian about
54 | # other settings you may need to change.
55 | #server-id = 1
56 | #log_bin = /src/.lando/log/mysql-bin.log
57 | expire_logs_days = 10
58 | max_binlog_size = 100M
59 | #binlog_do_db = include_database_name
60 | #binlog_ignore_db = include_database_name
61 | #
62 | # * InnoDB
63 | #
64 | # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
65 | # Read the manual for more InnoDB related options. There are many!
66 | #
67 | # Uncomment the following if you are using InnoDB tables
68 | #innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
69 | #innodb_log_group_home_dir = C:\mysql\data/
70 | # You can set .._buffer_pool_size up to 50 - 80 %
71 | # of RAM but beware of setting memory usage too high
72 | #innodb_buffer_pool_size = 384M
73 | #innodb_additional_mem_pool_size = 20M
74 | # Set .._log_file_size to 25 % of buffer pool size
75 | innodb_log_file_size = 101M
76 | #innodb_log_buffer_size = 8M
77 | innodb_flush_log_at_trx_commit = 0
78 | #innodb_lock_wait_timeout = 50
79 | innodb_buffer_pool_size = 384M
80 | innodb_log_buffer_size = 4M
81 | innodb_file_per_table = 1
82 | innodb_open_files = 256
83 | innodb_io_capacity = 512
84 | innodb_flush_method = O_DIRECT
85 | innodb_thread_concurrency = 8
86 | innodb_lock_wait_timeout = 121
87 | #
88 | # * Security Features
89 | #
90 | # Read the manual, too, if you want chroot!
91 | # chroot = /var/lib/mysql/
92 | #
93 | # For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
94 | #
95 | # ssl-ca=/etc/mysql/cacert.pem
96 | # ssl-cert=/etc/mysql/server-cert.pem
97 | # ssl-key=/etc/mysql/server-key.pem
98 |
99 | [mysqldump]
100 | quick
101 | quote-names
102 | max_allowed_packet = 32M
103 |
104 | [mysql]
105 | #no-auto-rehash # faster start of mysql but no tab completion
106 |
107 | [isamchk]
108 | key_buffer_size = 384M
109 | sort_buffer_size = 256M
110 | read_buffer = 2M
111 | write_buffer = 2M
112 |
--------------------------------------------------------------------------------
/config/drupal11/mysql.cnf:
--------------------------------------------------------------------------------
1 | #
2 | # The MySQL database server configuration file for Lando
3 | #
4 | # LANDODRUPALMYSQLCNF
5 |
6 | [mysqld]
7 | #
8 | # * Basic Settings
9 | #
10 | # Data is stored in a volume on the db container /sql
11 | default-storage-engine = innodb
12 |
13 | #
14 | # * Fine Tuning
15 | #
16 | key_buffer_size = 384M
17 | max_allowed_packet = 32M
18 | thread_stack = 400K
19 | thread_cache_size = 8
20 | # This replaces the startup script and checks MyISAM tables if needed
21 | # the first time they are touched
22 | #max_connections = 100
23 | #table_cache = 64
24 | #thread_concurrency = 10
25 | read_rnd_buffer_size = 8M
26 | myisam_sort_buffer_size = 64M
27 | table_open_cache = 512
28 | sort_buffer_size = 2M
29 | read_buffer_size = 2M
30 |
31 | #
32 | # * Query Cache Configuration
33 | #
34 | query_cache_limit = 1M
35 | query_cache_size = 64M
36 | #
37 | # * Logging and Replication
38 | #
39 | # Both location gets rotated by the cronjob.
40 | # Be aware that this log type is a performance killer.
41 | # As of 5.1 you can enable the log at runtime!
42 | #general_log_file = /src/.lando/log/mysql.log
43 | #general_log = 1
44 | #
45 | # Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
46 | #
47 | # Here you can see queries with especially long duration
48 | #log_slow_queries = /var/log/mysql/mysql-slow.log
49 | #long_query_time = 2
50 | #log-queries-not-using-indexes
51 | #
52 | # The following can be used as easy to replay backup logs or for replication.
53 | # note: if you are setting up a replication slave, see README.Debian about
54 | # other settings you may need to change.
55 | #server-id = 1
56 | #log_bin = /src/.lando/log/mysql-bin.log
57 | expire_logs_days = 10
58 | max_binlog_size = 100M
59 | #binlog_do_db = include_database_name
60 | #binlog_ignore_db = include_database_name
61 | #
62 | # * InnoDB
63 | #
64 | # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
65 | # Read the manual for more InnoDB related options. There are many!
66 | #
67 | # Uncomment the following if you are using InnoDB tables
68 | #innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
69 | #innodb_log_group_home_dir = C:\mysql\data/
70 | # You can set .._buffer_pool_size up to 50 - 80 %
71 | # of RAM but beware of setting memory usage too high
72 | #innodb_buffer_pool_size = 384M
73 | #innodb_additional_mem_pool_size = 20M
74 | # Set .._log_file_size to 25 % of buffer pool size
75 | innodb_log_file_size = 101M
76 | #innodb_log_buffer_size = 8M
77 | innodb_flush_log_at_trx_commit = 0
78 | #innodb_lock_wait_timeout = 50
79 | innodb_buffer_pool_size = 384M
80 | innodb_log_buffer_size = 4M
81 | innodb_file_per_table = 1
82 | innodb_open_files = 256
83 | innodb_io_capacity = 512
84 | innodb_flush_method = O_DIRECT
85 | innodb_thread_concurrency = 8
86 | innodb_lock_wait_timeout = 121
87 | #
88 | # * Security Features
89 | #
90 | # Read the manual, too, if you want chroot!
91 | # chroot = /var/lib/mysql/
92 | #
93 | # For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
94 | #
95 | # ssl-ca=/etc/mysql/cacert.pem
96 | # ssl-cert=/etc/mysql/server-cert.pem
97 | # ssl-key=/etc/mysql/server-key.pem
98 |
99 | [mysqldump]
100 | quick
101 | quote-names
102 | max_allowed_packet = 32M
103 |
104 | [mysql]
105 | #no-auto-rehash # faster start of mysql but no tab completion
106 |
107 | [isamchk]
108 | key_buffer_size = 384M
109 | sort_buffer_size = 256M
110 | read_buffer = 2M
111 | write_buffer = 2M
112 |
--------------------------------------------------------------------------------
/config/drupal6/mysql.cnf:
--------------------------------------------------------------------------------
1 | #
2 | # The MySQL database server configuration file for Lando
3 | #
4 | # LANDODRUPALMYSQLCNF
5 |
6 | [mysqld]
7 | #
8 | # * Basic Settings
9 | #
10 | # Data is stored in a volume on the db container /sql
11 | # default-storage-engine = innodb
12 |
13 | #
14 | # * Fine Tuning
15 | #
16 | key_buffer_size = 384M
17 | max_allowed_packet = 32M
18 | thread_stack = 400K
19 | thread_cache_size = 8
20 | # This replaces the startup script and checks MyISAM tables if needed
21 | # the first time they are touched
22 | #max_connections = 100
23 | #table_cache = 64
24 | #thread_concurrency = 10
25 | read_rnd_buffer_size = 8M
26 | myisam_sort_buffer_size = 64M
27 | table_open_cache = 512
28 | sort_buffer_size = 2M
29 | read_buffer_size = 2M
30 |
31 | #
32 | # * Query Cache Configuration
33 | #
34 | query_cache_limit = 1M
35 | query_cache_size = 64M
36 | #
37 | # * Logging and Replication
38 | #
39 | # Both location gets rotated by the cronjob.
40 | # Be aware that this log type is a performance killer.
41 | # As of 5.1 you can enable the log at runtime!
42 | #general_log_file = /src/.lando/log/mysql.log
43 | #general_log = 1
44 | #
45 | # Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
46 | #
47 | # Here you can see queries with especially long duration
48 | #log_slow_queries = /var/log/mysql/mysql-slow.log
49 | #long_query_time = 2
50 | #log-queries-not-using-indexes
51 | #
52 | # The following can be used as easy to replay backup logs or for replication.
53 | # note: if you are setting up a replication slave, see README.Debian about
54 | # other settings you may need to change.
55 | #server-id = 1
56 | #log_bin = /src/.lando/log/mysql-bin.log
57 | expire_logs_days = 10
58 | max_binlog_size = 100M
59 | #binlog_do_db = include_database_name
60 | #binlog_ignore_db = include_database_name
61 | #
62 | # * InnoDB
63 | #
64 | # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
65 | # Read the manual for more InnoDB related options. There are many!
66 | #
67 | # Uncomment the following if you are using InnoDB tables
68 | #innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
69 | #innodb_log_group_home_dir = C:\mysql\data/
70 | # You can set .._buffer_pool_size up to 50 - 80 %
71 | # of RAM but beware of setting memory usage too high
72 | #innodb_buffer_pool_size = 384M
73 | #innodb_additional_mem_pool_size = 20M
74 | # Set .._log_file_size to 25 % of buffer pool size
75 | innodb_log_file_size = 101M
76 | #innodb_log_buffer_size = 8M
77 | innodb_flush_log_at_trx_commit = 0
78 | #innodb_lock_wait_timeout = 50
79 | innodb_buffer_pool_size = 384M
80 | innodb_log_buffer_size = 4M
81 | innodb_file_per_table = 1
82 | innodb_open_files = 256
83 | innodb_io_capacity = 512
84 | innodb_flush_method = O_DIRECT
85 | innodb_thread_concurrency = 8
86 | innodb_lock_wait_timeout = 121
87 | #
88 | # * Security Features
89 | #
90 | # Read the manual, too, if you want chroot!
91 | # chroot = /var/lib/mysql/
92 | #
93 | # For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
94 | #
95 | # ssl-ca=/etc/mysql/cacert.pem
96 | # ssl-cert=/etc/mysql/server-cert.pem
97 | # ssl-key=/etc/mysql/server-key.pem
98 |
99 | [mysqldump]
100 | quick
101 | quote-names
102 | max_allowed_packet = 32M
103 |
104 | [mysql]
105 | #no-auto-rehash # faster start of mysql but no tab completion
106 |
107 | [isamchk]
108 | key_buffer_size = 384M
109 | sort_buffer_size = 256M
110 | read_buffer = 2M
111 | write_buffer = 2M
112 |
--------------------------------------------------------------------------------
/config/drupal7/mysql.cnf:
--------------------------------------------------------------------------------
1 | #
2 | # The MySQL database server configuration file for Lando
3 | #
4 | # LANDODRUPALMYSQLCNF
5 |
6 | [mysqld]
7 | #
8 | # * Basic Settings
9 | #
10 | # Data is stored in a volume on the db container /sql
11 | # default-storage-engine = innodb
12 |
13 | #
14 | # * Fine Tuning
15 | #
16 | key_buffer_size = 384M
17 | max_allowed_packet = 32M
18 | thread_stack = 400K
19 | thread_cache_size = 8
20 | # This replaces the startup script and checks MyISAM tables if needed
21 | # the first time they are touched
22 | #max_connections = 100
23 | #table_cache = 64
24 | #thread_concurrency = 10
25 | read_rnd_buffer_size = 8M
26 | myisam_sort_buffer_size = 64M
27 | table_open_cache = 512
28 | sort_buffer_size = 2M
29 | read_buffer_size = 2M
30 |
31 | #
32 | # * Query Cache Configuration
33 | #
34 | query_cache_limit = 1M
35 | query_cache_size = 64M
36 | #
37 | # * Logging and Replication
38 | #
39 | # Both location gets rotated by the cronjob.
40 | # Be aware that this log type is a performance killer.
41 | # As of 5.1 you can enable the log at runtime!
42 | #general_log_file = /src/.lando/log/mysql.log
43 | #general_log = 1
44 | #
45 | # Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
46 | #
47 | # Here you can see queries with especially long duration
48 | #log_slow_queries = /var/log/mysql/mysql-slow.log
49 | #long_query_time = 2
50 | #log-queries-not-using-indexes
51 | #
52 | # The following can be used as easy to replay backup logs or for replication.
53 | # note: if you are setting up a replication slave, see README.Debian about
54 | # other settings you may need to change.
55 | #server-id = 1
56 | #log_bin = /src/.lando/log/mysql-bin.log
57 | expire_logs_days = 10
58 | max_binlog_size = 100M
59 | #binlog_do_db = include_database_name
60 | #binlog_ignore_db = include_database_name
61 | #
62 | # * InnoDB
63 | #
64 | # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
65 | # Read the manual for more InnoDB related options. There are many!
66 | #
67 | # Uncomment the following if you are using InnoDB tables
68 | #innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
69 | #innodb_log_group_home_dir = C:\mysql\data/
70 | # You can set .._buffer_pool_size up to 50 - 80 %
71 | # of RAM but beware of setting memory usage too high
72 | #innodb_buffer_pool_size = 384M
73 | #innodb_additional_mem_pool_size = 20M
74 | # Set .._log_file_size to 25 % of buffer pool size
75 | innodb_log_file_size = 101M
76 | #innodb_log_buffer_size = 8M
77 | innodb_flush_log_at_trx_commit = 0
78 | #innodb_lock_wait_timeout = 50
79 | innodb_buffer_pool_size = 384M
80 | innodb_log_buffer_size = 4M
81 | innodb_file_per_table = 1
82 | innodb_open_files = 256
83 | innodb_io_capacity = 512
84 | innodb_flush_method = O_DIRECT
85 | innodb_thread_concurrency = 8
86 | innodb_lock_wait_timeout = 121
87 | #
88 | # * Security Features
89 | #
90 | # Read the manual, too, if you want chroot!
91 | # chroot = /var/lib/mysql/
92 | #
93 | # For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
94 | #
95 | # ssl-ca=/etc/mysql/cacert.pem
96 | # ssl-cert=/etc/mysql/server-cert.pem
97 | # ssl-key=/etc/mysql/server-key.pem
98 |
99 | [mysqldump]
100 | quick
101 | quote-names
102 | max_allowed_packet = 32M
103 |
104 | [mysql]
105 | #no-auto-rehash # faster start of mysql but no tab completion
106 |
107 | [isamchk]
108 | key_buffer_size = 384M
109 | sort_buffer_size = 256M
110 | read_buffer = 2M
111 | write_buffer = 2M
112 |
--------------------------------------------------------------------------------
/config/drupal8/mysql.cnf:
--------------------------------------------------------------------------------
1 | #
2 | # The MySQL database server configuration file for Lando
3 | #
4 | # LANDODRUPALMYSQLCNF
5 |
6 | [mysqld]
7 | #
8 | # * Basic Settings
9 | #
10 | # Data is stored in a volume on the db container /sql
11 | # default-storage-engine = innodb
12 |
13 | #
14 | # * Fine Tuning
15 | #
16 | key_buffer_size = 384M
17 | max_allowed_packet = 32M
18 | thread_stack = 400K
19 | thread_cache_size = 8
20 | # This replaces the startup script and checks MyISAM tables if needed
21 | # the first time they are touched
22 | #max_connections = 100
23 | #table_cache = 64
24 | #thread_concurrency = 10
25 | read_rnd_buffer_size = 8M
26 | myisam_sort_buffer_size = 64M
27 | table_open_cache = 512
28 | sort_buffer_size = 2M
29 | read_buffer_size = 2M
30 |
31 | #
32 | # * Query Cache Configuration
33 | #
34 | query_cache_limit = 1M
35 | query_cache_size = 64M
36 | #
37 | # * Logging and Replication
38 | #
39 | # Both location gets rotated by the cronjob.
40 | # Be aware that this log type is a performance killer.
41 | # As of 5.1 you can enable the log at runtime!
42 | #general_log_file = /src/.lando/log/mysql.log
43 | #general_log = 1
44 | #
45 | # Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
46 | #
47 | # Here you can see queries with especially long duration
48 | #log_slow_queries = /var/log/mysql/mysql-slow.log
49 | #long_query_time = 2
50 | #log-queries-not-using-indexes
51 | #
52 | # The following can be used as easy to replay backup logs or for replication.
53 | # note: if you are setting up a replication slave, see README.Debian about
54 | # other settings you may need to change.
55 | #server-id = 1
56 | #log_bin = /src/.lando/log/mysql-bin.log
57 | expire_logs_days = 10
58 | max_binlog_size = 100M
59 | #binlog_do_db = include_database_name
60 | #binlog_ignore_db = include_database_name
61 | #
62 | # * InnoDB
63 | #
64 | # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
65 | # Read the manual for more InnoDB related options. There are many!
66 | #
67 | # Uncomment the following if you are using InnoDB tables
68 | #innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
69 | #innodb_log_group_home_dir = C:\mysql\data/
70 | # You can set .._buffer_pool_size up to 50 - 80 %
71 | # of RAM but beware of setting memory usage too high
72 | #innodb_buffer_pool_size = 384M
73 | #innodb_additional_mem_pool_size = 20M
74 | # Set .._log_file_size to 25 % of buffer pool size
75 | innodb_log_file_size = 101M
76 | #innodb_log_buffer_size = 8M
77 | innodb_flush_log_at_trx_commit = 0
78 | #innodb_lock_wait_timeout = 50
79 | innodb_buffer_pool_size = 384M
80 | innodb_log_buffer_size = 4M
81 | innodb_file_per_table = 1
82 | innodb_open_files = 256
83 | innodb_io_capacity = 512
84 | innodb_flush_method = O_DIRECT
85 | innodb_thread_concurrency = 8
86 | innodb_lock_wait_timeout = 121
87 | #
88 | # * Security Features
89 | #
90 | # Read the manual, too, if you want chroot!
91 | # chroot = /var/lib/mysql/
92 | #
93 | # For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
94 | #
95 | # ssl-ca=/etc/mysql/cacert.pem
96 | # ssl-cert=/etc/mysql/server-cert.pem
97 | # ssl-key=/etc/mysql/server-key.pem
98 |
99 | [mysqldump]
100 | quick
101 | quote-names
102 | max_allowed_packet = 32M
103 |
104 | [mysql]
105 | #no-auto-rehash # faster start of mysql but no tab completion
106 |
107 | [isamchk]
108 | key_buffer_size = 384M
109 | sort_buffer_size = 256M
110 | read_buffer = 2M
111 | write_buffer = 2M
112 |
--------------------------------------------------------------------------------
/config/drupal9/mysql.cnf:
--------------------------------------------------------------------------------
1 | #
2 | # The MySQL database server configuration file for Lando
3 | #
4 | # LANDODRUPALMYSQLCNF
5 |
6 | [mysqld]
7 | #
8 | # * Basic Settings
9 | #
10 | # Data is stored in a volume on the db container /sql
11 | default-storage-engine = innodb
12 |
13 | #
14 | # * Fine Tuning
15 | #
16 | key_buffer_size = 384M
17 | max_allowed_packet = 32M
18 | thread_stack = 400K
19 | thread_cache_size = 8
20 | # This replaces the startup script and checks MyISAM tables if needed
21 | # the first time they are touched
22 | #max_connections = 100
23 | #table_cache = 64
24 | #thread_concurrency = 10
25 | read_rnd_buffer_size = 8M
26 | myisam_sort_buffer_size = 64M
27 | table_open_cache = 512
28 | sort_buffer_size = 2M
29 | read_buffer_size = 2M
30 |
31 | #
32 | # * Query Cache Configuration
33 | #
34 | query_cache_limit = 1M
35 | query_cache_size = 64M
36 | #
37 | # * Logging and Replication
38 | #
39 | # Both location gets rotated by the cronjob.
40 | # Be aware that this log type is a performance killer.
41 | # As of 5.1 you can enable the log at runtime!
42 | #general_log_file = /src/.lando/log/mysql.log
43 | #general_log = 1
44 | #
45 | # Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
46 | #
47 | # Here you can see queries with especially long duration
48 | #log_slow_queries = /var/log/mysql/mysql-slow.log
49 | #long_query_time = 2
50 | #log-queries-not-using-indexes
51 | #
52 | # The following can be used as easy to replay backup logs or for replication.
53 | # note: if you are setting up a replication slave, see README.Debian about
54 | # other settings you may need to change.
55 | #server-id = 1
56 | #log_bin = /src/.lando/log/mysql-bin.log
57 | expire_logs_days = 10
58 | max_binlog_size = 100M
59 | #binlog_do_db = include_database_name
60 | #binlog_ignore_db = include_database_name
61 | #
62 | # * InnoDB
63 | #
64 | # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
65 | # Read the manual for more InnoDB related options. There are many!
66 | #
67 | # Uncomment the following if you are using InnoDB tables
68 | #innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
69 | #innodb_log_group_home_dir = C:\mysql\data/
70 | # You can set .._buffer_pool_size up to 50 - 80 %
71 | # of RAM but beware of setting memory usage too high
72 | #innodb_buffer_pool_size = 384M
73 | #innodb_additional_mem_pool_size = 20M
74 | # Set .._log_file_size to 25 % of buffer pool size
75 | innodb_log_file_size = 101M
76 | #innodb_log_buffer_size = 8M
77 | innodb_flush_log_at_trx_commit = 0
78 | #innodb_lock_wait_timeout = 50
79 | innodb_buffer_pool_size = 384M
80 | innodb_log_buffer_size = 4M
81 | innodb_file_per_table = 1
82 | innodb_open_files = 256
83 | innodb_io_capacity = 512
84 | innodb_flush_method = O_DIRECT
85 | innodb_thread_concurrency = 8
86 | innodb_lock_wait_timeout = 121
87 | #
88 | # * Security Features
89 | #
90 | # Read the manual, too, if you want chroot!
91 | # chroot = /var/lib/mysql/
92 | #
93 | # For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
94 | #
95 | # ssl-ca=/etc/mysql/cacert.pem
96 | # ssl-cert=/etc/mysql/server-cert.pem
97 | # ssl-key=/etc/mysql/server-key.pem
98 |
99 | [mysqldump]
100 | quick
101 | quote-names
102 | max_allowed_packet = 32M
103 |
104 | [mysql]
105 | #no-auto-rehash # faster start of mysql but no tab completion
106 |
107 | [isamchk]
108 | key_buffer_size = 384M
109 | sort_buffer_size = 256M
110 | read_buffer = 2M
111 | write_buffer = 2M
112 |
--------------------------------------------------------------------------------
/config/drupal6/default.conf.tpl:
--------------------------------------------------------------------------------
1 | # LANDODRUPALNGINXCONF
2 |
3 | server {
4 | listen 80 default_server;
5 | listen 443 ssl;
6 |
7 | server_name localhost;
8 |
9 | ssl_certificate /certs/cert.crt;
10 | ssl_certificate_key /certs/cert.key;
11 | ssl_verify_client off;
12 |
13 | ssl_session_cache shared:SSL:1m;
14 | ssl_session_timeout 5m;
15 |
16 | ssl_ciphers HIGH:!aNULL:!MD5;
17 | ssl_prefer_server_ciphers on;
18 |
19 | port_in_redirect off;
20 | client_max_body_size 100M;
21 |
22 | root "{{LANDO_WEBROOT}}";
23 |
24 | location = /favicon.ico {
25 | log_not_found off;
26 | access_log off;
27 | }
28 |
29 | location = /robots.txt {
30 | allow all;
31 | log_not_found off;
32 | access_log off;
33 | }
34 |
35 | # Very rarely should these ever be accessed outside of your lan
36 | location ~* \.(txt|log)$ {
37 | allow 192.168.0.0/16;
38 | deny all;
39 | }
40 |
41 | location ~ \..*/.*\.php$ {
42 | return 403;
43 | }
44 |
45 | location ~ ^/sites/.*/private/ {
46 | return 403;
47 | }
48 |
49 | # Allow "Well-Known URIs" as per RFC 5785
50 | location ~* ^/.well-known/ {
51 | allow all;
52 | }
53 |
54 | # Block access to "hidden" files and directories whose names begin with a
55 | # period. This includes directories used by version control systems such
56 | # as Subversion or Git to store control files.
57 | location ~ (^|/)\. {
58 | return 403;
59 | }
60 |
61 | location / {
62 | # try_files $uri @rewrite; # For Drupal <= 6
63 | try_files $uri /index.php?$query_string; # For Drupal >= 7
64 | }
65 |
66 | location @rewrite {
67 | rewrite ^/(.*)$ /index.php?q=$1;
68 | }
69 |
70 | # Don't allow direct access to PHP files in the vendor directory.
71 | location ~ /vendor/.*\.php$ {
72 | deny all;
73 | return 404;
74 | }
75 |
76 | # In Drupal 8, we must also match new paths where the '.php' appears in
77 | # the middle, such as update.php/selection. The rule we use is strict,
78 | # and only allows this pattern with the update.php front controller.
79 | # This allows legacy path aliases in the form of
80 | # blog/index.php/legacy-path to continue to route to Drupal nodes. If
81 | # you do not have any paths like that, then you might prefer to use a
82 | # laxer rule, such as:
83 | # location ~ \.php(/|$) {
84 | # The laxer rule will continue to work if Drupal uses this new URL
85 | # pattern with front controllers other than update.php in a future
86 | # release.
87 | location ~ '\.php$|^/update.php' {
88 | fastcgi_split_path_info ^(.+?\.php)(|/.*)$;
89 | # Security note: If you're running a version of PHP older than the
90 | # latest 5.3, you should have "cgi.fix_pathinfo = 0;" in php.ini.
91 | # See http://serverfault.com/q/627903/94922 for details.
92 | include fastcgi_params;
93 | # Block httpoxy attacks. See https://httpoxy.org/.
94 | fastcgi_param HTTP_PROXY "";
95 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
96 | fastcgi_param PATH_INFO $fastcgi_path_info;
97 | fastcgi_param QUERY_STRING $query_string;
98 | fastcgi_intercept_errors on;
99 | # PHP 5 socket location.
100 | #fastcgi_pass unix:/var/run/php5-fpm.sock;
101 | # PHP 7 socket location.
102 | #fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
103 | #lando
104 | fastcgi_pass fpm:9000;
105 | }
106 |
107 | # Fighting with Styles? This little gem is amazing.
108 | # location ~ ^/sites/.*/files/imagecache/ { # For Drupal <= 6
109 | location ~ ^(/[a-z\-]+)?/sites/.*/files/styles/ { # For Drupal >= 7
110 | try_files $uri @rewrite;
111 | }
112 |
113 | # Handle private files through Drupal. Private file's path can come
114 | # with a language prefix.
115 | location ~ ^(/[a-z\-]+)?/system/files/ { # For Drupal >= 7
116 | try_files $uri /index.php?$query_string;
117 | }
118 |
119 | location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
120 | expires max;
121 | log_not_found off;
122 | }
123 |
124 | }
125 |
--------------------------------------------------------------------------------
/config/drupal7/default.conf.tpl:
--------------------------------------------------------------------------------
1 | # LANDODRUPALNGINXCONF
2 |
3 | server {
4 | listen 80 default_server;
5 | listen 443 ssl;
6 |
7 | server_name localhost;
8 |
9 | ssl_certificate /certs/cert.crt;
10 | ssl_certificate_key /certs/cert.key;
11 | ssl_verify_client off;
12 |
13 | ssl_session_cache shared:SSL:1m;
14 | ssl_session_timeout 5m;
15 |
16 | ssl_ciphers HIGH:!aNULL:!MD5;
17 | ssl_prefer_server_ciphers on;
18 |
19 | port_in_redirect off;
20 | client_max_body_size 100M;
21 |
22 | root "{{LANDO_WEBROOT}}";
23 |
24 | location = /favicon.ico {
25 | log_not_found off;
26 | access_log off;
27 | }
28 |
29 | location = /robots.txt {
30 | allow all;
31 | log_not_found off;
32 | access_log off;
33 | }
34 |
35 | # Very rarely should these ever be accessed outside of your lan
36 | location ~* \.(txt|log)$ {
37 | allow 192.168.0.0/16;
38 | deny all;
39 | }
40 |
41 | location ~ \..*/.*\.php$ {
42 | return 403;
43 | }
44 |
45 | location ~ ^/sites/.*/private/ {
46 | return 403;
47 | }
48 |
49 | # Allow "Well-Known URIs" as per RFC 5785
50 | location ~* ^/.well-known/ {
51 | allow all;
52 | }
53 |
54 | # Block access to "hidden" files and directories whose names begin with a
55 | # period. This includes directories used by version control systems such
56 | # as Subversion or Git to store control files.
57 | location ~ (^|/)\. {
58 | return 403;
59 | }
60 |
61 | location / {
62 | # try_files $uri @rewrite; # For Drupal <= 6
63 | try_files $uri /index.php?$query_string; # For Drupal >= 7
64 | }
65 |
66 | location @rewrite {
67 | rewrite ^/(.*)$ /index.php?q=$1;
68 | }
69 |
70 | # Don't allow direct access to PHP files in the vendor directory.
71 | location ~ /vendor/.*\.php$ {
72 | deny all;
73 | return 404;
74 | }
75 |
76 | # In Drupal 8, we must also match new paths where the '.php' appears in
77 | # the middle, such as update.php/selection. The rule we use is strict,
78 | # and only allows this pattern with the update.php front controller.
79 | # This allows legacy path aliases in the form of
80 | # blog/index.php/legacy-path to continue to route to Drupal nodes. If
81 | # you do not have any paths like that, then you might prefer to use a
82 | # laxer rule, such as:
83 | # location ~ \.php(/|$) {
84 | # The laxer rule will continue to work if Drupal uses this new URL
85 | # pattern with front controllers other than update.php in a future
86 | # release.
87 | location ~ '\.php$|^/update.php' {
88 | fastcgi_split_path_info ^(.+?\.php)(|/.*)$;
89 | # Security note: If you're running a version of PHP older than the
90 | # latest 5.3, you should have "cgi.fix_pathinfo = 0;" in php.ini.
91 | # See http://serverfault.com/q/627903/94922 for details.
92 | include fastcgi_params;
93 | # Block httpoxy attacks. See https://httpoxy.org/.
94 | fastcgi_param HTTP_PROXY "";
95 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
96 | fastcgi_param PATH_INFO $fastcgi_path_info;
97 | fastcgi_param QUERY_STRING $query_string;
98 | fastcgi_intercept_errors on;
99 | # PHP 5 socket location.
100 | #fastcgi_pass unix:/var/run/php5-fpm.sock;
101 | # PHP 7 socket location.
102 | #fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
103 | #lando
104 | fastcgi_pass fpm:9000;
105 | }
106 |
107 | # Fighting with Styles? This little gem is amazing.
108 | # location ~ ^/sites/.*/files/imagecache/ { # For Drupal <= 6
109 | location ~ ^(/[a-z\-]+)?/sites/.*/files/styles/ { # For Drupal >= 7
110 | try_files $uri @rewrite;
111 | }
112 |
113 | # Handle private files through Drupal. Private file's path can come
114 | # with a language prefix.
115 | location ~ ^(/[a-z\-]+)?/system/files/ { # For Drupal >= 7
116 | try_files $uri /index.php?$query_string;
117 | }
118 |
119 | location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
120 | expires max;
121 | log_not_found off;
122 | }
123 |
124 | }
125 |
--------------------------------------------------------------------------------
/config/drupal8/default.conf.tpl:
--------------------------------------------------------------------------------
1 | # LANDODRUPALNGINXCONF
2 |
3 | server {
4 | listen 80 default_server;
5 | listen 443 ssl;
6 |
7 | server_name localhost;
8 |
9 | ssl_certificate /certs/cert.crt;
10 | ssl_certificate_key /certs/cert.key;
11 | ssl_verify_client off;
12 |
13 | ssl_session_cache shared:SSL:1m;
14 | ssl_session_timeout 5m;
15 |
16 | ssl_ciphers HIGH:!aNULL:!MD5;
17 | ssl_prefer_server_ciphers on;
18 |
19 | port_in_redirect off;
20 | client_max_body_size 100M;
21 |
22 | root "{{LANDO_WEBROOT}}";
23 |
24 | location = /favicon.ico {
25 | log_not_found off;
26 | access_log off;
27 | }
28 |
29 | location = /robots.txt {
30 | allow all;
31 | log_not_found off;
32 | access_log off;
33 | }
34 |
35 | # Very rarely should these ever be accessed outside of your lan
36 | location ~* \.(txt|log)$ {
37 | allow 192.168.0.0/16;
38 | deny all;
39 | }
40 |
41 | location ~ \..*/.*\.php$ {
42 | return 403;
43 | }
44 |
45 | location ~ ^/sites/.*/private/ {
46 | return 403;
47 | }
48 |
49 | # Allow "Well-Known URIs" as per RFC 5785
50 | location ~* ^/.well-known/ {
51 | allow all;
52 | }
53 |
54 | # Block access to "hidden" files and directories whose names begin with a
55 | # period. This includes directories used by version control systems such
56 | # as Subversion or Git to store control files.
57 | location ~ (^|/)\. {
58 | return 403;
59 | }
60 |
61 | location / {
62 | # try_files $uri @rewrite; # For Drupal <= 6
63 | try_files $uri /index.php?$query_string; # For Drupal >= 7
64 | }
65 |
66 | location @rewrite {
67 | rewrite ^/(.*)$ /index.php?q=$1;
68 | }
69 |
70 | # Don't allow direct access to PHP files in the vendor directory.
71 | location ~ /vendor/.*\.php$ {
72 | deny all;
73 | return 404;
74 | }
75 |
76 | # In Drupal 8, we must also match new paths where the '.php' appears in
77 | # the middle, such as update.php/selection. The rule we use is strict,
78 | # and only allows this pattern with the update.php front controller.
79 | # This allows legacy path aliases in the form of
80 | # blog/index.php/legacy-path to continue to route to Drupal nodes. If
81 | # you do not have any paths like that, then you might prefer to use a
82 | # laxer rule, such as:
83 | # location ~ \.php(/|$) {
84 | # The laxer rule will continue to work if Drupal uses this new URL
85 | # pattern with front controllers other than update.php in a future
86 | # release.
87 | location ~ '\.php$|^/update.php' {
88 | fastcgi_split_path_info ^(.+?\.php)(|/.*)$;
89 | # Security note: If you're running a version of PHP older than the
90 | # latest 5.3, you should have "cgi.fix_pathinfo = 0;" in php.ini.
91 | # See http://serverfault.com/q/627903/94922 for details.
92 | include fastcgi_params;
93 | # Block httpoxy attacks. See https://httpoxy.org/.
94 | fastcgi_param HTTP_PROXY "";
95 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
96 | fastcgi_param PATH_INFO $fastcgi_path_info;
97 | fastcgi_param QUERY_STRING $query_string;
98 | fastcgi_intercept_errors on;
99 | # PHP 5 socket location.
100 | #fastcgi_pass unix:/var/run/php5-fpm.sock;
101 | # PHP 7 socket location.
102 | #fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
103 | #lando
104 | fastcgi_pass fpm:9000;
105 | }
106 |
107 | # Fighting with Styles? This little gem is amazing.
108 | # location ~ ^/sites/.*/files/imagecache/ { # For Drupal <= 6
109 | location ~ ^(/[a-z\-]+)?/sites/.*/files/styles/ { # For Drupal >= 7
110 | try_files $uri @rewrite;
111 | }
112 |
113 | # Handle private files through Drupal. Private file's path can come
114 | # with a language prefix.
115 | location ~ ^(/[a-z\-]+)?/system/files/ { # For Drupal >= 7
116 | try_files $uri /index.php?$query_string;
117 | }
118 |
119 | location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
120 | expires max;
121 | log_not_found off;
122 | }
123 |
124 | }
125 |
--------------------------------------------------------------------------------
/config/drupal9/default.conf.tpl:
--------------------------------------------------------------------------------
1 | # LANDODRUPALNGINXCONF
2 |
3 | server {
4 | listen 80 default_server;
5 | listen 443 ssl;
6 |
7 | server_name localhost;
8 |
9 | ssl_certificate /certs/cert.crt;
10 | ssl_certificate_key /certs/cert.key;
11 | ssl_verify_client off;
12 |
13 | ssl_session_cache shared:SSL:1m;
14 | ssl_session_timeout 5m;
15 |
16 | ssl_ciphers HIGH:!aNULL:!MD5;
17 | ssl_prefer_server_ciphers on;
18 |
19 | port_in_redirect off;
20 | client_max_body_size 100M;
21 |
22 | root "{{LANDO_WEBROOT}}";
23 |
24 | location = /favicon.ico {
25 | log_not_found off;
26 | access_log off;
27 | }
28 |
29 | location = /robots.txt {
30 | allow all;
31 | log_not_found off;
32 | access_log off;
33 | }
34 |
35 | # Very rarely should these ever be accessed outside of your lan
36 | location ~* \.(txt|log)$ {
37 | allow 192.168.0.0/16;
38 | deny all;
39 | }
40 |
41 | location ~ \..*/.*\.php$ {
42 | return 403;
43 | }
44 |
45 | location ~ ^/sites/.*/private/ {
46 | return 403;
47 | }
48 |
49 | # Allow "Well-Known URIs" as per RFC 5785
50 | location ~* ^/.well-known/ {
51 | allow all;
52 | }
53 |
54 | # Block access to "hidden" files and directories whose names begin with a
55 | # period. This includes directories used by version control systems such
56 | # as Subversion or Git to store control files.
57 | location ~ (^|/)\. {
58 | return 403;
59 | }
60 |
61 | location / {
62 | # try_files $uri @rewrite; # For Drupal <= 6
63 | try_files $uri /index.php?$query_string; # For Drupal >= 7
64 | }
65 |
66 | location @rewrite {
67 | rewrite ^/(.*)$ /index.php?q=$1;
68 | }
69 |
70 | # Don't allow direct access to PHP files in the vendor directory.
71 | location ~ /vendor/.*\.php$ {
72 | deny all;
73 | return 404;
74 | }
75 |
76 | # In Drupal 9, we must also match new paths where the '.php' appears in
77 | # the middle, such as update.php/selection. The rule we use is strict,
78 | # and only allows this pattern with the update.php front controller.
79 | # This allows legacy path aliases in the form of
80 | # blog/index.php/legacy-path to continue to route to Drupal nodes. If
81 | # you do not have any paths like that, then you might prefer to use a
82 | # laxer rule, such as:
83 | # location ~ \.php(/|$) {
84 | # The laxer rule will continue to work if Drupal uses this new URL
85 | # pattern with front controllers other than update.php in a future
86 | # release.
87 | location ~ '\.php$|^/update.php' {
88 | fastcgi_split_path_info ^(.+?\.php)(|/.*)$;
89 | # Security note: If you're running a version of PHP older than the
90 | # latest 5.3, you should have "cgi.fix_pathinfo = 0;" in php.ini.
91 | # See http://serverfault.com/q/627903/94922 for details.
92 | include fastcgi_params;
93 | # Block httpoxy attacks. See https://httpoxy.org/.
94 | fastcgi_param HTTP_PROXY "";
95 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
96 | fastcgi_param PATH_INFO $fastcgi_path_info;
97 | fastcgi_param QUERY_STRING $query_string;
98 | fastcgi_intercept_errors on;
99 | # PHP 5 socket location.
100 | #fastcgi_pass unix:/var/run/php5-fpm.sock;
101 | # PHP 7 socket location.
102 | #fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
103 | #lando
104 | fastcgi_pass fpm:9000;
105 | }
106 |
107 | # Fighting with Styles? This little gem is amazing.
108 | # location ~ ^/sites/.*/files/imagecache/ { # For Drupal <= 6
109 | location ~ ^(/[a-z\-]+)?/sites/.*/files/styles/ { # For Drupal >= 7
110 | try_files $uri @rewrite;
111 | }
112 |
113 | # Handle private files through Drupal. Private file's path can come
114 | # with a language prefix.
115 | location ~ ^(/[a-z\-]+)?/system/files/ { # For Drupal >= 7
116 | try_files $uri /index.php?$query_string;
117 | }
118 |
119 | location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
120 | expires max;
121 | log_not_found off;
122 | }
123 |
124 | }
125 |
--------------------------------------------------------------------------------
/config/drupal10/default.conf.tpl:
--------------------------------------------------------------------------------
1 | # LANDODRUPALNGINXCONF
2 |
3 | server {
4 | listen 80 default_server;
5 | listen 443 ssl;
6 | server_name localhost;
7 | ssl_certificate /certs/cert.crt;
8 | ssl_certificate_key /certs/cert.key;
9 | ssl_verify_client off;
10 | ssl_session_cache shared:SSL:1m;
11 | ssl_session_timeout 5m;
12 | ssl_ciphers HIGH:!aNULL:!MD5;
13 | ssl_prefer_server_ciphers on;
14 | port_in_redirect off;
15 | client_max_body_size 100M;
16 | root "{{LANDO_WEBROOT}}";
17 | location = /favicon.ico {
18 | log_not_found off;
19 | access_log off;
20 | }
21 |
22 | location = /robots.txt {
23 | allow all;
24 | log_not_found off;
25 | access_log off;
26 | }
27 |
28 | # Very rarely should these ever be accessed outside of your lan
29 | location ~* \.(txt|log)$ {
30 | allow 192.168.0.0/16;
31 | deny all;
32 | }
33 |
34 | location ~ \..*/.*\.php$ {
35 | return 403;
36 | }
37 |
38 | location ~ ^/sites/.*/private/ {
39 | return 403;
40 | }
41 |
42 | # Allow "Well-Known URIs" as per RFC 5785
43 | location ~* ^/.well-known/ {
44 | allow all;
45 | }
46 |
47 | # Block access to "hidden" files and directories whose names begin with a
48 | # period. This includes directories used by version control systems such
49 | # as Subversion or Git to store control files.
50 | location ~ (^|/)\. {
51 | return 403;
52 | }
53 |
54 | location / {
55 | # try_files $uri @rewrite; # For Drupal <= 6
56 | try_files $uri /index.php?$query_string; # For Drupal >= 7
57 | }
58 |
59 | location @rewrite {
60 | #rewrite ^/(.*)$ /index.php?q=$1; # For Drupal <= 6
61 | rewrite ^ /index.php; # For Drupal >= 7
62 | }
63 |
64 | # Don't allow direct access to PHP files in the vendor directory.
65 | location ~ /vendor/.*\.php$ {
66 | deny all;
67 | return 404;
68 | }
69 |
70 | # In Drupal 10, we must also match new paths where the '.php' appears in
71 | # the middle, such as update.php/selection. The rule we use is strict,
72 | # and only allows this pattern with the update.php front controller.
73 | # This allows legacy path aliases in the form of
74 | # blog/index.php/legacy-path to continue to route to Drupal nodes. If
75 | # you do not have any paths like that, then you might prefer to use a
76 | # laxer rule, such as:
77 | # location ~ \.php(/|$) {
78 | # The laxer rule will continue to work if Drupal uses this new URL
79 | # pattern with front controllers other than update.php in a future
80 | # release.
81 | location ~ '\.php$|^/update.php' {
82 | fastcgi_split_path_info ^(.+?\.php)(|/.*)$;
83 | # Security note: If you're running a version of PHP older than the
84 | # latest 5.3, you should have "cgi.fix_pathinfo = 0;" in php.ini.
85 | # See http://serverfault.com/q/627903/94922 for details.
86 | include fastcgi_params;
87 | # Block httpoxy attacks. See https://httpoxy.org/.
88 | fastcgi_param HTTP_PROXY "";
89 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
90 | fastcgi_param PATH_INFO $fastcgi_path_info;
91 | fastcgi_param QUERY_STRING $query_string;
92 | fastcgi_intercept_errors on;
93 | # PHP 5 socket location.
94 | #fastcgi_pass unix:/var/run/php5-fpm.sock;
95 | # PHP 7 socket location.
96 | #fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
97 | #lando
98 | fastcgi_pass fpm:9000;
99 | }
100 | # Fighting with Styles? This little gem is amazing.
101 | # location ~ ^/sites/.*/files/imagecache/ { # For Drupal <= 6
102 | location ~ ^(/[a-z\-]+)?/sites/.*/files/(css|js|styles)/ { # For Drupal >= 7
103 | try_files $uri @rewrite;
104 | }
105 | # Handle private files through Drupal. Private file's path can come
106 | # with a language prefix.
107 | location ~ ^(/[a-z\-]+)?/system/files/ { # For Drupal >= 7
108 | try_files $uri /index.php?$query_string;
109 | }
110 |
111 | location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
112 | expires max;
113 | log_not_found off;
114 | }
115 |
116 | }
117 |
--------------------------------------------------------------------------------
/config/drupal11/default.conf.tpl:
--------------------------------------------------------------------------------
1 | # LANDODRUPALNGINXCONF
2 |
3 | server {
4 | listen 80 default_server;
5 | listen 443 ssl;
6 | server_name localhost;
7 | ssl_certificate /certs/cert.crt;
8 | ssl_certificate_key /certs/cert.key;
9 | ssl_verify_client off;
10 | ssl_session_cache shared:SSL:1m;
11 | ssl_session_timeout 5m;
12 | ssl_ciphers HIGH:!aNULL:!MD5;
13 | ssl_prefer_server_ciphers on;
14 | port_in_redirect off;
15 | client_max_body_size 100M;
16 | root "{{LANDO_WEBROOT}}";
17 | location = /favicon.ico {
18 | log_not_found off;
19 | access_log off;
20 | }
21 |
22 | location = /robots.txt {
23 | allow all;
24 | log_not_found off;
25 | access_log off;
26 | }
27 |
28 | # Very rarely should these ever be accessed outside of your lan
29 | location ~* \.(txt|log)$ {
30 | allow 192.168.0.0/16;
31 | deny all;
32 | }
33 |
34 | location ~ \..*/.*\.php$ {
35 | return 403;
36 | }
37 |
38 | location ~ ^/sites/.*/private/ {
39 | return 403;
40 | }
41 |
42 | # Allow "Well-Known URIs" as per RFC 5785
43 | location ~* ^/.well-known/ {
44 | allow all;
45 | }
46 |
47 | # Block access to "hidden" files and directories whose names begin with a
48 | # period. This includes directories used by version control systems such
49 | # as Subversion or Git to store control files.
50 | location ~ (^|/)\. {
51 | return 403;
52 | }
53 |
54 | location / {
55 | # try_files $uri @rewrite; # For Drupal <= 6
56 | try_files $uri /index.php?$query_string; # For Drupal >= 7
57 | }
58 |
59 | location @rewrite {
60 | #rewrite ^/(.*)$ /index.php?q=$1; # For Drupal <= 6
61 | rewrite ^ /index.php; # For Drupal >= 7
62 | }
63 |
64 | # Don't allow direct access to PHP files in the vendor directory.
65 | location ~ /vendor/.*\.php$ {
66 | deny all;
67 | return 404;
68 | }
69 |
70 | # In Drupal 11, we must also match new paths where the '.php' appears in
71 | # the middle, such as update.php/selection. The rule we use is strict,
72 | # and only allows this pattern with the update.php front controller.
73 | # This allows legacy path aliases in the form of
74 | # blog/index.php/legacy-path to continue to route to Drupal nodes. If
75 | # you do not have any paths like that, then you might prefer to use a
76 | # laxer rule, such as:
77 | # location ~ \.php(/|$) {
78 | # The laxer rule will continue to work if Drupal uses this new URL
79 | # pattern with front controllers other than update.php in a future
80 | # release.
81 | location ~ '\.php$|^/update.php' {
82 | fastcgi_split_path_info ^(.+?\.php)(|/.*)$;
83 | # Security note: If you're running a version of PHP older than the
84 | # latest 5.3, you should have "cgi.fix_pathinfo = 0;" in php.ini.
85 | # See http://serverfault.com/q/627903/94922 for details.
86 | include fastcgi_params;
87 | # Block httpoxy attacks. See https://httpoxy.org/.
88 | fastcgi_param HTTP_PROXY "";
89 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
90 | fastcgi_param PATH_INFO $fastcgi_path_info;
91 | fastcgi_param QUERY_STRING $query_string;
92 | fastcgi_intercept_errors on;
93 | # PHP 5 socket location.
94 | #fastcgi_pass unix:/var/run/php5-fpm.sock;
95 | # PHP 7 socket location.
96 | #fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
97 | #lando
98 | fastcgi_pass fpm:9000;
99 | }
100 | # Fighting with Styles? This little gem is amazing.
101 | # location ~ ^/sites/.*/files/imagecache/ { # For Drupal <= 6
102 | location ~ ^(/[a-z\-]+)?/sites/.*/files/(css|js|styles)/ { # For Drupal >= 7
103 | try_files $uri @rewrite;
104 | }
105 | # Handle private files through Drupal. Private file's path can come
106 | # with a language prefix.
107 | location ~ ^(/[a-z\-]+)?/system/files/ { # For Drupal >= 7
108 | try_files $uri /index.php?$query_string;
109 | }
110 |
111 | location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
112 | expires max;
113 | log_not_found off;
114 | }
115 |
116 | }
117 |
--------------------------------------------------------------------------------
/examples/drupal11-mysql84/README.md:
--------------------------------------------------------------------------------
1 | # Drupal 11 with MySQL 8.4 Example
2 |
3 | This example exists primarily to test the following documentation against MySQL 8.4:
4 |
5 | * [Drupal 11 Recipe](https://docs.lando.dev/plugins/drupal)
6 |
7 | ## Start up tests
8 |
9 | Run the following commands to get up and running with this example.
10 |
11 | ```bash
12 | # Should poweroff
13 | lando poweroff
14 |
15 | # Should initialize the latest Drupal 11 codebase
16 | rm -rf drupal11 && mkdir -p drupal11 && cd drupal11
17 | lando init --source remote --remote-url https://ftp.drupal.org/files/projects/drupal-11.2.x-dev.tar.gz --remote-options="--strip-components 1" --recipe drupal11 --webroot . --name lando-drupal11 --option database=mysql:8.4
18 |
19 | # Should start up successfully
20 | cd drupal11
21 | cp -f ../../.lando.upstream.yml .lando.upstream.yml && cat .lando.upstream.yml
22 | lando start
23 | ```
24 |
25 | ## Verification commands
26 |
27 | Run the following commands to validate things are rolling as they should.
28 |
29 | ```bash
30 | # Should include recipe defaults in the landofile
31 | cd drupal11
32 | cat .lando.yml | tee >(cat 1>&2) | grep 'php: "8.3"'
33 | cat .lando.yml | grep "drush: ^13"
34 | cat .lando.yml | grep "composer_version: 2-latest"
35 |
36 | # Should be running mysql 8.4.x
37 | cd drupal11
38 | lando mysql -V | tee >(cat 1>&2) | grep '8.4.'
39 |
40 | # Should return the drupal installation page by default
41 | cd drupal11
42 | lando exec appserver -- curl -L localhost | grep "Drupal 11"
43 |
44 | # Should use 8.3 as the default php version
45 | cd drupal11
46 | lando php -v | grep "PHP 8.3"
47 |
48 | # Should be running apache 2.4 by default
49 | cd drupal11
50 | lando exec appserver -- apachectl -V | grep '2.4'
51 | lando exec appserver -- curl -IL localhost | grep Server | grep '2.4'
52 |
53 | # Should be running sqlite 3.45 by default
54 | cd drupal11
55 | lando php -r "print_r(SQLite3::version());" | grep versionString | tee >(cat 1>&2) | grep 3.45
56 |
57 | # Should not enable xdebug by default
58 | cd drupal11
59 | lando php -m | grep xdebug || echo $? | grep 1
60 |
61 | # Should use the default database connection info
62 | cd drupal11
63 | lando mysql -udrupal11 -pdrupal11 drupal11 -e quit
64 |
65 | # Should use a composer version above 2.7.0
66 | cd drupal11
67 | lando composer --version | cut -d " " -f 3 | head -n 1 | awk -v min=2.7.0 -F. '($1 > 2) || ($1 == 2 && $2 > 7) || ($1 == 2 && $2 == 7 && $3 > 0)'
68 |
69 | # Should use site-local drush if installed
70 | cd drupal11
71 | lando composer require drush/drush --no-interaction
72 | lando exec appserver -- which drush | grep "/app/vendor/bin/drush"
73 |
74 | # Should be able to install drupal
75 | cd drupal11
76 | lando drush site:install --db-url=mysql://drupal11:drupal11@database/drupal11 -y
77 |
78 | # Should be able to enable and access jsonapi
79 | cd drupal11
80 | lando drush en jsonapi -y
81 | lando exec appserver -- curl localhost/jsonapi | grep "action--action"
82 |
83 | # Should be able to dump the database with drush
84 | cd drupal11
85 | lando drush sql-dump --result-file=drupal11.sql --extra-dump="--no-tablespaces"
86 | lando mysql -udrupal11 -pdrupal11 drupal11 -e "SELECT COUNT(*) FROM users;" | grep -A 2 COUNT | tee >(cat 1>&2) | grep 2
87 |
88 | # Should be able to drop and restore the database with drush
89 | cd drupal11
90 | lando drush sql-drop -y
91 | lando drush sql-cli < drupal11.sql
92 | lando mysql -udrupal11 -pdrupal11 drupal11 -e "SELECT COUNT(*) FROM users;" | grep -A 2 COUNT | tee >(cat 1>&2) | grep 2
93 |
94 | # Should be able to export the database with Lando
95 | cd drupal11
96 | rm -f drupal11.sql
97 | lando db-export drupal11.sql
98 |
99 | # Should be able to import the database with Lando
100 | cd drupal11
101 | lando db-import drupal11.sql.gz
102 | lando mysql -udrupal11 -pdrupal11 drupal11 -e "SELECT COUNT(*) FROM users;" | grep -A 2 COUNT | tee >(cat 1>&2) | grep 2
103 |
104 | # Should be able to drop database tables
105 | cd drupal11
106 | lando drush sql-drop -y
107 |
108 | # Should be able to pipe in file through appserver
109 | cd drupal11
110 | lando exec appserver -- 'zcat drupal11.sql.gz | mysql -h database -udrupal11 -pdrupal11 drupal11'
111 | lando mysql -udrupal11 -pdrupal11 drupal11 -e "SELECT COUNT(*) FROM users;" | grep -A 2 COUNT | tee >(cat 1>&2) | grep 2
112 |
113 | # Should bootstrap Drupal successfully
114 | cd drupal11
115 | lando drush status | grep "Drupal bootstrap" | tee >(cat 1>&2) | grep "Successful"
116 | ```
117 |
118 | ## Destroy tests
119 |
120 | Run the following commands to trash this app like nothing ever happened.
121 |
122 | ```bash
123 | # Should be destroyed with success
124 | cd drupal11
125 | lando destroy -y
126 | lando poweroff
127 | ```
128 |
--------------------------------------------------------------------------------
/docs/getting-started.md:
--------------------------------------------------------------------------------
1 | ---
2 | description: Learn how to get started with the Lando Drupal recipe.
3 | ---
4 |
5 | # Getting Started
6 |
7 | ## Requirements
8 |
9 | Before you get started with this recipe we assume that you have:
10 |
11 | 1. [Installed Lando](https://docs.lando.dev/getting-started/installation.html) and gotten familiar with [its basics](https://docs.lando.dev/cli/)
12 | 2. [Initialized](https://docs.lando.dev/cli/init.html) a [Landofile](https://docs.lando.dev/landofile/) for your codebase for use with this recipe
13 | 3. Read about the various [services](https://docs.lando.dev/services/lando-3.html), [tooling](https://docs.lando.dev/landofile/tooling.html), [events](https://docs.lando.dev/landofile/events.html) and [routing](https://docs.lando.dev/landofile/proxy.html) Lando offers.
14 |
15 | ## Quick Start
16 |
17 | Try out the relevant commands below to spin up a new Landoified vanilla Drupal site.
18 |
19 | ::: code-group
20 | ```bash:no-line-numbers [DRUPAL 11]
21 | # Initialize a drupal11 recipe
22 | mkdir my-first-drupal11-app \
23 | && cd my-first-drupal11-app \
24 | && lando init \
25 | --source cwd \
26 | --recipe drupal11 \
27 | --webroot web \
28 | --name my-first-drupal11-app
29 |
30 | # Start the environment
31 | lando start
32 |
33 | # Create latest drupal11 project via composer
34 | lando composer create-project drupal/recommended-project:11.x tmp && cp -r tmp/. . && rm -rf tmp
35 |
36 | # Composer can timeout on install for some machines, if that happens, run the following command and then re-run the previous lando composer command:
37 | # lando composer config --global process-timeout 2000
38 |
39 | # Install a site local drush
40 | lando composer require drush/drush
41 |
42 | # Install drupal
43 | lando drush site:install --db-url=mysql://drupal11:drupal11@database/drupal11 -y
44 |
45 | # List information about this app
46 | lando info
47 | ```
48 |
49 | ```bash:no-line-numbers [DRUPAL CMS]
50 | # Initialize a drupal11 recipe
51 | mkdir my-drupalcms-app \
52 | && cd my-drupalcms-app \
53 | && lando init \
54 | --source cwd \
55 | --recipe drupal11 \
56 | --webroot web \
57 | --name my-drupalcms-app
58 |
59 | # Start the environment
60 | lando start
61 |
62 | # Create latest Drupal CMS project via composer
63 | lando composer create-project drupal/cms tmp && cp -r tmp/. . && rm -rf tmp
64 |
65 | # Install drupal
66 | lando drush site:install recipes/drupal_cms_starter --db-url=mysql://drupal11:drupal11@database/drupal11 -y
67 |
68 | # List information about this app
69 | lando info
70 | ```
71 |
72 | ```bash:no-line-numbers [DRUPAL 10]
73 | # Initialize a drupal10 recipe
74 | mkdir my-first-drupal10-app \
75 | && cd my-first-drupal10-app \
76 | && lando init \
77 | --source cwd \
78 | --recipe drupal10 \
79 | --webroot web \
80 | --name my-first-drupal10-app
81 |
82 | # Start it up
83 | lando start
84 |
85 | # Create latest drupal10 project via composer
86 | lando composer create-project drupal/recommended-project:10.x tmp && cp -r tmp/. . && rm -rf tmp
87 |
88 | # Composer can timeout on install for some machines, if that happens, run the following command and then re-run the previous lando composer command:
89 | # lando composer config --global process-timeout 2000
90 |
91 | # Install a site local drush
92 | lando composer require drush/drush
93 |
94 | # Install drupal
95 | lando drush site:install --db-url=mysql://drupal10:drupal10@database/drupal10 -y
96 |
97 | # List information about this app
98 | lando info
99 | ```
100 |
101 | ```bash:no-line-numbers [DRUPAL 9]
102 | # Initialize a drupal9 recipe
103 | mkdir my-first-drupal9-app \
104 | && cd my-first-drupal9-app \
105 | && lando init \
106 | --source cwd \
107 | --recipe drupal9 \
108 | --webroot web \
109 | --name my-first-drupal9-app
110 |
111 | # Start it up
112 | lando start
113 |
114 | # Create latest drupal9 project via composer
115 | lando composer create-project drupal/recommended-project:9.x tmp && cp -r tmp/. . && rm -rf tmp
116 |
117 | # Composer can timeout on install for some machines, if that happens, run the following command and then re-run the previous lando composer command:
118 | # lando composer config --global process-timeout 2000
119 |
120 | # Install a site local drush
121 | lando composer require drush/drush
122 |
123 | # Install drupal
124 | lando drush site:install --db-url=mysql://drupal9:drupal9@database/drupal9 -y
125 |
126 | # List information about this app
127 | lando info
128 | ```
129 | :::
130 |
131 | Or Landoify an existing Drupal site:
132 |
133 | ```bash:no-line-numbers
134 | cd /path/to/my/repo
135 | lando init --source cwd --recipe drupal9
136 | ```
137 |
138 | If you are interested in EOL Drupal versions then check out our legacy docs:
139 |
140 | - [Drupal 8](./legacy/drupal-8).
141 | - [Drupal 7](./legacy/drupal-7).
142 | - [Drupal 6](./legacy/drupal-6).
143 |
--------------------------------------------------------------------------------
/docs/guides/drupal-multisite.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Running Drupal Multisite on Lando
3 | description: How to run multisite Drupal installs on Lando.
4 | guide: true
5 | authors:
6 | - name: Brook Heaton
7 | pic: https://avatars.githubusercontent.com/u/19474864
8 | link: https://github.com/brooke-heaton
9 | updated:
10 | timestamp: 1613073690000
11 | mailchimp:
12 | action: https://dev.us12.list-manage.com/subscribe/post?u=59874b4d6910fa65e724a4648&id=613837077f
13 | title: Want more Drupal guide content?
14 | byline: Signup and we will send you a weekly blog digest of similar content to keep you satiated.
15 | button: Sign me up!
16 | ---
17 |
18 | # Running Drupal Multisite on Lando
19 |
20 | [Drupal multisite](https://www.drupal.org/docs/multisite-drupal) is a feature of Drupal that allows you to run multiple Drupal installs off of a common codebase.
21 | It's common in universities and other settings where you might want to share themes and modules between a collection of many websites.
22 |
23 | ## Configuring Lando
24 |
25 | To run Drupal multisite you need to do several things:
26 |
27 | 1. Your `.lando.yml` will need proxies for each multisite in the appserver array
28 | 2. The `settings.local.php` file within your subsite directory (ex: `docroot/sites/site1/`) needs settings to connect to the appropriate Lando-hosted database.
29 | 3. You need Drush aliases pointing to your local. If you use Drupal console, you'll need to specify your uri (ex: `drupal --uri=http://site1.lndo.site cr all`).
30 |
31 | ## 1. Configure .lando.yml
32 |
33 | Create proxies for each multisite in the appserver array in your `.lando.yml` file. Ex:
34 |
35 | ```yaml
36 | proxy:
37 | appserver:
38 | - site1.lndo.site
39 | - site2.lndo.s
40 | services:
41 | site1:
42 | type: mysql:5.7
43 | portforward: 33068
44 | config:
45 | confd: lando/mysql/conf.d
46 | site2:
47 | type: mysql:5.7
48 | portforward: 33069
49 | config:
50 | confd: .lando/mysql/conf.d
51 | ```
52 |
53 | ## 2. Configure each subsite's settings.local.php
54 |
55 | Configure each subsite to include the default Lando config to connect to the database, along with specifying the appserver name you defined in `.lando.yml`. For example, in `docroot/sites/site1/settings/settings.local.php` you would include...
56 |
57 | ```php
58 | /**
59 | * Database configuration.
60 | */
61 | $databases['default'] = array (
62 | 'default' => array (
63 | 'driver' => 'mysql',
64 | 'database' => 'database',
65 | 'username' => 'mysql',
66 | 'password' => 'password',
67 | 'prefix' => '',
68 | 'port' => 3306,
69 | )
70 | );
71 | // The only thing to add from the out-of-the-box Lando db is the special host for each subsite
72 | $databases['default']['default']['host'] = 'site1';
73 | ```
74 |
75 | ::: warning If you're on Acquia...
76 | You must specify $_Server['PWD']=DRUPAL_ROOT if you use Drush 9 on Acquia (this may apply to some other hosts as well). Update your main `sites/default/settings.php` to tell our local Drupal to use the `/settings/settings.local.php` within each subsite:
77 |
78 | ```php
79 | if (!key_exists('AH_SITE_ENVIRONMENT', $_ENV)) {
80 | $environment_settings = __DIR__ . '/settings/settings.local.php';
81 | if (file_exists($environment_settings)) {
82 | include $environment_settings;
83 | }
84 | }
85 | // Temporary fix because drush9 blocks superglobals
86 | $_SERVER['PWD']=DRUPAL_ROOT;
87 | ```
88 | :::
89 |
90 | ## 3. Define Drush aliases for each subsite
91 |
92 | Finally you'll need some Drush aliases so Drush can find your subsite installs. Here `docroot` is where our Drupal root is. For example, in `site_root/drush/sites/site-aliases/site1.site.yml` we would define...
93 |
94 | ```yaml
95 | local:
96 | uri: 'https://site1.lndo.site'
97 | paths:
98 | - files: /path_to_your_local_site/site_root/docroot'
99 | dev:
100 | host: 'site1dev.ssh.prod.acquia-sites.com'
101 | user: 'site1.dev'
102 | root: '/var/www/html/site1.dev/docroot'
103 | uri: 'site1dev.prod.acquia-sites.com'
104 | ac-site: 'site1'
105 | ac-env: 'dev'
106 | ac-realm: 'prod'
107 | paths:
108 | drush-script: 'drush8'
109 | test:
110 | root: '/var/www/html/site1.test/docroot'
111 | ac-site: 'site1'
112 | ac-env: 'test'
113 | ac-realm: 'prod'
114 | uri: 'site1stg.prod.acquia-sites.com'
115 | host: 'site1stg.ssh.prod.acquia-sites.com'
116 | user: 'site1.test'
117 | paths:
118 | drush-script: 'drush8'
119 | prod:
120 | root: '/var/www/html/site1.prod/docroot'
121 | ac-site: 'site1'
122 | ac-env: 'prod'
123 | ac-realm: 'prod'
124 | uri: 'site1.prod.acquia-sites.com'
125 | host: 'site1.ssh.prod.acquia-sites.com'
126 | user: 'site1.prod'
127 | paths:
128 | drush-script: 'drush8'
129 | ```
130 |
131 | I'm using drush8 against the cloud here by specifying that in the drush-script, since I've had issues trying to use drush9 and have no defined drush9 aliases, but that's purely a concern of working with Acquia Cloud.
132 |
133 |
--------------------------------------------------------------------------------
/docs/tooling.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Tooling
3 | description: Learn about Lando Drupal tooling commands like composer, php, drush, etc
4 | ---
5 |
6 | # Tooling
7 |
8 | By default each Lando Drupal recipe will also ship with helpful dev utilities.
9 |
10 | This means you can use things like `drush`, `composer` and `php` via Lando. This helps avoid mucking up your actual computer because you dont have to manage `php` versions, global `composer` dependencies and other less than savory things.
11 |
12 | ```bash
13 | lando composer Runs composer commands
14 | lando db-export [file] Exports database from a service into a file
15 | lando db-import