Compare commits

...

9 Commits

Author SHA1 Message Date
09342b818d svg 2024-03-14 12:18:39 +01:00
9b54fe186f pb wordpress 2024-03-13 20:28:49 +01:00
f5930cf215 pb wordpress 2024-03-13 19:13:53 +01:00
eae3fc7bdc no cron 2024-03-13 17:38:34 +01:00
e75880feee cron nextcloud at the end of init 2024-03-13 17:18:54 +01:00
efd3e17b22 demo command 2024-03-13 16:41:50 +01:00
3e5dfcd49e wordpress 2024-03-06 08:48:50 +01:00
02bf178c36 svg 2024-03-01 21:13:08 +01:00
c6662c5588 svg 2024-03-01 21:12:48 +01:00
18 changed files with 751 additions and 153 deletions

419
doc/demo.html Normal file
View File

@ -0,0 +1,419 @@
<!DOCTYPE html>
<html>
<head>
<title>demo.md</title>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<style>
/* https://github.com/microsoft/vscode/blob/master/extensions/markdown-language-features/media/markdown.css */
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
body {
font-family: var(--vscode-markdown-font-family, -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "Ubuntu", "Droid Sans", sans-serif);
font-size: var(--vscode-markdown-font-size, 14px);
padding: 0 26px;
line-height: var(--vscode-markdown-line-height, 22px);
word-wrap: break-word;
}
#code-csp-warning {
position: fixed;
top: 0;
right: 0;
color: white;
margin: 16px;
text-align: center;
font-size: 12px;
font-family: sans-serif;
background-color:#444444;
cursor: pointer;
padding: 6px;
box-shadow: 1px 1px 1px rgba(0,0,0,.25);
}
#code-csp-warning:hover {
text-decoration: none;
background-color:#007acc;
box-shadow: 2px 2px 2px rgba(0,0,0,.25);
}
body.scrollBeyondLastLine {
margin-bottom: calc(100vh - 22px);
}
body.showEditorSelection .code-line {
position: relative;
}
body.showEditorSelection .code-active-line:before,
body.showEditorSelection .code-line:hover:before {
content: "";
display: block;
position: absolute;
top: 0;
left: -12px;
height: 100%;
}
body.showEditorSelection li.code-active-line:before,
body.showEditorSelection li.code-line:hover:before {
left: -30px;
}
.vscode-light.showEditorSelection .code-active-line:before {
border-left: 3px solid rgba(0, 0, 0, 0.15);
}
.vscode-light.showEditorSelection .code-line:hover:before {
border-left: 3px solid rgba(0, 0, 0, 0.40);
}
.vscode-light.showEditorSelection .code-line .code-line:hover:before {
border-left: none;
}
.vscode-dark.showEditorSelection .code-active-line:before {
border-left: 3px solid rgba(255, 255, 255, 0.4);
}
.vscode-dark.showEditorSelection .code-line:hover:before {
border-left: 3px solid rgba(255, 255, 255, 0.60);
}
.vscode-dark.showEditorSelection .code-line .code-line:hover:before {
border-left: none;
}
.vscode-high-contrast.showEditorSelection .code-active-line:before {
border-left: 3px solid rgba(255, 160, 0, 0.7);
}
.vscode-high-contrast.showEditorSelection .code-line:hover:before {
border-left: 3px solid rgba(255, 160, 0, 1);
}
.vscode-high-contrast.showEditorSelection .code-line .code-line:hover:before {
border-left: none;
}
img {
max-width: 100%;
max-height: 100%;
}
a {
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
a:focus,
input:focus,
select:focus,
textarea:focus {
outline: 1px solid -webkit-focus-ring-color;
outline-offset: -1px;
}
hr {
border: 0;
height: 2px;
border-bottom: 2px solid;
}
h1 {
padding-bottom: 0.3em;
line-height: 1.2;
border-bottom-width: 1px;
border-bottom-style: solid;
}
h1, h2, h3 {
font-weight: normal;
}
table {
border-collapse: collapse;
}
table > thead > tr > th {
text-align: left;
border-bottom: 1px solid;
}
table > thead > tr > th,
table > thead > tr > td,
table > tbody > tr > th,
table > tbody > tr > td {
padding: 5px 10px;
}
table > tbody > tr + tr > td {
border-top: 1px solid;
}
blockquote {
margin: 0 7px 0 5px;
padding: 0 16px 0 10px;
border-left-width: 5px;
border-left-style: solid;
}
code {
font-family: Menlo, Monaco, Consolas, "Droid Sans Mono", "Courier New", monospace, "Droid Sans Fallback";
font-size: 1em;
line-height: 1.357em;
}
body.wordWrap pre {
white-space: pre-wrap;
}
pre:not(.hljs),
pre.hljs code > div {
padding: 16px;
border-radius: 3px;
overflow: auto;
}
pre code {
color: var(--vscode-editor-foreground);
tab-size: 4;
}
/** Theming */
.vscode-light pre {
background-color: rgba(220, 220, 220, 0.4);
}
.vscode-dark pre {
background-color: rgba(10, 10, 10, 0.4);
}
.vscode-high-contrast pre {
background-color: rgb(0, 0, 0);
}
.vscode-high-contrast h1 {
border-color: rgb(0, 0, 0);
}
.vscode-light table > thead > tr > th {
border-color: rgba(0, 0, 0, 0.69);
}
.vscode-dark table > thead > tr > th {
border-color: rgba(255, 255, 255, 0.69);
}
.vscode-light h1,
.vscode-light hr,
.vscode-light table > tbody > tr + tr > td {
border-color: rgba(0, 0, 0, 0.18);
}
.vscode-dark h1,
.vscode-dark hr,
.vscode-dark table > tbody > tr + tr > td {
border-color: rgba(255, 255, 255, 0.18);
}
</style>
<style>
/* Tomorrow Theme */
/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
/* Original theme - https://github.com/chriskempson/tomorrow-theme */
/* Tomorrow Comment */
.hljs-comment,
.hljs-quote {
color: #8e908c;
}
/* Tomorrow Red */
.hljs-variable,
.hljs-template-variable,
.hljs-tag,
.hljs-name,
.hljs-selector-id,
.hljs-selector-class,
.hljs-regexp,
.hljs-deletion {
color: #c82829;
}
/* Tomorrow Orange */
.hljs-number,
.hljs-built_in,
.hljs-builtin-name,
.hljs-literal,
.hljs-type,
.hljs-params,
.hljs-meta,
.hljs-link {
color: #f5871f;
}
/* Tomorrow Yellow */
.hljs-attribute {
color: #eab700;
}
/* Tomorrow Green */
.hljs-string,
.hljs-symbol,
.hljs-bullet,
.hljs-addition {
color: #718c00;
}
/* Tomorrow Blue */
.hljs-title,
.hljs-section {
color: #4271ae;
}
/* Tomorrow Purple */
.hljs-keyword,
.hljs-selector-tag {
color: #8959a8;
}
.hljs {
display: block;
overflow-x: auto;
color: #4d4d4c;
padding: 0.5em;
}
.hljs-emphasis {
font-style: italic;
}
.hljs-strong {
font-weight: bold;
}
</style>
<style>
/*
* Markdown PDF CSS
*/
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "Ubuntu", "Droid Sans", sans-serif, "Meiryo";
padding: 0 12px;
}
pre {
background-color: #f8f8f8;
border: 1px solid #cccccc;
border-radius: 3px;
overflow-x: auto;
white-space: pre-wrap;
overflow-wrap: break-word;
}
pre:not(.hljs) {
padding: 23px;
line-height: 19px;
}
blockquote {
background: rgba(127, 127, 127, 0.1);
border-color: rgba(0, 122, 204, 0.5);
}
.emoji {
height: 1.4em;
}
code {
font-size: 14px;
line-height: 19px;
}
/* for inline code */
:not(pre):not(.hljs) > code {
color: #C9AE75; /* Change the old color so it seems less like an error */
font-size: inherit;
}
/* Page Break : use <div class="page"/> to insert page break
-------------------------------------------------------- */
.page {
page-break-after: always;
}
</style>
<link rel="stylesheet" href="file:///home/afornerot/cadoles/envole-project/doc/tools/cadoles_theme.css" type="text/css">
<script src="https://unpkg.com/mermaid/dist/mermaid.min.js"></script>
</head>
<body>
<script>
mermaid.initialize({
startOnLoad: true,
theme: document.body.classList.contains('vscode-dark') || document.body.classList.contains('vscode-high-contrast')
? 'dark'
: 'default'
});
</script>
<p># Etape 00 = Etendre l'espace disque<br>
8go de RAM<br>
lvextend -l +100%FREE /dev/mapper/eolebase--vg-root<br>
resize2fs /dev/mapper/eolebase--vg-root</p>
<p># Etape 02 = installer docker et docker-compose<br>
apt install git make apt-transport-https ca-certificates curl gnupg-agent software-properties-common<br>
mkdir -p /etc/apt/keyrings<br>
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg<br>
echo <br>
&quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu <br>
$(lsb_release -cs) stable&quot; | tee /etc/apt/sources.list.d/docker.list &gt; /dev/null<br>
apt update<br>
apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-compose</p>
<p># Etape 01 = Installer eole-web<br>
apt-get install eole-web</p>
<p># Installer Envole<br>
cd /root<br>
mkdir git<br>
cd /root/git<br>
git clone https://forge.cadoles.com/Envole/envole.git<br>
cd /root/git/envole<br>
make install<br>
cp /root/git/envole/misc/tools/e-reconfigure.sh /usr/bin/e-reconfigure<br>
chmod +x /usr/bin/e-reconfigure<br>
cp /root/git/envole/docker/envole.sh /usr/bin/envole<br>
chmod +x /usr/bin/envole</p>
<p>## A FAIRE A LA MAIN CAR PAS POSSIBLE DE LES SET D'UN COUP<br>
CreoleSet activer_mysql non<br>
CreoleSet web_url eolebase.ac-test.fr<br>
CreoleSet web_redirection /ninegate</p>
<p>CreoleSet cas_host envole.ac_test.fr<br>
CreoleSet openldap_host envole.ac_test.fr<br>
CreoleSet nextcloud_samba_host 192.168.0.26</p>
<p># Définition des secrets<br>
CreoleSet openldap_password changeme<br>
CreoleSet database_rootpassword changeme<br>
CreoleSet database_userpassword changeme<br>
CreoleSet envole_adminpassword changeme<br>
CreoleSet ninegate_secret changeme<br>
CreoleSet keycload_userpassword changeme</p>
<h1 id="activation-des-applications">Activation des applications</h1>
<p>CreoleSet activer_nineboard oui<br>
CreoleSet activer_nextcloud oui<br>
CreoleSet activer_nextcloud oui<br>
CreoleSet activer_wordpress oui<br>
CreoleSet activer_phpldapadmin oui</p>
<p># Appliquer la configuration<br>
reconfigure</p>
<p># Pendant le reconf expliquer qu'il faut que le scribe soit up et avec un password writer connu sur l'annuaire</p>
</body>
</html>

