263 lines
5.2 KiB
Markdown
263 lines
5.2 KiB
Markdown
## Clone this repos
|
|
|
|
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
|
|
|
|
|
|
## Change name and old project occurences
|
|
|
|
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
|
|
|
|
|
|
## xdebug
|
|
copy ```ressources/xdebug.ini.exemple``` to ```ressources/xdebug.ini```
|
|
|
|
|
|
|
|
### git
|
|
|
|
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
|
|
|
|
```
|
|
|
|
## Hosts and reverse proxy
|
|
|
|
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 nginx -t ``` all should be ok
|
|
```
|
|
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
|
|
|
|
```
|
|
# Ignore directories generated by Composer
|
|
/drush/contrib/
|
|
/vendor/
|
|
/web/core/
|
|
/web/modules/contrib/
|
|
/web/themes/contrib/
|
|
/web/profiles/contrib/
|
|
/web/libraries/
|
|
composer.lock
|
|
# Ignore sensitive information
|
|
/web/sites/*/settings.php
|
|
/web/sites/*/settings.local.php
|
|
/web/sites/*/services*.yml
|
|
|
|
# Ignore Drupal's file directory
|
|
/web/sites/*/files/
|
|
|
|
# Ignore SimpleTest multi-site environment.
|
|
/web/sites/simpletest
|
|
|
|
# Ignore files generated by PhpStorm
|
|
/.idea/
|
|
|
|
# Ignore .env files as they are personal
|
|
/.env
|
|
|
|
# npm
|
|
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 .
|
|
|
|
```
|
|
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
|
|
``` |