|
11 months ago | |
---|---|---|
Docker | 11 months ago | |
ressources | 11 months ago | |
src @ 072c2abbb8 | 11 months ago | |
.env | 11 months ago | |
.gitignore | 11 months ago | |
.gitmodules | 11 months ago | |
Makefile | 11 months ago | |
README.md | 11 months ago | |
docker-compose.yml | 11 months ago |
clone a older docker of a similar project
git clone -o gogs gogs@figureslibres.io:bachir/docker-popsu.git
or download docker folder from gogs
open folder in Vscodium and :
change folder name
change occurence in Readme (ctrl + D pour sélectionner tout en même temps)
dossier Docker: php mettre bonne version
Docker-compose.yml
Makefile
.env (project name donne le nom aux containers)
docker > nginx > default.conf
copy ressources/xdebug.ini.exemple
to ressources/xdebug.ini
remove old folder git
rm -rf .git
rm .gitmodules
create new git repositorie
git init
git add .
git commit -m 'first commit'
git remote add origin https://figureslibres.io/gogs/ouidade/docker-training.git
git push -u origin master
add to your /etc/hosts :
127.0.0.1 dev.training.fr
127.0.0.1 dev.phpmyadmin.training.fr
configure your vhosts to add a reverse proxy that will redirect the dev.training.fr to our container
create new file, dev.training.fr.conf, in /etc/nginx/sites-available
server {
listen 80;
server_name dev.training.fr;
access_log off;
error_log /var/log/nginx/training/error.log error;
client_max_body_size 100m;
location / {
proxy_pass http://127.0.0.1:8980;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
}
}
server {
listen 80;
server_name dev.phpmyadmin.training.fr;
location / {
proxy_pass http://127.0.0.1:8981;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
}
}
sudo ln -s /etc/nginx/sites-available/dev.training.fr.conf /etc/nginx/sites-enabled
sudo systemctl restart nginx
## build docker
make build make up make ps
## instal drupal with composer
cd public_html composer create-project drupal/recommended-project:^9.5 .
### clone this profile into profiles folder
cd profiles git clone -o figli https://figureslibres.io/gogs/bachir/drupal-starterkit-profile.git
### include the profile's composer file to the main drupal's composer file
install composer-merge-plugin
composer require wikimedia/composer-merge-plugin
then in main drupal's composer.js file add this in extra
"extra": { ... "merge-plugin": {
"include": [
"web/profiles/d8-starterkit-profile/composer.json"
],
"recurse": true,
"replace": false,
"merge-extra": true
} ... }
### install the profile's merged dependencies with composer
cd ../ composer update
## sites/default setup
mkdir -p web/sites/default/files cp web/sites/default/default.settings.php web/sites/default/settings.php
in docker exit container php and re-log as root in php container
docker exec -u 0 -it training-php-1 bash
then aply changes
chgrp -R www-data web/sites/default/files chgrp -R www-data web/sites/default/settings.php chmod g+r web/sites/default/files chmod g+r web/sites/default/settings.php
exit container php as root ```ctrl + D```
## install database with install drupal on navigator
choose profile figli starter kit
for set up database use info in .env file (for work localserver only passwords very basic, be carefull if on line)
advanced options :
hosts : mysql
in dump databse there will be files but also modules config
## git the drupal (src folder)
git init
create a .gitignore file
/drush/contrib/ /vendor/ /web/core/ /web/modules/contrib/ /web/themes/contrib/ /web/profiles/contrib/ /web/libraries/ composer.lock
/web/sites//settings.php /web/sites//settings.local.php /web/sites//services.yml
/web/sites/*/files/
/web/sites/simpletest
/.idea/
/.env
node_modules/
*.patch /.csslintrc /.eslintrc.json /.ht.router.php /.htaccess /INSTALL.txt /README.txt /autoload.php /example.gitignore /index.php /robots.txt /update.php /web.config
/web/.vscode/*
git status git add .
if necessary, if already here, remove file D8-starterit-profile from the git index in order to add it as a submodule.
```git reset web/profiles/d8-starterkit-profile```
add submodule
git submodule add https://figureslibres.io/gogs/bachir/d8-starterkit-profile.git web/profiles/d8-starterkit-profile
git commit -m "first drupal instal working"
### Create new repository on gogs, for durpal
### then
git remote add origin https://figureslibres.io/gogs/ouidade/drupal-training.git
git push origin master
in docker, add in src folder the submodule drupal you just created
git submodule add https://figureslibres.io/gogs/ouidade/drupal-training.git src
then
git add . git commit -m "added drupal submodule" git push origin master
## check drush
drush st drush cr
## check settings files
create file services.yml in src/web/sites/default (can copy from previous site)
in settings.php
if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) { include $app_root . '/' . $site_path . '/settings.local.php'; } $databases['default']['default'] = array ( .... ); $settings['config_sync_directory'] = '../config/sync';
so the config databse is stored in a folder config/sync not in web, and so not shared online.
create folder config/sync at the root of your site (src)
## export config
```drush cst``` to see config status
```drush cex -y``` to export all that's in database in config/sync
git config
git add . git commit git push ```
to add enable new module already in drupal core
drush en module_name
and then don't forget to export config drush cex
and to git