Creating a new Composerized latest-Drupal project with local-Drush and all desired credentials in one go
Clash Royale CLAN TAG#URR8PPP
up vote
-1
down vote
favorite
I use latest LAMP (Ubuntu 18.04 with Bash) with Composer and I desire to automate the entire process of creating a Composerized Drupal 8 with local Drush 9 or above project, at least after creating a db user and a db with the same name to it:
- Download Drupal to a directory for the project as
/var/www/html/domain.tld
. - Create an Apache Virtual Host for the Drupal project based on the domain and directory.
- Create a proper
settings.php
with the relevant db details; db name, db user name, db password and locality -localhost
). - Restart the server.
I don't think the following Composer command is enough:
composer create-project drupal-composer/drupal-project
How will you do that in a communally-supported way?
drupal
This question has an open bounty worth +100
reputation from JohnDoea ending ending at 2018-11-16 20:15:27Z">in 5 days.
This question has not received enough attention.
migrated from drupal.stackexchange.com Nov 8 at 18:26
This question came from our site for Drupal developers and administrators.
add a comment |
up vote
-1
down vote
favorite
I use latest LAMP (Ubuntu 18.04 with Bash) with Composer and I desire to automate the entire process of creating a Composerized Drupal 8 with local Drush 9 or above project, at least after creating a db user and a db with the same name to it:
- Download Drupal to a directory for the project as
/var/www/html/domain.tld
. - Create an Apache Virtual Host for the Drupal project based on the domain and directory.
- Create a proper
settings.php
with the relevant db details; db name, db user name, db password and locality -localhost
). - Restart the server.
I don't think the following Composer command is enough:
composer create-project drupal-composer/drupal-project
How will you do that in a communally-supported way?
drupal
This question has an open bounty worth +100
reputation from JohnDoea ending ending at 2018-11-16 20:15:27Z">in 5 days.
This question has not received enough attention.
migrated from drupal.stackexchange.com Nov 8 at 18:26
This question came from our site for Drupal developers and administrators.
add a comment |
up vote
-1
down vote
favorite
up vote
-1
down vote
favorite
I use latest LAMP (Ubuntu 18.04 with Bash) with Composer and I desire to automate the entire process of creating a Composerized Drupal 8 with local Drush 9 or above project, at least after creating a db user and a db with the same name to it:
- Download Drupal to a directory for the project as
/var/www/html/domain.tld
. - Create an Apache Virtual Host for the Drupal project based on the domain and directory.
- Create a proper
settings.php
with the relevant db details; db name, db user name, db password and locality -localhost
). - Restart the server.
I don't think the following Composer command is enough:
composer create-project drupal-composer/drupal-project
How will you do that in a communally-supported way?
drupal
I use latest LAMP (Ubuntu 18.04 with Bash) with Composer and I desire to automate the entire process of creating a Composerized Drupal 8 with local Drush 9 or above project, at least after creating a db user and a db with the same name to it:
- Download Drupal to a directory for the project as
/var/www/html/domain.tld
. - Create an Apache Virtual Host for the Drupal project based on the domain and directory.
- Create a proper
settings.php
with the relevant db details; db name, db user name, db password and locality -localhost
). - Restart the server.
I don't think the following Composer command is enough:
composer create-project drupal-composer/drupal-project
How will you do that in a communally-supported way?
drupal
drupal
edited 1 hour ago
asked Nov 7 at 16:06
JohnDoea
55831
55831
This question has an open bounty worth +100
reputation from JohnDoea ending ending at 2018-11-16 20:15:27Z">in 5 days.
This question has not received enough attention.
This question has an open bounty worth +100
reputation from JohnDoea ending ending at 2018-11-16 20:15:27Z">in 5 days.
This question has not received enough attention.
migrated from drupal.stackexchange.com Nov 8 at 18:26
This question came from our site for Drupal developers and administrators.
migrated from drupal.stackexchange.com Nov 8 at 18:26
This question came from our site for Drupal developers and administrators.
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
up vote
5
down vote
Consider using dbjpanda's drupal-on-docker; simple installation with everything automated. You just have to install docker and then:
Step 1
git clone https://github.com/dbjpanda/drupal-on-docker.git && cd drupal-on-docker
Step 2
Rename .env.example to .env and update the .env
file with all of your information like domain name, db password, etc.
Step 3
docker-compose up -d
Step 4
docker exec -it PROJECT_NAME composer install
Step 5
Install drupal via drush or through the url 'DOMAIN_NAME' set in .env file or by the following command docker exec -it PROJECT_NAME drush si
and you're good to go.
I know offer 100 bounty for an answer. I recommend adding some more detail or some stepped usage example.
– JohnDoea
2 days ago
@JohnDoea Please go through the README file on that repo. It is easily understandable. And if you don't understand then please comment. I would be happy to help you.
– SkyRar
2 days ago
I read there, "I lost contact" on Devops workflow ( If you want to deploy to a live server using CI/CD). What does that mean?... Especially, how it differs from the previous 5-steps?
– JohnDoea
7 hours ago
Ahh. Let me know what exactly you are doing ? Are you deploying Drupal locally or on a server ? Also if you you not aware of CI/CD you can skip that. Just follow the above 5 steps.
– SkyRar
7 hours ago
You just asked one question how to set up the project in one go ? But that is not the end. You may be developing your project continuously and uploading it via ftp then ssh to server and again execute dush cim,drush cr etc... But that will be again a manual process. So CI/CD helps in that case. But if your site is small then it may not be required.
– SkyRar
7 hours ago
|
show 3 more comments
up vote
4
down vote
Have you already had a look at the ScriptHandler.php
of drupal-composer/drupal-project
?
It provides certain functions that are run via composer.json
as post-install-cmd
and post-update-cmd
. You could extend the ScriptHandler.php
to provide a post-create-project-cmd
which runs your Drush stuff. Maybe with the help of Symfony's Console Component.
Sadly I should first take some PHP and Drupal-programming courses before I could comfortably understand what's going there. I know no programming besides some fundamental vanilla Bash and JS.
– JohnDoea
Nov 7 at 18:34
add a comment |
up vote
4
down vote
I know it's not a perfect fit to your question, but one option is to start with geerlingguys Drupal Vagrant Box:
https://github.com/geerlingguy/drupal-vm
With this, you can set a custom config.yml to override the default.config.yml which will allow you to set variables/info such as DB name, DB pass, MySQL user, Site name, etc... It gets you pretty close to an all in one "up" kind of thing.
You can tell vagrant to install a DB or not. Install Drupal or not. You can have it use an existing DB on "up" command too.
Some example config.yml overrides (what it might look like):
---
## Install php-bcmath if needed - "apt-get install php7.0-bcmath" #
# Change these per site instance
vagrant_hostname: site_name.local
vagrant_machine_name: site_name_vm
drupal_site_name: "site_name"
drupal_account_pass: pass
drupal_db_name: site_name
php_version: "7.1"
vagrant_ip: 192.168.25.25
vagrant_memory: 4096
extra_packages:
- sqlite
- php-bcmath # This is needed for Commerce. If no Commerce you may delete.
php_memory_limit: "256M"
php_display_errors: "On"
mysql_root_password: pass
drupal_account_name: admin
drupal_db_user: root
drupal_db_password: pass
Then it's just a matter of running vagrant up
in your command line and it's possible to have vagrant install Drupal with DB and all creds/info.
You can take a look at the default.config.yml to see what's available and what you may want to override/set.
- Nothing is quite an "all in one" solution but here are some steps to try, haven't tested in a bit so will review:
1) Get your Vagrant Box:
git clone git@github.com:geerlingguy/drupal-vm.git site_name
cd site_name/
2) Copy this config.yml to your Vagrant Box root and edit to match your site details:
sudo curl -o config.yml https://gist.githubusercontent.com/prestonschmidt/7594a93f71fb0b45f26dfa42baaf0447/raw/1105ada763d130ffa16dd1949b44c9fd2d07cc79/config.yml
2a) > Remember to edit that config.yml to match your site details, THEN:
vagrant up
Yep, that takes a bit, go dream of the future and come back in about 10 minutes... really
3) Copy this settings.local.php file to your drupal/web/sites/default/ directory:
sudo curl -o drupal/web/sites/default/settings.local.php https://gist.githubusercontent.com/prestonschmidt/54862c853ba0d35eb9591abfe783176d/raw/80789f6add2c205b7ad7caf2814b72284ff82f0c/settings.local.php
> Edit the settings.php file to include the settings.local.php by uncommenting that section at the bottom of the file
4) Copy this development.services.yml file to your drupal/web/sites/ directory:
sudo curl -o drupal/web/sites/development.yml https://gist.githubusercontent.com/prestonschmidt/a9a6b81dc69cb1a26775f927f768274e/raw/fb2e3fec99d47ca7ef4765f04c4eba01dd907539/development.services.yml
I can replace the links with code, just trying not to have a mile long post. If this approach feels like it might work for you, I am happy to work on it more.
With this answer, it's all about making a perfect config.yml
file, then running vagrant up
.
What makes Vagrant a great contender is that it installs Drush, Composer, and is well maintained.
Although I can understand some YAML from Drupal 8 and otherwise, I never actually used Ansible (the famous CM tool), Vargant, or Docker (the famous containerization tool). I understand we deploy up-2-date software and conf with Ansible (locally or remotely) and I understand we "copy away" containers of "its-frozen-just-bake" data with Docker, but I don't know how Vargant is different than these two and if there is any difference between Vargant itself to a Vargant box. The term "Vargant box" makes me to wonder if Vargant is an actual "competitor" for Docker... Is it?... At least in this case?
– JohnDoea
4 hours ago
add a comment |
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
5
down vote
Consider using dbjpanda's drupal-on-docker; simple installation with everything automated. You just have to install docker and then:
Step 1
git clone https://github.com/dbjpanda/drupal-on-docker.git && cd drupal-on-docker
Step 2
Rename .env.example to .env and update the .env
file with all of your information like domain name, db password, etc.
Step 3
docker-compose up -d
Step 4
docker exec -it PROJECT_NAME composer install
Step 5
Install drupal via drush or through the url 'DOMAIN_NAME' set in .env file or by the following command docker exec -it PROJECT_NAME drush si
and you're good to go.
I know offer 100 bounty for an answer. I recommend adding some more detail or some stepped usage example.
– JohnDoea
2 days ago
@JohnDoea Please go through the README file on that repo. It is easily understandable. And if you don't understand then please comment. I would be happy to help you.
– SkyRar
2 days ago
I read there, "I lost contact" on Devops workflow ( If you want to deploy to a live server using CI/CD). What does that mean?... Especially, how it differs from the previous 5-steps?
– JohnDoea
7 hours ago
Ahh. Let me know what exactly you are doing ? Are you deploying Drupal locally or on a server ? Also if you you not aware of CI/CD you can skip that. Just follow the above 5 steps.
– SkyRar
7 hours ago
You just asked one question how to set up the project in one go ? But that is not the end. You may be developing your project continuously and uploading it via ftp then ssh to server and again execute dush cim,drush cr etc... But that will be again a manual process. So CI/CD helps in that case. But if your site is small then it may not be required.
– SkyRar
7 hours ago
|
show 3 more comments
up vote
5
down vote
Consider using dbjpanda's drupal-on-docker; simple installation with everything automated. You just have to install docker and then:
Step 1
git clone https://github.com/dbjpanda/drupal-on-docker.git && cd drupal-on-docker
Step 2
Rename .env.example to .env and update the .env
file with all of your information like domain name, db password, etc.
Step 3
docker-compose up -d
Step 4
docker exec -it PROJECT_NAME composer install
Step 5
Install drupal via drush or through the url 'DOMAIN_NAME' set in .env file or by the following command docker exec -it PROJECT_NAME drush si
and you're good to go.
I know offer 100 bounty for an answer. I recommend adding some more detail or some stepped usage example.
– JohnDoea
2 days ago
@JohnDoea Please go through the README file on that repo. It is easily understandable. And if you don't understand then please comment. I would be happy to help you.
– SkyRar
2 days ago
I read there, "I lost contact" on Devops workflow ( If you want to deploy to a live server using CI/CD). What does that mean?... Especially, how it differs from the previous 5-steps?
– JohnDoea
7 hours ago
Ahh. Let me know what exactly you are doing ? Are you deploying Drupal locally or on a server ? Also if you you not aware of CI/CD you can skip that. Just follow the above 5 steps.
– SkyRar
7 hours ago
You just asked one question how to set up the project in one go ? But that is not the end. You may be developing your project continuously and uploading it via ftp then ssh to server and again execute dush cim,drush cr etc... But that will be again a manual process. So CI/CD helps in that case. But if your site is small then it may not be required.
– SkyRar
7 hours ago
|
show 3 more comments
up vote
5
down vote
up vote
5
down vote
Consider using dbjpanda's drupal-on-docker; simple installation with everything automated. You just have to install docker and then:
Step 1
git clone https://github.com/dbjpanda/drupal-on-docker.git && cd drupal-on-docker
Step 2
Rename .env.example to .env and update the .env
file with all of your information like domain name, db password, etc.
Step 3
docker-compose up -d
Step 4
docker exec -it PROJECT_NAME composer install
Step 5
Install drupal via drush or through the url 'DOMAIN_NAME' set in .env file or by the following command docker exec -it PROJECT_NAME drush si
and you're good to go.
Consider using dbjpanda's drupal-on-docker; simple installation with everything automated. You just have to install docker and then:
Step 1
git clone https://github.com/dbjpanda/drupal-on-docker.git && cd drupal-on-docker
Step 2
Rename .env.example to .env and update the .env
file with all of your information like domain name, db password, etc.
Step 3
docker-compose up -d
Step 4
docker exec -it PROJECT_NAME composer install
Step 5
Install drupal via drush or through the url 'DOMAIN_NAME' set in .env file or by the following command docker exec -it PROJECT_NAME drush si
and you're good to go.
edited 5 hours ago
answered Nov 7 at 21:20
SkyRar
547
547
I know offer 100 bounty for an answer. I recommend adding some more detail or some stepped usage example.
– JohnDoea
2 days ago
@JohnDoea Please go through the README file on that repo. It is easily understandable. And if you don't understand then please comment. I would be happy to help you.
– SkyRar
2 days ago
I read there, "I lost contact" on Devops workflow ( If you want to deploy to a live server using CI/CD). What does that mean?... Especially, how it differs from the previous 5-steps?
– JohnDoea
7 hours ago
Ahh. Let me know what exactly you are doing ? Are you deploying Drupal locally or on a server ? Also if you you not aware of CI/CD you can skip that. Just follow the above 5 steps.
– SkyRar
7 hours ago
You just asked one question how to set up the project in one go ? But that is not the end. You may be developing your project continuously and uploading it via ftp then ssh to server and again execute dush cim,drush cr etc... But that will be again a manual process. So CI/CD helps in that case. But if your site is small then it may not be required.
– SkyRar
7 hours ago
|
show 3 more comments
I know offer 100 bounty for an answer. I recommend adding some more detail or some stepped usage example.
– JohnDoea
2 days ago
@JohnDoea Please go through the README file on that repo. It is easily understandable. And if you don't understand then please comment. I would be happy to help you.
– SkyRar
2 days ago
I read there, "I lost contact" on Devops workflow ( If you want to deploy to a live server using CI/CD). What does that mean?... Especially, how it differs from the previous 5-steps?
– JohnDoea
7 hours ago
Ahh. Let me know what exactly you are doing ? Are you deploying Drupal locally or on a server ? Also if you you not aware of CI/CD you can skip that. Just follow the above 5 steps.
– SkyRar
7 hours ago
You just asked one question how to set up the project in one go ? But that is not the end. You may be developing your project continuously and uploading it via ftp then ssh to server and again execute dush cim,drush cr etc... But that will be again a manual process. So CI/CD helps in that case. But if your site is small then it may not be required.
– SkyRar
7 hours ago
I know offer 100 bounty for an answer. I recommend adding some more detail or some stepped usage example.
– JohnDoea
2 days ago
I know offer 100 bounty for an answer. I recommend adding some more detail or some stepped usage example.
– JohnDoea
2 days ago
@JohnDoea Please go through the README file on that repo. It is easily understandable. And if you don't understand then please comment. I would be happy to help you.
– SkyRar
2 days ago
@JohnDoea Please go through the README file on that repo. It is easily understandable. And if you don't understand then please comment. I would be happy to help you.
– SkyRar
2 days ago
I read there, "I lost contact" on Devops workflow ( If you want to deploy to a live server using CI/CD). What does that mean?... Especially, how it differs from the previous 5-steps?
– JohnDoea
7 hours ago
I read there, "I lost contact" on Devops workflow ( If you want to deploy to a live server using CI/CD). What does that mean?... Especially, how it differs from the previous 5-steps?
– JohnDoea
7 hours ago
Ahh. Let me know what exactly you are doing ? Are you deploying Drupal locally or on a server ? Also if you you not aware of CI/CD you can skip that. Just follow the above 5 steps.
– SkyRar
7 hours ago
Ahh. Let me know what exactly you are doing ? Are you deploying Drupal locally or on a server ? Also if you you not aware of CI/CD you can skip that. Just follow the above 5 steps.
– SkyRar
7 hours ago
You just asked one question how to set up the project in one go ? But that is not the end. You may be developing your project continuously and uploading it via ftp then ssh to server and again execute dush cim,drush cr etc... But that will be again a manual process. So CI/CD helps in that case. But if your site is small then it may not be required.
– SkyRar
7 hours ago
You just asked one question how to set up the project in one go ? But that is not the end. You may be developing your project continuously and uploading it via ftp then ssh to server and again execute dush cim,drush cr etc... But that will be again a manual process. So CI/CD helps in that case. But if your site is small then it may not be required.
– SkyRar
7 hours ago
|
show 3 more comments
up vote
4
down vote
Have you already had a look at the ScriptHandler.php
of drupal-composer/drupal-project
?
It provides certain functions that are run via composer.json
as post-install-cmd
and post-update-cmd
. You could extend the ScriptHandler.php
to provide a post-create-project-cmd
which runs your Drush stuff. Maybe with the help of Symfony's Console Component.
Sadly I should first take some PHP and Drupal-programming courses before I could comfortably understand what's going there. I know no programming besides some fundamental vanilla Bash and JS.
– JohnDoea
Nov 7 at 18:34
add a comment |
up vote
4
down vote
Have you already had a look at the ScriptHandler.php
of drupal-composer/drupal-project
?
It provides certain functions that are run via composer.json
as post-install-cmd
and post-update-cmd
. You could extend the ScriptHandler.php
to provide a post-create-project-cmd
which runs your Drush stuff. Maybe with the help of Symfony's Console Component.
Sadly I should first take some PHP and Drupal-programming courses before I could comfortably understand what's going there. I know no programming besides some fundamental vanilla Bash and JS.
– JohnDoea
Nov 7 at 18:34
add a comment |
up vote
4
down vote
up vote
4
down vote
Have you already had a look at the ScriptHandler.php
of drupal-composer/drupal-project
?
It provides certain functions that are run via composer.json
as post-install-cmd
and post-update-cmd
. You could extend the ScriptHandler.php
to provide a post-create-project-cmd
which runs your Drush stuff. Maybe with the help of Symfony's Console Component.
Have you already had a look at the ScriptHandler.php
of drupal-composer/drupal-project
?
It provides certain functions that are run via composer.json
as post-install-cmd
and post-update-cmd
. You could extend the ScriptHandler.php
to provide a post-create-project-cmd
which runs your Drush stuff. Maybe with the help of Symfony's Console Component.
answered Nov 7 at 17:49
leymannx
1434
1434
Sadly I should first take some PHP and Drupal-programming courses before I could comfortably understand what's going there. I know no programming besides some fundamental vanilla Bash and JS.
– JohnDoea
Nov 7 at 18:34
add a comment |
Sadly I should first take some PHP and Drupal-programming courses before I could comfortably understand what's going there. I know no programming besides some fundamental vanilla Bash and JS.
– JohnDoea
Nov 7 at 18:34
Sadly I should first take some PHP and Drupal-programming courses before I could comfortably understand what's going there. I know no programming besides some fundamental vanilla Bash and JS.
– JohnDoea
Nov 7 at 18:34
Sadly I should first take some PHP and Drupal-programming courses before I could comfortably understand what's going there. I know no programming besides some fundamental vanilla Bash and JS.
– JohnDoea
Nov 7 at 18:34
add a comment |
up vote
4
down vote
I know it's not a perfect fit to your question, but one option is to start with geerlingguys Drupal Vagrant Box:
https://github.com/geerlingguy/drupal-vm
With this, you can set a custom config.yml to override the default.config.yml which will allow you to set variables/info such as DB name, DB pass, MySQL user, Site name, etc... It gets you pretty close to an all in one "up" kind of thing.
You can tell vagrant to install a DB or not. Install Drupal or not. You can have it use an existing DB on "up" command too.
Some example config.yml overrides (what it might look like):
---
## Install php-bcmath if needed - "apt-get install php7.0-bcmath" #
# Change these per site instance
vagrant_hostname: site_name.local
vagrant_machine_name: site_name_vm
drupal_site_name: "site_name"
drupal_account_pass: pass
drupal_db_name: site_name
php_version: "7.1"
vagrant_ip: 192.168.25.25
vagrant_memory: 4096
extra_packages:
- sqlite
- php-bcmath # This is needed for Commerce. If no Commerce you may delete.
php_memory_limit: "256M"
php_display_errors: "On"
mysql_root_password: pass
drupal_account_name: admin
drupal_db_user: root
drupal_db_password: pass
Then it's just a matter of running vagrant up
in your command line and it's possible to have vagrant install Drupal with DB and all creds/info.
You can take a look at the default.config.yml to see what's available and what you may want to override/set.
- Nothing is quite an "all in one" solution but here are some steps to try, haven't tested in a bit so will review:
1) Get your Vagrant Box:
git clone git@github.com:geerlingguy/drupal-vm.git site_name
cd site_name/
2) Copy this config.yml to your Vagrant Box root and edit to match your site details:
sudo curl -o config.yml https://gist.githubusercontent.com/prestonschmidt/7594a93f71fb0b45f26dfa42baaf0447/raw/1105ada763d130ffa16dd1949b44c9fd2d07cc79/config.yml
2a) > Remember to edit that config.yml to match your site details, THEN:
vagrant up
Yep, that takes a bit, go dream of the future and come back in about 10 minutes... really
3) Copy this settings.local.php file to your drupal/web/sites/default/ directory:
sudo curl -o drupal/web/sites/default/settings.local.php https://gist.githubusercontent.com/prestonschmidt/54862c853ba0d35eb9591abfe783176d/raw/80789f6add2c205b7ad7caf2814b72284ff82f0c/settings.local.php
> Edit the settings.php file to include the settings.local.php by uncommenting that section at the bottom of the file
4) Copy this development.services.yml file to your drupal/web/sites/ directory:
sudo curl -o drupal/web/sites/development.yml https://gist.githubusercontent.com/prestonschmidt/a9a6b81dc69cb1a26775f927f768274e/raw/fb2e3fec99d47ca7ef4765f04c4eba01dd907539/development.services.yml
I can replace the links with code, just trying not to have a mile long post. If this approach feels like it might work for you, I am happy to work on it more.
With this answer, it's all about making a perfect config.yml
file, then running vagrant up
.
What makes Vagrant a great contender is that it installs Drush, Composer, and is well maintained.
Although I can understand some YAML from Drupal 8 and otherwise, I never actually used Ansible (the famous CM tool), Vargant, or Docker (the famous containerization tool). I understand we deploy up-2-date software and conf with Ansible (locally or remotely) and I understand we "copy away" containers of "its-frozen-just-bake" data with Docker, but I don't know how Vargant is different than these two and if there is any difference between Vargant itself to a Vargant box. The term "Vargant box" makes me to wonder if Vargant is an actual "competitor" for Docker... Is it?... At least in this case?
– JohnDoea
4 hours ago
add a comment |
up vote
4
down vote
I know it's not a perfect fit to your question, but one option is to start with geerlingguys Drupal Vagrant Box:
https://github.com/geerlingguy/drupal-vm
With this, you can set a custom config.yml to override the default.config.yml which will allow you to set variables/info such as DB name, DB pass, MySQL user, Site name, etc... It gets you pretty close to an all in one "up" kind of thing.
You can tell vagrant to install a DB or not. Install Drupal or not. You can have it use an existing DB on "up" command too.
Some example config.yml overrides (what it might look like):
---
## Install php-bcmath if needed - "apt-get install php7.0-bcmath" #
# Change these per site instance
vagrant_hostname: site_name.local
vagrant_machine_name: site_name_vm
drupal_site_name: "site_name"
drupal_account_pass: pass
drupal_db_name: site_name
php_version: "7.1"
vagrant_ip: 192.168.25.25
vagrant_memory: 4096
extra_packages:
- sqlite
- php-bcmath # This is needed for Commerce. If no Commerce you may delete.
php_memory_limit: "256M"
php_display_errors: "On"
mysql_root_password: pass
drupal_account_name: admin
drupal_db_user: root
drupal_db_password: pass
Then it's just a matter of running vagrant up
in your command line and it's possible to have vagrant install Drupal with DB and all creds/info.
You can take a look at the default.config.yml to see what's available and what you may want to override/set.
- Nothing is quite an "all in one" solution but here are some steps to try, haven't tested in a bit so will review:
1) Get your Vagrant Box:
git clone git@github.com:geerlingguy/drupal-vm.git site_name
cd site_name/
2) Copy this config.yml to your Vagrant Box root and edit to match your site details:
sudo curl -o config.yml https://gist.githubusercontent.com/prestonschmidt/7594a93f71fb0b45f26dfa42baaf0447/raw/1105ada763d130ffa16dd1949b44c9fd2d07cc79/config.yml
2a) > Remember to edit that config.yml to match your site details, THEN:
vagrant up
Yep, that takes a bit, go dream of the future and come back in about 10 minutes... really
3) Copy this settings.local.php file to your drupal/web/sites/default/ directory:
sudo curl -o drupal/web/sites/default/settings.local.php https://gist.githubusercontent.com/prestonschmidt/54862c853ba0d35eb9591abfe783176d/raw/80789f6add2c205b7ad7caf2814b72284ff82f0c/settings.local.php
> Edit the settings.php file to include the settings.local.php by uncommenting that section at the bottom of the file
4) Copy this development.services.yml file to your drupal/web/sites/ directory:
sudo curl -o drupal/web/sites/development.yml https://gist.githubusercontent.com/prestonschmidt/a9a6b81dc69cb1a26775f927f768274e/raw/fb2e3fec99d47ca7ef4765f04c4eba01dd907539/development.services.yml
I can replace the links with code, just trying not to have a mile long post. If this approach feels like it might work for you, I am happy to work on it more.
With this answer, it's all about making a perfect config.yml
file, then running vagrant up
.
What makes Vagrant a great contender is that it installs Drush, Composer, and is well maintained.
Although I can understand some YAML from Drupal 8 and otherwise, I never actually used Ansible (the famous CM tool), Vargant, or Docker (the famous containerization tool). I understand we deploy up-2-date software and conf with Ansible (locally or remotely) and I understand we "copy away" containers of "its-frozen-just-bake" data with Docker, but I don't know how Vargant is different than these two and if there is any difference between Vargant itself to a Vargant box. The term "Vargant box" makes me to wonder if Vargant is an actual "competitor" for Docker... Is it?... At least in this case?
– JohnDoea
4 hours ago
add a comment |
up vote
4
down vote
up vote
4
down vote
I know it's not a perfect fit to your question, but one option is to start with geerlingguys Drupal Vagrant Box:
https://github.com/geerlingguy/drupal-vm
With this, you can set a custom config.yml to override the default.config.yml which will allow you to set variables/info such as DB name, DB pass, MySQL user, Site name, etc... It gets you pretty close to an all in one "up" kind of thing.
You can tell vagrant to install a DB or not. Install Drupal or not. You can have it use an existing DB on "up" command too.
Some example config.yml overrides (what it might look like):
---
## Install php-bcmath if needed - "apt-get install php7.0-bcmath" #
# Change these per site instance
vagrant_hostname: site_name.local
vagrant_machine_name: site_name_vm
drupal_site_name: "site_name"
drupal_account_pass: pass
drupal_db_name: site_name
php_version: "7.1"
vagrant_ip: 192.168.25.25
vagrant_memory: 4096
extra_packages:
- sqlite
- php-bcmath # This is needed for Commerce. If no Commerce you may delete.
php_memory_limit: "256M"
php_display_errors: "On"
mysql_root_password: pass
drupal_account_name: admin
drupal_db_user: root
drupal_db_password: pass
Then it's just a matter of running vagrant up
in your command line and it's possible to have vagrant install Drupal with DB and all creds/info.
You can take a look at the default.config.yml to see what's available and what you may want to override/set.
- Nothing is quite an "all in one" solution but here are some steps to try, haven't tested in a bit so will review:
1) Get your Vagrant Box:
git clone git@github.com:geerlingguy/drupal-vm.git site_name
cd site_name/
2) Copy this config.yml to your Vagrant Box root and edit to match your site details:
sudo curl -o config.yml https://gist.githubusercontent.com/prestonschmidt/7594a93f71fb0b45f26dfa42baaf0447/raw/1105ada763d130ffa16dd1949b44c9fd2d07cc79/config.yml
2a) > Remember to edit that config.yml to match your site details, THEN:
vagrant up
Yep, that takes a bit, go dream of the future and come back in about 10 minutes... really
3) Copy this settings.local.php file to your drupal/web/sites/default/ directory:
sudo curl -o drupal/web/sites/default/settings.local.php https://gist.githubusercontent.com/prestonschmidt/54862c853ba0d35eb9591abfe783176d/raw/80789f6add2c205b7ad7caf2814b72284ff82f0c/settings.local.php
> Edit the settings.php file to include the settings.local.php by uncommenting that section at the bottom of the file
4) Copy this development.services.yml file to your drupal/web/sites/ directory:
sudo curl -o drupal/web/sites/development.yml https://gist.githubusercontent.com/prestonschmidt/a9a6b81dc69cb1a26775f927f768274e/raw/fb2e3fec99d47ca7ef4765f04c4eba01dd907539/development.services.yml
I can replace the links with code, just trying not to have a mile long post. If this approach feels like it might work for you, I am happy to work on it more.
With this answer, it's all about making a perfect config.yml
file, then running vagrant up
.
What makes Vagrant a great contender is that it installs Drush, Composer, and is well maintained.
I know it's not a perfect fit to your question, but one option is to start with geerlingguys Drupal Vagrant Box:
https://github.com/geerlingguy/drupal-vm
With this, you can set a custom config.yml to override the default.config.yml which will allow you to set variables/info such as DB name, DB pass, MySQL user, Site name, etc... It gets you pretty close to an all in one "up" kind of thing.
You can tell vagrant to install a DB or not. Install Drupal or not. You can have it use an existing DB on "up" command too.
Some example config.yml overrides (what it might look like):
---
## Install php-bcmath if needed - "apt-get install php7.0-bcmath" #
# Change these per site instance
vagrant_hostname: site_name.local
vagrant_machine_name: site_name_vm
drupal_site_name: "site_name"
drupal_account_pass: pass
drupal_db_name: site_name
php_version: "7.1"
vagrant_ip: 192.168.25.25
vagrant_memory: 4096
extra_packages:
- sqlite
- php-bcmath # This is needed for Commerce. If no Commerce you may delete.
php_memory_limit: "256M"
php_display_errors: "On"
mysql_root_password: pass
drupal_account_name: admin
drupal_db_user: root
drupal_db_password: pass
Then it's just a matter of running vagrant up
in your command line and it's possible to have vagrant install Drupal with DB and all creds/info.
You can take a look at the default.config.yml to see what's available and what you may want to override/set.
- Nothing is quite an "all in one" solution but here are some steps to try, haven't tested in a bit so will review:
1) Get your Vagrant Box:
git clone git@github.com:geerlingguy/drupal-vm.git site_name
cd site_name/
2) Copy this config.yml to your Vagrant Box root and edit to match your site details:
sudo curl -o config.yml https://gist.githubusercontent.com/prestonschmidt/7594a93f71fb0b45f26dfa42baaf0447/raw/1105ada763d130ffa16dd1949b44c9fd2d07cc79/config.yml
2a) > Remember to edit that config.yml to match your site details, THEN:
vagrant up
Yep, that takes a bit, go dream of the future and come back in about 10 minutes... really
3) Copy this settings.local.php file to your drupal/web/sites/default/ directory:
sudo curl -o drupal/web/sites/default/settings.local.php https://gist.githubusercontent.com/prestonschmidt/54862c853ba0d35eb9591abfe783176d/raw/80789f6add2c205b7ad7caf2814b72284ff82f0c/settings.local.php
> Edit the settings.php file to include the settings.local.php by uncommenting that section at the bottom of the file
4) Copy this development.services.yml file to your drupal/web/sites/ directory:
sudo curl -o drupal/web/sites/development.yml https://gist.githubusercontent.com/prestonschmidt/a9a6b81dc69cb1a26775f927f768274e/raw/fb2e3fec99d47ca7ef4765f04c4eba01dd907539/development.services.yml
I can replace the links with code, just trying not to have a mile long post. If this approach feels like it might work for you, I am happy to work on it more.
With this answer, it's all about making a perfect config.yml
file, then running vagrant up
.
What makes Vagrant a great contender is that it installs Drush, Composer, and is well maintained.
edited 2 days ago
answered Nov 7 at 18:41
Prestosaurus
1413
1413
Although I can understand some YAML from Drupal 8 and otherwise, I never actually used Ansible (the famous CM tool), Vargant, or Docker (the famous containerization tool). I understand we deploy up-2-date software and conf with Ansible (locally or remotely) and I understand we "copy away" containers of "its-frozen-just-bake" data with Docker, but I don't know how Vargant is different than these two and if there is any difference between Vargant itself to a Vargant box. The term "Vargant box" makes me to wonder if Vargant is an actual "competitor" for Docker... Is it?... At least in this case?
– JohnDoea
4 hours ago
add a comment |
Although I can understand some YAML from Drupal 8 and otherwise, I never actually used Ansible (the famous CM tool), Vargant, or Docker (the famous containerization tool). I understand we deploy up-2-date software and conf with Ansible (locally or remotely) and I understand we "copy away" containers of "its-frozen-just-bake" data with Docker, but I don't know how Vargant is different than these two and if there is any difference between Vargant itself to a Vargant box. The term "Vargant box" makes me to wonder if Vargant is an actual "competitor" for Docker... Is it?... At least in this case?
– JohnDoea
4 hours ago
Although I can understand some YAML from Drupal 8 and otherwise, I never actually used Ansible (the famous CM tool), Vargant, or Docker (the famous containerization tool). I understand we deploy up-2-date software and conf with Ansible (locally or remotely) and I understand we "copy away" containers of "its-frozen-just-bake" data with Docker, but I don't know how Vargant is different than these two and if there is any difference between Vargant itself to a Vargant box. The term "Vargant box" makes me to wonder if Vargant is an actual "competitor" for Docker... Is it?... At least in this case?
– JohnDoea
4 hours ago
Although I can understand some YAML from Drupal 8 and otherwise, I never actually used Ansible (the famous CM tool), Vargant, or Docker (the famous containerization tool). I understand we deploy up-2-date software and conf with Ansible (locally or remotely) and I understand we "copy away" containers of "its-frozen-just-bake" data with Docker, but I don't know how Vargant is different than these two and if there is any difference between Vargant itself to a Vargant box. The term "Vargant box" makes me to wonder if Vargant is an actual "competitor" for Docker... Is it?... At least in this case?
– JohnDoea
4 hours ago
add a comment |
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f480616%2fcreating-a-new-composerized-latest-drupal-project-with-local-drush-and-all-desir%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password