D7 running, D9 phpinfo ok

This commit is contained in:
Bachir Soussi Chiadmi 2021-03-15 13:29:01 +01:00
parent d71f2768cc
commit f0b63a7ccf
25 changed files with 704 additions and 155 deletions

11
.env
View File

@ -1,10 +1,15 @@
COMPOSE_PROJECT_NAME=popsu
PROJECT_ROOT=./public_html
PROJECT_ROOT_D7=./src_d7
PROJECT_ROOT_D9=./src_d9
LOG_ROOT=./log
DB_IMPORTE_FILE=./ressources/db.sql
DB_IMPORTE_FILE_D7=./ressources/pospsu_d7.sql
DB_IMPORTE_FILE_D9=./ressources/pospsu_d9.sql
DB_ROOT_PASSWORD=popsu
DB_NAME=popsu
DB_NAME_D7=popsu_d7
DB_NAME_D9=popsu_d9
DB_USERNAME=popsu
DB_PASSWORD=popsu
XDEBUG_INI=./ressources/xdebug.ini

7
.gitmodules vendored
View File

@ -1,3 +1,6 @@
[submodule "public_html"]
path = public_html
[submodule "src_d7"]
path = src_d7
url = https://figureslibres.io/gogs/bachir/popsu-d7.git
[submodule "src_d9"]
path = src_d9
url = https://figureslibres.io/gogs/bachir/popsu-d9.git

View File

@ -1,3 +1,9 @@
FROM nginx:latest
RUN apt-get update \
&& apt-get install -y \
vim
COPY ./default.conf /etc/nginx/conf.d/default.conf
COPY ./bashrc /root/.bashrc
COPY ./inputrc /root/.inputrc

3
Docker/nginx/bashrc Normal file
View File

@ -0,0 +1,3 @@
PS1='\e[36m\e[1mNGINX\e[0m:\e[90m\w\e[0m\n$ '
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'

View File