61
doc/demo.md Normal file
View File

@ -0,0 +1,61 @@
# Etape 00 = Etendre l'espace disque
8go de RAM
lvextend -l +100%FREE /dev/mapper/eolebase--vg-root
resize2fs /dev/mapper/eolebase--vg-root
# Etape 02 = installer docker et docker-compose
apt install git make apt-transport-https ca-certificates curl gnupg-agent software-properties-common
mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-compose
# Etape 01 = Installer eole-web
apt-get install eole-web
# Installer Envole
cd /root
mkdir git
cd /root/git
git clone https://forge.cadoles.com/Envole/envole.git
cd /root/git/envole
make install
cp /root/git/envole/misc/tools/e-reconfigure.sh /usr/bin/e-reconfigure
chmod +x /usr/bin/e-reconfigure
cp /root/git/envole/docker/envole.sh /usr/bin/envole
chmod +x /usr/bin/envole
## A FAIRE A LA MAIN CAR PAS POSSIBLE DE LES SET D'UN COUP
CreoleSet activer_mysql non
CreoleSet web_url eolebase.ac-test.fr
CreoleSet web_redirection /ninegate
CreoleSet cas_host envole.ac_test.fr
CreoleSet openldap_host envole.ac_test.fr
CreoleSet nextcloud_samba_host 192.168.0.26
# Définition des secrets
CreoleSet openldap_password changeme
CreoleSet database_rootpassword changeme
CreoleSet database_userpassword changeme
CreoleSet envole_adminpassword changeme
CreoleSet ninegate_secret changeme
CreoleSet keycload_userpassword changeme
# Activation des applications
CreoleSet activer_nineboard oui
CreoleSet activer_nextcloud oui
CreoleSet activer_nextcloud oui
CreoleSet activer_wordpress oui
CreoleSet activer_phpldapadmin oui
# Appliquer la configuration
reconfigure
# Pendant le reconf expliquer qu'il faut que le scribe soit up et avec un password writer connu sur l'annuaire

