commit
8437a3c585
@ -6,16 +6,16 @@ LABEL maintainer="contact@ocsinventory-ng.org" \
|
|||||||
|
|
||||||
ARG YUM_FLAGS="-y"
|
ARG YUM_FLAGS="-y"
|
||||||
|
|
||||||
VOLUME /var/lib/ocsinventory-reports /usr/share/ocsinventory-reports/ocsreports/extensions /etc/ocsinventory-server
|
|
||||||
|
|
||||||
ENV APACHE_RUN_USER=apache APACHE_RUN_GROUP=apache \
|
ENV APACHE_RUN_USER=apache APACHE_RUN_GROUP=apache \
|
||||||
APACHE_LOG_DIR=/var/log/httpd APACHE_PID_FILE=/var/run/httpd.pid APACHE_RUN_DIR=/var/run/httpd APACHE_LOCK_DIR=/var/lock/httpd \
|
APACHE_LOG_DIR=/var/log/httpd APACHE_PID_FILE=/var/run/httpd.pid APACHE_RUN_DIR=/var/run/httpd APACHE_LOCK_DIR=/var/lock/httpd \
|
||||||
OCS_DB_SERVER=dbsrv OCS_DB_PORT=3306 OCS_DB_USER=ocs OCS_DB_PASS=ocs OCS_DB_NAME=ocsweb \
|
OCS_DB_SERVER=dbsrv OCS_DB_PORT=3306 OCS_DB_USER=ocs OCS_DB_PASS=ocs OCS_DB_NAME=ocsweb \
|
||||||
OCS_LOG_DIR=/var/log/ocsinventory-server OCS_VARLIB_DIR=/var/lib/ocsinventory-reports/ OCS_WEBCONSOLE_DIR=/usr/share/ocsinventory-reports/ocsreports/ \
|
OCS_LOG_DIR=/var/log/ocsinventory-server OCS_VARLIB_DIR=/var/lib/ocsinventory-reports/ OCS_WEBCONSOLE_DIR=/usr/share/ocsinventory-reports \
|
||||||
OCS_PERLEXT_DIR=/etc/ocsinventory-server/perl/ OCS_PLUGINSEXT_DIR=/etc/ocsinventory-server/plugins/ \
|
OCS_PERLEXT_DIR=/etc/ocsinventory-server/perl/ OCS_PLUGINSEXT_DIR=/etc/ocsinventory-server/plugins/ \
|
||||||
OCS_SSL_ENABLED=0 OCS_SSL_WEB_MODE=DISABLED OCS_SSL_COM_MODE=DISABLED OCS_SSL_KEY=/path/to/key OCS_SSL_CERT=/path/to/cert OCS_SSL_CA=/path/to/ca \
|
OCS_SSL_ENABLED=0 OCS_SSL_WEB_MODE=DISABLED OCS_SSL_COM_MODE=DISABLED OCS_SSL_KEY=/path/to/key OCS_SSL_CERT=/path/to/cert OCS_SSL_CA=/path/to/ca \
|
||||||
TZ=Europe/Paris
|
TZ=Europe/Paris
|
||||||
|
|
||||||
|
VOLUME /var/lib/ocsinventory-reports /etc/ocsinventory-server /usr/share/ocsinventory-reports
|
||||||
|
|
||||||
WORKDIR /tmp
|
WORKDIR /tmp
|
||||||
|
|
||||||
RUN yum ${YUM_FLAGS} install wget \
|
RUN yum ${YUM_FLAGS} install wget \
|
||||||
@ -62,6 +62,18 @@ RUN yum ${YUM_FLAGS} install wget \
|
|||||||
php73-php-soap \
|
php73-php-soap \
|
||||||
php73-php-opcache ;
|
php73-php-opcache ;
|
||||||
|
|
||||||
|
RUN wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.7/OCSNG_UNIX_SERVER_2.7.tar.gz && \
|
||||||
|
tar xzf OCSNG_UNIX_SERVER_2.7.tar.gz ;
|
||||||
|
|
||||||
|
WORKDIR /tmp/OCSNG_UNIX_SERVER_2.7
|
||||||
|
|
||||||
|
RUN cd Apache/ && \
|
||||||
|
perl Makefile.PL && \
|
||||||
|
make && \
|
||||||
|
make install ;
|
||||||
|
|
||||||
|
WORKDIR /tmp
|
||||||
|
|
||||||
COPY conf/ /tmp/conf
|
COPY conf/ /tmp/conf
|
||||||
COPY ./scripts/docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
|
COPY ./scripts/docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
|
||||||
|
|
||||||
|
|||||||
@ -278,7 +278,6 @@
|
|||||||
PerlModule XML::Simple
|
PerlModule XML::Simple
|
||||||
|
|
||||||
# Ocs plugins
|
# Ocs plugins
|
||||||
PerlModule Apache::Ocsinventory::Plugins::Apache
|
|
||||||
PerlModule Apache::Ocsinventory::Plugins
|
PerlModule Apache::Ocsinventory::Plugins
|
||||||
|
|
||||||
# Ocs
|
# Ocs
|
||||||
|
|||||||
@ -10,7 +10,7 @@ services:
|
|||||||
- 443:443
|
- 443:443
|
||||||
volumes:
|
volumes:
|
||||||
- "perlcomdata:/etc/ocsinventory-server"
|
- "perlcomdata:/etc/ocsinventory-server"
|
||||||
- "extensionsdata:/usr/share/ocsinventory-reports/ocsreports/extensions"
|
- "ocsreportsdata:/usr/share/ocsinventory-reports/ocsreports"
|
||||||
- "varlibdata:/var/lib/ocsinventory-reports"
|
- "varlibdata:/var/lib/ocsinventory-reports"
|
||||||
- "httpdconfdata:/etc/httpd/conf.d"
|
- "httpdconfdata:/etc/httpd/conf.d"
|
||||||
environment:
|
environment:
|
||||||
@ -49,7 +49,7 @@ networks:
|
|||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
perlcomdata:
|
perlcomdata:
|
||||||
extensionsdata:
|
ocsreportsdata:
|
||||||
varlibdata:
|
varlibdata:
|
||||||
httpdconfdata:
|
httpdconfdata:
|
||||||
sqldata:
|
sqldata:
|
||||||
|
|||||||
@ -1,13 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Move to temp and download OCS
|
|
||||||
cd /tmp
|
|
||||||
wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.7/OCSNG_UNIX_SERVER_2.7.tar.gz
|
|
||||||
tar xzf OCSNG_UNIX_SERVER_2.7.tar.gz
|
|
||||||
cd OCSNG_UNIX_SERVER_2.7
|
|
||||||
|
|
||||||
# Create all directories
|
# Create all directories
|
||||||
mkdir -p $OCS_WEBCONSOLE_DIR
|
|
||||||
mkdir -p $OCS_LOG_DIR
|
mkdir -p $OCS_LOG_DIR
|
||||||
mkdir -p $OCS_PERLEXT_DIR/Apache/Ocsinventory/Plugins
|
mkdir -p $OCS_PERLEXT_DIR/Apache/Ocsinventory/Plugins
|
||||||
mkdir -p $OCS_PLUGINSEXT_DIR
|
mkdir -p $OCS_PLUGINSEXT_DIR
|
||||||
@ -17,56 +10,57 @@ mkdir -p $OCS_VARLIB_DIR/logs
|
|||||||
mkdir -p $OCS_VARLIB_DIR/scripts
|
mkdir -p $OCS_VARLIB_DIR/scripts
|
||||||
mkdir -p $OCS_VARLIB_DIR/snmp
|
mkdir -p $OCS_VARLIB_DIR/snmp
|
||||||
|
|
||||||
# Server compilation
|
if [ ! -f $OCS_WEBCONSOLE_DIR/ocsreports/var.php ]; then
|
||||||
cd Apache
|
cp -r /tmp/OCSNG_UNIX_SERVER_2.7/ocsreports/ ${OCS_WEBCONSOLE_DIR}
|
||||||
perl Makefile.PL
|
rm -rf ${OCS_WEBCONSOLE_DIR}/ocsreports/dbconfig.inc.php
|
||||||
make
|
fi;
|
||||||
make install
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
# Webconsole
|
|
||||||
cp -R ocsreports/* $OCS_WEBCONSOLE_DIR
|
|
||||||
|
|
||||||
# Configure z-ocsinventory-server file
|
# Configure z-ocsinventory-server file
|
||||||
cp /tmp/conf/ocsinventory-server.conf /etc/httpd/conf.d/z-ocsinventory-server.conf
|
if [ ! -f /etc/httpd/conf.d/z-ocsinventory-server.conf ]; then
|
||||||
sed -i 's/VERSION_MP/2/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
cp /tmp/conf/ocsinventory-server.conf /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/DATABASE_SERVER/'"$OCS_DB_SERVER"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/VERSION_MP/2/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/DATABASE_PORT/'"$OCS_DB_PORT"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/DATABASE_SERVER/'"$OCS_DB_SERVER"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/DATABASE_NAME/'"$OCS_DB_NAME"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/DATABASE_PORT/'"$OCS_DB_PORT"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/DATABASE_USER/'"$OCS_DB_USER"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/DATABASE_NAME/'"$OCS_DB_NAME"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/DATABASE_PASSWD/'"$OCS_DB_PASS"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/DATABASE_USER/'"$OCS_DB_USER"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/"PATH_TO_LOG_DIRECTORY"/'"${OCS_LOG_DIR//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/DATABASE_PASSWD/'"$OCS_DB_PASS"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/"PATH_TO_PLUGINS_PERL_DIRECTORY"/'"${OCS_PERLEXT_DIR//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/"PATH_TO_LOG_DIRECTORY"/'"${OCS_LOG_DIR//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/"PATH_TO_PLUGINS_CONFIG_DIRECTORY"/'"${OCS_PLUGINSEXT_DIR//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/"PATH_TO_PLUGINS_PERL_DIRECTORY"/'"${OCS_PERLEXT_DIR//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/"PATH_TO_PLUGINS_CONFIG_DIRECTORY"/'"${OCS_PLUGINSEXT_DIR//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/OCS_SSL_KEY/'"${OCS_SSL_KEY//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/OCS_SSL_CERT/'"${OCS_SSL_CERT//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/OCS_SSL_KEY/'"${OCS_SSL_KEY//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/OCS_SSL_CA/'"${OCS_SSL_CA//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/OCS_SSL_CERT/'"${OCS_SSL_CERT//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/OCS_SSL_COM_MODE/'"$OCS_SSL_COM_MODE"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/OCS_SSL_CA/'"${OCS_SSL_CA//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
|
sed -i 's/OCS_SSL_COM_MODE/'"$OCS_SSL_COM_MODE"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
|
fi
|
||||||
|
|
||||||
# Configure ocsinventory-reports file
|
# Configure ocsinventory-reports file
|
||||||
cp /tmp/conf/ocsinventory-reports.conf /etc/httpd/conf.d/ocsinventory-reports.conf
|
if [ ! -f /etc/httpd/conf.d/ocsinventory-reports.conf ]; then
|
||||||
sed -i 's/OCSREPORTS_ALIAS/\/ocsreports/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
cp /tmp/conf/ocsinventory-reports.conf /etc/httpd/conf.d/ocsinventory-reports.conf
|
||||||
sed -i 's/PATH_TO_OCSREPORTS_DIR/'"${OCS_WEBCONSOLE_DIR//\//\\/}"'/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
sed -i 's/OCSREPORTS_ALIAS/\/ocsreports/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
||||||
sed -i 's/PACKAGES_ALIAS/\/download/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
sed -i 's/PATH_TO_OCSREPORTS_DIR/'"${OCS_WEBCONSOLE_DIR//\//\\/}"'\/ocsreports/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
||||||
sed -i 's/PATH_TO_PACKAGES_DIR/'"${OCS_VARLIB_DIR//\//\\/}"'download/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
sed -i 's/PACKAGES_ALIAS/\/download/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
||||||
sed -i 's/SNMP_ALIAS/\/snmp/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
sed -i 's/PATH_TO_PACKAGES_DIR/'"${OCS_VARLIB_DIR//\//\\/}"'download/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
||||||
sed -i 's/PATH_TO_SNMP_DIR/'"${OCS_VARLIB_DIR//\//\\/}"'snmp/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
sed -i 's/SNMP_ALIAS/\/snmp/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
||||||
|
sed -i 's/PATH_TO_SNMP_DIR/'"${OCS_VARLIB_DIR//\//\\/}"'snmp/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
||||||
|
fi
|
||||||
|
|
||||||
# Generate dbconfig.inc.php
|
# Generate dbconfig.inc.php
|
||||||
cp /tmp/conf/dbconfig.inc.php $OCS_WEBCONSOLE_DIR
|
if [ ! -f $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php ]; then
|
||||||
sed -i 's/OCS_DB_NAME/'"$OCS_DB_NAME"'/g' $OCS_WEBCONSOLE_DIR/dbconfig.inc.php
|
cp /tmp/conf/dbconfig.inc.php $OCS_WEBCONSOLE_DIR/ocsreports
|
||||||
sed -i 's/OCS_READ_NAME/'"$OCS_DB_SERVER"'/g' $OCS_WEBCONSOLE_DIR/dbconfig.inc.php
|
sed -i 's/OCS_DB_NAME/'"$OCS_DB_NAME"'/g' $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php
|
||||||
sed -i 's/OCS_WRITE_NAME/'"$OCS_DB_SERVER"'/g' $OCS_WEBCONSOLE_DIR/dbconfig.inc.php
|
sed -i 's/OCS_READ_NAME/'"$OCS_DB_SERVER"'/g' $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php
|
||||||
sed -i 's/OCS_DB_PORT/'"$OCS_DB_PORT"'/g' $OCS_WEBCONSOLE_DIR/dbconfig.inc.php
|
sed -i 's/OCS_WRITE_NAME/'"$OCS_DB_SERVER"'/g' $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php
|
||||||
sed -i 's/OCS_DB_USER/'"$OCS_DB_USER"'/g' $OCS_WEBCONSOLE_DIR/dbconfig.inc.php
|
sed -i 's/OCS_DB_PORT/'"$OCS_DB_PORT"'/g' $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php
|
||||||
sed -i 's/OCS_DB_PASS/'"$OCS_DB_PASS"'/g' $OCS_WEBCONSOLE_DIR/dbconfig.inc.php
|
sed -i 's/OCS_DB_USER/'"$OCS_DB_USER"'/g' $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php
|
||||||
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' $OCS_WEBCONSOLE_DIR/dbconfig.inc.php
|
sed -i 's/OCS_DB_PASS/'"$OCS_DB_PASS"'/g' $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php
|
||||||
sed -i 's/OCS_SSL_WEB_MODE/'"$OCS_SSL_WEB_MODE"'/g' $OCS_WEBCONSOLE_DIR/dbconfig.inc.php
|
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php
|
||||||
sed -i 's/OCS_SSL_KEY/'"${OCS_SSL_KEY//\//\\/}"'/g' $OCS_WEBCONSOLE_DIR/dbconfig.inc.php
|
sed -i 's/OCS_SSL_WEB_MODE/'"$OCS_SSL_WEB_MODE"'/g' $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php
|
||||||
sed -i 's/OCS_SSL_CERT/'"${OCS_SSL_CERT//\//\\/}"'/g' $OCS_WEBCONSOLE_DIR/dbconfig.inc.php
|
sed -i 's/OCS_SSL_KEY/'"${OCS_SSL_KEY//\//\\/}"'/g' $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php
|
||||||
sed -i 's/OCS_SSL_CA/'"${OCS_SSL_CA//\//\\/}"'/g' $OCS_WEBCONSOLE_DIR/dbconfig.inc.php
|
sed -i 's/OCS_SSL_CERT/'"${OCS_SSL_CERT//\//\\/}"'/g' $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php
|
||||||
|
sed -i 's/OCS_SSL_CA/'"${OCS_SSL_CA//\//\\/}"'/g' $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php
|
||||||
|
fi
|
||||||
|
|
||||||
# Permissions
|
# Permissions
|
||||||
chown -R $APACHE_RUN_USER: $OCS_VARLIB_DIR
|
chown -R $APACHE_RUN_USER: $OCS_VARLIB_DIR
|
||||||
@ -74,7 +68,9 @@ chown -R $APACHE_RUN_USER: $OCS_LOG_DIR
|
|||||||
chown -R $APACHE_RUN_USER: $OCS_WEBCONSOLE_DIR
|
chown -R $APACHE_RUN_USER: $OCS_WEBCONSOLE_DIR
|
||||||
|
|
||||||
# rm install.php
|
# rm install.php
|
||||||
rm $OCS_WEBCONSOLE_DIR/install.php
|
if [ -f $OCS_WEBCONSOLE_DIR/ocsreports/install.php ]; then
|
||||||
|
rm $OCS_WEBCONSOLE_DIR/ocsreports/install.php
|
||||||
|
fi
|
||||||
|
|
||||||
# Remove temp files
|
# Remove temp files
|
||||||
cd /tmp
|
cd /tmp
|
||||||
|
|||||||
@ -6,16 +6,16 @@ LABEL maintainer="contact@ocsinventory-ng.org" \
|
|||||||
|
|
||||||
ARG YUM_FLAGS="-y"
|
ARG YUM_FLAGS="-y"
|
||||||
|
|
||||||
VOLUME /var/lib/ocsinventory-reports /usr/share/ocsinventory-reports/ocsreports/extensions /etc/ocsinventory-server
|
|
||||||
|
|
||||||
ENV APACHE_RUN_USER=apache APACHE_RUN_GROUP=apache \
|
ENV APACHE_RUN_USER=apache APACHE_RUN_GROUP=apache \
|
||||||
APACHE_LOG_DIR=/var/log/httpd APACHE_PID_FILE=/var/run/httpd.pid APACHE_RUN_DIR=/var/run/httpd APACHE_LOCK_DIR=/var/lock/httpd \
|
APACHE_LOG_DIR=/var/log/httpd APACHE_PID_FILE=/var/run/httpd.pid APACHE_RUN_DIR=/var/run/httpd APACHE_LOCK_DIR=/var/lock/httpd \
|
||||||
OCS_DB_SERVER=dbsrv OCS_DB_PORT=3306 OCS_DB_USER=ocs OCS_DB_PASS=ocs OCS_DB_NAME=ocsweb \
|
OCS_DB_SERVER=dbsrv OCS_DB_PORT=3306 OCS_DB_USER=ocs OCS_DB_PASS=ocs OCS_DB_NAME=ocsweb \
|
||||||
OCS_LOG_DIR=/var/log/ocsinventory-server OCS_VARLIB_DIR=/var/lib/ocsinventory-reports/ OCS_WEBCONSOLE_DIR=/usr/share/ocsinventory-reports/ocsreports/ \
|
OCS_LOG_DIR=/var/log/ocsinventory-server OCS_VARLIB_DIR=/var/lib/ocsinventory-reports/ OCS_WEBCONSOLE_DIR=/usr/share/ocsinventory-reports \
|
||||||
OCS_PERLEXT_DIR=/etc/ocsinventory-server/perl/ OCS_PLUGINSEXT_DIR=/etc/ocsinventory-server/plugins/ \
|
OCS_PERLEXT_DIR=/etc/ocsinventory-server/perl/ OCS_PLUGINSEXT_DIR=/etc/ocsinventory-server/plugins/ \
|
||||||
OCS_SSL_ENABLED=0 OCS_SSL_WEB_MODE=DISABLED OCS_SSL_COM_MODE=DISABLED OCS_SSL_KEY=/path/to/key OCS_SSL_CERT=/path/to/cert OCS_SSL_CA=/path/to/ca \
|
OCS_SSL_ENABLED=0 OCS_SSL_WEB_MODE=DISABLED OCS_SSL_COM_MODE=DISABLED OCS_SSL_KEY=/path/to/key OCS_SSL_CERT=/path/to/cert OCS_SSL_CA=/path/to/ca \
|
||||||
TZ=Europe/Paris
|
TZ=Europe/Paris
|
||||||
|
|
||||||
|
VOLUME /var/lib/ocsinventory-reports /etc/ocsinventory-server /usr/share/ocsinventory-reports
|
||||||
|
|
||||||
WORKDIR /tmp
|
WORKDIR /tmp
|
||||||
|
|
||||||
RUN yum ${YUM_FLAGS} install wget \
|
RUN yum ${YUM_FLAGS} install wget \
|
||||||
@ -62,6 +62,18 @@ RUN yum ${YUM_FLAGS} install wget \
|
|||||||
php73-php-soap \
|
php73-php-soap \
|
||||||
php73-php-opcache ;
|
php73-php-opcache ;
|
||||||
|
|
||||||
|
RUN wget http://download.ocsinventory-ng.org/nightly/latest.tar.gz && \
|
||||||
|
tar xzf latest.tar.gz ;
|
||||||
|
|
||||||
|
WORKDIR /tmp/OCSNG_UNIX_SERVER
|
||||||
|
|
||||||
|
RUN cd Apache/ && \
|
||||||
|
perl Makefile.PL && \
|
||||||
|
make && \
|
||||||
|
make install ;
|
||||||
|
|
||||||
|
WORKDIR /tmp
|
||||||
|
|
||||||
COPY conf/ /tmp/conf
|
COPY conf/ /tmp/conf
|
||||||
COPY ./scripts/docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
|
COPY ./scripts/docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
|
||||||
|
|
||||||
|
|||||||
@ -278,7 +278,6 @@
|
|||||||
PerlModule XML::Simple
|
PerlModule XML::Simple
|
||||||
|
|
||||||
# Ocs plugins
|
# Ocs plugins
|
||||||
PerlModule Apache::Ocsinventory::Plugins::Apache
|
|
||||||
PerlModule Apache::Ocsinventory::Plugins
|
PerlModule Apache::Ocsinventory::Plugins
|
||||||
|
|
||||||
# Ocs
|
# Ocs
|
||||||
|
|||||||
@ -10,7 +10,7 @@ services:
|
|||||||
- 443:443
|
- 443:443
|
||||||
volumes:
|
volumes:
|
||||||
- "perlcomdata:/etc/ocsinventory-server"
|
- "perlcomdata:/etc/ocsinventory-server"
|
||||||
- "extensionsdata:/usr/share/ocsinventory-reports/ocsreports/extensions"
|
- "ocsreportsdata:/usr/share/ocsinventory-reports/ocsreports"
|
||||||
- "varlibdata:/var/lib/ocsinventory-reports"
|
- "varlibdata:/var/lib/ocsinventory-reports"
|
||||||
- "httpdconfdata:/etc/httpd/conf.d"
|
- "httpdconfdata:/etc/httpd/conf.d"
|
||||||
environment:
|
environment:
|
||||||
@ -49,7 +49,7 @@ networks:
|
|||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
perlcomdata:
|
perlcomdata:
|
||||||
extensionsdata:
|
ocsreportsdata:
|
||||||
varlibdata:
|
varlibdata:
|
||||||
httpdconfdata:
|
httpdconfdata:
|
||||||
sqldata:
|
sqldata:
|
||||||
|
|||||||
@ -1,13 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Move to temp and download OCS
|
|
||||||
cd /tmp
|
|
||||||
wget http://download.ocsinventory-ng.org/nightly/latest.tar.gz
|
|
||||||
tar xzf latest.tar.gz
|
|
||||||
cd OCSNG_UNIX_SERVER
|
|
||||||
|
|
||||||
# Create all directories
|
# Create all directories
|
||||||
mkdir -p $OCS_WEBCONSOLE_DIR
|
|
||||||
mkdir -p $OCS_LOG_DIR
|
mkdir -p $OCS_LOG_DIR
|
||||||
mkdir -p $OCS_PERLEXT_DIR/Apache/Ocsinventory/Plugins
|
mkdir -p $OCS_PERLEXT_DIR/Apache/Ocsinventory/Plugins
|
||||||
mkdir -p $OCS_PLUGINSEXT_DIR
|
mkdir -p $OCS_PLUGINSEXT_DIR
|
||||||
@ -17,56 +10,57 @@ mkdir -p $OCS_VARLIB_DIR/logs
|
|||||||
mkdir -p $OCS_VARLIB_DIR/scripts
|
mkdir -p $OCS_VARLIB_DIR/scripts
|
||||||
mkdir -p $OCS_VARLIB_DIR/snmp
|
mkdir -p $OCS_VARLIB_DIR/snmp
|
||||||
|
|
||||||
# Server compilation
|
if [ ! -f $OCS_WEBCONSOLE_DIR/ocsreports/var.php ]; then
|
||||||
cd Apache
|
cp -r /tmp/OCSNG_UNIX_SERVER/ocsreports/ ${OCS_WEBCONSOLE_DIR}
|
||||||
perl Makefile.PL
|
rm -rf ${OCS_WEBCONSOLE_DIR}/ocsreports/dbconfig.inc.php
|
||||||
make
|
fi;
|
||||||
make install
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
# Webconsole
|
|
||||||
cp -R ocsreports/* $OCS_WEBCONSOLE_DIR
|
|
||||||
|
|
||||||
# Configure z-ocsinventory-server file
|
# Configure z-ocsinventory-server file
|
||||||
cp /tmp/conf/ocsinventory-server.conf /etc/httpd/conf.d/z-ocsinventory-server.conf
|
if [ ! -f /etc/httpd/conf.d/z-ocsinventory-server.conf ]; then
|
||||||
sed -i 's/VERSION_MP/2/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
cp /tmp/conf/ocsinventory-server.conf /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/DATABASE_SERVER/'"$OCS_DB_SERVER"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/VERSION_MP/2/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/DATABASE_PORT/'"$OCS_DB_PORT"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/DATABASE_SERVER/'"$OCS_DB_SERVER"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/DATABASE_NAME/'"$OCS_DB_NAME"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/DATABASE_PORT/'"$OCS_DB_PORT"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/DATABASE_USER/'"$OCS_DB_USER"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/DATABASE_NAME/'"$OCS_DB_NAME"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/DATABASE_PASSWD/'"$OCS_DB_PASS"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/DATABASE_USER/'"$OCS_DB_USER"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/"PATH_TO_LOG_DIRECTORY"/'"${OCS_LOG_DIR//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/DATABASE_PASSWD/'"$OCS_DB_PASS"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/"PATH_TO_PLUGINS_PERL_DIRECTORY"/'"${OCS_PERLEXT_DIR//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/"PATH_TO_LOG_DIRECTORY"/'"${OCS_LOG_DIR//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/"PATH_TO_PLUGINS_CONFIG_DIRECTORY"/'"${OCS_PLUGINSEXT_DIR//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/"PATH_TO_PLUGINS_PERL_DIRECTORY"/'"${OCS_PERLEXT_DIR//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/"PATH_TO_PLUGINS_CONFIG_DIRECTORY"/'"${OCS_PLUGINSEXT_DIR//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/OCS_SSL_KEY/'"${OCS_SSL_KEY//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/OCS_SSL_CERT/'"${OCS_SSL_CERT//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/OCS_SSL_KEY/'"${OCS_SSL_KEY//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/OCS_SSL_CA/'"${OCS_SSL_CA//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/OCS_SSL_CERT/'"${OCS_SSL_CERT//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
sed -i 's/OCS_SSL_COM_MODE/'"$OCS_SSL_COM_MODE"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
sed -i 's/OCS_SSL_CA/'"${OCS_SSL_CA//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
|
sed -i 's/OCS_SSL_COM_MODE/'"$OCS_SSL_COM_MODE"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
|
||||||
|
fi
|
||||||
|
|
||||||
# Configure ocsinventory-reports file
|
# Configure ocsinventory-reports file
|
||||||
cp /tmp/conf/ocsinventory-reports.conf /etc/httpd/conf.d/ocsinventory-reports.conf
|
if [ ! -f /etc/httpd/conf.d/ocsinventory-reports.conf ]; then
|
||||||
sed -i 's/OCSREPORTS_ALIAS/\/ocsreports/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
cp /tmp/conf/ocsinventory-reports.conf /etc/httpd/conf.d/ocsinventory-reports.conf
|
||||||
sed -i 's/PATH_TO_OCSREPORTS_DIR/'"${OCS_WEBCONSOLE_DIR//\//\\/}"'/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
sed -i 's/OCSREPORTS_ALIAS/\/ocsreports/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
||||||
sed -i 's/PACKAGES_ALIAS/\/download/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
sed -i 's/PATH_TO_OCSREPORTS_DIR/'"${OCS_WEBCONSOLE_DIR//\//\\/}"'\/ocsreports/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
||||||
sed -i 's/PATH_TO_PACKAGES_DIR/'"${OCS_VARLIB_DIR//\//\\/}"'download/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
sed -i 's/PACKAGES_ALIAS/\/download/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
||||||
sed -i 's/SNMP_ALIAS/\/snmp/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
sed -i 's/PATH_TO_PACKAGES_DIR/'"${OCS_VARLIB_DIR//\//\\/}"'download/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
||||||
sed -i 's/PATH_TO_SNMP_DIR/'"${OCS_VARLIB_DIR//\//\\/}"'snmp/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
sed -i 's/SNMP_ALIAS/\/snmp/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
||||||
|
sed -i 's/PATH_TO_SNMP_DIR/'"${OCS_VARLIB_DIR//\//\\/}"'snmp/g' /etc/httpd/conf.d/ocsinventory-reports.conf
|
||||||
|
fi
|
||||||
|
|
||||||
# Generate dbconfig.inc.php
|
# Generate dbconfig.inc.php
|
||||||
cp /tmp/conf/dbconfig.inc.php $OCS_WEBCONSOLE_DIR
|
if [ ! -f $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php ]; then
|
||||||
sed -i 's/OCS_DB_NAME/'"$OCS_DB_NAME"'/g' $OCS_WEBCONSOLE_DIR/dbconfig.inc.php
|
cp /tmp/conf/dbconfig.inc.php $OCS_WEBCONSOLE_DIR/ocsreports
|
||||||
sed -i 's/OCS_READ_NAME/'"$OCS_DB_SERVER"'/g' $OCS_WEBCONSOLE_DIR/dbconfig.inc.php
|
sed -i 's/OCS_DB_NAME/'"$OCS_DB_NAME"'/g' $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php
|
||||||
sed -i 's/OCS_WRITE_NAME/'"$OCS_DB_SERVER"'/g' $OCS_WEBCONSOLE_DIR/dbconfig.inc.php
|
sed -i 's/OCS_READ_NAME/'"$OCS_DB_SERVER"'/g' $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php
|
||||||
sed -i 's/OCS_DB_PORT/'"$OCS_DB_PORT"'/g' $OCS_WEBCONSOLE_DIR/dbconfig.inc.php
|
sed -i 's/OCS_WRITE_NAME/'"$OCS_DB_SERVER"'/g' $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php
|
||||||
sed -i 's/OCS_DB_USER/'"$OCS_DB_USER"'/g' $OCS_WEBCONSOLE_DIR/dbconfig.inc.php
|
sed -i 's/OCS_DB_PORT/'"$OCS_DB_PORT"'/g' $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php
|
||||||
sed -i 's/OCS_DB_PASS/'"$OCS_DB_PASS"'/g' $OCS_WEBCONSOLE_DIR/dbconfig.inc.php
|
sed -i 's/OCS_DB_USER/'"$OCS_DB_USER"'/g' $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php
|
||||||
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' $OCS_WEBCONSOLE_DIR/dbconfig.inc.php
|
sed -i 's/OCS_DB_PASS/'"$OCS_DB_PASS"'/g' $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php
|
||||||
sed -i 's/OCS_SSL_WEB_MODE/'"$OCS_SSL_WEB_MODE"'/g' $OCS_WEBCONSOLE_DIR/dbconfig.inc.php
|
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php
|
||||||
sed -i 's/OCS_SSL_KEY/'"${OCS_SSL_KEY//\//\\/}"'/g' $OCS_WEBCONSOLE_DIR/dbconfig.inc.php
|
sed -i 's/OCS_SSL_WEB_MODE/'"$OCS_SSL_WEB_MODE"'/g' $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php
|
||||||
sed -i 's/OCS_SSL_CERT/'"${OCS_SSL_CERT//\//\\/}"'/g' $OCS_WEBCONSOLE_DIR/dbconfig.inc.php
|
sed -i 's/OCS_SSL_KEY/'"${OCS_SSL_KEY//\//\\/}"'/g' $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php
|
||||||
sed -i 's/OCS_SSL_CA/'"${OCS_SSL_CA//\//\\/}"'/g' $OCS_WEBCONSOLE_DIR/dbconfig.inc.php
|
sed -i 's/OCS_SSL_CERT/'"${OCS_SSL_CERT//\//\\/}"'/g' $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php
|
||||||
|
sed -i 's/OCS_SSL_CA/'"${OCS_SSL_CA//\//\\/}"'/g' $OCS_WEBCONSOLE_DIR/ocsreports/dbconfig.inc.php
|
||||||
|
fi
|
||||||
|
|
||||||
# Permissions
|
# Permissions
|
||||||
chown -R $APACHE_RUN_USER: $OCS_VARLIB_DIR
|
chown -R $APACHE_RUN_USER: $OCS_VARLIB_DIR
|
||||||
@ -74,7 +68,9 @@ chown -R $APACHE_RUN_USER: $OCS_LOG_DIR
|
|||||||
chown -R $APACHE_RUN_USER: $OCS_WEBCONSOLE_DIR
|
chown -R $APACHE_RUN_USER: $OCS_WEBCONSOLE_DIR
|
||||||
|
|
||||||
# rm install.php
|
# rm install.php
|
||||||
rm $OCS_WEBCONSOLE_DIR/install.php
|
if [ -f $OCS_WEBCONSOLE_DIR/ocsreports/install.php ]; then
|
||||||
|
rm $OCS_WEBCONSOLE_DIR/ocsreports/install.php
|
||||||
|
fi
|
||||||
|
|
||||||
# Remove temp files
|
# Remove temp files
|
||||||
cd /tmp
|
cd /tmp
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user