@ -1,7 +1,8 @@
server {
listen 80 default_server;
root /var/www/html;
listen 80;
root /var/www/d7;
index index.html index.php;
server_name dev.d7.popsu.archi.fr;
charset utf-8;
@ -13,7 +14,7 @@ server {
location = /robots.txt { access_log off; log_not_found off; }
access_log on;
error_log /var/log/nginx/error.log error;
error_log /var/log/nginx/error-d7.log error;
sendfile off;
@ -21,7 +22,45 @@ server {
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php:9000;
fastcgi_pass php_d7:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
location ~ /\.ht {
deny all;
}
}
server {
listen 80;
root /var/www/d9/web;
index index.html index.php;
server_name dev.d9.popsu.archi.fr;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
access_log on;
error_log /var/log/nginx/error-d9.log error;
sendfile off;
client_max_body_size 100m;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php_d9:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

2
Docker/nginx/inputrc Normal file
View File

@ -0,0 +1,2 @@
set show-all-if-ambiguous on
set completion-ignore-case on

View File

@ -23,3 +23,24 @@ RUN apt-get update && apt-get install -y \
composer global require drush/drush:6.5.0 && \
composer global install && \
ln -s /usr/local/composer/vendor/drush/drush/drush /usr/local/bin/drush
ARG USER_UID
ARG USER_UNAME
ARG USER_GID
ARG USER_GNAME
RUN if getent group ${USER_GNAME} ; then groupdel ${USER_GNAME}; fi &&\
groupadd -g ${USER_GID} ${USER_GNAME} &&\
useradd -l -u ${USER_UID} -g ${USER_GNAME} ${USER_UNAME} &&\
install -d -m 0755 -o ${USER_UNAME} -g ${USER_GNAME} /home/${USER_UNAME} &&\
chown --changes --silent --no-dereference --recursive \
--from=33:33 ${USER_UID}:${USER_GID} \
/home/${USER_UNAME}
# /.composer \
# /var/run/php-fpm \
# /var/lib/php/sessions \
COPY ./bashrc /home/${USER_UNAME}/.bashrc
COPY ./inputrc /home/${USER_UNAME}/.inputrc
USER ${USER_UNAME}

View File

@ -0,0 +1,4 @@
PS1='\e[36m\e[1mPHP-5.6\e[0m:\e[90m\w\e[0m\n$ '
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'

View File

@ -0,0 +1,2 @@
set show-all-if-ambiguous on
set completion-ignore-case on

View File

@ -0,0 +1,70 @@
FROM php:7.3-fpm
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng-dev \
mariadb-client \
zip \
libzip-dev && \
# docker-php-ext-install -j$(nproc) iconv && \
docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \
apt-get install -y imagemagick libmagickwand-dev && \
pecl install imagick && docker-php-ext-enable imagick && \
docker-php-ext-install -j$(nproc) gd && \
docker-php-ext-install pdo_mysql zip && \
docker-php-ext-install opcache && \
docker-php-ext-install bcmath && \
apt-get install -y git vim && \
pecl install redis-4.3.0 && \
pecl install xdebug-2.7.0 && \
docker-php-ext-enable redis xdebug
RUN export COMPOSER_HOME=/usr/local/composer && \
curl -sS https://getcomposer.org/installer \
| php -- --install-dir=/usr/local/bin --filename=composer && \
curl https://drupalconsole.com/installer \
-L -o /usr/local/bin/drupal && \
chmod +x /usr/local/bin/drupal && \
curl https://github.com/drush-ops/drush-launcher/releases/download/0.6.0/drush.phar \
-L -o /usr/local/bin/drush && \
chmod +x /usr/local/bin/drush
RUN apt-get install -y curl && \
curl -sL https://deb.nodesource.com/setup_11.x | bash - && \
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
apt-get update && \
apt-get install -y nodejs yarn
RUN apt-get install -y rsyslog
COPY ./rsyslog-drupal.conf /etc/rsyslog.d/drupal.conf
# ENTRYPOINT ["sh", "-c", "service rsyslog start ; tail -f /dev/null"]
COPY ./php-custom.ini /usr/local/etc/php/conf.d/php-custom.ini
# COPY ./php-fpm-custom.conf /usr/local/etc/php-fpm.d/php-fpm-custom.conf
# COPY ./bashrc /root/.bashrc
# COPY ./inputrc /root/.inputrc
ARG USER_UID
ARG USER_UNAME
ARG USER_GID
ARG USER_GNAME
RUN if getent group ${USER_GNAME} ; then groupdel ${USER_GNAME}; fi &&\
groupadd -g ${USER_GID} ${USER_GNAME} &&\
useradd -l -u ${USER_UID} -g ${USER_GNAME} ${USER_UNAME} &&\
install -d -m 0755 -o ${USER_UNAME} -g ${USER_GNAME} /home/${USER_UNAME} &&\
chown --changes --silent --no-dereference --recursive \
--from=33:33 ${USER_UID}:${USER_GID} \
/home/${USER_UNAME}
# /.composer \
# /var/run/php-fpm \
# /var/lib/php/sessions \
COPY ./bashrc /home/${USER_UNAME}/.bashrc
COPY ./inputrc /home/${USER_UNAME}/.inputrc
USER ${USER_UNAME}

View File

@ -0,0 +1,4 @@
PS1='\e[36m\e[1mPHP-7.3\e[0m:\e[90m\w\e[0m\n$ '
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'

View File

@ -0,0 +1,2 @@
set show-all-if-ambiguous on
set completion-ignore-case on

View File

@ -0,0 +1,9 @@
memory_limit = 8192M
upload_max_filesize = 50M
post_max_size = 50M
max_execution_time = 150
; Log level
; Possible Values: alert, error, warning, notice, debug
; Default Value: notice
log_level = debug

View File

@ -0,0 +1 @@
request_terminate_timeout = 150

View File

@ -0,0 +1 @@
local6.* /var/log/drupal.log

View File

@ -0,0 +1,17 @@
[Unit]
Description=rsyslog
After=docker.service
Requires=docker.service
[Service]
ExecStartPre=-/usr/bin/docker rm %n
ExecStart=/usr/bin/docker run --rm \
--name %n \
-h %H \
jumanjiman/rsyslog
ExecStop=/usr/bin/docker stop %n
RestartSec=5s
Restart=always
[Install]
WantedBy=multi-user.target

68
Makefile Normal file
View File

@ -0,0 +1,68 @@
#!/usr/bin/make
SHELL = /bin/sh
USER_UID := $(shell id -u)
USER_UNAME := $(shell id -un)
USER_GID := $(shell id -g)
USER_GNAME := $(shell id -gn)
export USER_UID
export USER_UNAME
export USER_GID
export USER_GNAME
pull:
docker-compose pull
build:
docker-compose build --build-arg USER_UID=$(USER_UID) --build-arg USER_UNAME=$(USER_UNAME) --build-arg USER_GID=$(USER_GID) --build-arg USER_GNAME=$(USER_GNAME)
buildnc:
docker-compose build --no-cache --build-arg USER_UID=$(USER_UID) --build-arg USER_UNAME=$(USER_UNAME) --build-arg USER_GID=$(USER_GID) --build-arg USER_GNAME=$(USER_GNAME)
downbuildup: down build up
up:
docker-compose up -d
ps:
docker-compose ps
logs:
docker-compose logs -f
d9_maj_config: d9_crd d9_composer_install d9_updb d9_cim d9_cr
d9_crd:
docker exec enfrancais_pgp_d9_1 /bin/bash -c "drush cache-clear drush"
d9_cr:
docker exec enfrancais_pgp_d9_1 /bin/bash -c "drush cr"
d9_updb:
docker exec enfrancais_pgp_d9_1 /bin/bash -c "drush updb -y"
d9_cim:
docker exec enfrancais_pgp_d9_1 /bin/bash -c "drush config-import -y"
d9_composer_install:
docker exec enfrancais_pgp_d9_1 /bin/bash -c "composer install --no-dev"
down:
docker-compose down
exec_nginx:
docker exec -it popsu_nginx_1 bash
exec_php_d7:
docker exec -it popsu_php_d7_1 bash
exec_php_d9:
docker exec -it popsu_php_d9_1 sh
exec_mysql_d7:
docker exec -it popsu_mysql_d7_1 bash
exec_mysql_d9:
docker exec -it popsu_mysql_d9_1 bash

259
README.md
View File

@ -7,97 +7,286 @@ Popsu powered by druapl 7 in docker environement (nginx, php:5.6-fpm+drush, mar
sudo pacman -S docker docker-compose docker-machine
```
start the docker service
```
sudo systemctl start docker
```
For all the following, DO NOT run docker or make commande as root or with sudo, use this setup: add your user to the docker user group, re-login, and restart docker.service.
https://wiki.archlinux.org/index.php/Docker#Installation
## Clone this repos
this will clone this repos (main docker environement) and the materio-base drupal 7 source code (without sites/default folder)
this will clone this repos (main docker environement) and the popsu.arch.fr drupal 7 & 9 source code (without sites/default folder nor mysq ddbs)
```
git clone --recursive -o figli https://figureslibres.io/gogs/bachir/docker-popsu-d7.git
git clone --recursive -o figli https://figureslibres.io/gogs/bachir/docker-popsu.git
```
submodules :
- https://figureslibres.io/gogs/bachir/popsu-d7
- https://figureslibres.io/gogs/bachir/popsu-d9
### setup /sites/default/settings.php
```cp -r ressources/default public_html/sites/```
```
cp -r ressources/d7/settings.php src_d7/sites/default/
cp -r ressources/d9/settings.php src_d9/sites/default/
```
### get the sites/default/files folder
get the files from where you have it and rsync it to public_html/sites/default/files/
get the files from where you have it and rsync it to src_d7/sites/default/files/ and src_d9/web/sites/default/files/
## Mysql
Copy your-sql-dump.sql into ./ressources/db.sql
Copy your-sql-dump.sql into ./ressources/db_d7.sql or ./ressources/db_d9.sql
It will be automaticly imported into the mysql container db (only) on the first docker-compose up
## Hosts and reverse proxy
add to your /etc/hosts :
```
127.0.0.1 dev.popsu.archi.fr
127.0.0.1 dev.d7.popsu.archi.fr
127.0.0.1 dev.d9.popsu.archi.fr
127.0.0.1 dev.phpmyadmin.popsu.archi.fr
```
configure your apache vhosts to add a reverse proxy that will redirect the dev.materio.com to our container
```
```apache
<Virtualhost *:80>
ServerName dev.popsu.archi.fr
ProxyPass / http://127.0.0.1:8880/
ProxyPassReverse / http://127.0.0.1:8880/
ProxyRequests Off
ServerName dev.d7.popsu.archi.fr
ProxyPass / http://127.0.0.1:8880/
ProxyPassReverse / http://127.0.0.1:8880/
ProxyRequests Off
ProxyPreserveHost On
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
</Virtualhost>
<Virtualhost *:80>
ServerName dev.d9.popsu.archi.fr
ProxyPass / http://127.0.0.1:8880/
ProxyPassReverse / http://127.0.0.1:8880/
ProxyRequests Off
ProxyPreserveHost On
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
</Virtualhost>
<Virtualhost *:80>
ServerName dev.phpmyadmin.popsu.archi.fr
ProxyPass / http://127.0.0.1:8881/
ProxyPassReverse / http://127.0.0.1:8881/
ProxyRequests Off
ProxyPreserveHost On
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
</Virtualhost>
```
nginx
```nginx
server {
listen 80;
server_name dev.d7.popsu.archi.fr dev.d9.popsu.archi.fr;
access_log off;
error_log /var/log/nginx/popsu/error.log error;
client_max_body_size 100m;
location / {
proxy_pass http://127.0.0.1:8880;
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.popsu.archi.fr;
location / {
proxy_pass http://127.0.0.1:8881;
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;
}
}
```
<Virtualhost *:80>
ServerName dev.phpmyadmin.popsu.archi.fr
ProxyPass / http://127.0.0.1:8881/
ProxyPassReverse / http://127.0.0.1:8881/
ProxyRequests Off
</Virtualhost>
```
## Docker
For all the following, DO NOT run docker or make commande as root or with sudo, use this setup: add your user to the docker user group, re-login, and restart docker.service.
### docker-compose pull
pull the latest image of services
```
make pull
```
### build
only before the first run (may take some time)
```
sudo docker-compose build
make build
```
/!\ DO NOT use ```docker-compose build```, it will faile
### run
then each time you want to launch the app
```
sudo docker-compose up -d
make up
```
Be aware that a first up, since the db is empty, it will be populated with your file db.sql. It may take some time depending of your db size.
Be aware that a first up, since the db is empty, it will be populated with your files ressources/db_d7.sql and ressources/db_d9.sql. It may take some time depending of your db size.
### loging in
## Drupal Composer install
Only at first up, finish to install drupal 9 composer dependencies
but first we need to downgrade composer to version 1
(you'll need to do this downgrade every time you make_down then make_up)
```
sudo docker exec -it popsu_php_1 bash
docker exec -u 0 -it popsu_php_d9_1 /bin/bash
composer selfupdate --1
```
ctrl+d
```
make exec_php_d9
composer install
```
## Visualize
You can now visit http://dev.popsu.archi.fr on your browser
You can now visit http://dev.d7.popsu.archi.fr and http://dev.d9.popsu.archi.fr on your browser
After the first run
## Coding
### drush
you can access to drush by loging into the php container
```
sudo docker exec -it popsu_php_1 bash
make exec_php_d7
# or
make exec_php_d9
```
once inside the php container in /var/www/html you can use drush as usual
## updateding manualy mysql db
copy your db backup into the mysql container
## Updating code
```
sudo docker cp your-db-file.sql popsu_mysql_1:/root/
git pull figli master
# then update all submodules
git submodule update --recursive --checkout
# or only one
git submodule update --checkout src_d7/
# or
git submodule update --checkout src_d9/
make d9_maj_config
```
## Updating manualy mysql db
copy your db backup into the mysql container
```sh
docker cp your-db-file.sql popsu_mysql_d7_1:/root/
# or
docker cp your-db-file.sql popsu_mysql_d9_1:/root/
```
log into mysql container
```
sudo docker exec -it popsu_php_1 bash
```sh
make exec_mysql_d7
# or
make exec_mysql_d9
```
once inside the mysql container you can use mysql command to drop then create and load the db with your file
```
mysql -uroot -ppopsu
> drop database popsu_d7;
> create database popsu_d7;
> exit;
mysql -uroot -ppopsu popsu_d7 < your-db-file.sql
# or
mysql -uroot -ppopsu
> drop database popsu_d9;
> create database popsu_d9;
> exit;
mysql -uroot -ppopsu popsu_d9 < your-db-file.sql
```
# sources
https://www.ostraining.com/blog/drupal/docker/
## Makefile
http://tech.osteel.me/posts/2017/01/15/how-to-use-docker-for-local-web-development-an-update.html
DO NOT use directly docker or docker-compose to run this instance
use make instead like ```make up```
https://mmenozzi.github.io/2016/01/22/php-web-development-with-docker/
```makefile
#!/usr/bin/make
https://dzone.com/articles/continuous-drupal-maintaining-a-drupal-website-wit
SHELL = /bin/sh
USER_UID := $(shell id -u)
USER_UNAME := $(shell id -un)
USER_GID := $(shell id -g)
USER_GNAME := $(shell id -gn)
export USER_UID
export USER_UNAME
export USER_GID
export USER_GNAME
pull:
docker-compose pull
build:
docker-compose build --build-arg USER_UID=$(USER_UID) --build-arg USER_UNAME=$(USER_UNAME) --build-arg USER_GID=$(USER_GID) --build-arg USER_GNAME=$(USER_GNAME)
buildnc:
docker-compose build --no-cache --build-arg USER_UID=$(USER_UID) --build-arg USER_UNAME=$(USER_UNAME) --build-arg USER_GID=$(USER_GID) --build-arg USER_GNAME=$(USER_GNAME)
downbuildup: down build up
up:
docker-compose up -d
ps:
docker-compose ps
logs:
docker-compose logs -f
d9_maj_config: d9_crd d9_composer_install d9_updb d9_cim d9_cr
d9_crd:
docker exec enfrancais_pgp_d9_1 /bin/bash -c "drush cache-clear drush"
d9_cr:
docker exec enfrancais_pgp_d9_1 /bin/bash -c "drush cr"
d9_updb:
docker exec enfrancais_pgp_d9_1 /bin/bash -c "drush updb -y"
d9_cim:
docker exec enfrancais_pgp_d9_1 /bin/bash -c "drush config-import -y"
d9_composer_install:
docker exec enfrancais_pgp_d9_1 /bin/bash -c "composer install --no-dev"
down:
docker-compose down
exec_php_d7:
docker exec -it popsu_php_d7_1 bash
exec_php_d9:
docker exec -it popsu_php_d9_1 sh
exec_mysql_d7:
docker exec -it popsu_mysql_d7 bash
exec_mysql_d9:
docker exec -it popsu_mysql_d9 bash
```

View File

@ -1,17 +1,31 @@
version: "3.5"
services:
mysql:
mysql_d7:
image: mariadb:latest
volumes:
- db-data:/var/lib/mysql
- db-data-d7:/var/lib/mysql
- ./Docker/mysql/mysql.cnf:/etc/mysql/conf.d/custom.cnf:ro
- "${DB_IMPORTE_FILE}:/docker-entrypoint-initdb.d/db.sql"
- "${DB_IMPORTE_FILE_D7}:/docker-entrypoint-initdb.d/popsu_d7.sql"
networks:
- database
environment:
MYSQL_ROOT_PASSWORD: "${DB_ROOT_PASSWORD}"
MYSQL_DATABASE: "${DB_NAME}"
MYSQL_DATABASE: "${DB_NAME_D7}"
MYSQL_USER: "${DB_USERNAME}"
MYSQL_PASSWORD: "${DB_PASSWORD}"
mysql_d9:
image: mariadb:latest
volumes:
- db-data-d9:/var/lib/mysql
- ./Docker/mysql/mysql.cnf:/etc/mysql/conf.d/custom.cnf:ro
- "${DB_IMPORTE_FILE_D9}:/docker-entrypoint-initdb.d/popsu_d9.sql"
networks:
- database
environment:
MYSQL_ROOT_PASSWORD: "${DB_ROOT_PASSWORD}"
MYSQL_DATABASE: "${DB_NAME_D9}"
MYSQL_USER: "${DB_USERNAME}"
MYSQL_PASSWORD: "${DB_PASSWORD}"
@ -24,19 +38,40 @@ services:
ports:
- "6379"
php:
build: ./Docker/php/
expose:
- 9000
php_d7:
build: ./Docker/php-5.6-fpm/
# expose:
# - 9000
volumes:
- php-root-data:/root
- "${PROJECT_ROOT}:/var/www/html"
- php-d7-user-data:/home/${USER_UNAME}
- "${PROJECT_ROOT_D7}:/var/www/d7"
working_dir: "/var/www/d7"
networks:
- database
- server
- redis
depends_on:
- mysql
- mysql_d7
- redis
php_d9:
build: ./Docker/php-7.3-fpm/
# expose:
# - 8999
user: ${USER_UID}:${USER_GID}
volumes:
- php-d9-user-data:/home/${USER_UNAME}
- "${PROJECT_ROOT_D9}:/var/www/d9"
- "${LOG_ROOT}/php:/var/log:rw"
- "${XDEBUG_INI}:/usr/local/etc/php/conf.d/xdebug.ini"
working_dir: "/var/www/d9"
networks:
- database
- redis
- server
depends_on:
- mysql_d9
- redis
phpmyadmin:
image: phpmyadmin/phpmyadmin
@ -45,26 +80,32 @@ services:
networks:
- database
depends_on:
- mysql
- mysql_d7
- mysql_d9
environment:
PMA_HOST: mysql
PMA_HOST: mysql_d7, mysql_d9
nginx:
build: ./Docker/nginx/
ports:
- 8880:80
working_dir: "/var/www"
volumes:
- "${PROJECT_ROOT}:/var/www/html"
- "${PROJECT_ROOT_D7}:/var/www/d7"
- "${PROJECT_ROOT_D9}:/var/www/d9"
- "${LOG_ROOT}:/var/log:rw"
networks:
- server
depends_on:
- php
- php_d7
- php_d9
volumes:
db-data:
db-data-d7:
db-data-d9:
redis-data:
php-root-data:
php-d7-user-data:
php-d9-user-data:
networks:
database:

@ -1 +0,0 @@
Subproject commit a8891db0143cdea55b911f1fc2e04a1e119ede32

View File

@ -1,5 +1,4 @@
<?php
// $Id: default.settings.php,v 1.51 2010/10/11 23:49:48 dries Exp $
/**
* @file
@ -23,19 +22,19 @@
* http://www.drupal.org/mysite/test/, the 'settings.php'
* is searched in the following directories:
*
* 1. sites/www.drupal.org.mysite.test
* 2. sites/drupal.org.mysite.test
* 3. sites/org.mysite.test
* - sites/www.drupal.org.mysite.test
* - sites/drupal.org.mysite.test
* - sites/org.mysite.test
*
* 4. sites/www.drupal.org.mysite
* 5. sites/drupal.org.mysite
* 6. sites/org.mysite
* - sites/www.drupal.org.mysite
* - sites/drupal.org.mysite
* - sites/org.mysite
*
* 7. sites/www.drupal.org
* 8. sites/drupal.org
* 9. sites/org
* - sites/www.drupal.org
* - sites/drupal.org
* - sites/org
*
* 10. sites/default
* - sites/default
*
* If you are installing on a non-standard port number, prefix the
* hostname with that number. For example,
@ -154,6 +153,29 @@
* @endcode
* NOTE: MySQL and SQLite's definition of a schema is a database.
*
* Advanced users can add or override initial commands to execute when
* connecting to the database server, as well as PDO connection settings. For
* example, to enable MySQL SELECT queries to exceed the max_join_size system
* variable, and to reduce the database connection timeout to 5 seconds:
*
* @code
* $databases['default']['default'] = array(
* 'init_commands' => array(
* 'big_selects' => 'SET SQL_BIG_SELECTS=1',
* ),
* 'pdo' => array(
* PDO::ATTR_TIMEOUT => 5,
* ),
* );
* @endcode
*
* WARNING: These defaults are designed for database portability. Changing them
* may cause unexpected behavior, including potential data loss.
*
* @see DatabaseConnection_mysql::__construct
* @see DatabaseConnection_pgsql::__construct
* @see DatabaseConnection_sqlite::__construct
*
* Database configuration format:
* @code
* $databases['default']['default'] = array(
@ -178,15 +200,21 @@
* );
* @endcode
*/
$databases['default']['default'] = array(
'driver' => 'mysql',
'database' => 'materio_base_d7',
'username' => 'root',
'password' => 'materio',
'host' => 'mysql',
'prefix' => '',
'collation' => 'utf8_general_ci',
);
$databases = array (
'default' =>
array (
'default' =>
array (
'database' => 'popsu_d7',
'username' => 'root',
'password' => 'popsu',
'host' => 'mysql_d7',
'port' => '',
'driver' => 'mysql',
'prefix' => 'dbprefix_',
),
),
);
/**
* Access control for update.php script.
@ -205,10 +233,10 @@ $update_free_access = FALSE;
* Salt for one-time login links and cancel links, form tokens, etc.
*
* This variable will be set to a random value by the installer. All one-time
* login links will be invalidated if the value is changed. Note that this
* variable must have the same value on every web server. If this variable is
* empty, a hash of the serialized database credentials will be used as a
* fallback salt.
* login links will be invalidated if the value is changed. Note that if your
* site is deployed on a cluster of web servers, you must ensure that this
* variable has the same value on each server. If this variable is empty, a hash
* of the serialized database credentials will be used as a fallback salt.
*
* For enhanced security, you may set this variable to a value using the
* contents of a file outside your docroot that is never saved together
@ -218,7 +246,7 @@ $update_free_access = FALSE;
* $drupal_hash_salt = file_get_contents('/home/example/salt.txt');
*
*/
$drupal_hash_salt = '';
$drupal_hash_salt = '0Zxsn2w4iHq1rq-nN7QvU-qaoGU8MaycbJciaHqLJGk';
/**
* Base URL (optional).
@ -240,7 +268,7 @@ $drupal_hash_salt = '';
* It is not allowed to have a trailing slash; Drupal will add it
* for you.
*/
// $base_url = 'http://dev.materio.com'; // NO trailing slash!
# $base_url = 'http://www.example.com'; // NO trailing slash!
/**
* PHP settings:
@ -248,7 +276,7 @@ $drupal_hash_salt = '';
* To see what PHP settings are possible, including whether they can be set at
* runtime (by using ini_set()), read the PHP documentation:
* http://www.php.net/manual/en/ini.list.php
* See drupal_initialize_variables() in includes/bootstrap.inc for required
* See drupal_environment_initialize() in includes/bootstrap.inc for required
* runtime settings and the .htaccess file for non-runtime settings. Settings
* defined there should not be duplicated here so as to avoid conflict issues.
*/
@ -290,13 +318,14 @@ ini_set('session.cookie_lifetime', 2000000);
/**
* Drupal automatically generates a unique session cookie name for each site
* based on on its full domain name. If you have multiple domains pointing at
* the same Drupal site, you can either redirect them all to a single domain
* (see comment in .htaccess), or uncomment the line below and specify their
* shared base domain. Doing so assures that users remain logged in as they
* cross between your various domains.
* based on its full domain name. If you have multiple domains pointing at the
* same Drupal site, you can either redirect them all to a single domain (see
* comment in .htaccess), or uncomment the line below and specify their shared
* base domain. Doing so assures that users remain logged in as they cross
* between your various domains. Make sure to always start the $cookie_domain
* with a leading dot, as per RFC 2109.
*/
$cookie_domain = 'dev.materio.com';
# $cookie_domain = '.example.com';
/**
* Variable overrides:
@ -315,7 +344,7 @@ $cookie_domain = 'dev.materio.com';
* - anonymous: Defines the human-readable name of anonymous users.
* Remove the leading hash signs to enable.
*/
$conf['site_name'] = "materiO'";
# $conf['site_name'] = 'My Drupal site';
# $conf['theme_default'] = 'garland';
# $conf['anonymous'] = 'Visitor';
@ -330,42 +359,50 @@ $cookie_domain = 'dev.materio.com';
# $conf['maintenance_theme'] = 'bartik';
/**
* Enable this setting to determine the correct IP address of the remote
* client by examining information stored in the X-Forwarded-For headers.
* X-Forwarded-For headers are a standard mechanism for identifying client
* systems connecting through a reverse proxy server, such as Squid or
* Pound. Reverse proxy servers are often used to enhance the performance
* Reverse Proxy Configuration:
*
* Reverse proxy servers are often used to enhance the performance
* of heavily visited sites and may also provide other site caching,
* security or encryption benefits. If this Drupal installation operates
* behind a reverse proxy, this setting should be enabled so that correct
* IP address information is captured in Drupal's session management,
* logging, statistics and access management systems; if you are unsure
* about this setting, do not have a reverse proxy, or Drupal operates in
* a shared hosting environment, this setting should remain commented out.
* security, or encryption benefits. In an environment where Drupal
* is behind a reverse proxy, the real IP address of the client should
* be determined such that the correct client IP address is available
* to Drupal's logging, statistics, and access management systems. In
* the most simple scenario, the proxy server will add an
* X-Forwarded-For header to the request that contains the client IP
* address. However, HTTP headers are vulnerable to spoofing, where a
* malicious client could bypass restrictions by setting the
* X-Forwarded-For header directly. Therefore, Drupal's proxy
* configuration requires the IP addresses of all remote proxies to be
* specified in $conf['reverse_proxy_addresses'] to work correctly.
*
* Enable this setting to get Drupal to determine the client IP from
* the X-Forwarded-For header (or $conf['reverse_proxy_header'] if set).
* If you are unsure about this setting, do not have a reverse proxy,
* or Drupal operates in a shared hosting environment, this setting
* should remain commented out.
*
* In order for this setting to be used you must specify every possible
* reverse proxy IP address in $conf['reverse_proxy_addresses'].
* If a complete list of reverse proxies is not available in your
* environment (for example, if you use a CDN) you may set the
* $_SERVER['REMOTE_ADDR'] variable directly in settings.php.
* Be aware, however, that it is likely that this would allow IP
* address spoofing unless more advanced precautions are taken.
*/
# $conf['reverse_proxy'] = TRUE;
/**
* Set this value if your proxy server sends the client IP in a header other
* than X-Forwarded-For.
*
* The "X-Forwarded-For" header is a comma+space separated list of IP addresses,
* only the last one (the left-most) will be used.
*/
# $conf['reverse_proxy_header'] = 'HTTP_X_CLUSTER_CLIENT_IP';
/**
* reverse_proxy accepts an array of IP addresses.
*
* Each element of this array is the IP address of any of your reverse
* proxies. Filling this array Drupal will trust the information stored
* in the X-Forwarded-For headers only if Remote IP address is one of
* these, that is the request reaches the web server from one of your
* reverse proxies. Otherwise, the client could directly connect to
* your web server spoofing the X-Forwarded-For headers.
* Specify every reverse proxy IP address in your environment.
* This setting is required if $conf['reverse_proxy'] is TRUE.
*/
# $conf['reverse_proxy_addresses'] = array('a.b.c.d', ...);
/**
* Set this value if your proxy server sends the client IP in a header
* other than X-Forwarded-For.
*/
# $conf['reverse_proxy_header'] = 'HTTP_X_CLUSTER_CLIENT_IP';
/**
* Page caching:
*
@ -377,8 +414,7 @@ $cookie_domain = 'dev.materio.com';
* the cache. If the site has mostly anonymous users except a few known
* editors/administrators, the Vary header can be omitted. This allows for
* better caching in HTTP proxies (including reverse proxies), i.e. even if
* clients send different cookies, they still get content served from the cache
* if aggressive caching is enabled and the minimum cache time is non-zero.
* clients send different cookies, they still get content served from the cache.
* However, authenticated users should access the site directly (i.e. not use an
* HTTP proxy, and bypass the reverse proxy if one is used) in order to avoid
* getting cached pages from the proxy.
@ -437,6 +473,42 @@ $cookie_domain = 'dev.materio.com';
# 'a.b.c.d',
# );
/**
* Fast 404 pages:
*
* Drupal can generate fully themed 404 pages. However, some of these responses
* are for images or other resource files that are not displayed to the user.
* This can waste bandwidth, and also generate server load.
*
* The options below return a simple, fast 404 page for URLs matching a
* specific pattern:
* - 404_fast_paths_exclude: A regular expression to match paths to exclude,
* such as images generated by image styles, or dynamically-resized images.
* If you need to add more paths, you can add '|path' to the expression.
* - 404_fast_paths: A regular expression to match paths that should return a
* simple 404 page, rather than the fully themed 404 page. If you don't have
* any aliases ending in htm or html you can add '|s?html?' to the expression.
* - 404_fast_html: The html to return for simple 404 pages.
*
* Add leading hash signs if you would like to disable this functionality.
*/
$conf['404_fast_paths_exclude'] = '/\/(?:styles)\//';
$conf['404_fast_paths'] = '/\.(?:txt|png|gif|jpe?g|css|js|ico|swf|flv|cgi|bat|pl|dll|exe|asp)$/i';
$conf['404_fast_html'] = '<html xmlns="http://www.w3.org/1999/xhtml"><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL "@path" was not found on this server.</p></body></html>';
/**
* By default, fast 404s are returned as part of the normal page request
* process, which will properly serve valid pages that happen to match and will
* also log actual 404s to the Drupal log. Alternatively you can choose to
* return a 404 now by uncommenting the following line. This will reduce server
* load, but will cause even valid pages that happen to match the pattern to
* return 404s, rather than the actual page. It will also prevent the Drupal
* system log entry. Ensure you understand the effects of this before enabling.
*
* To enable this functionality, remove the leading hash sign below.
*/
# drupal_fast_404();
/**
* Authorized file system operations:
*
@ -452,32 +524,3 @@ $cookie_domain = 'dev.materio.com';
* Remove the leading hash signs to disable.
*/
# $conf['allow_authorize_operations'] = FALSE;
// $conf['cache'] = 0;
$conf['preprocess_js'] = 0;
$conf['preprocess_css'] = 0;
$conf['session_limit_max'] = 10;
$conf['maillog_send'] = 0;
$conf['enforce_limit'] = 'no';
$conf['search_api_solr_overrides'] = array(
'materio_solr3_en' => array(
'name' => t('Materio EN Solr Server (Overridden)'),
'options' => array(
'host' => 'solr',
'port' => 8983,
'path' => '/solr/materio_base_en',
),
),
'materio_solr3_fr' => array(
'name' => t('Materio FR Solr Server (Overridden)'),
'options' => array(
'host' => 'solr',
'port' => 8983,
'path' => '/solr/materio_base_fr',
),
),
);

18
ressources/xdebug.ini Normal file
View File

@ -0,0 +1,18 @@
[xdebug]
xdebug.remote_enable=1
;Should use host.docker.internal but not working on linux
xdebug.remote_host=172.20.0.1
;Not working on docker context
xdebug.remote_connect_back=0
;9000 is already bound by php-fpm
xdebug.remote_port=9001
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_autostart=true
; ?=XDEBUG_SESSION_START=1
;Log file is mounted on volume so you can follow it
xdebug.remote_log=/var/log/xdebug-error.log
xdebug.profiler_enable_trigger=1
xdebug.profiler_enable=0
xdebug.profiler_output_dir=/var/log/
; Example: http://localhost:8080/test?XDEBUG_PROFILE=1

1
src_d7 Submodule

@ -0,0 +1 @@
Subproject commit be8ccebfacf2255f28bc0f5a192272ad87d115d6

1
src_d9 Submodule

@ -0,0 +1 @@
Subproject commit baea2a05ddd02a55f06f9690238a79a63a2f691c