BIN
doc/demo.pdf Normal file

Binary file not shown.

View File

@ -116,7 +116,7 @@ services:
- ./volume/nineboard/data/public:/app/public/uploads
wordpress:
image: wordpress
image: reg.cadoles.com/envole/wordpress
container_name: envole-wordpress
restart: always
healthcheck:
@ -129,7 +129,7 @@ services:
ports:
- "9003:80"
volumes:
- ./volume/wordpress/data:/var/www/html
- ./volume/wordpress/data:/app/public/wp-content
adminer:
image: docker.io/library/adminer

View File

@ -14,6 +14,9 @@ WIDNEXTCLOUD_URL=${NEXTCLOUD_URL}
ACTIVATE_WIDNINEBOARD=${NINEBOARD_ACTIVATE}
WIDNINEBOARD_URL=${NINEBOARD_URL}
ACTIVATE_WIDWORDPRESS=${WORDPRESS_ACTIVATE}
WIDWORDPRESS_URL=${WORDPRESS_URL}
ACTIVATE_WIDGENCONFIG=${GENCONFIG_ACTIVATE}
WIDGENCONFIG_URL=${GENCONFIG_URL}

View File

@ -5,4 +5,10 @@ WORDPRESS_DB_HOST=mariadb
WORDPRESS_DB_NAME=wordpress
WORDPRESS_DB_USER=${MARIADB_USER}
WORDPRESS_DB_PASSWORD=${MARIADB_PASSWORD}
WORDPRESS_TITLE=wordpress
WORDPRESS_USER=${ADMIN_USER}
WORDPRESS_PASSWORD=${ADMIN_PASSWORD}
WORDPRESS_EMAIL=${ADMIN_USER}@noreply.fr
WORDPRESS_PROTOCOL=${PROTOCOLE}
WORDPRESS_DOMAINE=${WEB_URL}
WORDPRESS_ALIAS=/wordpress/

