mirror of
https://github.com/DiouxX/docker-glpi.git
synced 2026-11-07 15:32:33 -05:00
Compare commits
40
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4d4d1a0d1b | ||
|
|
f5fd511cfa | ||
|
|
c1171a1847 | ||
|
|
4dff6e4ae5 | ||
|
|
7fb771082c | ||
|
|
c67bc0b317 | ||
|
|
f8ceba3d73 | ||
|
|
f0342a357f | ||
|
|
6da5988ef3 | ||
|
|
7f7075bf06 | ||
|
|
fb5f49768c | ||
|
|
3f9a84e253 | ||
|
|
a91721b753 | ||
|
|
b97b32ebe1 | ||
|
|
af603af7b5 | ||
|
|
bfaaca8657 | ||
|
|
760591083b | ||
|
|
f5062eeb6d | ||
|
|
0bb48db140 | ||
|
|
9e702defa9 | ||
|
|
2b4db4ea20 | ||
|
|
fdbe308a26 | ||
|
|
65446fd9fe | ||
|
|
1051a4f1cf | ||
|
|
e4d30f8337 | ||
|
|
de9d8b71c1 | ||
|
|
69940f5ec1 | ||
|
|
37c78566b4 | ||
|
|
9f39374d7e | ||
|
|
a0382c3c17 | ||
|
|
5e45330a44 | ||
|
|
29142fb886 | ||
|
|
6fa1854e7d | ||
|
|
9f3a81bbd9 | ||
|
|
ecf3657deb | ||
|
|
520c287fe1 | ||
|
|
845cc6516a | ||
|
|
426fe39720 | ||
|
|
e1cc6bcac5 | ||
|
|
58ff53e00b |
No files matched your search
@@ -0,0 +1,28 @@
|
||||
name: Build & Publish Docker Image PHP 7.4
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- php7.4
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Set output
|
||||
id: vars
|
||||
run: echo ::set-output name=tag::$
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
- name: Login to DockerHub
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
|
||||
- name: Build and push
|
||||
id: docker_build
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
push: true
|
||||
tags: diouxx/glpi:php7.4
|
||||
@@ -1 +1,4 @@
|
||||
docker-compose-test.yml
|
||||
cust-entry.sh
|
||||
data
|
||||
start-docker.sh
|
||||
+7
-6
@@ -1,5 +1,5 @@
|
||||
#On choisit une debian
|
||||
FROM debian:11.1
|
||||
FROM debian:12.5
|
||||
|
||||
LABEL org.opencontainers.image.authors="github@diouxx.be"
|
||||
|
||||
@@ -9,6 +9,10 @@ ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
#Installation d'apache et de php7.4 avec extension
|
||||
RUN apt update \
|
||||
&& apt install --yes ca-certificates apt-transport-https lsb-release wget curl \
|
||||
&& curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg \
|
||||
&& sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' \
|
||||
&& apt update \
|
||||
&& apt install --yes --no-install-recommends \
|
||||
apache2 \
|
||||
php7.4 \
|
||||
@@ -16,21 +20,18 @@ php7.4-mysql \
|
||||
php7.4-ldap \
|
||||
php7.4-xmlrpc \
|
||||
php7.4-imap \
|
||||
curl \
|
||||
php7.4-curl \
|
||||
php7.4-gd \
|
||||
php7.4-mbstring \
|
||||
php7.4-xml \
|
||||
php7.4-apcu-bc \
|
||||
php-cas \
|
||||
php7.4-intl \
|
||||
php7.4-zip \
|
||||
php7.4-bz2 \
|
||||
php7.4-redis \
|
||||
cron \
|
||||
wget \
|
||||
ca-certificates \
|
||||
jq \
|
||||
libldap-2.4-2 \
|
||||
libldap-2.5-0 \
|
||||
libldap-common \
|
||||
libsasl2-2 \
|
||||
libsasl2-modules \
|
||||
|
||||
+31
-6
@@ -10,8 +10,9 @@ echo "date.timezone = \"$TIMEZONE\"" > /etc/php/7.4/apache2/conf.d/timezone.ini;
|
||||
echo "date.timezone = \"$TIMEZONE\"" > /etc/php/7.4/cli/conf.d/timezone.ini;
|
||||
fi
|
||||
|
||||
SRC_GLPI=$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/tags/${VERSION_GLPI} | jq .assets[0].browser_download_url | tr -d \")
|
||||
TAR_GLPI=$(basename ${SRC_GLPI})
|
||||
#Enable session.cookie_httponly
|
||||
sed -i 's,session.cookie_httponly = *\(on\|off\|true\|false\|0\|1\)\?,session.cookie_httponly = on,gi' /etc/php/7.4/apache2/php.ini
|
||||
|
||||
FOLDER_GLPI=glpi/
|
||||
FOLDER_WEB=/var/www/html/
|
||||
|
||||
@@ -23,26 +24,50 @@ then
|
||||
fi
|
||||
|
||||
#Téléchargement et extraction des sources de GLPI
|
||||
if [ "$(ls ${FOLDER_WEB}${FOLDER_GLPI})" ];
|
||||
if [ "$(ls ${FOLDER_WEB}${FOLDER_GLPI}/bin)" ];
|
||||
then
|
||||
echo "GLPI is already installed"
|
||||
else
|
||||
SRC_GLPI=$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/tags/${VERSION_GLPI} | jq .assets[0].browser_download_url | tr -d \")
|
||||
TAR_GLPI=$(basename ${SRC_GLPI})
|
||||
|
||||
wget -P ${FOLDER_WEB} ${SRC_GLPI}
|
||||
tar -xzf ${FOLDER_WEB}${TAR_GLPI} -C ${FOLDER_WEB}
|
||||
rm -Rf ${FOLDER_WEB}${TAR_GLPI}
|
||||
chown -R www-data:www-data ${FOLDER_WEB}${FOLDER_GLPI}
|
||||
fi
|
||||
|
||||
#Modification du vhost par défaut
|
||||
echo -e "<VirtualHost *:80>\n\tDocumentRoot /var/www/html/glpi\n\n\t<Directory /var/www/html/glpi>\n\t\tAllowOverride All\n\t\tOrder Allow,Deny\n\t\tAllow from all\n\t</Directory>\n\n\tErrorLog /var/log/apache2/error-glpi.log\n\tLogLevel warn\n\tCustomLog /var/log/apache2/access-glpi.log combined\n</VirtualHost>" > /etc/apache2/sites-available/000-default.conf
|
||||
#Adapt the Apache server according to the version of GLPI installed
|
||||
## Extract local version installed
|
||||
LOCAL_GLPI_VERSION=$(ls ${FOLDER_WEB}/${FOLDER_GLPI}/version)
|
||||
## Extract major version number
|
||||
LOCAL_GLPI_MAJOR_VERSION=$(echo $LOCAL_GLPI_VERSION | cut -d. -f1)
|
||||
## Remove dots from version string
|
||||
LOCAL_GLPI_VERSION_NUM=${LOCAL_GLPI_VERSION//./}
|
||||
|
||||
## Target value is GLPI 1.0.7
|
||||
TARGET_GLPI_VERSION="10.0.7"
|
||||
TARGET_GLPI_VERSION_NUM=${TARGET_GLPI_VERSION//./}
|
||||
TARGET_GLPI_MAJOR_VERSION=$(echo $TARGET_GLPI_VERSION | cut -d. -f1)
|
||||
|
||||
# Compare the numeric value of the version number to the target number
|
||||
if [[ $LOCAL_GLPI_VERSION_NUM -lt $TARGET_GLPI_VERSION_NUM || $LOCAL_GLPI_MAJOR_VERSION -lt $TARGET_GLPI_MAJOR_VERSION ]]; then
|
||||
echo -e "<VirtualHost *:80>\n\tDocumentRoot /var/www/html/glpi\n\n\t<Directory /var/www/html/glpi>\n\t\tAllowOverride All\n\t\tOrder Allow,Deny\n\t\tAllow from all\n\t</Directory>\n\n\tErrorLog /var/log/apache2/error-glpi.log\n\tLogLevel warn\n\tCustomLog /var/log/apache2/access-glpi.log combined\n</VirtualHost>" > /etc/apache2/sites-available/000-default.conf
|
||||
else
|
||||
set +H
|
||||
echo -e "<VirtualHost *:80>\n\tDocumentRoot /var/www/html/glpi/public\n\n\t<Directory /var/www/html/glpi/public>\n\t\tRequire all granted\n\t\tRewriteEngine On\n\t\tRewriteCond %{REQUEST_FILENAME} !-f\n\t\n\t\tRewriteRule ^(.*)$ index.php [QSA,L]\n\t</Directory>\n\n\tErrorLog /var/log/apache2/error-glpi.log\n\tLogLevel warn\n\tCustomLog /var/log/apache2/access-glpi.log combined\n</VirtualHost>" > /etc/apache2/sites-available/000-default.conf
|
||||
fi
|
||||
|
||||
#Add scheduled task by cron and enable
|
||||
echo "*/2 * * * * www-data /usr/bin/php /var/www/html/glpi/front/cron.php &>/dev/null" >> /etc/cron.d/glpi
|
||||
echo "*/2 * * * * www-data /usr/bin/php /var/www/html/glpi/front/cron.php &>/dev/null" > /etc/cron.d/glpi
|
||||
#Start cron service
|
||||
service cron start
|
||||
|
||||
#Activation du module rewrite d'apache
|
||||
a2enmod rewrite && service apache2 restart && service apache2 stop
|
||||
|
||||
#Fix to really stop apache
|
||||
pkill -9 apache
|
||||
|
||||
#Lancement du service apache au premier plan
|
||||
/usr/sbin/apache2ctl -D FOREGROUND
|
||||
@@ -0,0 +1,4 @@
|
||||
MARIADB_ROOT_PASSWORD=diouxx
|
||||
MARIADB_DATABASE=glpidb
|
||||
MARIADB_USER=glpi_user
|
||||
MARIADB_PASSWORD=glpi
|
||||
Reference in new issue
Block a user