View File

@ -3,6 +3,8 @@
#1 : action = default up
#2 : service = optionnel
cd /usr/share/envole/docker
# Fusionner l'ensemble des fichier .env en un seul
rm -f ./.env.local
cat ./env/.env* >> ./.env.local
@ -155,45 +157,160 @@ upservice(){
wait_for_container $1
}
createdatabase(){
# DATABASE
function upmariadb {
if [[ $MARIADB_ACTIVATE == 1 && $MARIADB_LOCAL == 1 ]]
then
Title "DATABASE"
Title "MARIADB"
EchoVert "CONTAINER"
upservice $MARIADB_SERVICE_NAME
Echo
fi
}
function upopenldap {
if [[ $LDAP_ACTIVATE == 1 && $LDAP_LOCAL == 1 ]]
then
Title ${OPENLDAP_SERVICE_NAME^^}
EchoVert "CONTAINER"
mkdir -p ./volume/openldap/data
chmod a+wr ./volume/openldap/data
upservice $OPENLDAP_SERVICE_NAME
$PODCOMPOSEBIN exec $OPENLDAP_SERVICE_NAME /envole/init.sh
Echo
fi
}
function upkeycloak {
if [[ $CAS_ACTIVATE == 1 && $CAS_LOCAL == 1 ]]
then
Title ${KEYCLOAK_SERVICE_NAME^^}
# CREATE BDD
if [[ $CAS_ACTIVATE == 1 && $CAS_LOCAL == 1 ]]
if [[ $MARIADB_ACTIVATE == 1 && $MARIADB_LOCAL == 1 ]]
then
EchoVert ${KEYCLOAK_SERVICE_NAME^^}
EchoVert "DATABASE"
Echo ${KEYCLOAK_SERVICE_NAME^^}
$PODCOMPOSEBIN exec $MARIADB_SERVICE_NAME /envole/init.sh $KEYCLOAK_SERVICE_NAME
Echo
fi
if [[ $NINEGATE_ACTIVATE == 1 && $NINEGATE_LOCAL == 1 ]]
EchoVert "CONTAINER"
upservice $KEYCLOAK_SERVICE_NAME
Echo
fi
}
function upninegate {
if [[ $NINEGATE_ACTIVATE == 1 && $NINEGATE_LOCAL == 1 ]]
then
Title ${NINEGATE_SERVICE_NAME^^}
if [[ $MARIADB_ACTIVATE == 1 && $MARIADB_LOCAL == 1 ]]
then
EchoVert ${NINEGATE_SERVICE_NAME^^}
EchoVert "DATABASE"
Echo ${NINEGATE_SERVICE_NAME^^}
$PODCOMPOSEBIN exec $MARIADB_SERVICE_NAME /envole/init.sh $NINEGATE_SERVICE_NAME
Echo
fi
if [[ $NINEBOARD_ACTIVATE == 1 && $NINEBOARD_LOCAL == 1 ]]
EchoVert "CONTAINER"
upservice ${NINEGATE_SERVICE_NAME}
chmod -R a+wr ./volume/ninegate/data
Echo
fi
}
function upnineboard {
if [[ $NINEBOARD_ACTIVATE == 1 && $NINEBOARD_LOCAL == 1 ]]
then
Title ${NINEBOARD_SERVICE_NAME^^}
if [[ $MARIADB_ACTIVATE == 1 && $MARIADB_LOCAL == 1 ]]
then
EchoVert ${NINEBOARD_SERVICE_NAME^^}
EchoVert "DATABASE"
Echo ${NINEBOARD_SERVICE_NAME^^}
$PODCOMPOSEBIN exec $MARIADB_SERVICE_NAME /envole/init.sh $NINEBOARD_SERVICE_NAME
Echo
fi
if [[ $NEXTCLOUD_ACTIVATE == 1 && $NEXTCLOUD_LOCAL == 1 ]]
EchoVert "CONTAINER"
upservice ${NINEBOARD_SERVICE_NAME}
chmod -R a+wr ./volume/nineboard/data
Echo
fi
}
function upnextcloud {
if [[ $NEXTCLOUD_ACTIVATE == 1 && $NEXTCLOUD_LOCAL == 1 ]]
then
Title ${NEXTCLOUD_SERVICE_NAME^^}
if [[ $MARIADB_ACTIVATE == 1 && $MARIADB_LOCAL == 1 ]]
then
EchoVert ${NEXTCLOUD_SERVICE_NAME^^}
EchoVert "DATABASE"
Echo ${NEXTCLOUD_SERVICE_NAME^^}
Echo
$PODCOMPOSEBIN exec $MARIADB_SERVICE_NAME /envole/init.sh $NEXTCLOUD_SERVICE_NAME
fi
if [[ $WORDPRESS_ACTIVATE == 1 && $WORDPRESS_LOCAL == 1 ]]
EchoVert "CONTAINER"
upservice ${NEXTCLOUD_SERVICE_NAME}
Echo
fi
}
function upwordpress {
if [[ $WORDPRESS_ACTIVATE == 1 && $WORDPRESS_LOCAL == 1 ]]
then
Title ${WORDPRESS_SERVICE_NAME^^}
if [[ $MARIADB_ACTIVATE == 1 && $MARIADB_LOCAL == 1 ]]
then
EchoVert ${WORDPRESS_SERVICE_NAME^^}
EchoVert "DATABASE"
Echo ${WORDPRESS_SERVICE_NAME^^}
$PODCOMPOSEBIN exec $MARIADB_SERVICE_NAME /envole/init.sh $WORDPRESS_SERVICE_NAME
fi
Echo
fi
EchoVert "CONTAINER"
upservice ${WORDPRESS_SERVICE_NAME}
Echo
fi
}
function upadminer {
if [[ $ADMINER_ACTIVATE == 1 && $ADMINER_LOCAL == 1 ]]
then
Title ${ADMINER_SERVICE_NAME^^}
EchoVert "CONTAINER"
$PODCOMPOSEBIN up -d ${ADMINER_SERVICE_NAME}
Echo
fi
}
function upphpldapadmin {
if [[ $PHPLDAPADMIN_ACTIVATE == 1 && $PHPLDAPADMIN_LOCAL == 1 ]]
then
Title ${PHPLDAPADMIN_SERVICE_NAME^^}
EchoVert "CONTAINER"
$PODCOMPOSEBIN up -d ${PHPLDAPADMIN_SERVICE_NAME}
Echo
fi
}
function upnineapache {
if [[ $NINEAPACHE_ACTIVATE == 1 && $NINEAPACHE_LOCAL == 1 ]]
then
Title ${NINEAPACHE_SERVICE_NAME^^}
EchoVert "CONTAINER"
$PODCOMPOSEBIN up -d ${NINEAPACHE_SERVICE_NAME}
Echo
fi
}
#===========================================================================================================================================
#== UP =====================================================================================================================================
#===========================================================================================================================================
@ -221,96 +338,37 @@ up(){
fi
# MARIADB
if [[ $MARIADB_ACTIVATE == 1 && $MARIADB_LOCAL == 1 ]]
then
Title "MARIADB"
upservice $MARIADB_SERVICE_NAME
createdatabase
fi
upmariadb
# OPENLDAP
if [[ $LDAP_ACTIVATE == 1 && $LDAP_LOCAL == 1 ]]
then
Title ${OPENLDAP_SERVICE_NAME^^}
mkdir -p ./volume/openldap/data
chmod a+wr ./volume/openldap/data
upservice $OPENLDAP_SERVICE_NAME
$PODCOMPOSEBIN exec $OPENLDAP_SERVICE_NAME /envole/init.sh
echo
fi
upopenldap
# CAS
if [[ $CAS_ACTIVATE == 1 && $CAS_LOCAL == 1 ]]
then
Title ${KEYCLOAK_SERVICE_NAME^^}
upservice $KEYCLOAK_SERVICE_NAME
echo
fi
# KEYCLOAK
upkeycloak
# NINEGATE
if [[ $NINEGATE_ACTIVATE == 1 && $NINEGATE_LOCAL == 1 ]]
then
Title ${NINEGATE_SERVICE_NAME^^}
upservice ${NINEGATE_SERVICE_NAME}
chmod -R a+wr ./volume/ninegate/data
echo
fi
upninegate
# NINEBOARD
if [[ $NINEBOARD_ACTIVATE == 1 && $NINEBOARD_LOCAL == 1 ]]
then
Title ${NINEBOARD_SERVICE_NAME^^}
upservice ${NINEBOARD_SERVICE_NAME}
chmod -R a+wr ./volume/nineboard/data
echo
fi
upnineboard
# NEXTCLOUD
if [[ $NEXTCLOUD_ACTIVATE == 1 && $NEXTCLOUD_LOCAL == 1 ]]
then
Title ${NEXTCLOUD_SERVICE_NAME^^}
upservice ${NEXTCLOUD_SERVICE_NAME}
echo
fi
upnextcloud
# WORDPRESS
if [[ $WORDPRESS_ACTIVATE == 1 && $WORDPRESS_LOCAL == 1 ]]
then
Title ${WORDPRESS_SERVICE_NAME^^}
upservice ${WORDPRESS_SERVICE_NAME}
echo
fi
upwordpress
# ADMINER
if [[ $ADMINER_ACTIVATE == 1 && $ADMINER_LOCAL == 1 ]]
then
Title ${ADMINER_SERVICE_NAME^^}
$PODCOMPOSEBIN up -d ${ADMINER_SERVICE_NAME}
echo
fi
upadminer
# PHPLDAPADMIN
if [[ $PHPLDAPADMIN_ACTIVATE == 1 && $PHPLDAPADMIN_LOCAL == 1 ]]
then
Title ${PHPLDAPADMIN_SERVICE_NAME^^}
$PODCOMPOSEBIN up -d ${PHPLDAPADMIN_SERVICE_NAME}
echo
fi
upphpldapadmin
# NINEAPACHE
if [[ $NINEAPACHE_ACTIVATE == 1 && $NINEAPACHE_LOCAL == 1 ]]
then
Title ${NINEAPACHE_SERVICE_NAME^^}
$PODCOMPOSEBIN up -d ${NINEAPACHE_SERVICE_NAME}
echo
fi
upnineapache
else
env ${1}
createdatabase
Title ${1^^}
$PODCOMPOSEBIN up -d $1
up${1}
fi
}
@ -417,6 +475,7 @@ destroy(){
if [[ "$?" = 0 || -z $2 ]]
then
$PODCOMPOSEBIN exec $MARIADB_SERVICE_NAME /envole/delete.sh $WORDPRESS_SERVICE_NAME
sudo rm -rf volume/wordpress/data
fi
fi
}
@ -494,12 +553,8 @@ else
EchoRouge "envole.sh logs monservice > LOGS de monservice"
EchoRouge "envole.sh iswait monservice > monservice est-il en cours de construction"
EchoRouge "envole.sh env monservice > regeneration du fichier d'environnement de monservice"
EchoRouge "envole.sh regen > lance destroyall puis up sur l'ensemble des service"
EchoRouge "envole.sh regen monservice > lance destroy monservice puis up monservice"
fi
echo

View File

@ -0,0 +1 @@
ldappasswd -x -H ldap://${LDAP_HOST}:${LDAP_PORT} -D ${LDAP_USER} -w ${LDAP_PASSWORD} -s $2 "uid=$1,ou=users,ou=ninegate,dc=envole,dc=org"

View File

@ -1,24 +1,10 @@
#!/bin/bash
if [[ "${MASTERIDENTITY}" == "SQL" ]]
if [[ ! -f /bitnami/openldap/.isinit ]]
then
# Modification compte cn=admin pour changer son password si besoin
# slappasswd -h {SHA} -s ${LDAP_PASSWORD} > /tmp/cnpwd.txt
# haspassword=`cat /tmp/cnpwd.txt`
# echo "dn: ${LDAP_USER}" > /tmp/cnadmin.ldif
# echo "changetype: modify" >> /tmp/cnadmin.ldif
# echo "replace: userPassword" >> /tmp/cnadmin.ldif
# echo "userPassword: ${haspassword}" >> /tmp/cnadmin.ldif
# ldapmodify -Y EXTERNAL -H ldapi:/// -f '/tmp/cnadmin.ldif'
# Modification compte uid=admin pour changer son password si besoin
# slappasswd -h {SHA} -s ${ADMIN_PASSWORD} > /tmp/uidpwd.txt
# haspassword=`cat /tmp/uidpwd.txt`
# echo "dn: uid=${ADMIN_USER},${LDAP_BASEUSER}" > /tmp/uidpwd.ldif
# echo "changetype: modify" >> /tmp/uidpwd.ldif
# echo "replace: userPassword" >> /tmp/uidpwd.ldif
# echo "userPassword: ${haspassword}" >> /tmp/uidpwd.ldif
# ldapmodify -Y EXTERNAL -H ldapi:/// -f '/tmp/uidpwd.ldif'
echo ""
echo "Initialisation annuaire"
echo ""
# Suppression de l'entrée users généré automatiquement par l'image docker bitnami/openldap
ldapdelete ou=users,${LDAP_BASEDN} -r -H ldap://${LDAP_HOST}:${LDAP_PORT} -D ${LDAP_USER} -w ${LDAP_PASSWORD} 2>/dev/null
@ -26,5 +12,7 @@ then
# Integration du ldif de base
ldapadd -H ldap://${LDAP_HOST}:${LDAP_PORT} -D ${LDAP_USER} -w ${LDAP_PASSWORD} -f '/envole/ldif/cadoles.ldif' 2>/dev/null
/envole/changepassword.sh admin ${ADMIN_PASSWORD}
fi
touch /bitnami/openldap/.isinit
fi

View File

@ -61,7 +61,6 @@ givenname: Administrateur
mail: admin@no-reply.fr
siren: 0000000A
niveau01: envole
parger: 1
userpassword: {SSHA}JYfvUM9Hf/v/NbWR5zgUkt4E5lBRGuR2

View File

@ -24,6 +24,8 @@ done
Title "Restart apache"
service apache2 restart
chmod +x $container_path_web/usr/share/envole/docker/envole.sh
$RunCmd "cd /usr/share/envole/docker && ./envole.sh" web
if [[ "$1" != "refresh" ]]
then
chmod +x $container_path_web/usr/share/envole/docker/envole.sh
$RunCmd "envole $1 $2" web
fi

View File

@ -39,7 +39,8 @@ wp config set --allow-root SUBDOMAIN_INSTALL false
wp config set --allow-root DOMAIN_CURRENT_SITE ${WORDPRESS_DOMAINE}
wp config set --allow-root PATH_CURRENT_SITE ${WORDPRESS_ALIAS}
wp config set --allow-root FORCE_ADMIN_SSL false
wp config set --allow-root SITE_ID_CURRENT_SITE 1
wp config set --allow-root BLOG_ID_CURRENT_SITE 1
# On fait croire à WP qu'il est en https
if grep -qF "_SERVER['HTTPS']='on'" "wp-config.php"; then
@ -58,4 +59,9 @@ else
fi
fi
# Mise à jour theme / plugin / network
wp theme update --allow-root --all
wp plugin update --allow-root --all
wp core update-db --network
exec $@

View File

@ -1,11 +0,0 @@
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

View File

@ -7,17 +7,19 @@ RUN apk add php81-mysqli
COPY wp-cli.phar /usr/local/bin/wp
RUN chmod +x /usr/local/bin/wp
# Installation des sources wordpress
# Configuration apache
RUN cd /app/public
COPY apache.conf /etc/apache2/conf.d/zapp.conf
# Installation des sources wordpress
RUN wp core download --path=/app/public --locale=fr_FR
#COPY .htaccess /app/public/.htaccess
RUN chown -R apache:apache /app/public
RUN find /app/public -type d -exec chmod 755 {} +
RUN find /app/public -type f -exec chmod 644 {} +
RUN mkdir /docker
COPY entrypoint.sh /docker/entrypoint.sh
RUN chmod +x /docker/entrypoint.sh
RUN chown -R apache:apache /app/public
RUN find /app/public -type d -exec chmod 755 {} +
RUN find /app/public -type f -exec chmod 644 {} +
CMD /docker/entrypoint.sh && /etc/apache2/apache2.sh
# CMD
CMD /docker/entrypoint.sh && /etc/apache2/apache2.sh

84
misc/wordpress/containers/wordpress/entrypoint.sh Normal file → Executable file
View File

@ -4,22 +4,86 @@ set -eo pipefail
cd /app/public
wp config create \
--allow-root \
--dbhost="${WORDPRESS_DB_HOST}" \
--dbname="${WORDPRESS_DB_NAME}" \
--dbuser="${WORDPRESS_DB_USER}" \
--dbpass="${WORDPRESS_DB_PASSWORD}" \
--dbcharset="utf8mb4" \
--locale="fr_FR"
if [[ ! -f /app/public/wp-config.php ]]
then
wp config create \
--allow-root \
--dbhost="${WORDPRESS_DB_HOST}" \
--dbname="${WORDPRESS_DB_NAME}" \
--dbuser="${WORDPRESS_DB_USER}" \
--dbpass="${WORDPRESS_DB_PASSWORD}" \
--dbcharset="utf8mb4" \
--locale="fr_FR"
fi
wp config set --allow-root DB_HOST ${WORDPRESS_DB_HOST}
wp config set --allow-root DB_NAME ${WORDPRESS_DB_NAME}
wp config set --allow-root DB_USER ${WORDPRESS_DB_USER}
wp config set --allow-root DB_PASSWORD ${WORDPRESS_DB_PASSWORD}
wp config set --allow-root WP_HOME ${WORDPRESS_PROTOCOL}://${WORDPRESS_DOMAINE}${WORDPRESS_ALIAS}
wp config set --allow-root WP_SITEURL ${WORDPRESS_PROTOCOL}://${WORDPRESS_DOMAINE}${WORDPRESS_ALIAS}
wp config set --allow-root WP_ALLOW_MULTISITE true
wp config set --allow-root MULTISITE true
wp config set --allow-root SUBDOMAIN_INSTALL false
wp config set --allow-root DOMAIN_CURRENT_SITE ${WORDPRESS_DOMAINE}
wp config set --allow-root PATH_CURRENT_SITE ${WORDPRESS_ALIAS}
wp config set --allow-root FORCE_ADMIN_SSL false
wp config set --allow-root SITE_ID_CURRENT_SITE 1
wp config set --allow-root BLOG_ID_CURRENT_SITE 1
# On fait croire à WP qu'il est en https
if grep -qF "_SERVER['HTTPS']='on'" "wp-config.php"; then
if [[ "${WORDPRESS_PROTOCOL}" == "https" ]]
then
echo "FORCE HTTPS already set"
fi
else
if [[ "${WORDPRESS_PROTOCOL}" == "https" ]]
then
echo "FORCE HTTPS set"
head -n 1 "wp-config.php" > "wp-config.tmp"
echo "\$_SERVER['HTTPS']='on';" >> "wp-config.tmp"
tail -n +2 "wp-config.php" >> "wp-config.tmp"
mv "wp-config.tmp" "wp-config.php"
fi
fi
# Install multisite
wp core multisite-install \
--allow-root \
--url="${WORDPRESS_WEBURL}" \
--url="${WORDPRESS_PROTOCOL}://${WORDPRESS_DOMAINE}" \
--title="${WORDPRESS_TITLE}" \
--admin_user="${WORDPRESS_USER}" \
--admin_password="${WORDPRESS_PASSWORD}" \
--admin_email="${WORDPRESS_EMAIL}" \
--skip-email
# Switch language
echo "== Switch languange"
wp language core install fr_FR
wp site switch-language fr_FR
# Install plugin
#if [[ "${MODE_AUTH}" == "CAS" && "${CAS_ACTIVATE}" == "1" ]]
#then
# wp plugin install wp-cassify
# wp plugin activate wp-cassify --network
#else
# wp plugin delete wp-cassify
#fi
# Mise à jour theme / plugin / network
wp theme install twentytwentyfour --allow-root
wp theme update --allow-root --all
wp plugin update --allow-root --all
wp language core update
wp language theme update --all
wp language plugin update --all
# Mise à jour du network
wp core update-db --network
exec $@

View File

@ -11,7 +11,7 @@ services:
MYSQL_ROOT_PASSWORD: changeme
MYSQL_DATABASE: wordpress
MYSQL_USER: user
MYSQL_PASSWORD: changeme
MYSQL_PASSWORD: changeme
volumes:
- mariadb-data:/var/lib/mysql
@ -20,6 +20,7 @@ services:
context: ./containers/wordpress
image: reg.cadoles.com/envole/wordpress
container_name: wordpress-app
restart: always
depends_on:
- mariadb
ports:
@ -37,8 +38,8 @@ services:
- WORDPRESS_DOMAINE=eolebase.ac-test.fr
- WORDPRESS_ALIAS=/wordpress/
volumes:
- ./containers/volume:/docker
#volumes:
# - ./containers/data:/app/public/wp-content/plugins/wp-cas
adminer:
image: docker.io/library/adminer

View File

@ -6,14 +6,16 @@ APP_SECRET=%%getVar("nineboard_secret","changeme")
APP_ALIAS=nineboard/
%if %%getVar("activer_ninegate", "non") == "oui"
APP_MASTERIDENTITY=NINEGATE
APP_MASTERIDENTITY=Ninegate
APP_MASTERURL=${NINEGATE_URL}
APP_MASTERKEY=%%getVar("ninegate_secret","")
%else
%if %%getVar("activer_openldap", "non") == "oui"
APP_MASTERIDENTITY=LDAP
%end if
%end if
LDAP_MODEL=${LDAP_TEMPLATE}
LDAP_FILTERGROUP=${LDAP_GROUP_FILTER}
LDAP_FILTERUSER=${LDAP_USER_FILTER}
%end if
%end if