Compare commits
No commits in common. "master" and "update" have entirely different histories.
@ -1,74 +0,0 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
ENV OCS_VERSION 2.10.0
|
||||
|
||||
LABEL maintainer="contact@ocsinventory-ng.org" \
|
||||
version="${OCS_VERSION}" \
|
||||
description="OCS Inventory docker image"
|
||||
|
||||
ARG APT_FLAGS="-y"
|
||||
|
||||
ENV APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data \
|
||||
APACHE_LOG_DIR=/var/log/apache2 APACHE_PID_FILE=/var/run/apache2/apache2.pid APACHE_RUN_DIR=/var/run/apache2 APACHE_LOCK_DIR=/var/lock/apache2 \
|
||||
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 \
|
||||
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 \
|
||||
TZ=Europe/Paris
|
||||
|
||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||
|
||||
VOLUME /var/lib/ocsinventory-reports /etc/ocsinventory-server /usr/share/ocsinventory-reports/ocsreports/extensions
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
wget \
|
||||
curl \
|
||||
make \
|
||||
perl \
|
||||
apache2 \
|
||||
php \
|
||||
libxml-simple-perl \
|
||||
libdbi-perl \
|
||||
libdbd-mysql-perl \
|
||||
libapache-dbi-perl \
|
||||
libnet-ip-perl \
|
||||
libsoap-lite-perl \
|
||||
libarchive-zip-perl \
|
||||
libswitch-perl \
|
||||
libmojolicious-perl \
|
||||
libplack-perl \
|
||||
build-essential \
|
||||
php-pclzip \
|
||||
php-mbstring \
|
||||
php-soap \
|
||||
php-mysql \
|
||||
php-curl \
|
||||
php-xml \
|
||||
php-zip \
|
||||
php-gd \
|
||||
php-ldap
|
||||
|
||||
RUN wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/${OCS_VERSION}/OCSNG_UNIX_SERVER-${OCS_VERSION}.tar.gz -P /tmp && \
|
||||
tar xzf /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}.tar.gz -C /tmp;
|
||||
|
||||
RUN cd /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}/Apache/ && \
|
||||
perl Makefile.PL && \
|
||||
make && \
|
||||
make install
|
||||
|
||||
WORKDIR /etc/apache2/conf-available
|
||||
|
||||
# Redirect Apache2 Logs to stdout e stderr
|
||||
RUN ln -sf /proc/self/fd/1 /var/log/apache2/access.log && \
|
||||
ln -sf /proc/self/fd/2 /var/log/apache2/error.log
|
||||
|
||||
COPY conf/ /tmp/conf
|
||||
|
||||
COPY ./docker-entrypoint.sh /docker-entrypoint.sh
|
||||
COPY ./docker-entrypoint.d /docker-entrypoint.d
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
# https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#entrypoint
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
CMD ["/usr/sbin/apache2", "-DFOREGROUND"]
|
||||
@ -1,34 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
* Copyright 2005-2016 OCSInventory-NG/OCSInventory-ocsreports contributors.
|
||||
* See the Contributors file for more details about them.
|
||||
*
|
||||
* This file is part of OCSInventory-NG/OCSInventory-ocsreports.
|
||||
*
|
||||
* OCSInventory-NG/OCSInventory-ocsreports is free software: you can redistribute
|
||||
* it and/or modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation, either version 2 of the License,
|
||||
* or (at your option) any later version.
|
||||
*
|
||||
* OCSInventory-NG/OCSInventory-ocsreports is distributed in the hope that it
|
||||
* will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with OCSInventory-NG/OCSInventory-ocsreports. if not, write to the
|
||||
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*/
|
||||
define("DB_NAME", "OCS_DB_NAME");
|
||||
define("SERVER_READ", "OCS_READ_NAME");
|
||||
define("SERVER_WRITE", "OCS_WRITE_NAME");
|
||||
define("SERVER_PORT", "OCS_DB_PORT");
|
||||
define("COMPTE_BASE", "OCS_DB_USER");
|
||||
define("PSWD_BASE", "OCS_DB_PASS");
|
||||
define("ENABLE_SSL","OCS_SSL_ENABLED");
|
||||
define("SSL_MODE","OCS_SSL_WEB_MODE");
|
||||
define("SSL_KEY","OCS_SSL_KEY");
|
||||
define("SSL_CERT","OCS_SSL_CERT");
|
||||
define("CA_CERT","OCS_SSL_CA");
|
||||
?>
|
||||
@ -1,120 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# OCS Inventory NG Administration Server
|
||||
#
|
||||
# Copyleft 2008 OCS Inventory NG Team
|
||||
# Web: http://www.ocsinventory-ng.org
|
||||
#
|
||||
# This code is open source and may be copied and modified as long as the source
|
||||
# code is always made freely available.
|
||||
# Please refer to the General Public Licence http://www.gnu.org/ or Licence.txt
|
||||
################################################################################
|
||||
|
||||
#
|
||||
# ANY CHANGE ON THIS FILE REQUIRES APACHE RESTART TO TAKE EFFECT
|
||||
#
|
||||
|
||||
################################################################################
|
||||
# Administration console public pages
|
||||
#
|
||||
# Alias used to put Administration Server static page (typically PHP) outside
|
||||
# Apache document root directory
|
||||
#
|
||||
Alias OCSREPORTS_ALIAS PATH_TO_OCSREPORTS_DIR
|
||||
|
||||
<Directory PATH_TO_OCSREPORTS_DIR>
|
||||
# By default, users can use console from everywhere
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
Options Indexes FollowSymLinks
|
||||
DirectoryIndex index.php
|
||||
AllowOverride Options AuthConfig
|
||||
|
||||
# Uncomment following to force use of HTTPS in Administration Server
|
||||
#SSLRequireSSL
|
||||
|
||||
# PHP tuning (not working on all distribution, use php.ini instead)
|
||||
<IfModule mod_php5.c>
|
||||
AddType application/x-httpd-php .php
|
||||
php_flag file_uploads on
|
||||
# Some PHP tuning for deployment feature up to 8 MB
|
||||
# post_max_size must be greater than upload_max_filesize
|
||||
# because of HTTP headers
|
||||
php_value post_max_size 101m
|
||||
php_value upload_max_filesize 100m
|
||||
# You may have to uncomment following on errors
|
||||
#php_value max_execution_time -1
|
||||
#php_value max_input_time -1
|
||||
|
||||
# Uncomment following if you need to specify a mysql socket
|
||||
#php_value mysql.default_socket "path/to/mysql/unix/socket"
|
||||
|
||||
#!! Mandatory !! : set magic_quotes_gpc to off (to make ocsreports works correctly)
|
||||
php_flag magic_quotes_gpc off
|
||||
</IfModule>
|
||||
# Duplicate for php7 compatibility
|
||||
<IfModule mod_php7.c>
|
||||
AddType application/x-httpd-php .php
|
||||
php_flag file_uploads on
|
||||
# Some PHP tuning for deployment feature up to 8 MB
|
||||
# post_max_size must be greater than upload_max_filesize
|
||||
# because of HTTP headers
|
||||
php_value post_max_size 101m
|
||||
php_value upload_max_filesize 100m
|
||||
# You may have to uncomment following on errors
|
||||
#php_value max_execution_time -1
|
||||
#php_value max_input_time -1
|
||||
|
||||
# Uncomment following if you need to specify a mysql socket
|
||||
#php_value mysql.default_socket "path/to/mysql/unix/socket"
|
||||
|
||||
#!! Mandatory !! : set magic_quotes_gpc to off (to make ocsreports works correctly)
|
||||
php_flag magic_quotes_gpc off
|
||||
</IfModule>
|
||||
|
||||
# Uncomment following to allow HTTP body request up to 4 MB
|
||||
# instead default 512 KB
|
||||
#LimitRequestBody 4194304
|
||||
|
||||
</Directory>
|
||||
|
||||
################################################################################
|
||||
# Deployment packages download area
|
||||
#
|
||||
# Alias to put Deployment package files outside Apache document root directory
|
||||
#
|
||||
<Directory PATH_TO_PACKAGES_DIR>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
</Directory>
|
||||
Alias PACKAGES_ALIAS PATH_TO_PACKAGES_DIR
|
||||
|
||||
|
||||
################################################################################
|
||||
# Snmp communities area
|
||||
#
|
||||
# Alias to put Snmp custom Mibs files outside Apache document root directory
|
||||
#
|
||||
<Directory PATH_TO_SNMP_DIR>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
</Directory>
|
||||
Alias SNMP_ALIAS PATH_TO_SNMP_DIR
|
||||
@ -1,23 +0,0 @@
|
||||
PerlOptions +Parent
|
||||
|
||||
<Perl>
|
||||
$ENV{PLACK_ENV} = 'production';
|
||||
$ENV{MOJO_HOME} = 'REST_API_PATH';
|
||||
$ENV{MOJO_MODE} = 'deployment';
|
||||
$ENV{OCS_DB_HOST} = 'DATABASE_SERVER';
|
||||
$ENV{OCS_DB_PORT} = 'DATABASE_PORT';
|
||||
$ENV{OCS_DB_LOCAL} = 'DATABASE_NAME';
|
||||
$ENV{OCS_DB_USER} = 'DATABASE_USER';
|
||||
$ENV{OCS_DB_PWD} = 'DATABASE_PASSWD';
|
||||
$ENV{OCS_DB_SSL_ENABLED} = OCS_SSL_ENABLED;
|
||||
# $ENV{OCS_DB_SSL_CLIENT_KEY} = '';
|
||||
# $ENV{OCS_DB_SSL_CLIENT_CERT} = '';
|
||||
# $ENV{OCS_DB_SSL_CA_CERT} = '';
|
||||
$ENV{OCS_DB_SSL_MODE} = 'SSL_MODE_PREFERRED';
|
||||
</Perl>
|
||||
|
||||
<Location /ocsapi>
|
||||
SetHandler perl-script
|
||||
PerlResponseHandler Plack::Handler::Apache2
|
||||
PerlSetVar psgi_app 'REST_API_LOADER_PATH'
|
||||
</Location>
|
||||
@ -1,383 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# OCS Inventory NG Communication Server Perl Module Setup
|
||||
#
|
||||
# Copyleft 2006 Pascal DANEK
|
||||
# Web: http://www.ocsinventory-ng.org
|
||||
#
|
||||
# This code is open source and may be copied and modified as long as the source
|
||||
# code is always made freely available.
|
||||
# Please refer to the General Public Licence http://www.gnu.org/ or Licence.txt
|
||||
################################################################################
|
||||
|
||||
<IfModule mod_perl.c>
|
||||
|
||||
# Which version of mod_perl we are using
|
||||
# For mod_perl <= 1.999_21, replace VERSION_MP by 1
|
||||
# For mod_perl > 1.999_21, replace VERSION_MP by 2
|
||||
PerlSetEnv OCS_MODPERL_VERSION VERSION_MP
|
||||
|
||||
# Master Database settings
|
||||
# Replace DATABASE_SERVER by hostname or ip of MySQL server for WRITE
|
||||
PerlSetEnv OCS_DB_HOST DATABASE_SERVER
|
||||
# Replace DATABASE_PORT by port where running MySQL server, generally 3306
|
||||
PerlSetEnv OCS_DB_PORT DATABASE_PORT
|
||||
# Name of database
|
||||
PerlSetEnv OCS_DB_NAME DATABASE_NAME
|
||||
PerlSetEnv OCS_DB_LOCAL DATABASE_NAME
|
||||
# User allowed to connect to database
|
||||
PerlSetEnv OCS_DB_USER DATABASE_USER
|
||||
# Password for user
|
||||
PerlSetVar OCS_DB_PWD DATABASE_PASSWD
|
||||
# SSL Configuration
|
||||
# 0 to disable the SSL support for MySQL/MariaDB
|
||||
# 1 to enable the SSL support for MySQL/MariaDB
|
||||
PerlSetEnv OCS_DB_SSL_ENABLED 0
|
||||
# PerlSetEnv OCS_DB_SSL_CLIENT_KEY /etc/ssl/private/client.key
|
||||
# PerlSetEnv OCS_DB_SSL_CLIENT_CERT /etc/ssl/certs/client.crt
|
||||
# PerlSetEnv OCS_DB_SSL_CA_CERT /etc/ssl/certs/ca.crt
|
||||
# SSL Mode
|
||||
# - SSL_MODE_PREFERRED (SSL enabled but optional)
|
||||
# - SSL_MODE_REQUIRED (SSL enabled, mandatory but don't verify server certificate. Ex self signed cert)
|
||||
# - SSL_MODE_STRICT (SSL enabled, mandatory and server cert must be trusted)
|
||||
PerlSetEnv OCS_DB_SSL_MODE SSL_MODE_PREFERRED
|
||||
|
||||
|
||||
# Slave Database settings
|
||||
# Replace DATABASE_SERVER by hostname or ip of MySQL server for READ
|
||||
# Useful if you handle mysql slave databases
|
||||
# PerlSetEnv OCS_DB_SL_HOST DATABASE_SERVER
|
||||
# Replace DATABASE_PORT by port where running MySQL server, generally 3306
|
||||
# PerlSetEnv OCS_DB_SL_PORT_SLAVE DATABASE_PORT
|
||||
# User allowed to connect to database
|
||||
# PerlSetEnv OCS_DB_SL_USER ocs
|
||||
# Name of the database
|
||||
# PerlSetEnv OCS_DB_SL_NAME ocsweb
|
||||
# Password for user
|
||||
# PerlSetVar OCS_DB_SL_PWD ocs
|
||||
# SSL Configuration for Slave database
|
||||
# 0 to disable the SSL support for MySQL/MariaDB
|
||||
# 1 to enable the SSL support for MySQL/MariaDB
|
||||
# PerlSetEnv OCS_DB_SL_SSL_ENABLED 0
|
||||
# PerlSetEnv OCS_DB_SL_SSL_CLIENT_KEY /etc/ssl/private/client.key
|
||||
# PerlSetEnv OCS_DB_SL_SSL_CLIENT_CERT /etc/ssl/certs/client.crt
|
||||
# PerlSetEnv OCS_DB_SL_SSL_CA_CERT /etc/ssl/certs/ca.crt
|
||||
# SSL Mode
|
||||
# - SSL_MODE_PREFERRED (SSL enabled but optional)
|
||||
# - SSL_MODE_REQUIRED (SSL enabled, mandatory but don't verify server certificate. Ex self signed cert)
|
||||
# - SSL_MODE_STRICT (SSL enabled, mandatory and server cert must be trusted)
|
||||
# PerlSetEnv OCS_DB_SL_SSL_MODE SSL_MODE_PREFERRED
|
||||
|
||||
# Path to log directory (must be writeable)
|
||||
PerlSetEnv OCS_OPT_LOGPATH "PATH_TO_LOG_DIRECTORY"
|
||||
|
||||
# If you need to specify a mysql socket that the client's built-in
|
||||
#PerlSetEnv OCS_OPT_DBI_MYSQL_SOCKET "path/to/mysql/unix/socket"
|
||||
# DBI verbosity
|
||||
PerlSetEnv OCS_OPT_DBI_PRINT_ERROR 0
|
||||
|
||||
# Unicode support
|
||||
PerlSetEnv OCS_OPT_UNICODE_SUPPORT 1
|
||||
|
||||
# If you are using a multi server architecture,
|
||||
# Put the ip addresses of the slaves on the master
|
||||
# (This is read as perl regular expressions)
|
||||
PerlAddVar OCS_OPT_TRUSTED_IP 127.0.0.1
|
||||
#PerlAddVar OCS_OPT_TRUSTED_IP XXX.XXX.XXX.XXX
|
||||
|
||||
# ===== WEB SERVICE (SOAP) SETTINGS =====
|
||||
|
||||
PerlSetEnv OCS_OPT_WEB_SERVICE_ENABLED 0
|
||||
PerlSetEnv OCS_OPT_WEB_SERVICE_RESULTS_LIMIT 100
|
||||
# PerlSetEnv OCS_OPT_WEB_SERVICE_PRIV_MODS_CONF "WEBSERV_PRIV_MOD_CONF_FILE"
|
||||
|
||||
# Be careful: you must restart apache to make settings taking effects
|
||||
|
||||
# Configure engine to use the settings from this file
|
||||
PerlSetEnv OCS_OPT_OPTIONS_NOT_OVERLOADED 0
|
||||
|
||||
# Try to use other compress algorithm than raw zlib
|
||||
# GUNZIP and clear XML are supported
|
||||
PerlSetEnv OCS_OPT_COMPRESS_TRY_OTHERS 1
|
||||
|
||||
##############################################################
|
||||
# ===== OPTIONS BELOW ARE OVERLOADED IF YOU USE OCS GUI =====#
|
||||
##############################################################
|
||||
|
||||
# NOTE: IF YOU WANT TO USE THIS CONFIG FILE INSTEAD, set OCS_OPT_OPTIONS_NOT_OVERLOADED to '1'
|
||||
|
||||
# ===== MAIN SETTINGS =====
|
||||
|
||||
# Enable engine logs (see LOGPATH setting)
|
||||
PerlSetEnv OCS_OPT_LOGLEVEL 0
|
||||
# Specify agent's prolog frequency
|
||||
PerlSetEnv OCS_OPT_PROLOG_FREQ 12
|
||||
# Specify if agent take contact on service startup
|
||||
PerlSetEnv OCS_OPT_INVENTORY_ON_STARTUP 0
|
||||
# Configure the duplicates detection system
|
||||
PerlSetEnv OCS_OPT_AUTO_DUPLICATE_LVL 15
|
||||
# Futur security improvements
|
||||
PerlSetEnv OCS_OPT_SECURITY_LEVEL 0
|
||||
# Validity of a computer's lock
|
||||
PerlSetEnv OCS_OPT_LOCK_REUSE_TIME 600
|
||||
# Enable the history tracking system (useful for external data synchronisation
|
||||
PerlSetEnv OCS_OPT_TRACE_DELETED 0
|
||||
|
||||
# ===== INVENTORY SETTINGS =====
|
||||
|
||||
# Specify the validity of inventory data
|
||||
PerlSetEnv OCS_OPT_FREQUENCY 0
|
||||
# Configure engine to update inventory regarding to CHECKSUM agent value (lower DB backend load)
|
||||
PerlSetEnv OCS_OPT_INVENTORY_DIFF 1
|
||||
# Make engine consider an inventory as a transaction (lower concurency, better disk usage)
|
||||
PerlSetEnv OCS_OPT_INVENTORY_TRANSACTION 1
|
||||
# Configure engine to make a differential update of inventory sections (row level). Lower DB backend load, higher frontend load
|
||||
PerlSetEnv OCS_OPT_INVENTORY_WRITE_DIFF 1
|
||||
# Enable some stuff to improve DB queries, especially for GUI multicriteria searching system
|
||||
PerlSetEnv OCS_OPT_INVENTORY_CACHE_ENABLED 1
|
||||
# Specify when the engine will clean the inventory cache structures
|
||||
PerlSetEnv OCS_OPT_INVENTORY_CACHE_REVALIDATE 7
|
||||
# Enable you to keep trace of every elements encountered in db life
|
||||
PerlSetEnv OCS_OPT_INVENTORY_CACHE_KEEP 1
|
||||
|
||||
# ===== SOFTWARES DEPLOYMENT SETTINGS =====
|
||||
|
||||
# Enable this feature
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD 0
|
||||
# Package which have a priority superior than this value will not be downloaded
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_PERIOD_LENGTH 10
|
||||
# Time between two download cycles (bandwidth control)
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_CYCLE_LATENCY 60
|
||||
# Time between two fragment downloads (bandwidth control)
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_FRAG_LATENCY 60
|
||||
# Specify if you want to track packages affected to a group on computer's level
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_GROUPS_TRACE_EVENTS 1
|
||||
# Time between two download periods (bandwidth control)
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_PERIOD_LATENCY 60
|
||||
# Agents will send ERR_TIMEOUT event and clean the package it is older than this setting
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_TIMEOUT 7
|
||||
# Agents will send an error event and clean the package if package command does not respond during this setting
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_EXECUTION_TIMEOUT 120
|
||||
|
||||
# Enable ocs engine to deliver agent's files (deprecated)
|
||||
PerlSetEnv OCS_OPT_DEPLOY 0
|
||||
# Enable the softwares deployment capacity (bandwidth control)
|
||||
|
||||
# ===== GROUPS SETTINGS =====
|
||||
|
||||
# Enable the computer\s groups feature
|
||||
PerlSetEnv OCS_OPT_ENABLE_GROUPS 1
|
||||
# Random number computed in the defined range. Designed to avoid computing many groups in the same process
|
||||
PerlSetEnv OCS_OPT_GROUPS_CACHE_OFFSET 43200
|
||||
# Specify the validity of computer's groups (default: compute it once a day - see offset)
|
||||
PerlSetEnv OCS_OPT_GROUPS_CACHE_REVALIDATE 43200
|
||||
|
||||
# ===== IPDISCOVER SETTINGS =====
|
||||
|
||||
# Specify how much agent per LAN will discovered connected peripherals (0 to disable)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER 2
|
||||
# Specify the minimal difference to replace an ipdiscover agent
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_BETTER_THRESHOLD 1
|
||||
# Time between 2 arp requests (mini: 10 ms)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_LATENCY 100
|
||||
# Specify when to remove a computer when it has not come until this period
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_MAX_ALIVE 14
|
||||
# Disable the time before a first election (not recommended)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_NO_POSTPONE 0
|
||||
# Enable groups for ipdiscover (for example, you might want to prevent some groups to be ipdiscover agents)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_USE_GROUPS 1
|
||||
# Link ipdiscover network to computer TAG
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_LINK_TAG_NETWORK 0
|
||||
|
||||
# ===== INVENTORY FILES MAPPING SETTINGS =====
|
||||
|
||||
# Use with ocsinventory-injector, enable the multi entities feature
|
||||
PerlSetEnv OCS_OPT_GENERATE_OCS_FILES 0
|
||||
# Generate either compressed file or clear XML text
|
||||
PerlSetEnv OCS_OPT_OCS_FILES_FORMAT OCS
|
||||
# Specify if you want to keep trace of all inventory between to synchronisation with the higher level server
|
||||
PerlSetEnv OCS_OPT_OCS_FILES_OVERWRITE 0
|
||||
# Path to ocs files directory (must be writeable)
|
||||
PerlSetEnv OCS_OPT_OCS_FILES_PATH /tmp
|
||||
|
||||
# ===== FILTER SETTINGS =====
|
||||
|
||||
# Enable prolog filter stack
|
||||
PerlSetEnv OCS_OPT_PROLOG_FILTER_ON 0
|
||||
# Enable core filter system to modify some things "on the fly"
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_ENABLED 0
|
||||
# Enable inventory flooding filter. A dedicated ipaddress ia allowed to send a new computer only once in this period
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_FLOOD_IP 0
|
||||
# Period definition for INVENTORY_FILTER_FLOOD_IP
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_FLOOD_IP_CACHE_TIME 300
|
||||
# Enable inventory filter stack
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_ON 0
|
||||
|
||||
# ===== DATA FILTER =====
|
||||
|
||||
#Enable the dat filtering capacity
|
||||
PerlSetEnv OCS_OPT_DATA_FILTER 0
|
||||
|
||||
# Set the table names and the field associated you want to filter
|
||||
#PerlAddVar OCS_OPT_DATA_TO_FILTER HARDWARE
|
||||
#PerlAddVar OCS_OPT_DATA_TO_FILTER USERID
|
||||
|
||||
|
||||
# ===== REGISTRY SETTINGS =====
|
||||
|
||||
# Enable the registry capacity
|
||||
PerlSetEnv OCS_OPT_REGISTRY 1
|
||||
|
||||
# ===== SNMP SETTINGS =====
|
||||
|
||||
# Enable the SNMP capacity
|
||||
PerlSetEnv OCS_OPT_SNMP 0
|
||||
# Configure engine to update snmp inventory regarding to snmp_laststate table (lower DB backend load)
|
||||
PerlSetEnv OCS_OPT_SNMP_INVENTORY_DIFF 1
|
||||
# Display error message about agent https communication in logfile
|
||||
PerlSetEnv OCS_OPT_SNMP_PRINT_HTTPS_ERROR 1
|
||||
|
||||
# ===== SESSION SETTINGS =====
|
||||
# Not yet in GUI
|
||||
|
||||
# Validity of a session (prolog=>postinventory)
|
||||
PerlSetEnv OCS_OPT_SESSION_VALIDITY_TIME 600
|
||||
# Consider a session obsolete if it is older thant this value
|
||||
PerlSetEnv OCS_OPT_SESSION_CLEAN_TIME 86400
|
||||
# Accept an inventory only if required by server
|
||||
#( Refuse "forced" inventory)
|
||||
PerlSetEnv OCS_OPT_INVENTORY_SESSION_ONLY 0
|
||||
|
||||
# ===== TAG =====
|
||||
|
||||
# The default behavior of the server is to ignore TAG changes from the
|
||||
# agent.
|
||||
PerlSetEnv OCS_OPT_ACCEPT_TAG_UPDATE_FROM_CLIENT 0
|
||||
|
||||
# ===== EXTERNAL USERAGENTS =====
|
||||
|
||||
#Path for external useragents reference file
|
||||
#!! WARNING !! : external agents may not be supported by OCS NG Community !
|
||||
#PerlSetEnv OCS_OPT_EXT_USERAGENTS_FILE_PATH /tmp/yourfile.txt
|
||||
|
||||
# ===== PLUGINS =====
|
||||
|
||||
PerlSetEnv OCS_PLUGINS_PERL_DIR "PATH_TO_PLUGINS_PERL_DIRECTORY"
|
||||
PerlSetEnv OCS_PLUGINS_CONF_DIR "PATH_TO_PLUGINS_CONFIG_DIRECTORY"
|
||||
|
||||
# ===== DEPRECATED =====
|
||||
|
||||
# Set the proxy cache validity in http headers when sending a file
|
||||
PerlSetEnv OCS_OPT_PROXY_REVALIDATE_DELAY 3600
|
||||
# Deprecated
|
||||
PerlSetEnv OCS_OPT_UPDATE 0
|
||||
|
||||
############ DO NOT MODIFY BELOW ! #######################
|
||||
|
||||
# External modules
|
||||
PerlModule Apache::DBI
|
||||
PerlModule Compress::Zlib
|
||||
PerlModule XML::Simple
|
||||
|
||||
# Ocs plugins
|
||||
PerlModule Apache::Ocsinventory::Plugins
|
||||
|
||||
# Ocs
|
||||
PerlModule Apache::Ocsinventory
|
||||
PerlModule Apache::Ocsinventory::Server::Constants
|
||||
PerlModule Apache::Ocsinventory::Server::System
|
||||
PerlModule Apache::Ocsinventory::Server::Communication
|
||||
PerlModule Apache::Ocsinventory::Server::Inventory
|
||||
PerlModule Apache::Ocsinventory::Server::Duplicate
|
||||
|
||||
# Capacities
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Registry
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Update
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Ipdiscover
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Download
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Notify
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Snmp
|
||||
# This module guides you through the module creation
|
||||
# PerlModule Apache::Ocsinventory::Server::Capacities::Example
|
||||
# This module adds some rules to filter some request sent to ocs server in the prolog and inventory stages
|
||||
# PerlModule Apache::Ocsinventory::Server::Capacities::Filter
|
||||
# This module add availibity to filter data from HARDWARE section (data filtered won't be stored in database)
|
||||
# PerlModule Apache::Ocsinventory::Server::Capacities::Datafilter
|
||||
|
||||
# PerlTaintCheck On
|
||||
|
||||
# SSL apache settings
|
||||
#SSLEngine "SSL_ENABLE"
|
||||
#SSLCertificateFile "SSL_CERTIFICATE_FILE"
|
||||
#SSLCertificateKeyFile "SSL_CERTIFICATE_KEY_FILE"
|
||||
#SSLCACertificateFile "SSL_CERTIFICATE_FILE"
|
||||
#SSLCACertificatePath "SSL_CERTIFICATE_PATH"
|
||||
#SSLVerifyClient "SSL_VALIDATE_CLIENT"
|
||||
|
||||
# Engine apache settings
|
||||
# "Virtual" directory for handling OCS Inventory NG agents communications
|
||||
# Be careful, do not create such directory into your web server root document !
|
||||
<Location /ocsinventory>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
# Apache 2.2
|
||||
order deny,allow
|
||||
allow from all
|
||||
</IfModule>
|
||||
# If you protect this area you have to deal with http_auth_* agent's parameters
|
||||
# AuthType Basic
|
||||
# AuthName "OCS Inventory agent area"
|
||||
# AuthUserFile "APACHE_AUTH_USER_FILE"
|
||||
# require valid-user
|
||||
SetHandler perl-script
|
||||
PerlHandler Apache::Ocsinventory
|
||||
</Location>
|
||||
|
||||
#Web Service for plugin engine
|
||||
<Location /ocsplugins>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require local
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
# Apache 2.2
|
||||
order deny,allow
|
||||
allow from 127.0.0.1
|
||||
</IfModule>
|
||||
SetHandler perl-script
|
||||
PerlHandler Apache::Ocsinventory::Plugins::Apache
|
||||
</Location>
|
||||
|
||||
|
||||
# Web service apache settings
|
||||
PerlModule Apache::Ocsinventory::SOAP
|
||||
|
||||
<location /ocsinterface>
|
||||
SetHandler perl-script
|
||||
PerlHandler "Apache::Ocsinventory::SOAP"
|
||||
|
||||
# By default, you can query web service from everywhere with a valid user
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
AuthType Basic
|
||||
AuthName "OCS Inventory SOAP Area"
|
||||
# Use htpasswd to create/update soap-user (or another granted user)
|
||||
AuthUserFile "APACHE_AUTH_USER_FILE"
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require user "SOAP_USER"
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
require "SOAP_USER"
|
||||
</IfModule>
|
||||
</location>
|
||||
</IfModule>
|
||||
@ -1,85 +0,0 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
ocsapplication:
|
||||
image: ocsinventory/ocsinventory-docker-image:2.10
|
||||
container_name : ocsinventory-server
|
||||
restart: always
|
||||
expose:
|
||||
- "80"
|
||||
volumes:
|
||||
- "perlcomdata:/etc/ocsinventory-server"
|
||||
- "ocsreportsdata:/usr/share/ocsinventory-reports/ocsreports/extensions"
|
||||
- "varlibdata:/var/lib/ocsinventory-reports"
|
||||
- "httpdconfdata:/etc/apache2/conf-available"
|
||||
environment:
|
||||
OCS_DB_SERVER: ocsinventory-db
|
||||
OCS_DB_USER: ocsuser
|
||||
OCS_DB_PASS: ocspass
|
||||
OCS_DB_NAME: ocsweb
|
||||
# See documentation to set up SSL for MySQL
|
||||
OCS_SSL_ENABLED: 0
|
||||
links:
|
||||
- ocsdb
|
||||
networks:
|
||||
- localocs
|
||||
depends_on:
|
||||
- ocsdb
|
||||
|
||||
ocsdb :
|
||||
image : mysql:8.0
|
||||
container_name : ocsinventory-db
|
||||
restart: always
|
||||
expose :
|
||||
- "3306"
|
||||
volumes :
|
||||
- ./sql/:/docker-entrypoint-initdb.d/
|
||||
- sqldata:/var/lib/mysql
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD : rootpass
|
||||
MYSQL_USER : ocsuser
|
||||
MYSQL_PASSWORD : ocspass
|
||||
MYSQL_DATABASE : ocsweb
|
||||
networks:
|
||||
- localocs
|
||||
|
||||
ocsproxy:
|
||||
image: nginx
|
||||
container_name: ocsinventory-proxy
|
||||
restart: always
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
volumes:
|
||||
- ./nginx/conf:/etc/nginx/templates
|
||||
- ./nginx/certs:/etc/nginx/certs
|
||||
- ./nginx/auth:/etc/nginx/auth
|
||||
environment:
|
||||
# 80 or 443
|
||||
LISTEN_PORT: 80
|
||||
# empty or ssl
|
||||
PORT_TYPE: ""
|
||||
SSL_CERT: ocs-dummy.crt
|
||||
SSL_KEY: ocs-dummy.key
|
||||
# OCS Api user restriction (default ocsapi/ocapi)
|
||||
API_AUTH_FILE: ocsapi.htpasswd
|
||||
# OCS Download
|
||||
READ_TIMEOUT: 300
|
||||
CONNECT_TIMEOUT: 300
|
||||
SEND_TIMEOUT: 300
|
||||
MAX_BODY_SIZE: 1G
|
||||
depends_on:
|
||||
- ocsapplication
|
||||
networks:
|
||||
- localocs
|
||||
|
||||
networks:
|
||||
localocs:
|
||||
|
||||
volumes:
|
||||
perlcomdata:
|
||||
ocsreportsdata:
|
||||
varlibdata:
|
||||
httpdconfdata:
|
||||
sqldata:
|
||||
|
||||
@ -1,17 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo "| |"
|
||||
echo "| Welcome to OCS Inventory NG Management Docker! |"
|
||||
echo "| |"
|
||||
echo "+----------------------------------------------------------+"
|
||||
|
||||
# Create all directories
|
||||
mkdir -p $OCS_LOG_DIR
|
||||
mkdir -p $OCS_PERLEXT_DIR/Apache/Ocsinventory/Plugins
|
||||
mkdir -p $OCS_PLUGINSEXT_DIR
|
||||
mkdir -p $OCS_VARLIB_DIR/download
|
||||
mkdir -p $OCS_VARLIB_DIR/ipd
|
||||
mkdir -p $OCS_VARLIB_DIR/logs
|
||||
mkdir -p $OCS_VARLIB_DIR/scripts
|
||||
mkdir -p $OCS_VARLIB_DIR/snmp
|
||||
@ -1,48 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
SRV_CONF_FILE="/etc/apache2/conf-available/z-ocsinventory-server.conf"
|
||||
|
||||
if [ ! -z "${OCS_DISABLE_COM_MODE}" ]; then
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
echo "| Warning: OCS_DISABLE_COM_MODE environment variable is set! |"
|
||||
echo "| Communication server, which handles HTTP communications between database |"
|
||||
echo "| server and agents (Apache, perl and mod_perl) will be DISABLED! |"
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Configure z-ocsinventory-server file
|
||||
if [ ! -f ${SRV_CONF_FILE} ]; then
|
||||
cp /tmp/conf/ocsinventory-server.conf ${SRV_CONF_FILE}
|
||||
sed -i 's/VERSION_MP/2/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_SERVER/'"$OCS_DB_SERVER"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_PORT/'"$OCS_DB_PORT"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_NAME/'"$OCS_DB_NAME"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_USER/'"$OCS_DB_USER"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_PASSWD/'"$OCS_DB_PASS"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/"PATH_TO_LOG_DIRECTORY"/'"${OCS_LOG_DIR//\//\\/}"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/"PATH_TO_PLUGINS_PERL_DIRECTORY"/'"${OCS_PERLEXT_DIR//\//\\/}"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/"PATH_TO_PLUGINS_CONFIG_DIRECTORY"/'"${OCS_PLUGINSEXT_DIR//\//\\/}"'/g' ${SRV_CONF_FILE}
|
||||
fi
|
||||
|
||||
# Replace Variables
|
||||
if [ -f ${SRV_CONF_FILE} ]; then
|
||||
echo "+-----------------------------------------------+"
|
||||
echo "| Customizing from environment variables... |"
|
||||
echo "+-----------------------------------------------+"
|
||||
echo
|
||||
# Get all env vars starting with 'OCS_'
|
||||
for var in $(env | cut -f1 -d= | grep -i OCS_); do
|
||||
# Check that the current var is not commented out in conf file
|
||||
if grep -q "^\s*PerlSetEnv ${var^^}" ${SRV_CONF_FILE}; then
|
||||
echo "Applying Config ${var^^}=${!var} from environment variable"
|
||||
sed -i "s,^\(\s*PerlSetEnv ${var^^}\).*$,\1 ${!var},g" ${SRV_CONF_FILE}
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# Permissions
|
||||
chown -R $APACHE_RUN_USER: $OCS_LOG_DIR
|
||||
|
||||
# Enable conf
|
||||
a2enconf z-ocsinventory-server
|
||||
@ -1,57 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
REPORTS_CONF_FILE="/etc/apache2/conf-available/ocsinventory-reports.conf"
|
||||
DB_CONFIG_INC_FILE="${OCS_WEBCONSOLE_DIR}/ocsreports/dbconfig.inc.php"
|
||||
|
||||
if [ ! -z "${OCS_DISABLE_WEB_MODE}" ]; then
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
echo "| Warning: OCS_DISABLE_WEB_MODE environment variable is set! |"
|
||||
echo "| Administration console, which allows administrators to query the database |"
|
||||
echo "| server using their favorite browser (Apache, php) will be DISABLED! |"
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! -f $OCS_WEBCONSOLE_DIR/ocsreports/var.php ]; then
|
||||
cp -r /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}/ocsreports/ ${OCS_WEBCONSOLE_DIR}
|
||||
rm -rf ${DB_CONFIG_INC_FILE}
|
||||
fi
|
||||
|
||||
# Configure ocsinventory-reports file
|
||||
if [ ! -f ${REPORTS_CONF_FILE} ]; then
|
||||
cp /tmp/conf/ocsinventory-reports.conf ${REPORTS_CONF_FILE}
|
||||
sed -i 's/OCSREPORTS_ALIAS/\/ocsreports/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PATH_TO_OCSREPORTS_DIR/'"${OCS_WEBCONSOLE_DIR//\//\\/}"'\/ocsreports/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PACKAGES_ALIAS/\/download/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PATH_TO_PACKAGES_DIR/'"${OCS_VARLIB_DIR//\//\\/}"'download/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/SNMP_ALIAS/\/snmp/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PATH_TO_SNMP_DIR/'"${OCS_VARLIB_DIR//\//\\/}"'snmp/g' ${REPORTS_CONF_FILE}
|
||||
fi
|
||||
|
||||
# Generate dbconfig.inc.php
|
||||
if [ ! -f ${DB_CONFIG_INC_FILE} ]; then
|
||||
cp /tmp/conf/dbconfig.inc.php $OCS_WEBCONSOLE_DIR/ocsreports
|
||||
sed -i 's/OCS_DB_NAME/'"$OCS_DB_NAME"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_READ_NAME/'"$OCS_DB_SERVER"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_WRITE_NAME/'"$OCS_DB_SERVER"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_DB_PORT/'"$OCS_DB_PORT"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_DB_USER/'"$OCS_DB_USER"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_DB_PASS/'"$OCS_DB_PASS"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_WEB_MODE/'"$OCS_SSL_WEB_MODE"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_KEY/'"${OCS_SSL_KEY//\//\\/}"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_CERT/'"${OCS_SSL_CERT//\//\\/}"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_CA/'"${OCS_SSL_CA//\//\\/}"'/g' ${DB_CONFIG_INC_FILE}
|
||||
fi
|
||||
|
||||
# Permissions
|
||||
chown -R $APACHE_RUN_USER: $OCS_VARLIB_DIR
|
||||
chown -R $APACHE_RUN_USER: $OCS_WEBCONSOLE_DIR
|
||||
|
||||
# rm install.php
|
||||
if [ -f $OCS_WEBCONSOLE_DIR/ocsreports/install.php ]; then
|
||||
rm $OCS_WEBCONSOLE_DIR/ocsreports/install.php
|
||||
fi
|
||||
|
||||
# Enable conf
|
||||
a2enconf ocsinventory-reports
|
||||
@ -1,32 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ ! -z "${OCS_DISABLE_API_MODE}" ] || [ ! -z "${OCS_DISABLE_COM_MODE}" ]; then
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
echo "| Warning: OCS_DISABLE_API_MODE or OCS_DISABLE_COM_MODE environment |"
|
||||
echo "| variable is set! |"
|
||||
echo "| REST API will be DISABLED |"
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
API_CONF_FILE="/etc/apache2/conf-available/zz-ocsinventory-restapi.conf"
|
||||
API_ROUTE=$(perl -e "print \"@INC[2]\"")
|
||||
API_ROUTE_LOADER="${API_ROUTE}/Api/Ocsinventory/Restapi/Loader.pm"
|
||||
|
||||
cp -R /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}/Api/ ${API_ROUTE}
|
||||
|
||||
# Configure zz-ocsinventory-restapi file
|
||||
if [ ! -f ${API_CONF_FILE} ]; then
|
||||
cp /tmp/conf/ocsinventory-restapi.conf ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_SERVER/'"$OCS_DB_SERVER"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_PORT/'"$OCS_DB_PORT"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_NAME/'"$OCS_DB_NAME"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_USER/'"$OCS_DB_USER"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_PASSWD/'"$OCS_DB_PASS"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/REST_API_PATH/'"${API_ROUTE//\//\\/}"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/REST_API_LOADER_PATH/'"${API_ROUTE_LOADER//\//\\/}"'/g' ${API_CONF_FILE}
|
||||
fi
|
||||
|
||||
# Enable conf
|
||||
a2enconf zz-ocsinventory-restapi
|
||||
@ -1,35 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo "| Setting Apache Server Name to '${APACHE_SERVER_NAME:-localhost}'"
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo
|
||||
|
||||
sed -ri -e "s!^#(ServerName)\s+\S+!\1 ${APACHE_SERVER_NAME:-localhost}:80!g" \
|
||||
"/etc/apache2/apache2.conf"
|
||||
|
||||
# Remove temp files
|
||||
echo "+--------------------------------+"
|
||||
echo "| Removing not used files... |"
|
||||
echo "+--------------------------------+"
|
||||
echo
|
||||
cd /tmp
|
||||
shopt -s extglob
|
||||
rm -rf !("conf")
|
||||
|
||||
# Apache start
|
||||
if [ ! -d "$APACHE_RUN_DIR" ]; then
|
||||
mkdir "$APACHE_RUN_DIR"
|
||||
chown $APACHE_RUN_USER:$APACHE_RUN_GROUP "$APACHE_RUN_DIR"
|
||||
fi
|
||||
|
||||
if [ -f "$APACHE_PID_FILE" ]; then
|
||||
rm "$APACHE_PID_FILE"
|
||||
fi
|
||||
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo "| OK, prepare finshed ;-) |"
|
||||
echo "| |"
|
||||
echo "| Starting OCS Inventory NG Management Docker... |"
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo
|
||||
@ -1,35 +0,0 @@
|
||||
#!/bin/bash
|
||||
# vim:sw=4:ts=4:et
|
||||
|
||||
set -e
|
||||
|
||||
if [ -z "${OCS_ENTRYPOINT_QUIET_LOGS:-}" ]; then
|
||||
exec 3>&1
|
||||
else
|
||||
exec 3>/dev/null
|
||||
fi
|
||||
|
||||
if /usr/bin/find "/docker-entrypoint.d/" -mindepth 1 -maxdepth 1 -type f -print -quit 2>/dev/null | read v; then
|
||||
echo >&3 "$0: /docker-entrypoint.d/ is not empty, will attempt to perform configuration"
|
||||
|
||||
echo >&3 "$0: Looking for shell scripts in /docker-entrypoint.d/"
|
||||
find "/docker-entrypoint.d/" -follow -type f -print | sort -V | while read -r f; do
|
||||
case "$f" in
|
||||
*.sh)
|
||||
if ! [ -x "$f" ]; then
|
||||
chmod +x $f
|
||||
fi
|
||||
|
||||
echo -e >&3 "\n$0: Launching ${f}\n"
|
||||
"$f"
|
||||
;;
|
||||
*) echo -e >&3 "\n$0: Ignoring ${f}\n" ;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo >&3 "$0: Configuration complete; ready for start up"
|
||||
else
|
||||
echo >&3 "$0: No files found in /docker-entrypoint.d/, skipping configuration"
|
||||
fi
|
||||
|
||||
exec "$@"
|
||||
@ -1 +0,0 @@
|
||||
ocsapi:$apr1$BcAk5f/A$0O5c/DSy92/o.vpwwshWQ.
|
||||
@ -1,22 +0,0 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDlzCCAn+gAwIBAgIUZq+XFJryUuBpkwebSwjSy/hfMCkwDQYJKoZIhvcNAQEL
|
||||
BQAwWzELMAkGA1UEBhMCRlIxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
|
||||
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEUMBIGA1UEAwwLbXlvY3NzZXJ2ZXIw
|
||||
HhcNMjIwNDEzMDk0OTUzWhcNMzIwNDEwMDk0OTUzWjBbMQswCQYDVQQGEwJGUjET
|
||||
MBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQ
|
||||
dHkgTHRkMRQwEgYDVQQDDAtteW9jc3NlcnZlcjCCASIwDQYJKoZIhvcNAQEBBQAD
|
||||
ggEPADCCAQoCggEBAOQDcGzmYzzgVycXSEZWMJ2TEtnmjouNuUKAVQUcELMkZOk0
|
||||
TIRz7QhPIOCiH2bklji+ByyVZg/uXRFJlT/P46rPor/OuRK2Lkrt+APr+FmkLgvf
|
||||
JHMfm7YRbZuWVRJq0htNNL6szwHEFE99GlRy7SuapkhKSo4qY/LjrrR7E7DnPj/G
|
||||
7o21ge3OpOfbmx9xVWbEZaJqMOZDt1y3fbp3hQsflVM0AKdg7OoHOBWnv65iJIkN
|
||||
LtG7Icqcp+8AKnL1PaiMU+P970GTMZyZ0NWVAWgab9+Wl+makTTdDdQgJIhg19og
|
||||
ReLeYspEQlzXmEz+8JAxWGqsu+HuiZ6ClSl04W0CAwEAAaNTMFEwHQYDVR0OBBYE
|
||||
FEljOkF7g17RD+pOpJ7M6dovwI9uMB8GA1UdIwQYMBaAFEljOkF7g17RD+pOpJ7M
|
||||
6dovwI9uMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAKA2Fcot
|
||||
58X97tsLWC6eJrF2MLJzcNeSiiJayG9bT8agsUE8WGq5fvHvf5E54tueCp/q+a7V
|
||||
k4ZowCJF3RAvAqzRkMLQWaGms0Brz4qRtVvRqhWkP7aMGhUieOS2rTfLZ+TYPKfK
|
||||
561w8gSpxs9uRXbhnYeUchxJxCUg0CbxQwsjltrvnOF2LVP6JJDtYcc/NiDXhP4W
|
||||
pTp+EdwXt87VSRkTrqjEQO7/3TMsNjhi0PMFHnQf47ijLt44XaNGKh9pY31Ae9oo
|
||||
6IuRygJc6QNVoGRmF2bxsorU4i4rA3kR2Ir9AUbxJT6MtuLtx8DGB8Dmp6bKmIv+
|
||||
HZH21wRRhwrYJb8=
|
||||
-----END CERTIFICATE-----
|
||||
@ -1,28 +0,0 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDkA3Bs5mM84Fcn
|
||||
F0hGVjCdkxLZ5o6LjblCgFUFHBCzJGTpNEyEc+0ITyDgoh9m5JY4vgcslWYP7l0R
|
||||
SZU/z+Oqz6K/zrkSti5K7fgD6/hZpC4L3yRzH5u2EW2bllUSatIbTTS+rM8BxBRP
|
||||
fRpUcu0rmqZISkqOKmPy4660exOw5z4/xu6NtYHtzqTn25sfcVVmxGWiajDmQ7dc
|
||||
t326d4ULH5VTNACnYOzqBzgVp7+uYiSJDS7RuyHKnKfvACpy9T2ojFPj/e9BkzGc
|
||||
mdDVlQFoGm/flpfpmpE03Q3UICSIYNfaIEXi3mLKREJc15hM/vCQMVhqrLvh7ome
|
||||
gpUpdOFtAgMBAAECggEBAM4BGXMaV/CpU7R6wY7i0jubpH2AY6tMGWQu5CGgsKnZ
|
||||
qN5VpQhKYI6QR0kM0Mg6oEqVzY+HT1X3athynciwf6ZUwFsBX467UGncRKbubEw5
|
||||
HG0XZywoE5vUdS4MDcJ9BmUqRQw8vy5+REdo5QAFcahiqfdIP8HgJLtO4Aop5Kl/
|
||||
HoLqR83q3vBHfidxTX2z4m05t6ucAbmqLAgAb2GzRHEvdCpSXvs7M9ZyR/rvdhSV
|
||||
pswWR7XIUic50Lc8tHXyaKinuBFOCWCszsirPLAVPrs1D7Gq8kmdxUEEj0V9VbEE
|
||||
8afsb9cCojrDISn814WwjX+zVwjRwyr3v3BLHVGu06ECgYEA+1VHUwBTUnHmnMR+
|
||||
6XE1nkBStedvXGsMDIxK/VhNXAylUz4kfJ0bMPKdzbxSieHwA8O1+Hg4gN31V2Sn
|
||||
RgT5P0sLGdideysoy8yR5Aiiwx+7EXGqSQltY2lpaykP9wvpznWi3k/Wd7dAaTCd
|
||||
jPCtkzoLYMDzaQ9uc4A2VyY00RkCgYEA6D9PPvV6YE8S7G7sGwTSt9mgobZNm1AV
|
||||
BjDmtEPfDSK59rT8PpoN+225c1qaIIODdH0DHK9ZbPzo/29tW1l9zgGjEXEw396v
|
||||
Q9y99Ofh0JEsQbJJw/nPdV8dHKOL2ek3UWsscpsk5dUb+4gBpE+/wH21j7UiczKt
|
||||
a8whmMFw+XUCgYAPYdHCr7NpyVTO5WvLB8W7UL5/KZH0Owz6u59fUAc0CgYYSSZc
|
||||
hhUC8uZbkBoRHEXfRRwe/+SdZng8iAmAzI8go4wjYdGJl0Og7X1EUo77mDaPw8Aj
|
||||
RjNusSXljBbRDOabXzG/n21F2G5VwcbyuEw3RYcqvcRn+qzM3tz0in8TCQKBgDe1
|
||||
N+T6LOh9DyT3VlsExSakZQtlFyhyBRj/EdebkB0ufzzWHMtHWKM+poUs7ltuMFH4
|
||||
yo5O4TxrTdg3ehu3U53edqbwZ7DLUW8Nu+LK3DeTGvKHOXpwqXqV3f3InPsgHczB
|
||||
0F+NJ0SZ4aRr8zjeiDg77xkRcboAJej9hfGGNPshAoGALPS2HtT/1ycsER3a33NW
|
||||
A8j/2TfovcjZ9u15q5KDLRZ+3UngLvVwPJO1j/uLPqyyRsQID7SE29KCj/E8kOZH
|
||||
clbLXZmslyk369HOlpXZEXvR7rDxOt1jdojQrtEyW4gDT8k4iEw8nPcJyJ7YSVp/
|
||||
Qa0OOCtQPPvBt0Be1bHTGek=
|
||||
-----END PRIVATE KEY-----
|
||||
@ -1,48 +0,0 @@
|
||||
##
|
||||
# You should look at the following URL's in order to grasp a solid understanding
|
||||
# of Nginx configuration files in order to fully unleash the power of Nginx.
|
||||
# https://www.nginx.com/resources/wiki/start/
|
||||
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
|
||||
# https://wiki.debian.org/Nginx/DirectoryStructure
|
||||
#
|
||||
# In most cases, administrators will remove this file from sites-enabled/ and
|
||||
# leave it as reference inside of sites-available where it will continue to be
|
||||
# updated by the nginx packaging team.
|
||||
#
|
||||
# This file will automatically load configuration files provided by other
|
||||
# applications, such as Drupal or Wordpress. These applications will be made
|
||||
# available underneath a path with that package name, such as /drupal8.
|
||||
#
|
||||
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
|
||||
##
|
||||
|
||||
# OCS server configuration
|
||||
#
|
||||
server {
|
||||
listen ${LISTEN_PORT} ${PORT_TYPE} default_server;
|
||||
|
||||
ssl_certificate /etc/nginx/certs/${SSL_CERT};
|
||||
ssl_certificate_key /etc/nginx/certs/${SSL_KEY};
|
||||
|
||||
location / {
|
||||
proxy_redirect off;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Frame-Options SAMEORIGIN;
|
||||
proxy_pass http://ocsapplication;
|
||||
}
|
||||
|
||||
location /ocsapi {
|
||||
auth_basic "OCS Api area";
|
||||
auth_basic_user_file /etc/nginx/auth/${API_AUTH_FILE};
|
||||
}
|
||||
|
||||
location /download {
|
||||
proxy_read_timeout ${READ_TIMEOUT};
|
||||
proxy_connect_timeout ${CONNECT_TIMEOUT};
|
||||
proxy_send_timeout ${SEND_TIMEOUT};
|
||||
client_max_body_size ${MAX_BODY_SIZE};
|
||||
}
|
||||
}
|
||||
2678
2.10/sql/ocsbase.sql
2678
2.10/sql/ocsbase.sql
File diff suppressed because one or more lines are too long
@ -1,74 +0,0 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
ENV OCS_VERSION 2.11.0
|
||||
|
||||
LABEL maintainer="contact@ocsinventory-ng.org" \
|
||||
version="${OCS_VERSION}" \
|
||||
description="OCS Inventory docker image"
|
||||
|
||||
ARG APT_FLAGS="-y"
|
||||
|
||||
ENV APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data \
|
||||
APACHE_LOG_DIR=/var/log/apache2 APACHE_PID_FILE=/var/run/apache2/apache2.pid APACHE_RUN_DIR=/var/run/apache2 APACHE_LOCK_DIR=/var/lock/apache2 \
|
||||
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 \
|
||||
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 \
|
||||
TZ=Europe/Paris
|
||||
|
||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||
|
||||
VOLUME /var/lib/ocsinventory-reports /etc/ocsinventory-server /usr/share/ocsinventory-reports/ocsreports/extensions
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
wget \
|
||||
curl \
|
||||
make \
|
||||
perl \
|
||||
apache2 \
|
||||
php \
|
||||
libxml-simple-perl \
|
||||
libdbi-perl \
|
||||
libdbd-mysql-perl \
|
||||
libapache-dbi-perl \
|
||||
libnet-ip-perl \
|
||||
libsoap-lite-perl \
|
||||
libarchive-zip-perl \
|
||||
libswitch-perl \
|
||||
libmojolicious-perl \
|
||||
libplack-perl \
|
||||
build-essential \
|
||||
php-pclzip \
|
||||
php-mbstring \
|
||||
php-soap \
|
||||
php-mysql \
|
||||
php-curl \
|
||||
php-xml \
|
||||
php-zip \
|
||||
php-gd \
|
||||
php-ldap
|
||||
|
||||
RUN wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/${OCS_VERSION}/OCSNG_UNIX_SERVER-${OCS_VERSION}.tar.gz -P /tmp && \
|
||||
tar xzf /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}.tar.gz -C /tmp;
|
||||
|
||||
RUN cd /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}/Apache/ && \
|
||||
perl Makefile.PL && \
|
||||
make && \
|
||||
make install
|
||||
|
||||
WORKDIR /etc/apache2/conf-available
|
||||
|
||||
# Redirect Apache2 Logs to stdout e stderr
|
||||
RUN ln -sf /proc/self/fd/1 /var/log/apache2/access.log && \
|
||||
ln -sf /proc/self/fd/2 /var/log/apache2/error.log
|
||||
|
||||
COPY conf/ /tmp/conf
|
||||
|
||||
COPY ./docker-entrypoint.sh /docker-entrypoint.sh
|
||||
COPY ./docker-entrypoint.d /docker-entrypoint.d
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
# https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#entrypoint
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
CMD ["/usr/sbin/apache2", "-DFOREGROUND"]
|
||||
@ -1,34 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
* Copyright 2005-2016 OCSInventory-NG/OCSInventory-ocsreports contributors.
|
||||
* See the Contributors file for more details about them.
|
||||
*
|
||||
* This file is part of OCSInventory-NG/OCSInventory-ocsreports.
|
||||
*
|
||||
* OCSInventory-NG/OCSInventory-ocsreports is free software: you can redistribute
|
||||
* it and/or modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation, either version 2 of the License,
|
||||
* or (at your option) any later version.
|
||||
*
|
||||
* OCSInventory-NG/OCSInventory-ocsreports is distributed in the hope that it
|
||||
* will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with OCSInventory-NG/OCSInventory-ocsreports. if not, write to the
|
||||
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*/
|
||||
define("DB_NAME", "OCS_DB_NAME");
|
||||
define("SERVER_READ", "OCS_READ_NAME");
|
||||
define("SERVER_WRITE", "OCS_WRITE_NAME");
|
||||
define("SERVER_PORT", "OCS_DB_PORT");
|
||||
define("COMPTE_BASE", "OCS_DB_USER");
|
||||
define("PSWD_BASE", "OCS_DB_PASS");
|
||||
define("ENABLE_SSL","OCS_SSL_ENABLED");
|
||||
define("SSL_MODE","OCS_SSL_WEB_MODE");
|
||||
define("SSL_KEY","OCS_SSL_KEY");
|
||||
define("SSL_CERT","OCS_SSL_CERT");
|
||||
define("CA_CERT","OCS_SSL_CA");
|
||||
?>
|
||||
@ -1,120 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# OCS Inventory NG Administration Server
|
||||
#
|
||||
# Copyleft 2008 OCS Inventory NG Team
|
||||
# Web: http://www.ocsinventory-ng.org
|
||||
#
|
||||
# This code is open source and may be copied and modified as long as the source
|
||||
# code is always made freely available.
|
||||
# Please refer to the General Public Licence http://www.gnu.org/ or Licence.txt
|
||||
################################################################################
|
||||
|
||||
#
|
||||
# ANY CHANGE ON THIS FILE REQUIRES APACHE RESTART TO TAKE EFFECT
|
||||
#
|
||||
|
||||
################################################################################
|
||||
# Administration console public pages
|
||||
#
|
||||
# Alias used to put Administration Server static page (typically PHP) outside
|
||||
# Apache document root directory
|
||||
#
|
||||
Alias OCSREPORTS_ALIAS PATH_TO_OCSREPORTS_DIR
|
||||
|
||||
<Directory PATH_TO_OCSREPORTS_DIR>
|
||||
# By default, users can use console from everywhere
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
Options Indexes FollowSymLinks
|
||||
DirectoryIndex index.php
|
||||
AllowOverride Options AuthConfig
|
||||
|
||||
# Uncomment following to force use of HTTPS in Administration Server
|
||||
#SSLRequireSSL
|
||||
|
||||
# PHP tuning (not working on all distribution, use php.ini instead)
|
||||
<IfModule mod_php5.c>
|
||||
AddType application/x-httpd-php .php
|
||||
php_flag file_uploads on
|
||||
# Some PHP tuning for deployment feature up to 8 MB
|
||||
# post_max_size must be greater than upload_max_filesize
|
||||
# because of HTTP headers
|
||||
php_value post_max_size 101m
|
||||
php_value upload_max_filesize 100m
|
||||
# You may have to uncomment following on errors
|
||||
#php_value max_execution_time -1
|
||||
#php_value max_input_time -1
|
||||
|
||||
# Uncomment following if you need to specify a mysql socket
|
||||
#php_value mysql.default_socket "path/to/mysql/unix/socket"
|
||||
|
||||
#!! Mandatory !! : set magic_quotes_gpc to off (to make ocsreports works correctly)
|
||||
php_flag magic_quotes_gpc off
|
||||
</IfModule>
|
||||
# Duplicate for php7 compatibility
|
||||
<IfModule mod_php7.c>
|
||||
AddType application/x-httpd-php .php
|
||||
php_flag file_uploads on
|
||||
# Some PHP tuning for deployment feature up to 8 MB
|
||||
# post_max_size must be greater than upload_max_filesize
|
||||
# because of HTTP headers
|
||||
php_value post_max_size 101m
|
||||
php_value upload_max_filesize 100m
|
||||
# You may have to uncomment following on errors
|
||||
#php_value max_execution_time -1
|
||||
#php_value max_input_time -1
|
||||
|
||||
# Uncomment following if you need to specify a mysql socket
|
||||
#php_value mysql.default_socket "path/to/mysql/unix/socket"
|
||||
|
||||
#!! Mandatory !! : set magic_quotes_gpc to off (to make ocsreports works correctly)
|
||||
php_flag magic_quotes_gpc off
|
||||
</IfModule>
|
||||
|
||||
# Uncomment following to allow HTTP body request up to 4 MB
|
||||
# instead default 512 KB
|
||||
#LimitRequestBody 4194304
|
||||
|
||||
</Directory>
|
||||
|
||||
################################################################################
|
||||
# Deployment packages download area
|
||||
#
|
||||
# Alias to put Deployment package files outside Apache document root directory
|
||||
#
|
||||
<Directory PATH_TO_PACKAGES_DIR>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
</Directory>
|
||||
Alias PACKAGES_ALIAS PATH_TO_PACKAGES_DIR
|
||||
|
||||
|
||||
################################################################################
|
||||
# Snmp communities area
|
||||
#
|
||||
# Alias to put Snmp custom Mibs files outside Apache document root directory
|
||||
#
|
||||
<Directory PATH_TO_SNMP_DIR>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
</Directory>
|
||||
Alias SNMP_ALIAS PATH_TO_SNMP_DIR
|
||||
@ -1,23 +0,0 @@
|
||||
PerlOptions +Parent
|
||||
|
||||
<Perl>
|
||||
$ENV{PLACK_ENV} = 'production';
|
||||
$ENV{MOJO_HOME} = 'REST_API_PATH';
|
||||
$ENV{MOJO_MODE} = 'deployment';
|
||||
$ENV{OCS_DB_HOST} = 'DATABASE_SERVER';
|
||||
$ENV{OCS_DB_PORT} = 'DATABASE_PORT';
|
||||
$ENV{OCS_DB_LOCAL} = 'DATABASE_NAME';
|
||||
$ENV{OCS_DB_USER} = 'DATABASE_USER';
|
||||
$ENV{OCS_DB_PWD} = 'DATABASE_PASSWD';
|
||||
$ENV{OCS_DB_SSL_ENABLED} = OCS_SSL_ENABLED;
|
||||
# $ENV{OCS_DB_SSL_CLIENT_KEY} = '';
|
||||
# $ENV{OCS_DB_SSL_CLIENT_CERT} = '';
|
||||
# $ENV{OCS_DB_SSL_CA_CERT} = '';
|
||||
$ENV{OCS_DB_SSL_MODE} = 'SSL_MODE_PREFERRED';
|
||||
</Perl>
|
||||
|
||||
<Location /ocsapi>
|
||||
SetHandler perl-script
|
||||
PerlResponseHandler Plack::Handler::Apache2
|
||||
PerlSetVar psgi_app 'REST_API_LOADER_PATH'
|
||||
</Location>
|
||||
@ -1,383 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# OCS Inventory NG Communication Server Perl Module Setup
|
||||
#
|
||||
# Copyleft 2006 Pascal DANEK
|
||||
# Web: http://www.ocsinventory-ng.org
|
||||
#
|
||||
# This code is open source and may be copied and modified as long as the source
|
||||
# code is always made freely available.
|
||||
# Please refer to the General Public Licence http://www.gnu.org/ or Licence.txt
|
||||
################################################################################
|
||||
|
||||
<IfModule mod_perl.c>
|
||||
|
||||
# Which version of mod_perl we are using
|
||||
# For mod_perl <= 1.999_21, replace VERSION_MP by 1
|
||||
# For mod_perl > 1.999_21, replace VERSION_MP by 2
|
||||
PerlSetEnv OCS_MODPERL_VERSION VERSION_MP
|
||||
|
||||
# Master Database settings
|
||||
# Replace DATABASE_SERVER by hostname or ip of MySQL server for WRITE
|
||||
PerlSetEnv OCS_DB_HOST DATABASE_SERVER
|
||||
# Replace DATABASE_PORT by port where running MySQL server, generally 3306
|
||||
PerlSetEnv OCS_DB_PORT DATABASE_PORT
|
||||
# Name of database
|
||||
PerlSetEnv OCS_DB_NAME DATABASE_NAME
|
||||
PerlSetEnv OCS_DB_LOCAL DATABASE_NAME
|
||||
# User allowed to connect to database
|
||||
PerlSetEnv OCS_DB_USER DATABASE_USER
|
||||
# Password for user
|
||||
PerlSetVar OCS_DB_PWD DATABASE_PASSWD
|
||||
# SSL Configuration
|
||||
# 0 to disable the SSL support for MySQL/MariaDB
|
||||
# 1 to enable the SSL support for MySQL/MariaDB
|
||||
PerlSetEnv OCS_DB_SSL_ENABLED 0
|
||||
# PerlSetEnv OCS_DB_SSL_CLIENT_KEY /etc/ssl/private/client.key
|
||||
# PerlSetEnv OCS_DB_SSL_CLIENT_CERT /etc/ssl/certs/client.crt
|
||||
# PerlSetEnv OCS_DB_SSL_CA_CERT /etc/ssl/certs/ca.crt
|
||||
# SSL Mode
|
||||
# - SSL_MODE_PREFERRED (SSL enabled but optional)
|
||||
# - SSL_MODE_REQUIRED (SSL enabled, mandatory but don't verify server certificate. Ex self signed cert)
|
||||
# - SSL_MODE_STRICT (SSL enabled, mandatory and server cert must be trusted)
|
||||
PerlSetEnv OCS_DB_SSL_MODE SSL_MODE_PREFERRED
|
||||
|
||||
|
||||
# Slave Database settings
|
||||
# Replace DATABASE_SERVER by hostname or ip of MySQL server for READ
|
||||
# Useful if you handle mysql slave databases
|
||||
# PerlSetEnv OCS_DB_SL_HOST DATABASE_SERVER
|
||||
# Replace DATABASE_PORT by port where running MySQL server, generally 3306
|
||||
# PerlSetEnv OCS_DB_SL_PORT_SLAVE DATABASE_PORT
|
||||
# User allowed to connect to database
|
||||
# PerlSetEnv OCS_DB_SL_USER ocs
|
||||
# Name of the database
|
||||
# PerlSetEnv OCS_DB_SL_NAME ocsweb
|
||||
# Password for user
|
||||
# PerlSetVar OCS_DB_SL_PWD ocs
|
||||
# SSL Configuration for Slave database
|
||||
# 0 to disable the SSL support for MySQL/MariaDB
|
||||
# 1 to enable the SSL support for MySQL/MariaDB
|
||||
# PerlSetEnv OCS_DB_SL_SSL_ENABLED 0
|
||||
# PerlSetEnv OCS_DB_SL_SSL_CLIENT_KEY /etc/ssl/private/client.key
|
||||
# PerlSetEnv OCS_DB_SL_SSL_CLIENT_CERT /etc/ssl/certs/client.crt
|
||||
# PerlSetEnv OCS_DB_SL_SSL_CA_CERT /etc/ssl/certs/ca.crt
|
||||
# SSL Mode
|
||||
# - SSL_MODE_PREFERRED (SSL enabled but optional)
|
||||
# - SSL_MODE_REQUIRED (SSL enabled, mandatory but don't verify server certificate. Ex self signed cert)
|
||||
# - SSL_MODE_STRICT (SSL enabled, mandatory and server cert must be trusted)
|
||||
# PerlSetEnv OCS_DB_SL_SSL_MODE SSL_MODE_PREFERRED
|
||||
|
||||
# Path to log directory (must be writeable)
|
||||
PerlSetEnv OCS_OPT_LOGPATH "PATH_TO_LOG_DIRECTORY"
|
||||
|
||||
# If you need to specify a mysql socket that the client's built-in
|
||||
#PerlSetEnv OCS_OPT_DBI_MYSQL_SOCKET "path/to/mysql/unix/socket"
|
||||
# DBI verbosity
|
||||
PerlSetEnv OCS_OPT_DBI_PRINT_ERROR 0
|
||||
|
||||
# Unicode support
|
||||
PerlSetEnv OCS_OPT_UNICODE_SUPPORT 1
|
||||
|
||||
# If you are using a multi server architecture,
|
||||
# Put the ip addresses of the slaves on the master
|
||||
# (This is read as perl regular expressions)
|
||||
PerlAddVar OCS_OPT_TRUSTED_IP 127.0.0.1
|
||||
#PerlAddVar OCS_OPT_TRUSTED_IP XXX.XXX.XXX.XXX
|
||||
|
||||
# ===== WEB SERVICE (SOAP) SETTINGS =====
|
||||
|
||||
PerlSetEnv OCS_OPT_WEB_SERVICE_ENABLED 0
|
||||
PerlSetEnv OCS_OPT_WEB_SERVICE_RESULTS_LIMIT 100
|
||||
# PerlSetEnv OCS_OPT_WEB_SERVICE_PRIV_MODS_CONF "WEBSERV_PRIV_MOD_CONF_FILE"
|
||||
|
||||
# Be careful: you must restart apache to make settings taking effects
|
||||
|
||||
# Configure engine to use the settings from this file
|
||||
PerlSetEnv OCS_OPT_OPTIONS_NOT_OVERLOADED 0
|
||||
|
||||
# Try to use other compress algorithm than raw zlib
|
||||
# GUNZIP and clear XML are supported
|
||||
PerlSetEnv OCS_OPT_COMPRESS_TRY_OTHERS 1
|
||||
|
||||
##############################################################
|
||||
# ===== OPTIONS BELOW ARE OVERLOADED IF YOU USE OCS GUI =====#
|
||||
##############################################################
|
||||
|
||||
# NOTE: IF YOU WANT TO USE THIS CONFIG FILE INSTEAD, set OCS_OPT_OPTIONS_NOT_OVERLOADED to '1'
|
||||
|
||||
# ===== MAIN SETTINGS =====
|
||||
|
||||
# Enable engine logs (see LOGPATH setting)
|
||||
PerlSetEnv OCS_OPT_LOGLEVEL 0
|
||||
# Specify agent's prolog frequency
|
||||
PerlSetEnv OCS_OPT_PROLOG_FREQ 12
|
||||
# Specify if agent take contact on service startup
|
||||
PerlSetEnv OCS_OPT_INVENTORY_ON_STARTUP 0
|
||||
# Configure the duplicates detection system
|
||||
PerlSetEnv OCS_OPT_AUTO_DUPLICATE_LVL 15
|
||||
# Futur security improvements
|
||||
PerlSetEnv OCS_OPT_SECURITY_LEVEL 0
|
||||
# Validity of a computer's lock
|
||||
PerlSetEnv OCS_OPT_LOCK_REUSE_TIME 600
|
||||
# Enable the history tracking system (useful for external data synchronisation
|
||||
PerlSetEnv OCS_OPT_TRACE_DELETED 0
|
||||
|
||||
# ===== INVENTORY SETTINGS =====
|
||||
|
||||
# Specify the validity of inventory data
|
||||
PerlSetEnv OCS_OPT_FREQUENCY 0
|
||||
# Configure engine to update inventory regarding to CHECKSUM agent value (lower DB backend load)
|
||||
PerlSetEnv OCS_OPT_INVENTORY_DIFF 1
|
||||
# Make engine consider an inventory as a transaction (lower concurency, better disk usage)
|
||||
PerlSetEnv OCS_OPT_INVENTORY_TRANSACTION 1
|
||||
# Configure engine to make a differential update of inventory sections (row level). Lower DB backend load, higher frontend load
|
||||
PerlSetEnv OCS_OPT_INVENTORY_WRITE_DIFF 1
|
||||
# Enable some stuff to improve DB queries, especially for GUI multicriteria searching system
|
||||
PerlSetEnv OCS_OPT_INVENTORY_CACHE_ENABLED 1
|
||||
# Specify when the engine will clean the inventory cache structures
|
||||
PerlSetEnv OCS_OPT_INVENTORY_CACHE_REVALIDATE 7
|
||||
# Enable you to keep trace of every elements encountered in db life
|
||||
PerlSetEnv OCS_OPT_INVENTORY_CACHE_KEEP 1
|
||||
|
||||
# ===== SOFTWARES DEPLOYMENT SETTINGS =====
|
||||
|
||||
# Enable this feature
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD 0
|
||||
# Package which have a priority superior than this value will not be downloaded
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_PERIOD_LENGTH 10
|
||||
# Time between two download cycles (bandwidth control)
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_CYCLE_LATENCY 60
|
||||
# Time between two fragment downloads (bandwidth control)
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_FRAG_LATENCY 60
|
||||
# Specify if you want to track packages affected to a group on computer's level
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_GROUPS_TRACE_EVENTS 1
|
||||
# Time between two download periods (bandwidth control)
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_PERIOD_LATENCY 60
|
||||
# Agents will send ERR_TIMEOUT event and clean the package it is older than this setting
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_TIMEOUT 7
|
||||
# Agents will send an error event and clean the package if package command does not respond during this setting
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_EXECUTION_TIMEOUT 120
|
||||
|
||||
# Enable ocs engine to deliver agent's files (deprecated)
|
||||
PerlSetEnv OCS_OPT_DEPLOY 0
|
||||
# Enable the softwares deployment capacity (bandwidth control)
|
||||
|
||||
# ===== GROUPS SETTINGS =====
|
||||
|
||||
# Enable the computer\s groups feature
|
||||
PerlSetEnv OCS_OPT_ENABLE_GROUPS 1
|
||||
# Random number computed in the defined range. Designed to avoid computing many groups in the same process
|
||||
PerlSetEnv OCS_OPT_GROUPS_CACHE_OFFSET 43200
|
||||
# Specify the validity of computer's groups (default: compute it once a day - see offset)
|
||||
PerlSetEnv OCS_OPT_GROUPS_CACHE_REVALIDATE 43200
|
||||
|
||||
# ===== IPDISCOVER SETTINGS =====
|
||||
|
||||
# Specify how much agent per LAN will discovered connected peripherals (0 to disable)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER 2
|
||||
# Specify the minimal difference to replace an ipdiscover agent
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_BETTER_THRESHOLD 1
|
||||
# Time between 2 arp requests (mini: 10 ms)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_LATENCY 100
|
||||
# Specify when to remove a computer when it has not come until this period
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_MAX_ALIVE 14
|
||||
# Disable the time before a first election (not recommended)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_NO_POSTPONE 0
|
||||
# Enable groups for ipdiscover (for example, you might want to prevent some groups to be ipdiscover agents)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_USE_GROUPS 1
|
||||
# Link ipdiscover network to computer TAG
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_LINK_TAG_NETWORK 0
|
||||
|
||||
# ===== INVENTORY FILES MAPPING SETTINGS =====
|
||||
|
||||
# Use with ocsinventory-injector, enable the multi entities feature
|
||||
PerlSetEnv OCS_OPT_GENERATE_OCS_FILES 0
|
||||
# Generate either compressed file or clear XML text
|
||||
PerlSetEnv OCS_OPT_OCS_FILES_FORMAT OCS
|
||||
# Specify if you want to keep trace of all inventory between to synchronisation with the higher level server
|
||||
PerlSetEnv OCS_OPT_OCS_FILES_OVERWRITE 0
|
||||
# Path to ocs files directory (must be writeable)
|
||||
PerlSetEnv OCS_OPT_OCS_FILES_PATH /tmp
|
||||
|
||||
# ===== FILTER SETTINGS =====
|
||||
|
||||
# Enable prolog filter stack
|
||||
PerlSetEnv OCS_OPT_PROLOG_FILTER_ON 0
|
||||
# Enable core filter system to modify some things "on the fly"
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_ENABLED 0
|
||||
# Enable inventory flooding filter. A dedicated ipaddress ia allowed to send a new computer only once in this period
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_FLOOD_IP 0
|
||||
# Period definition for INVENTORY_FILTER_FLOOD_IP
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_FLOOD_IP_CACHE_TIME 300
|
||||
# Enable inventory filter stack
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_ON 0
|
||||
|
||||
# ===== DATA FILTER =====
|
||||
|
||||
#Enable the dat filtering capacity
|
||||
PerlSetEnv OCS_OPT_DATA_FILTER 0
|
||||
|
||||
# Set the table names and the field associated you want to filter
|
||||
#PerlAddVar OCS_OPT_DATA_TO_FILTER HARDWARE
|
||||
#PerlAddVar OCS_OPT_DATA_TO_FILTER USERID
|
||||
|
||||
|
||||
# ===== REGISTRY SETTINGS =====
|
||||
|
||||
# Enable the registry capacity
|
||||
PerlSetEnv OCS_OPT_REGISTRY 1
|
||||
|
||||
# ===== SNMP SETTINGS =====
|
||||
|
||||
# Enable the SNMP capacity
|
||||
PerlSetEnv OCS_OPT_SNMP 0
|
||||
# Configure engine to update snmp inventory regarding to snmp_laststate table (lower DB backend load)
|
||||
PerlSetEnv OCS_OPT_SNMP_INVENTORY_DIFF 1
|
||||
# Display error message about agent https communication in logfile
|
||||
PerlSetEnv OCS_OPT_SNMP_PRINT_HTTPS_ERROR 1
|
||||
|
||||
# ===== SESSION SETTINGS =====
|
||||
# Not yet in GUI
|
||||
|
||||
# Validity of a session (prolog=>postinventory)
|
||||
PerlSetEnv OCS_OPT_SESSION_VALIDITY_TIME 600
|
||||
# Consider a session obsolete if it is older thant this value
|
||||
PerlSetEnv OCS_OPT_SESSION_CLEAN_TIME 86400
|
||||
# Accept an inventory only if required by server
|
||||
#( Refuse "forced" inventory)
|
||||
PerlSetEnv OCS_OPT_INVENTORY_SESSION_ONLY 0
|
||||
|
||||
# ===== TAG =====
|
||||
|
||||
# The default behavior of the server is to ignore TAG changes from the
|
||||
# agent.
|
||||
PerlSetEnv OCS_OPT_ACCEPT_TAG_UPDATE_FROM_CLIENT 0
|
||||
|
||||
# ===== EXTERNAL USERAGENTS =====
|
||||
|
||||
#Path for external useragents reference file
|
||||
#!! WARNING !! : external agents may not be supported by OCS NG Community !
|
||||
#PerlSetEnv OCS_OPT_EXT_USERAGENTS_FILE_PATH /tmp/yourfile.txt
|
||||
|
||||
# ===== PLUGINS =====
|
||||
|
||||
PerlSetEnv OCS_PLUGINS_PERL_DIR "PATH_TO_PLUGINS_PERL_DIRECTORY"
|
||||
PerlSetEnv OCS_PLUGINS_CONF_DIR "PATH_TO_PLUGINS_CONFIG_DIRECTORY"
|
||||
|
||||
# ===== DEPRECATED =====
|
||||
|
||||
# Set the proxy cache validity in http headers when sending a file
|
||||
PerlSetEnv OCS_OPT_PROXY_REVALIDATE_DELAY 3600
|
||||
# Deprecated
|
||||
PerlSetEnv OCS_OPT_UPDATE 0
|
||||
|
||||
############ DO NOT MODIFY BELOW ! #######################
|
||||
|
||||
# External modules
|
||||
PerlModule Apache::DBI
|
||||
PerlModule Compress::Zlib
|
||||
PerlModule XML::Simple
|
||||
|
||||
# Ocs plugins
|
||||
PerlModule Apache::Ocsinventory::Plugins
|
||||
|
||||
# Ocs
|
||||
PerlModule Apache::Ocsinventory
|
||||
PerlModule Apache::Ocsinventory::Server::Constants
|
||||
PerlModule Apache::Ocsinventory::Server::System
|
||||
PerlModule Apache::Ocsinventory::Server::Communication
|
||||
PerlModule Apache::Ocsinventory::Server::Inventory
|
||||
PerlModule Apache::Ocsinventory::Server::Duplicate
|
||||
|
||||
# Capacities
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Registry
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Update
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Ipdiscover
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Download
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Notify
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Snmp
|
||||
# This module guides you through the module creation
|
||||
# PerlModule Apache::Ocsinventory::Server::Capacities::Example
|
||||
# This module adds some rules to filter some request sent to ocs server in the prolog and inventory stages
|
||||
# PerlModule Apache::Ocsinventory::Server::Capacities::Filter
|
||||
# This module add availibity to filter data from HARDWARE section (data filtered won't be stored in database)
|
||||
# PerlModule Apache::Ocsinventory::Server::Capacities::Datafilter
|
||||
|
||||
# PerlTaintCheck On
|
||||
|
||||
# SSL apache settings
|
||||
#SSLEngine "SSL_ENABLE"
|
||||
#SSLCertificateFile "SSL_CERTIFICATE_FILE"
|
||||
#SSLCertificateKeyFile "SSL_CERTIFICATE_KEY_FILE"
|
||||
#SSLCACertificateFile "SSL_CERTIFICATE_FILE"
|
||||
#SSLCACertificatePath "SSL_CERTIFICATE_PATH"
|
||||
#SSLVerifyClient "SSL_VALIDATE_CLIENT"
|
||||
|
||||
# Engine apache settings
|
||||
# "Virtual" directory for handling OCS Inventory NG agents communications
|
||||
# Be careful, do not create such directory into your web server root document !
|
||||
<Location /ocsinventory>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
# Apache 2.2
|
||||
order deny,allow
|
||||
allow from all
|
||||
</IfModule>
|
||||
# If you protect this area you have to deal with http_auth_* agent's parameters
|
||||
# AuthType Basic
|
||||
# AuthName "OCS Inventory agent area"
|
||||
# AuthUserFile "APACHE_AUTH_USER_FILE"
|
||||
# require valid-user
|
||||
SetHandler perl-script
|
||||
PerlHandler Apache::Ocsinventory
|
||||
</Location>
|
||||
|
||||
#Web Service for plugin engine
|
||||
<Location /ocsplugins>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require local
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
# Apache 2.2
|
||||
order deny,allow
|
||||
allow from 127.0.0.1
|
||||
</IfModule>
|
||||
SetHandler perl-script
|
||||
PerlHandler Apache::Ocsinventory::Plugins::Apache
|
||||
</Location>
|
||||
|
||||
|
||||
# Web service apache settings
|
||||
PerlModule Apache::Ocsinventory::SOAP
|
||||
|
||||
<location /ocsinterface>
|
||||
SetHandler perl-script
|
||||
PerlHandler "Apache::Ocsinventory::SOAP"
|
||||
|
||||
# By default, you can query web service from everywhere with a valid user
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
AuthType Basic
|
||||
AuthName "OCS Inventory SOAP Area"
|
||||
# Use htpasswd to create/update soap-user (or another granted user)
|
||||
AuthUserFile "APACHE_AUTH_USER_FILE"
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require user "SOAP_USER"
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
require "SOAP_USER"
|
||||
</IfModule>
|
||||
</location>
|
||||
</IfModule>
|
||||
@ -1,85 +0,0 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
ocsapplication:
|
||||
image: ocsinventory/ocsinventory-docker-image:2.11
|
||||
container_name : ocsinventory-server
|
||||
restart: always
|
||||
expose:
|
||||
- "80"
|
||||
volumes:
|
||||
- "perlcomdata:/etc/ocsinventory-server"
|
||||
- "ocsreportsdata:/usr/share/ocsinventory-reports/ocsreports/extensions"
|
||||
- "varlibdata:/var/lib/ocsinventory-reports"
|
||||
- "httpdconfdata:/etc/apache2/conf-available"
|
||||
environment:
|
||||
OCS_DB_SERVER: ocsinventory-db
|
||||
OCS_DB_USER: ocsuser
|
||||
OCS_DB_PASS: ocspass
|
||||
OCS_DB_NAME: ocsweb
|
||||
# See documentation to set up SSL for MySQL
|
||||
OCS_SSL_ENABLED: 0
|
||||
links:
|
||||
- ocsdb
|
||||
networks:
|
||||
- localocs
|
||||
depends_on:
|
||||
- ocsdb
|
||||
|
||||
ocsdb :
|
||||
image : mysql:8.0
|
||||
container_name : ocsinventory-db
|
||||
restart: always
|
||||
expose :
|
||||
- "3306"
|
||||
volumes :
|
||||
- ./sql/:/docker-entrypoint-initdb.d/
|
||||
- sqldata:/var/lib/mysql
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD : rootpass
|
||||
MYSQL_USER : ocsuser
|
||||
MYSQL_PASSWORD : ocspass
|
||||
MYSQL_DATABASE : ocsweb
|
||||
networks:
|
||||
- localocs
|
||||
|
||||
ocsproxy:
|
||||
image: nginx
|
||||
container_name: ocsinventory-proxy
|
||||
restart: always
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
volumes:
|
||||
- ./nginx/conf:/etc/nginx/templates
|
||||
- ./nginx/certs:/etc/nginx/certs
|
||||
- ./nginx/auth:/etc/nginx/auth
|
||||
environment:
|
||||
# 80 or 443
|
||||
LISTEN_PORT: 80
|
||||
# empty or ssl
|
||||
PORT_TYPE: ""
|
||||
SSL_CERT: ocs-dummy.crt
|
||||
SSL_KEY: ocs-dummy.key
|
||||
# OCS Api user restriction (default ocsapi/ocapi)
|
||||
API_AUTH_FILE: ocsapi.htpasswd
|
||||
# OCS Download
|
||||
READ_TIMEOUT: 300
|
||||
CONNECT_TIMEOUT: 300
|
||||
SEND_TIMEOUT: 300
|
||||
MAX_BODY_SIZE: 1G
|
||||
depends_on:
|
||||
- ocsapplication
|
||||
networks:
|
||||
- localocs
|
||||
|
||||
networks:
|
||||
localocs:
|
||||
|
||||
volumes:
|
||||
perlcomdata:
|
||||
ocsreportsdata:
|
||||
varlibdata:
|
||||
httpdconfdata:
|
||||
sqldata:
|
||||
|
||||
@ -1,17 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo "| |"
|
||||
echo "| Welcome to OCS Inventory NG Management Docker! |"
|
||||
echo "| |"
|
||||
echo "+----------------------------------------------------------+"
|
||||
|
||||
# Create all directories
|
||||
mkdir -p $OCS_LOG_DIR
|
||||
mkdir -p $OCS_PERLEXT_DIR/Apache/Ocsinventory/Plugins
|
||||
mkdir -p $OCS_PLUGINSEXT_DIR
|
||||
mkdir -p $OCS_VARLIB_DIR/download
|
||||
mkdir -p $OCS_VARLIB_DIR/ipd
|
||||
mkdir -p $OCS_VARLIB_DIR/logs
|
||||
mkdir -p $OCS_VARLIB_DIR/scripts
|
||||
mkdir -p $OCS_VARLIB_DIR/snmp
|
||||
@ -1,48 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
SRV_CONF_FILE="/etc/apache2/conf-available/z-ocsinventory-server.conf"
|
||||
|
||||
if [ ! -z "${OCS_DISABLE_COM_MODE}" ]; then
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
echo "| Warning: OCS_DISABLE_COM_MODE environment variable is set! |"
|
||||
echo "| Communication server, which handles HTTP communications between database |"
|
||||
echo "| server and agents (Apache, perl and mod_perl) will be DISABLED! |"
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Configure z-ocsinventory-server file
|
||||
if [ ! -f ${SRV_CONF_FILE} ]; then
|
||||
cp /tmp/conf/ocsinventory-server.conf ${SRV_CONF_FILE}
|
||||
sed -i 's/VERSION_MP/2/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_SERVER/'"$OCS_DB_SERVER"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_PORT/'"$OCS_DB_PORT"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_NAME/'"$OCS_DB_NAME"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_USER/'"$OCS_DB_USER"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_PASSWD/'"$OCS_DB_PASS"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/"PATH_TO_LOG_DIRECTORY"/'"${OCS_LOG_DIR//\//\\/}"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/"PATH_TO_PLUGINS_PERL_DIRECTORY"/'"${OCS_PERLEXT_DIR//\//\\/}"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/"PATH_TO_PLUGINS_CONFIG_DIRECTORY"/'"${OCS_PLUGINSEXT_DIR//\//\\/}"'/g' ${SRV_CONF_FILE}
|
||||
fi
|
||||
|
||||
# Replace Variables
|
||||
if [ -f ${SRV_CONF_FILE} ]; then
|
||||
echo "+-----------------------------------------------+"
|
||||
echo "| Customizing from environment variables... |"
|
||||
echo "+-----------------------------------------------+"
|
||||
echo
|
||||
# Get all env vars starting with 'OCS_'
|
||||
for var in $(env | cut -f1 -d= | grep -i OCS_); do
|
||||
# Check that the current var is not commented out in conf file
|
||||
if grep -q "^\s*PerlSetEnv ${var^^}" ${SRV_CONF_FILE}; then
|
||||
echo "Applying Config ${var^^}=${!var} from environment variable"
|
||||
sed -i "s,^\(\s*PerlSetEnv ${var^^}\).*$,\1 ${!var},g" ${SRV_CONF_FILE}
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# Permissions
|
||||
chown -R $APACHE_RUN_USER: $OCS_LOG_DIR
|
||||
|
||||
# Enable conf
|
||||
a2enconf z-ocsinventory-server
|
||||
@ -1,57 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
REPORTS_CONF_FILE="/etc/apache2/conf-available/ocsinventory-reports.conf"
|
||||
DB_CONFIG_INC_FILE="${OCS_WEBCONSOLE_DIR}/ocsreports/dbconfig.inc.php"
|
||||
|
||||
if [ ! -z "${OCS_DISABLE_WEB_MODE}" ]; then
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
echo "| Warning: OCS_DISABLE_WEB_MODE environment variable is set! |"
|
||||
echo "| Administration console, which allows administrators to query the database |"
|
||||
echo "| server using their favorite browser (Apache, php) will be DISABLED! |"
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! -f $OCS_WEBCONSOLE_DIR/ocsreports/var.php ]; then
|
||||
cp -r /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}/ocsreports/ ${OCS_WEBCONSOLE_DIR}
|
||||
rm -rf ${DB_CONFIG_INC_FILE}
|
||||
fi
|
||||
|
||||
# Configure ocsinventory-reports file
|
||||
if [ ! -f ${REPORTS_CONF_FILE} ]; then
|
||||
cp /tmp/conf/ocsinventory-reports.conf ${REPORTS_CONF_FILE}
|
||||
sed -i 's/OCSREPORTS_ALIAS/\/ocsreports/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PATH_TO_OCSREPORTS_DIR/'"${OCS_WEBCONSOLE_DIR//\//\\/}"'\/ocsreports/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PACKAGES_ALIAS/\/download/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PATH_TO_PACKAGES_DIR/'"${OCS_VARLIB_DIR//\//\\/}"'download/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/SNMP_ALIAS/\/snmp/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PATH_TO_SNMP_DIR/'"${OCS_VARLIB_DIR//\//\\/}"'snmp/g' ${REPORTS_CONF_FILE}
|
||||
fi
|
||||
|
||||
# Generate dbconfig.inc.php
|
||||
if [ ! -f ${DB_CONFIG_INC_FILE} ]; then
|
||||
cp /tmp/conf/dbconfig.inc.php $OCS_WEBCONSOLE_DIR/ocsreports
|
||||
sed -i 's/OCS_DB_NAME/'"$OCS_DB_NAME"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_READ_NAME/'"$OCS_DB_SERVER"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_WRITE_NAME/'"$OCS_DB_SERVER"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_DB_PORT/'"$OCS_DB_PORT"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_DB_USER/'"$OCS_DB_USER"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_DB_PASS/'"$OCS_DB_PASS"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_WEB_MODE/'"$OCS_SSL_WEB_MODE"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_KEY/'"${OCS_SSL_KEY//\//\\/}"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_CERT/'"${OCS_SSL_CERT//\//\\/}"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_CA/'"${OCS_SSL_CA//\//\\/}"'/g' ${DB_CONFIG_INC_FILE}
|
||||
fi
|
||||
|
||||
# Permissions
|
||||
chown -R $APACHE_RUN_USER: $OCS_VARLIB_DIR
|
||||
chown -R $APACHE_RUN_USER: $OCS_WEBCONSOLE_DIR
|
||||
|
||||
# rm install.php
|
||||
if [ -f $OCS_WEBCONSOLE_DIR/ocsreports/install.php ]; then
|
||||
rm $OCS_WEBCONSOLE_DIR/ocsreports/install.php
|
||||
fi
|
||||
|
||||
# Enable conf
|
||||
a2enconf ocsinventory-reports
|
||||
@ -1,32 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ ! -z "${OCS_DISABLE_API_MODE}" ] || [ ! -z "${OCS_DISABLE_COM_MODE}" ]; then
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
echo "| Warning: OCS_DISABLE_API_MODE or OCS_DISABLE_COM_MODE environment |"
|
||||
echo "| variable is set! |"
|
||||
echo "| REST API will be DISABLED |"
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
API_CONF_FILE="/etc/apache2/conf-available/zz-ocsinventory-restapi.conf"
|
||||
API_ROUTE=$(perl -e "print \"@INC[2]\"")
|
||||
API_ROUTE_LOADER="${API_ROUTE}/Api/Ocsinventory/Restapi/Loader.pm"
|
||||
|
||||
cp -R /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}/Api/ ${API_ROUTE}
|
||||
|
||||
# Configure zz-ocsinventory-restapi file
|
||||
if [ ! -f ${API_CONF_FILE} ]; then
|
||||
cp /tmp/conf/ocsinventory-restapi.conf ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_SERVER/'"$OCS_DB_SERVER"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_PORT/'"$OCS_DB_PORT"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_NAME/'"$OCS_DB_NAME"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_USER/'"$OCS_DB_USER"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_PASSWD/'"$OCS_DB_PASS"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/REST_API_PATH/'"${API_ROUTE//\//\\/}"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/REST_API_LOADER_PATH/'"${API_ROUTE_LOADER//\//\\/}"'/g' ${API_CONF_FILE}
|
||||
fi
|
||||
|
||||
# Enable conf
|
||||
a2enconf zz-ocsinventory-restapi
|
||||
@ -1,35 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo "| Setting Apache Server Name to '${APACHE_SERVER_NAME:-localhost}'"
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo
|
||||
|
||||
sed -ri -e "s!^#(ServerName)\s+\S+!\1 ${APACHE_SERVER_NAME:-localhost}:80!g" \
|
||||
"/etc/apache2/apache2.conf"
|
||||
|
||||
# Remove temp files
|
||||
echo "+--------------------------------+"
|
||||
echo "| Removing not used files... |"
|
||||
echo "+--------------------------------+"
|
||||
echo
|
||||
cd /tmp
|
||||
shopt -s extglob
|
||||
rm -rf !("conf")
|
||||
|
||||
# Apache start
|
||||
if [ ! -d "$APACHE_RUN_DIR" ]; then
|
||||
mkdir "$APACHE_RUN_DIR"
|
||||
chown $APACHE_RUN_USER:$APACHE_RUN_GROUP "$APACHE_RUN_DIR"
|
||||
fi
|
||||
|
||||
if [ -f "$APACHE_PID_FILE" ]; then
|
||||
rm "$APACHE_PID_FILE"
|
||||
fi
|
||||
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo "| OK, prepare finshed ;-) |"
|
||||
echo "| |"
|
||||
echo "| Starting OCS Inventory NG Management Docker... |"
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo
|
||||
@ -1,35 +0,0 @@
|
||||
#!/bin/bash
|
||||
# vim:sw=4:ts=4:et
|
||||
|
||||
set -e
|
||||
|
||||
if [ -z "${OCS_ENTRYPOINT_QUIET_LOGS:-}" ]; then
|
||||
exec 3>&1
|
||||
else
|
||||
exec 3>/dev/null
|
||||
fi
|
||||
|
||||
if /usr/bin/find "/docker-entrypoint.d/" -mindepth 1 -maxdepth 1 -type f -print -quit 2>/dev/null | read v; then
|
||||
echo >&3 "$0: /docker-entrypoint.d/ is not empty, will attempt to perform configuration"
|
||||
|
||||
echo >&3 "$0: Looking for shell scripts in /docker-entrypoint.d/"
|
||||
find "/docker-entrypoint.d/" -follow -type f -print | sort -V | while read -r f; do
|
||||
case "$f" in
|
||||
*.sh)
|
||||
if ! [ -x "$f" ]; then
|
||||
chmod +x $f
|
||||
fi
|
||||
|
||||
echo -e >&3 "\n$0: Launching ${f}\n"
|
||||
"$f"
|
||||
;;
|
||||
*) echo -e >&3 "\n$0: Ignoring ${f}\n" ;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo >&3 "$0: Configuration complete; ready for start up"
|
||||
else
|
||||
echo >&3 "$0: No files found in /docker-entrypoint.d/, skipping configuration"
|
||||
fi
|
||||
|
||||
exec "$@"
|
||||
@ -1 +0,0 @@
|
||||
ocsapi:$apr1$BcAk5f/A$0O5c/DSy92/o.vpwwshWQ.
|
||||
@ -1,22 +0,0 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDlzCCAn+gAwIBAgIUZq+XFJryUuBpkwebSwjSy/hfMCkwDQYJKoZIhvcNAQEL
|
||||
BQAwWzELMAkGA1UEBhMCRlIxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
|
||||
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEUMBIGA1UEAwwLbXlvY3NzZXJ2ZXIw
|
||||
HhcNMjIwNDEzMDk0OTUzWhcNMzIwNDEwMDk0OTUzWjBbMQswCQYDVQQGEwJGUjET
|
||||
MBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQ
|
||||
dHkgTHRkMRQwEgYDVQQDDAtteW9jc3NlcnZlcjCCASIwDQYJKoZIhvcNAQEBBQAD
|
||||
ggEPADCCAQoCggEBAOQDcGzmYzzgVycXSEZWMJ2TEtnmjouNuUKAVQUcELMkZOk0
|
||||
TIRz7QhPIOCiH2bklji+ByyVZg/uXRFJlT/P46rPor/OuRK2Lkrt+APr+FmkLgvf
|
||||
JHMfm7YRbZuWVRJq0htNNL6szwHEFE99GlRy7SuapkhKSo4qY/LjrrR7E7DnPj/G
|
||||
7o21ge3OpOfbmx9xVWbEZaJqMOZDt1y3fbp3hQsflVM0AKdg7OoHOBWnv65iJIkN
|
||||
LtG7Icqcp+8AKnL1PaiMU+P970GTMZyZ0NWVAWgab9+Wl+makTTdDdQgJIhg19og
|
||||
ReLeYspEQlzXmEz+8JAxWGqsu+HuiZ6ClSl04W0CAwEAAaNTMFEwHQYDVR0OBBYE
|
||||
FEljOkF7g17RD+pOpJ7M6dovwI9uMB8GA1UdIwQYMBaAFEljOkF7g17RD+pOpJ7M
|
||||
6dovwI9uMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAKA2Fcot
|
||||
58X97tsLWC6eJrF2MLJzcNeSiiJayG9bT8agsUE8WGq5fvHvf5E54tueCp/q+a7V
|
||||
k4ZowCJF3RAvAqzRkMLQWaGms0Brz4qRtVvRqhWkP7aMGhUieOS2rTfLZ+TYPKfK
|
||||
561w8gSpxs9uRXbhnYeUchxJxCUg0CbxQwsjltrvnOF2LVP6JJDtYcc/NiDXhP4W
|
||||
pTp+EdwXt87VSRkTrqjEQO7/3TMsNjhi0PMFHnQf47ijLt44XaNGKh9pY31Ae9oo
|
||||
6IuRygJc6QNVoGRmF2bxsorU4i4rA3kR2Ir9AUbxJT6MtuLtx8DGB8Dmp6bKmIv+
|
||||
HZH21wRRhwrYJb8=
|
||||
-----END CERTIFICATE-----
|
||||
@ -1,28 +0,0 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDkA3Bs5mM84Fcn
|
||||
F0hGVjCdkxLZ5o6LjblCgFUFHBCzJGTpNEyEc+0ITyDgoh9m5JY4vgcslWYP7l0R
|
||||
SZU/z+Oqz6K/zrkSti5K7fgD6/hZpC4L3yRzH5u2EW2bllUSatIbTTS+rM8BxBRP
|
||||
fRpUcu0rmqZISkqOKmPy4660exOw5z4/xu6NtYHtzqTn25sfcVVmxGWiajDmQ7dc
|
||||
t326d4ULH5VTNACnYOzqBzgVp7+uYiSJDS7RuyHKnKfvACpy9T2ojFPj/e9BkzGc
|
||||
mdDVlQFoGm/flpfpmpE03Q3UICSIYNfaIEXi3mLKREJc15hM/vCQMVhqrLvh7ome
|
||||
gpUpdOFtAgMBAAECggEBAM4BGXMaV/CpU7R6wY7i0jubpH2AY6tMGWQu5CGgsKnZ
|
||||
qN5VpQhKYI6QR0kM0Mg6oEqVzY+HT1X3athynciwf6ZUwFsBX467UGncRKbubEw5
|
||||
HG0XZywoE5vUdS4MDcJ9BmUqRQw8vy5+REdo5QAFcahiqfdIP8HgJLtO4Aop5Kl/
|
||||
HoLqR83q3vBHfidxTX2z4m05t6ucAbmqLAgAb2GzRHEvdCpSXvs7M9ZyR/rvdhSV
|
||||
pswWR7XIUic50Lc8tHXyaKinuBFOCWCszsirPLAVPrs1D7Gq8kmdxUEEj0V9VbEE
|
||||
8afsb9cCojrDISn814WwjX+zVwjRwyr3v3BLHVGu06ECgYEA+1VHUwBTUnHmnMR+
|
||||
6XE1nkBStedvXGsMDIxK/VhNXAylUz4kfJ0bMPKdzbxSieHwA8O1+Hg4gN31V2Sn
|
||||
RgT5P0sLGdideysoy8yR5Aiiwx+7EXGqSQltY2lpaykP9wvpznWi3k/Wd7dAaTCd
|
||||
jPCtkzoLYMDzaQ9uc4A2VyY00RkCgYEA6D9PPvV6YE8S7G7sGwTSt9mgobZNm1AV
|
||||
BjDmtEPfDSK59rT8PpoN+225c1qaIIODdH0DHK9ZbPzo/29tW1l9zgGjEXEw396v
|
||||
Q9y99Ofh0JEsQbJJw/nPdV8dHKOL2ek3UWsscpsk5dUb+4gBpE+/wH21j7UiczKt
|
||||
a8whmMFw+XUCgYAPYdHCr7NpyVTO5WvLB8W7UL5/KZH0Owz6u59fUAc0CgYYSSZc
|
||||
hhUC8uZbkBoRHEXfRRwe/+SdZng8iAmAzI8go4wjYdGJl0Og7X1EUo77mDaPw8Aj
|
||||
RjNusSXljBbRDOabXzG/n21F2G5VwcbyuEw3RYcqvcRn+qzM3tz0in8TCQKBgDe1
|
||||
N+T6LOh9DyT3VlsExSakZQtlFyhyBRj/EdebkB0ufzzWHMtHWKM+poUs7ltuMFH4
|
||||
yo5O4TxrTdg3ehu3U53edqbwZ7DLUW8Nu+LK3DeTGvKHOXpwqXqV3f3InPsgHczB
|
||||
0F+NJ0SZ4aRr8zjeiDg77xkRcboAJej9hfGGNPshAoGALPS2HtT/1ycsER3a33NW
|
||||
A8j/2TfovcjZ9u15q5KDLRZ+3UngLvVwPJO1j/uLPqyyRsQID7SE29KCj/E8kOZH
|
||||
clbLXZmslyk369HOlpXZEXvR7rDxOt1jdojQrtEyW4gDT8k4iEw8nPcJyJ7YSVp/
|
||||
Qa0OOCtQPPvBt0Be1bHTGek=
|
||||
-----END PRIVATE KEY-----
|
||||
@ -1,50 +0,0 @@
|
||||
##
|
||||
# You should look at the following URL's in order to grasp a solid understanding
|
||||
# of Nginx configuration files in order to fully unleash the power of Nginx.
|
||||
# https://www.nginx.com/resources/wiki/start/
|
||||
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
|
||||
# https://wiki.debian.org/Nginx/DirectoryStructure
|
||||
#
|
||||
# In most cases, administrators will remove this file from sites-enabled/ and
|
||||
# leave it as reference inside of sites-available where it will continue to be
|
||||
# updated by the nginx packaging team.
|
||||
#
|
||||
# This file will automatically load configuration files provided by other
|
||||
# applications, such as Drupal or Wordpress. These applications will be made
|
||||
# available underneath a path with that package name, such as /drupal8.
|
||||
#
|
||||
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
|
||||
##
|
||||
|
||||
# OCS server configuration
|
||||
#
|
||||
server {
|
||||
listen ${LISTEN_PORT} ${PORT_TYPE} default_server;
|
||||
|
||||
ssl_certificate /etc/nginx/certs/${SSL_CERT};
|
||||
ssl_certificate_key /etc/nginx/certs/${SSL_KEY};
|
||||
|
||||
location / {
|
||||
proxy_redirect off;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Frame-Options SAMEORIGIN;
|
||||
proxy_pass http://ocsapplication;
|
||||
}
|
||||
|
||||
location /ocsapi {
|
||||
auth_basic "OCS Api area";
|
||||
auth_basic_user_file /etc/nginx/auth/${API_AUTH_FILE};
|
||||
proxy_pass http://ocsapplication/ocsapi;
|
||||
}
|
||||
|
||||
location /download {
|
||||
proxy_read_timeout ${READ_TIMEOUT};
|
||||
proxy_connect_timeout ${CONNECT_TIMEOUT};
|
||||
proxy_send_timeout ${SEND_TIMEOUT};
|
||||
client_max_body_size ${MAX_BODY_SIZE};
|
||||
proxy_pass http://ocsapplication/download;
|
||||
}
|
||||
}
|
||||
2678
2.11/sql/ocsbase.sql
2678
2.11/sql/ocsbase.sql
File diff suppressed because one or more lines are too long
@ -1,74 +0,0 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
ENV OCS_VERSION 2.12.1
|
||||
|
||||
LABEL maintainer="contact@ocsinventory-ng.org" \
|
||||
version="${OCS_VERSION}" \
|
||||
description="OCS Inventory docker image"
|
||||
|
||||
ARG APT_FLAGS="-y"
|
||||
|
||||
ENV APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data \
|
||||
APACHE_LOG_DIR=/var/log/apache2 APACHE_PID_FILE=/var/run/apache2/apache2.pid APACHE_RUN_DIR=/var/run/apache2 APACHE_LOCK_DIR=/var/lock/apache2 \
|
||||
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 \
|
||||
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 \
|
||||
TZ=Europe/Paris
|
||||
|
||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||
|
||||
VOLUME /var/lib/ocsinventory-reports /etc/ocsinventory-server /usr/share/ocsinventory-reports/ocsreports/extensions
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
wget \
|
||||
curl \
|
||||
make \
|
||||
perl \
|
||||
apache2 \
|
||||
php \
|
||||
libxml-simple-perl \
|
||||
libdbi-perl \
|
||||
libdbd-mysql-perl \
|
||||
libapache-dbi-perl \
|
||||
libnet-ip-perl \
|
||||
libsoap-lite-perl \
|
||||
libarchive-zip-perl \
|
||||
libswitch-perl \
|
||||
libmojolicious-perl \
|
||||
libplack-perl \
|
||||
build-essential \
|
||||
php-pclzip \
|
||||
php-mbstring \
|
||||
php-soap \
|
||||
php-mysql \
|
||||
php-curl \
|
||||
php-xml \
|
||||
php-zip \
|
||||
php-gd \
|
||||
php-ldap
|
||||
|
||||
RUN wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/${OCS_VERSION}/OCSNG_UNIX_SERVER-${OCS_VERSION}.tar.gz -P /tmp && \
|
||||
tar xzf /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}.tar.gz -C /tmp;
|
||||
|
||||
RUN cd /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}/Apache/ && \
|
||||
perl Makefile.PL && \
|
||||
make && \
|
||||
make install
|
||||
|
||||
WORKDIR /etc/apache2/conf-available
|
||||
|
||||
# Redirect Apache2 Logs to stdout e stderr
|
||||
RUN ln -sf /proc/self/fd/1 /var/log/apache2/access.log && \
|
||||
ln -sf /proc/self/fd/2 /var/log/apache2/error.log
|
||||
|
||||
COPY conf/ /tmp/conf
|
||||
|
||||
COPY ./docker-entrypoint.sh /docker-entrypoint.sh
|
||||
COPY ./docker-entrypoint.d /docker-entrypoint.d
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
# https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#entrypoint
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
CMD ["/usr/sbin/apache2", "-DFOREGROUND"]
|
||||
@ -1,34 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
* Copyright 2005-2016 OCSInventory-NG/OCSInventory-ocsreports contributors.
|
||||
* See the Contributors file for more details about them.
|
||||
*
|
||||
* This file is part of OCSInventory-NG/OCSInventory-ocsreports.
|
||||
*
|
||||
* OCSInventory-NG/OCSInventory-ocsreports is free software: you can redistribute
|
||||
* it and/or modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation, either version 2 of the License,
|
||||
* or (at your option) any later version.
|
||||
*
|
||||
* OCSInventory-NG/OCSInventory-ocsreports is distributed in the hope that it
|
||||
* will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with OCSInventory-NG/OCSInventory-ocsreports. if not, write to the
|
||||
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*/
|
||||
define("DB_NAME", "OCS_DB_NAME");
|
||||
define("SERVER_READ", "OCS_READ_NAME");
|
||||
define("SERVER_WRITE", "OCS_WRITE_NAME");
|
||||
define("SERVER_PORT", "OCS_DB_PORT");
|
||||
define("COMPTE_BASE", "OCS_DB_USER");
|
||||
define("PSWD_BASE", "OCS_DB_PASS");
|
||||
define("ENABLE_SSL","OCS_SSL_ENABLED");
|
||||
define("SSL_MODE","OCS_SSL_WEB_MODE");
|
||||
define("SSL_KEY","OCS_SSL_KEY");
|
||||
define("SSL_CERT","OCS_SSL_CERT");
|
||||
define("CA_CERT","OCS_SSL_CA");
|
||||
?>
|
||||
@ -1,120 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# OCS Inventory NG Administration Server
|
||||
#
|
||||
# Copyleft 2008 OCS Inventory NG Team
|
||||
# Web: http://www.ocsinventory-ng.org
|
||||
#
|
||||
# This code is open source and may be copied and modified as long as the source
|
||||
# code is always made freely available.
|
||||
# Please refer to the General Public Licence http://www.gnu.org/ or Licence.txt
|
||||
################################################################################
|
||||
|
||||
#
|
||||
# ANY CHANGE ON THIS FILE REQUIRES APACHE RESTART TO TAKE EFFECT
|
||||
#
|
||||
|
||||
################################################################################
|
||||
# Administration console public pages
|
||||
#
|
||||
# Alias used to put Administration Server static page (typically PHP) outside
|
||||
# Apache document root directory
|
||||
#
|
||||
Alias OCSREPORTS_ALIAS PATH_TO_OCSREPORTS_DIR
|
||||
|
||||
<Directory PATH_TO_OCSREPORTS_DIR>
|
||||
# By default, users can use console from everywhere
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
Options Indexes FollowSymLinks
|
||||
DirectoryIndex index.php
|
||||
AllowOverride Options AuthConfig
|
||||
|
||||
# Uncomment following to force use of HTTPS in Administration Server
|
||||
#SSLRequireSSL
|
||||
|
||||
# PHP tuning (not working on all distribution, use php.ini instead)
|
||||
<IfModule mod_php5.c>
|
||||
AddType application/x-httpd-php .php
|
||||
php_flag file_uploads on
|
||||
# Some PHP tuning for deployment feature up to 8 MB
|
||||
# post_max_size must be greater than upload_max_filesize
|
||||
# because of HTTP headers
|
||||
php_value post_max_size 101m
|
||||
php_value upload_max_filesize 100m
|
||||
# You may have to uncomment following on errors
|
||||
#php_value max_execution_time -1
|
||||
#php_value max_input_time -1
|
||||
|
||||
# Uncomment following if you need to specify a mysql socket
|
||||
#php_value mysql.default_socket "path/to/mysql/unix/socket"
|
||||
|
||||
#!! Mandatory !! : set magic_quotes_gpc to off (to make ocsreports works correctly)
|
||||
php_flag magic_quotes_gpc off
|
||||
</IfModule>
|
||||
# Duplicate for php7 compatibility
|
||||
<IfModule mod_php7.c>
|
||||
AddType application/x-httpd-php .php
|
||||
php_flag file_uploads on
|
||||
# Some PHP tuning for deployment feature up to 8 MB
|
||||
# post_max_size must be greater than upload_max_filesize
|
||||
# because of HTTP headers
|
||||
php_value post_max_size 101m
|
||||
php_value upload_max_filesize 100m
|
||||
# You may have to uncomment following on errors
|
||||
#php_value max_execution_time -1
|
||||
#php_value max_input_time -1
|
||||
|
||||
# Uncomment following if you need to specify a mysql socket
|
||||
#php_value mysql.default_socket "path/to/mysql/unix/socket"
|
||||
|
||||
#!! Mandatory !! : set magic_quotes_gpc to off (to make ocsreports works correctly)
|
||||
php_flag magic_quotes_gpc off
|
||||
</IfModule>
|
||||
|
||||
# Uncomment following to allow HTTP body request up to 4 MB
|
||||
# instead default 512 KB
|
||||
#LimitRequestBody 4194304
|
||||
|
||||
</Directory>
|
||||
|
||||
################################################################################
|
||||
# Deployment packages download area
|
||||
#
|
||||
# Alias to put Deployment package files outside Apache document root directory
|
||||
#
|
||||
<Directory PATH_TO_PACKAGES_DIR>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
</Directory>
|
||||
Alias PACKAGES_ALIAS PATH_TO_PACKAGES_DIR
|
||||
|
||||
|
||||
################################################################################
|
||||
# Snmp communities area
|
||||
#
|
||||
# Alias to put Snmp custom Mibs files outside Apache document root directory
|
||||
#
|
||||
<Directory PATH_TO_SNMP_DIR>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
</Directory>
|
||||
Alias SNMP_ALIAS PATH_TO_SNMP_DIR
|
||||
@ -1,23 +0,0 @@
|
||||
PerlOptions +Parent
|
||||
|
||||
<Perl>
|
||||
$ENV{PLACK_ENV} = 'production';
|
||||
$ENV{MOJO_HOME} = 'REST_API_PATH';
|
||||
$ENV{MOJO_MODE} = 'deployment';
|
||||
$ENV{OCS_DB_HOST} = 'DATABASE_SERVER';
|
||||
$ENV{OCS_DB_PORT} = 'DATABASE_PORT';
|
||||
$ENV{OCS_DB_LOCAL} = 'DATABASE_NAME';
|
||||
$ENV{OCS_DB_USER} = 'DATABASE_USER';
|
||||
$ENV{OCS_DB_PWD} = 'DATABASE_PASSWD';
|
||||
$ENV{OCS_DB_SSL_ENABLED} = OCS_SSL_ENABLED;
|
||||
# $ENV{OCS_DB_SSL_CLIENT_KEY} = '';
|
||||
# $ENV{OCS_DB_SSL_CLIENT_CERT} = '';
|
||||
# $ENV{OCS_DB_SSL_CA_CERT} = '';
|
||||
$ENV{OCS_DB_SSL_MODE} = 'SSL_MODE_PREFERRED';
|
||||
</Perl>
|
||||
|
||||
<Location /ocsapi>
|
||||
SetHandler perl-script
|
||||
PerlResponseHandler Plack::Handler::Apache2
|
||||
PerlSetVar psgi_app 'REST_API_LOADER_PATH'
|
||||
</Location>
|
||||
@ -1,383 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# OCS Inventory NG Communication Server Perl Module Setup
|
||||
#
|
||||
# Copyleft 2006 Pascal DANEK
|
||||
# Web: http://www.ocsinventory-ng.org
|
||||
#
|
||||
# This code is open source and may be copied and modified as long as the source
|
||||
# code is always made freely available.
|
||||
# Please refer to the General Public Licence http://www.gnu.org/ or Licence.txt
|
||||
################################################################################
|
||||
|
||||
<IfModule mod_perl.c>
|
||||
|
||||
# Which version of mod_perl we are using
|
||||
# For mod_perl <= 1.999_21, replace VERSION_MP by 1
|
||||
# For mod_perl > 1.999_21, replace VERSION_MP by 2
|
||||
PerlSetEnv OCS_MODPERL_VERSION VERSION_MP
|
||||
|
||||
# Master Database settings
|
||||
# Replace DATABASE_SERVER by hostname or ip of MySQL server for WRITE
|
||||
PerlSetEnv OCS_DB_HOST DATABASE_SERVER
|
||||
# Replace DATABASE_PORT by port where running MySQL server, generally 3306
|
||||
PerlSetEnv OCS_DB_PORT DATABASE_PORT
|
||||
# Name of database
|
||||
PerlSetEnv OCS_DB_NAME DATABASE_NAME
|
||||
PerlSetEnv OCS_DB_LOCAL DATABASE_NAME
|
||||
# User allowed to connect to database
|
||||
PerlSetEnv OCS_DB_USER DATABASE_USER
|
||||
# Password for user
|
||||
PerlSetVar OCS_DB_PWD DATABASE_PASSWD
|
||||
# SSL Configuration
|
||||
# 0 to disable the SSL support for MySQL/MariaDB
|
||||
# 1 to enable the SSL support for MySQL/MariaDB
|
||||
PerlSetEnv OCS_DB_SSL_ENABLED 0
|
||||
# PerlSetEnv OCS_DB_SSL_CLIENT_KEY /etc/ssl/private/client.key
|
||||
# PerlSetEnv OCS_DB_SSL_CLIENT_CERT /etc/ssl/certs/client.crt
|
||||
# PerlSetEnv OCS_DB_SSL_CA_CERT /etc/ssl/certs/ca.crt
|
||||
# SSL Mode
|
||||
# - SSL_MODE_PREFERRED (SSL enabled but optional)
|
||||
# - SSL_MODE_REQUIRED (SSL enabled, mandatory but don't verify server certificate. Ex self signed cert)
|
||||
# - SSL_MODE_STRICT (SSL enabled, mandatory and server cert must be trusted)
|
||||
PerlSetEnv OCS_DB_SSL_MODE SSL_MODE_PREFERRED
|
||||
|
||||
|
||||
# Slave Database settings
|
||||
# Replace DATABASE_SERVER by hostname or ip of MySQL server for READ
|
||||
# Useful if you handle mysql slave databases
|
||||
# PerlSetEnv OCS_DB_SL_HOST DATABASE_SERVER
|
||||
# Replace DATABASE_PORT by port where running MySQL server, generally 3306
|
||||
# PerlSetEnv OCS_DB_SL_PORT_SLAVE DATABASE_PORT
|
||||
# User allowed to connect to database
|
||||
# PerlSetEnv OCS_DB_SL_USER ocs
|
||||
# Name of the database
|
||||
# PerlSetEnv OCS_DB_SL_NAME ocsweb
|
||||
# Password for user
|
||||
# PerlSetVar OCS_DB_SL_PWD ocs
|
||||
# SSL Configuration for Slave database
|
||||
# 0 to disable the SSL support for MySQL/MariaDB
|
||||
# 1 to enable the SSL support for MySQL/MariaDB
|
||||
# PerlSetEnv OCS_DB_SL_SSL_ENABLED 0
|
||||
# PerlSetEnv OCS_DB_SL_SSL_CLIENT_KEY /etc/ssl/private/client.key
|
||||
# PerlSetEnv OCS_DB_SL_SSL_CLIENT_CERT /etc/ssl/certs/client.crt
|
||||
# PerlSetEnv OCS_DB_SL_SSL_CA_CERT /etc/ssl/certs/ca.crt
|
||||
# SSL Mode
|
||||
# - SSL_MODE_PREFERRED (SSL enabled but optional)
|
||||
# - SSL_MODE_REQUIRED (SSL enabled, mandatory but don't verify server certificate. Ex self signed cert)
|
||||
# - SSL_MODE_STRICT (SSL enabled, mandatory and server cert must be trusted)
|
||||
# PerlSetEnv OCS_DB_SL_SSL_MODE SSL_MODE_PREFERRED
|
||||
|
||||
# Path to log directory (must be writeable)
|
||||
PerlSetEnv OCS_OPT_LOGPATH "PATH_TO_LOG_DIRECTORY"
|
||||
|
||||
# If you need to specify a mysql socket that the client's built-in
|
||||
#PerlSetEnv OCS_OPT_DBI_MYSQL_SOCKET "path/to/mysql/unix/socket"
|
||||
# DBI verbosity
|
||||
PerlSetEnv OCS_OPT_DBI_PRINT_ERROR OCS_DBI_PRINT_ERROR
|
||||
|
||||
# Unicode support
|
||||
PerlSetEnv OCS_OPT_UNICODE_SUPPORT 1
|
||||
|
||||
# If you are using a multi server architecture,
|
||||
# Put the ip addresses of the slaves on the master
|
||||
# (This is read as perl regular expressions)
|
||||
PerlAddVar OCS_OPT_TRUSTED_IP 127.0.0.1
|
||||
#PerlAddVar OCS_OPT_TRUSTED_IP XXX.XXX.XXX.XXX
|
||||
|
||||
# ===== WEB SERVICE (SOAP) SETTINGS =====
|
||||
|
||||
PerlSetEnv OCS_OPT_WEB_SERVICE_ENABLED 0
|
||||
PerlSetEnv OCS_OPT_WEB_SERVICE_RESULTS_LIMIT 100
|
||||
# PerlSetEnv OCS_OPT_WEB_SERVICE_PRIV_MODS_CONF "WEBSERV_PRIV_MOD_CONF_FILE"
|
||||
|
||||
# Be careful: you must restart apache to make settings taking effects
|
||||
|
||||
# Configure engine to use the settings from this file
|
||||
PerlSetEnv OCS_OPT_OPTIONS_NOT_OVERLOADED 0
|
||||
|
||||
# Try to use other compress algorithm than raw zlib
|
||||
# GUNZIP and clear XML are supported
|
||||
PerlSetEnv OCS_OPT_COMPRESS_TRY_OTHERS 1
|
||||
|
||||
##############################################################
|
||||
# ===== OPTIONS BELOW ARE OVERLOADED IF YOU USE OCS GUI =====#
|
||||
##############################################################
|
||||
|
||||
# NOTE: IF YOU WANT TO USE THIS CONFIG FILE INSTEAD, set OCS_OPT_OPTIONS_NOT_OVERLOADED to '1'
|
||||
|
||||
# ===== MAIN SETTINGS =====
|
||||
|
||||
# Enable engine logs (see LOGPATH setting)
|
||||
PerlSetEnv OCS_OPT_LOGLEVEL 0
|
||||
# Specify agent's prolog frequency
|
||||
PerlSetEnv OCS_OPT_PROLOG_FREQ 12
|
||||
# Specify if agent take contact on service startup
|
||||
PerlSetEnv OCS_OPT_INVENTORY_ON_STARTUP 0
|
||||
# Configure the duplicates detection system
|
||||
PerlSetEnv OCS_OPT_AUTO_DUPLICATE_LVL 15
|
||||
# Futur security improvements
|
||||
PerlSetEnv OCS_OPT_SECURITY_LEVEL 0
|
||||
# Validity of a computer's lock
|
||||
PerlSetEnv OCS_OPT_LOCK_REUSE_TIME 600
|
||||
# Enable the history tracking system (useful for external data synchronisation
|
||||
PerlSetEnv OCS_OPT_TRACE_DELETED 0
|
||||
|
||||
# ===== INVENTORY SETTINGS =====
|
||||
|
||||
# Specify the validity of inventory data
|
||||
PerlSetEnv OCS_OPT_FREQUENCY 0
|
||||
# Configure engine to update inventory regarding to CHECKSUM agent value (lower DB backend load)
|
||||
PerlSetEnv OCS_OPT_INVENTORY_DIFF 1
|
||||
# Make engine consider an inventory as a transaction (lower concurency, better disk usage)
|
||||
PerlSetEnv OCS_OPT_INVENTORY_TRANSACTION 1
|
||||
# Configure engine to make a differential update of inventory sections (row level). Lower DB backend load, higher frontend load
|
||||
PerlSetEnv OCS_OPT_INVENTORY_WRITE_DIFF 1
|
||||
# Enable some stuff to improve DB queries, especially for GUI multicriteria searching system
|
||||
PerlSetEnv OCS_OPT_INVENTORY_CACHE_ENABLED 1
|
||||
# Specify when the engine will clean the inventory cache structures
|
||||
PerlSetEnv OCS_OPT_INVENTORY_CACHE_REVALIDATE 7
|
||||
# Enable you to keep trace of every elements encountered in db life
|
||||
PerlSetEnv OCS_OPT_INVENTORY_CACHE_KEEP 1
|
||||
|
||||
# ===== SOFTWARES DEPLOYMENT SETTINGS =====
|
||||
|
||||
# Enable this feature
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD 0
|
||||
# Package which have a priority superior than this value will not be downloaded
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_PERIOD_LENGTH 10
|
||||
# Time between two download cycles (bandwidth control)
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_CYCLE_LATENCY 60
|
||||
# Time between two fragment downloads (bandwidth control)
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_FRAG_LATENCY 60
|
||||
# Specify if you want to track packages affected to a group on computer's level
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_GROUPS_TRACE_EVENTS 1
|
||||
# Time between two download periods (bandwidth control)
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_PERIOD_LATENCY 60
|
||||
# Agents will send ERR_TIMEOUT event and clean the package it is older than this setting
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_TIMEOUT 7
|
||||
# Agents will send an error event and clean the package if package command does not respond during this setting
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_EXECUTION_TIMEOUT 120
|
||||
|
||||
# Enable ocs engine to deliver agent's files (deprecated)
|
||||
PerlSetEnv OCS_OPT_DEPLOY 0
|
||||
# Enable the softwares deployment capacity (bandwidth control)
|
||||
|
||||
# ===== GROUPS SETTINGS =====
|
||||
|
||||
# Enable the computer\s groups feature
|
||||
PerlSetEnv OCS_OPT_ENABLE_GROUPS 1
|
||||
# Random number computed in the defined range. Designed to avoid computing many groups in the same process
|
||||
PerlSetEnv OCS_OPT_GROUPS_CACHE_OFFSET 43200
|
||||
# Specify the validity of computer's groups (default: compute it once a day - see offset)
|
||||
PerlSetEnv OCS_OPT_GROUPS_CACHE_REVALIDATE 43200
|
||||
|
||||
# ===== IPDISCOVER SETTINGS =====
|
||||
|
||||
# Specify how much agent per LAN will discovered connected peripherals (0 to disable)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER 2
|
||||
# Specify the minimal difference to replace an ipdiscover agent
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_BETTER_THRESHOLD 1
|
||||
# Time between 2 arp requests (mini: 10 ms)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_LATENCY 100
|
||||
# Specify when to remove a computer when it has not come until this period
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_MAX_ALIVE 14
|
||||
# Disable the time before a first election (not recommended)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_NO_POSTPONE 0
|
||||
# Enable groups for ipdiscover (for example, you might want to prevent some groups to be ipdiscover agents)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_USE_GROUPS 1
|
||||
# Link ipdiscover network to computer TAG
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_LINK_TAG_NETWORK 0
|
||||
|
||||
# ===== INVENTORY FILES MAPPING SETTINGS =====
|
||||
|
||||
# Use with ocsinventory-injector, enable the multi entities feature
|
||||
PerlSetEnv OCS_OPT_GENERATE_OCS_FILES 0
|
||||
# Generate either compressed file or clear XML text
|
||||
PerlSetEnv OCS_OPT_OCS_FILES_FORMAT OCS
|
||||
# Specify if you want to keep trace of all inventory between to synchronisation with the higher level server
|
||||
PerlSetEnv OCS_OPT_OCS_FILES_OVERWRITE 0
|
||||
# Path to ocs files directory (must be writeable)
|
||||
PerlSetEnv OCS_OPT_OCS_FILES_PATH /tmp
|
||||
|
||||
# ===== FILTER SETTINGS =====
|
||||
|
||||
# Enable prolog filter stack
|
||||
PerlSetEnv OCS_OPT_PROLOG_FILTER_ON 0
|
||||
# Enable core filter system to modify some things "on the fly"
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_ENABLED 0
|
||||
# Enable inventory flooding filter. A dedicated ipaddress ia allowed to send a new computer only once in this period
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_FLOOD_IP 0
|
||||
# Period definition for INVENTORY_FILTER_FLOOD_IP
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_FLOOD_IP_CACHE_TIME 300
|
||||
# Enable inventory filter stack
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_ON 0
|
||||
|
||||
# ===== DATA FILTER =====
|
||||
|
||||
#Enable the dat filtering capacity
|
||||
PerlSetEnv OCS_OPT_DATA_FILTER 0
|
||||
|
||||
# Set the table names and the field associated you want to filter
|
||||
#PerlAddVar OCS_OPT_DATA_TO_FILTER HARDWARE
|
||||
#PerlAddVar OCS_OPT_DATA_TO_FILTER USERID
|
||||
|
||||
|
||||
# ===== REGISTRY SETTINGS =====
|
||||
|
||||
# Enable the registry capacity
|
||||
PerlSetEnv OCS_OPT_REGISTRY 1
|
||||
|
||||
# ===== SNMP SETTINGS =====
|
||||
|
||||
# Enable the SNMP capacity
|
||||
PerlSetEnv OCS_OPT_SNMP 0
|
||||
# Configure engine to update snmp inventory regarding to snmp_laststate table (lower DB backend load)
|
||||
PerlSetEnv OCS_OPT_SNMP_INVENTORY_DIFF 1
|
||||
# Display error message about agent https communication in logfile
|
||||
PerlSetEnv OCS_OPT_SNMP_PRINT_HTTPS_ERROR 1
|
||||
|
||||
# ===== SESSION SETTINGS =====
|
||||
# Not yet in GUI
|
||||
|
||||
# Validity of a session (prolog=>postinventory)
|
||||
PerlSetEnv OCS_OPT_SESSION_VALIDITY_TIME 600
|
||||
# Consider a session obsolete if it is older thant this value
|
||||
PerlSetEnv OCS_OPT_SESSION_CLEAN_TIME 86400
|
||||
# Accept an inventory only if required by server
|
||||
#( Refuse "forced" inventory)
|
||||
PerlSetEnv OCS_OPT_INVENTORY_SESSION_ONLY 0
|
||||
|
||||
# ===== TAG =====
|
||||
|
||||
# The default behavior of the server is to ignore TAG changes from the
|
||||
# agent.
|
||||
PerlSetEnv OCS_OPT_ACCEPT_TAG_UPDATE_FROM_CLIENT 0
|
||||
|
||||
# ===== EXTERNAL USERAGENTS =====
|
||||
|
||||
#Path for external useragents reference file
|
||||
#!! WARNING !! : external agents may not be supported by OCS NG Community !
|
||||
#PerlSetEnv OCS_OPT_EXT_USERAGENTS_FILE_PATH /tmp/yourfile.txt
|
||||
|
||||
# ===== PLUGINS =====
|
||||
|
||||
PerlSetEnv OCS_PLUGINS_PERL_DIR "PATH_TO_PLUGINS_PERL_DIRECTORY"
|
||||
PerlSetEnv OCS_PLUGINS_CONF_DIR "PATH_TO_PLUGINS_CONFIG_DIRECTORY"
|
||||
|
||||
# ===== DEPRECATED =====
|
||||
|
||||
# Set the proxy cache validity in http headers when sending a file
|
||||
PerlSetEnv OCS_OPT_PROXY_REVALIDATE_DELAY 3600
|
||||
# Deprecated
|
||||
PerlSetEnv OCS_OPT_UPDATE 0
|
||||
|
||||
############ DO NOT MODIFY BELOW ! #######################
|
||||
|
||||
# External modules
|
||||
PerlModule Apache::DBI
|
||||
PerlModule Compress::Zlib
|
||||
PerlModule XML::Simple
|
||||
|
||||
# Ocs plugins
|
||||
PerlModule Apache::Ocsinventory::Plugins
|
||||
|
||||
# Ocs
|
||||
PerlModule Apache::Ocsinventory
|
||||
PerlModule Apache::Ocsinventory::Server::Constants
|
||||
PerlModule Apache::Ocsinventory::Server::System
|
||||
PerlModule Apache::Ocsinventory::Server::Communication
|
||||
PerlModule Apache::Ocsinventory::Server::Inventory
|
||||
PerlModule Apache::Ocsinventory::Server::Duplicate
|
||||
|
||||
# Capacities
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Registry
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Update
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Ipdiscover
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Download
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Notify
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Snmp
|
||||
# This module guides you through the module creation
|
||||
# PerlModule Apache::Ocsinventory::Server::Capacities::Example
|
||||
# This module adds some rules to filter some request sent to ocs server in the prolog and inventory stages
|
||||
# PerlModule Apache::Ocsinventory::Server::Capacities::Filter
|
||||
# This module add availibity to filter data from HARDWARE section (data filtered won't be stored in database)
|
||||
# PerlModule Apache::Ocsinventory::Server::Capacities::Datafilter
|
||||
|
||||
# PerlTaintCheck On
|
||||
|
||||
# SSL apache settings
|
||||
#SSLEngine "SSL_ENABLE"
|
||||
#SSLCertificateFile "SSL_CERTIFICATE_FILE"
|
||||
#SSLCertificateKeyFile "SSL_CERTIFICATE_KEY_FILE"
|
||||
#SSLCACertificateFile "SSL_CERTIFICATE_FILE"
|
||||
#SSLCACertificatePath "SSL_CERTIFICATE_PATH"
|
||||
#SSLVerifyClient "SSL_VALIDATE_CLIENT"
|
||||
|
||||
# Engine apache settings
|
||||
# "Virtual" directory for handling OCS Inventory NG agents communications
|
||||
# Be careful, do not create such directory into your web server root document !
|
||||
<Location /ocsinventory>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
# Apache 2.2
|
||||
order deny,allow
|
||||
allow from all
|
||||
</IfModule>
|
||||
# If you protect this area you have to deal with http_auth_* agent's parameters
|
||||
# AuthType Basic
|
||||
# AuthName "OCS Inventory agent area"
|
||||
# AuthUserFile "APACHE_AUTH_USER_FILE"
|
||||
# require valid-user
|
||||
SetHandler perl-script
|
||||
PerlHandler Apache::Ocsinventory
|
||||
</Location>
|
||||
|
||||
#Web Service for plugin engine
|
||||
<Location /ocsplugins>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require local
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
# Apache 2.2
|
||||
order deny,allow
|
||||
allow from 127.0.0.1
|
||||
</IfModule>
|
||||
SetHandler perl-script
|
||||
PerlHandler Apache::Ocsinventory::Plugins::Apache
|
||||
</Location>
|
||||
|
||||
|
||||
# Web service apache settings
|
||||
PerlModule Apache::Ocsinventory::SOAP
|
||||
|
||||
<location /ocsinterface>
|
||||
SetHandler perl-script
|
||||
PerlHandler "Apache::Ocsinventory::SOAP"
|
||||
|
||||
# By default, you can query web service from everywhere with a valid user
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
AuthType Basic
|
||||
AuthName "OCS Inventory SOAP Area"
|
||||
# Use htpasswd to create/update soap-user (or another granted user)
|
||||
AuthUserFile "APACHE_AUTH_USER_FILE"
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require user "SOAP_USER"
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
require "SOAP_USER"
|
||||
</IfModule>
|
||||
</location>
|
||||
</IfModule>
|
||||
@ -1,87 +0,0 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
ocsapplication:
|
||||
image: ocsinventory/ocsinventory-docker-image:2.12.1
|
||||
container_name : ocsinventory-server
|
||||
restart: always
|
||||
expose:
|
||||
- "80"
|
||||
volumes:
|
||||
- "perlcomdata:/etc/ocsinventory-server"
|
||||
- "ocsreportsdata:/usr/share/ocsinventory-reports/ocsreports/extensions"
|
||||
- "varlibdata:/var/lib/ocsinventory-reports"
|
||||
- "httpdconfdata:/etc/apache2/conf-available"
|
||||
- "profilesconfdata:/usr/share/ocsinventory-reports/ocsreports/config/profiles"
|
||||
environment:
|
||||
OCS_DB_SERVER: ocsinventory-db
|
||||
OCS_DB_USER: ocsuser
|
||||
OCS_DB_PASS: ocspass
|
||||
OCS_DB_NAME: ocsweb
|
||||
# See documentation to set up SSL for MySQL
|
||||
OCS_SSL_ENABLED: 0
|
||||
OCS_DBI_PRINT_ERROR: 0
|
||||
links:
|
||||
- ocsdb
|
||||
networks:
|
||||
- localocs
|
||||
depends_on:
|
||||
- ocsdb
|
||||
|
||||
ocsdb :
|
||||
image : mysql:8.0
|
||||
container_name : ocsinventory-db
|
||||
restart: always
|
||||
expose :
|
||||
- "3306"
|
||||
volumes :
|
||||
- ./sql/:/docker-entrypoint-initdb.d/
|
||||
- sqldata:/var/lib/mysql
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD : rootpass
|
||||
MYSQL_USER : ocsuser
|
||||
MYSQL_PASSWORD : ocspass
|
||||
MYSQL_DATABASE : ocsweb
|
||||
networks:
|
||||
- localocs
|
||||
|
||||
ocsproxy:
|
||||
image: nginx
|
||||
container_name: ocsinventory-proxy
|
||||
restart: always
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
volumes:
|
||||
- ./nginx/conf:/etc/nginx/templates
|
||||
- ./nginx/certs:/etc/nginx/certs
|
||||
- ./nginx/auth:/etc/nginx/auth
|
||||
environment:
|
||||
# 80 or 443
|
||||
LISTEN_PORT: 80
|
||||
# empty or ssl
|
||||
PORT_TYPE: ""
|
||||
SSL_CERT: ocs-dummy.crt
|
||||
SSL_KEY: ocs-dummy.key
|
||||
# OCS Api user restriction (default ocsapi/ocapi)
|
||||
API_AUTH_FILE: ocsapi.htpasswd
|
||||
# OCS Download
|
||||
READ_TIMEOUT: 300
|
||||
CONNECT_TIMEOUT: 300
|
||||
SEND_TIMEOUT: 300
|
||||
MAX_BODY_SIZE: 1G
|
||||
depends_on:
|
||||
- ocsapplication
|
||||
networks:
|
||||
- localocs
|
||||
|
||||
networks:
|
||||
localocs:
|
||||
|
||||
volumes:
|
||||
perlcomdata:
|
||||
ocsreportsdata:
|
||||
varlibdata:
|
||||
httpdconfdata:
|
||||
sqldata:
|
||||
profilesconfdata:
|
||||
@ -1,17 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo "| |"
|
||||
echo "| Welcome to OCS Inventory NG Management Docker! |"
|
||||
echo "| |"
|
||||
echo "+----------------------------------------------------------+"
|
||||
|
||||
# Create all directories
|
||||
mkdir -p $OCS_LOG_DIR
|
||||
mkdir -p $OCS_PERLEXT_DIR/Apache/Ocsinventory/Plugins
|
||||
mkdir -p $OCS_PLUGINSEXT_DIR
|
||||
mkdir -p $OCS_VARLIB_DIR/download
|
||||
mkdir -p $OCS_VARLIB_DIR/ipd
|
||||
mkdir -p $OCS_VARLIB_DIR/logs
|
||||
mkdir -p $OCS_VARLIB_DIR/scripts
|
||||
mkdir -p $OCS_VARLIB_DIR/snmp
|
||||
@ -1,49 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
SRV_CONF_FILE="/etc/apache2/conf-available/z-ocsinventory-server.conf"
|
||||
|
||||
if [ ! -z "${OCS_DISABLE_COM_MODE}" ]; then
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
echo "| Warning: OCS_DISABLE_COM_MODE environment variable is set! |"
|
||||
echo "| Communication server, which handles HTTP communications between database |"
|
||||
echo "| server and agents (Apache, perl and mod_perl) will be DISABLED! |"
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Configure z-ocsinventory-server file
|
||||
if [ ! -f ${SRV_CONF_FILE} ]; then
|
||||
cp /tmp/conf/ocsinventory-server.conf ${SRV_CONF_FILE}
|
||||
sed -i 's/VERSION_MP/2/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_SERVER/'"$OCS_DB_SERVER"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_PORT/'"$OCS_DB_PORT"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_NAME/'"$OCS_DB_NAME"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_USER/'"$OCS_DB_USER"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_PASSWD/'"$OCS_DB_PASS"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/"PATH_TO_LOG_DIRECTORY"/'"${OCS_LOG_DIR//\//\\/}"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/"PATH_TO_PLUGINS_PERL_DIRECTORY"/'"${OCS_PERLEXT_DIR//\//\\/}"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/"PATH_TO_PLUGINS_CONFIG_DIRECTORY"/'"${OCS_PLUGINSEXT_DIR//\//\\/}"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/OCS_DBI_PRINT_ERROR/'"$OCS_DBI_PRINT_ERROR"'/g' ${SRV_CONF_FILE}
|
||||
fi
|
||||
|
||||
# Replace Variables
|
||||
if [ -f ${SRV_CONF_FILE} ]; then
|
||||
echo "+-----------------------------------------------+"
|
||||
echo "| Customizing from environment variables... |"
|
||||
echo "+-----------------------------------------------+"
|
||||
echo
|
||||
# Get all env vars starting with 'OCS_'
|
||||
for var in $(env | cut -f1 -d= | grep -i OCS_); do
|
||||
# Check that the current var is not commented out in conf file
|
||||
if grep -q "^\s*PerlSetEnv ${var^^}" ${SRV_CONF_FILE}; then
|
||||
echo "Applying Config ${var^^}=${!var} from environment variable"
|
||||
sed -i "s,^\(\s*PerlSetEnv ${var^^}\).*$,\1 ${!var},g" ${SRV_CONF_FILE}
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# Permissions
|
||||
chown -R $APACHE_RUN_USER: $OCS_LOG_DIR
|
||||
|
||||
# Enable conf
|
||||
a2enconf z-ocsinventory-server
|
||||
@ -1,57 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
REPORTS_CONF_FILE="/etc/apache2/conf-available/ocsinventory-reports.conf"
|
||||
DB_CONFIG_INC_FILE="${OCS_WEBCONSOLE_DIR}/ocsreports/dbconfig.inc.php"
|
||||
|
||||
if [ ! -z "${OCS_DISABLE_WEB_MODE}" ]; then
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
echo "| Warning: OCS_DISABLE_WEB_MODE environment variable is set! |"
|
||||
echo "| Administration console, which allows administrators to query the database |"
|
||||
echo "| server using their favorite browser (Apache, php) will be DISABLED! |"
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! -f $OCS_WEBCONSOLE_DIR/ocsreports/var.php ]; then
|
||||
cp -r /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}/ocsreports/ ${OCS_WEBCONSOLE_DIR}
|
||||
rm -rf ${DB_CONFIG_INC_FILE}
|
||||
fi
|
||||
|
||||
# Configure ocsinventory-reports file
|
||||
if [ ! -f ${REPORTS_CONF_FILE} ]; then
|
||||
cp /tmp/conf/ocsinventory-reports.conf ${REPORTS_CONF_FILE}
|
||||
sed -i 's/OCSREPORTS_ALIAS/\/ocsreports/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PATH_TO_OCSREPORTS_DIR/'"${OCS_WEBCONSOLE_DIR//\//\\/}"'\/ocsreports/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PACKAGES_ALIAS/\/download/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PATH_TO_PACKAGES_DIR/'"${OCS_VARLIB_DIR//\//\\/}"'download/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/SNMP_ALIAS/\/snmp/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PATH_TO_SNMP_DIR/'"${OCS_VARLIB_DIR//\//\\/}"'snmp/g' ${REPORTS_CONF_FILE}
|
||||
fi
|
||||
|
||||
# Generate dbconfig.inc.php
|
||||
if [ ! -f ${DB_CONFIG_INC_FILE} ]; then
|
||||
cp /tmp/conf/dbconfig.inc.php $OCS_WEBCONSOLE_DIR/ocsreports
|
||||
sed -i 's/OCS_DB_NAME/'"$OCS_DB_NAME"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_READ_NAME/'"$OCS_DB_SERVER"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_WRITE_NAME/'"$OCS_DB_SERVER"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_DB_PORT/'"$OCS_DB_PORT"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_DB_USER/'"$OCS_DB_USER"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_DB_PASS/'"$OCS_DB_PASS"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_WEB_MODE/'"$OCS_SSL_WEB_MODE"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_KEY/'"${OCS_SSL_KEY//\//\\/}"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_CERT/'"${OCS_SSL_CERT//\//\\/}"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_CA/'"${OCS_SSL_CA//\//\\/}"'/g' ${DB_CONFIG_INC_FILE}
|
||||
fi
|
||||
|
||||
# Permissions
|
||||
chown -R $APACHE_RUN_USER: $OCS_VARLIB_DIR
|
||||
chown -R $APACHE_RUN_USER: $OCS_WEBCONSOLE_DIR
|
||||
|
||||
# rm install.php
|
||||
if [ -f $OCS_WEBCONSOLE_DIR/ocsreports/install.php ]; then
|
||||
rm $OCS_WEBCONSOLE_DIR/ocsreports/install.php
|
||||
fi
|
||||
|
||||
# Enable conf
|
||||
a2enconf ocsinventory-reports
|
||||
@ -1,32 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ ! -z "${OCS_DISABLE_API_MODE}" ] || [ ! -z "${OCS_DISABLE_COM_MODE}" ]; then
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
echo "| Warning: OCS_DISABLE_API_MODE or OCS_DISABLE_COM_MODE environment |"
|
||||
echo "| variable is set! |"
|
||||
echo "| REST API will be DISABLED |"
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
API_CONF_FILE="/etc/apache2/conf-available/zz-ocsinventory-restapi.conf"
|
||||
API_ROUTE=$(perl -e "print \"@INC[2]\"")
|
||||
API_ROUTE_LOADER="${API_ROUTE}/Api/Ocsinventory/Restapi/Loader.pm"
|
||||
|
||||
cp -R /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}/Api/ ${API_ROUTE}
|
||||
|
||||
# Configure zz-ocsinventory-restapi file
|
||||
if [ ! -f ${API_CONF_FILE} ]; then
|
||||
cp /tmp/conf/ocsinventory-restapi.conf ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_SERVER/'"$OCS_DB_SERVER"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_PORT/'"$OCS_DB_PORT"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_NAME/'"$OCS_DB_NAME"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_USER/'"$OCS_DB_USER"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_PASSWD/'"$OCS_DB_PASS"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/REST_API_PATH/'"${API_ROUTE//\//\\/}"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/REST_API_LOADER_PATH/'"${API_ROUTE_LOADER//\//\\/}"'/g' ${API_CONF_FILE}
|
||||
fi
|
||||
|
||||
# Enable conf
|
||||
a2enconf zz-ocsinventory-restapi
|
||||
@ -1,35 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo "| Setting Apache Server Name to '${APACHE_SERVER_NAME:-localhost}'"
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo
|
||||
|
||||
sed -ri -e "s!^#(ServerName)\s+\S+!\1 ${APACHE_SERVER_NAME:-localhost}:80!g" \
|
||||
"/etc/apache2/apache2.conf"
|
||||
|
||||
# Remove temp files
|
||||
echo "+--------------------------------+"
|
||||
echo "| Removing not used files... |"
|
||||
echo "+--------------------------------+"
|
||||
echo
|
||||
cd /tmp
|
||||
shopt -s extglob
|
||||
rm -rf !("conf")
|
||||
|
||||
# Apache start
|
||||
if [ ! -d "$APACHE_RUN_DIR" ]; then
|
||||
mkdir "$APACHE_RUN_DIR"
|
||||
chown $APACHE_RUN_USER:$APACHE_RUN_GROUP "$APACHE_RUN_DIR"
|
||||
fi
|
||||
|
||||
if [ -f "$APACHE_PID_FILE" ]; then
|
||||
rm "$APACHE_PID_FILE"
|
||||
fi
|
||||
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo "| OK, prepare finshed ;-) |"
|
||||
echo "| |"
|
||||
echo "| Starting OCS Inventory NG Management Docker... |"
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo
|
||||
@ -1,35 +0,0 @@
|
||||
#!/bin/bash
|
||||
# vim:sw=4:ts=4:et
|
||||
|
||||
set -e
|
||||
|
||||
if [ -z "${OCS_ENTRYPOINT_QUIET_LOGS:-}" ]; then
|
||||
exec 3>&1
|
||||
else
|
||||
exec 3>/dev/null
|
||||
fi
|
||||
|
||||
if /usr/bin/find "/docker-entrypoint.d/" -mindepth 1 -maxdepth 1 -type f -print -quit 2>/dev/null | read v; then
|
||||
echo >&3 "$0: /docker-entrypoint.d/ is not empty, will attempt to perform configuration"
|
||||
|
||||
echo >&3 "$0: Looking for shell scripts in /docker-entrypoint.d/"
|
||||
find "/docker-entrypoint.d/" -follow -type f -print | sort -V | while read -r f; do
|
||||
case "$f" in
|
||||
*.sh)
|
||||
if ! [ -x "$f" ]; then
|
||||
chmod +x $f
|
||||
fi
|
||||
|
||||
echo -e >&3 "\n$0: Launching ${f}\n"
|
||||
"$f"
|
||||
;;
|
||||
*) echo -e >&3 "\n$0: Ignoring ${f}\n" ;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo >&3 "$0: Configuration complete; ready for start up"
|
||||
else
|
||||
echo >&3 "$0: No files found in /docker-entrypoint.d/, skipping configuration"
|
||||
fi
|
||||
|
||||
exec "$@"
|
||||
@ -1 +0,0 @@
|
||||
ocsapi:$apr1$BcAk5f/A$0O5c/DSy92/o.vpwwshWQ.
|
||||
@ -1,22 +0,0 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDlzCCAn+gAwIBAgIUZq+XFJryUuBpkwebSwjSy/hfMCkwDQYJKoZIhvcNAQEL
|
||||
BQAwWzELMAkGA1UEBhMCRlIxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
|
||||
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEUMBIGA1UEAwwLbXlvY3NzZXJ2ZXIw
|
||||
HhcNMjIwNDEzMDk0OTUzWhcNMzIwNDEwMDk0OTUzWjBbMQswCQYDVQQGEwJGUjET
|
||||
MBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQ
|
||||
dHkgTHRkMRQwEgYDVQQDDAtteW9jc3NlcnZlcjCCASIwDQYJKoZIhvcNAQEBBQAD
|
||||
ggEPADCCAQoCggEBAOQDcGzmYzzgVycXSEZWMJ2TEtnmjouNuUKAVQUcELMkZOk0
|
||||
TIRz7QhPIOCiH2bklji+ByyVZg/uXRFJlT/P46rPor/OuRK2Lkrt+APr+FmkLgvf
|
||||
JHMfm7YRbZuWVRJq0htNNL6szwHEFE99GlRy7SuapkhKSo4qY/LjrrR7E7DnPj/G
|
||||
7o21ge3OpOfbmx9xVWbEZaJqMOZDt1y3fbp3hQsflVM0AKdg7OoHOBWnv65iJIkN
|
||||
LtG7Icqcp+8AKnL1PaiMU+P970GTMZyZ0NWVAWgab9+Wl+makTTdDdQgJIhg19og
|
||||
ReLeYspEQlzXmEz+8JAxWGqsu+HuiZ6ClSl04W0CAwEAAaNTMFEwHQYDVR0OBBYE
|
||||
FEljOkF7g17RD+pOpJ7M6dovwI9uMB8GA1UdIwQYMBaAFEljOkF7g17RD+pOpJ7M
|
||||
6dovwI9uMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAKA2Fcot
|
||||
58X97tsLWC6eJrF2MLJzcNeSiiJayG9bT8agsUE8WGq5fvHvf5E54tueCp/q+a7V
|
||||
k4ZowCJF3RAvAqzRkMLQWaGms0Brz4qRtVvRqhWkP7aMGhUieOS2rTfLZ+TYPKfK
|
||||
561w8gSpxs9uRXbhnYeUchxJxCUg0CbxQwsjltrvnOF2LVP6JJDtYcc/NiDXhP4W
|
||||
pTp+EdwXt87VSRkTrqjEQO7/3TMsNjhi0PMFHnQf47ijLt44XaNGKh9pY31Ae9oo
|
||||
6IuRygJc6QNVoGRmF2bxsorU4i4rA3kR2Ir9AUbxJT6MtuLtx8DGB8Dmp6bKmIv+
|
||||
HZH21wRRhwrYJb8=
|
||||
-----END CERTIFICATE-----
|
||||
@ -1,28 +0,0 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDkA3Bs5mM84Fcn
|
||||
F0hGVjCdkxLZ5o6LjblCgFUFHBCzJGTpNEyEc+0ITyDgoh9m5JY4vgcslWYP7l0R
|
||||
SZU/z+Oqz6K/zrkSti5K7fgD6/hZpC4L3yRzH5u2EW2bllUSatIbTTS+rM8BxBRP
|
||||
fRpUcu0rmqZISkqOKmPy4660exOw5z4/xu6NtYHtzqTn25sfcVVmxGWiajDmQ7dc
|
||||
t326d4ULH5VTNACnYOzqBzgVp7+uYiSJDS7RuyHKnKfvACpy9T2ojFPj/e9BkzGc
|
||||
mdDVlQFoGm/flpfpmpE03Q3UICSIYNfaIEXi3mLKREJc15hM/vCQMVhqrLvh7ome
|
||||
gpUpdOFtAgMBAAECggEBAM4BGXMaV/CpU7R6wY7i0jubpH2AY6tMGWQu5CGgsKnZ
|
||||
qN5VpQhKYI6QR0kM0Mg6oEqVzY+HT1X3athynciwf6ZUwFsBX467UGncRKbubEw5
|
||||
HG0XZywoE5vUdS4MDcJ9BmUqRQw8vy5+REdo5QAFcahiqfdIP8HgJLtO4Aop5Kl/
|
||||
HoLqR83q3vBHfidxTX2z4m05t6ucAbmqLAgAb2GzRHEvdCpSXvs7M9ZyR/rvdhSV
|
||||
pswWR7XIUic50Lc8tHXyaKinuBFOCWCszsirPLAVPrs1D7Gq8kmdxUEEj0V9VbEE
|
||||
8afsb9cCojrDISn814WwjX+zVwjRwyr3v3BLHVGu06ECgYEA+1VHUwBTUnHmnMR+
|
||||
6XE1nkBStedvXGsMDIxK/VhNXAylUz4kfJ0bMPKdzbxSieHwA8O1+Hg4gN31V2Sn
|
||||
RgT5P0sLGdideysoy8yR5Aiiwx+7EXGqSQltY2lpaykP9wvpznWi3k/Wd7dAaTCd
|
||||
jPCtkzoLYMDzaQ9uc4A2VyY00RkCgYEA6D9PPvV6YE8S7G7sGwTSt9mgobZNm1AV
|
||||
BjDmtEPfDSK59rT8PpoN+225c1qaIIODdH0DHK9ZbPzo/29tW1l9zgGjEXEw396v
|
||||
Q9y99Ofh0JEsQbJJw/nPdV8dHKOL2ek3UWsscpsk5dUb+4gBpE+/wH21j7UiczKt
|
||||
a8whmMFw+XUCgYAPYdHCr7NpyVTO5WvLB8W7UL5/KZH0Owz6u59fUAc0CgYYSSZc
|
||||
hhUC8uZbkBoRHEXfRRwe/+SdZng8iAmAzI8go4wjYdGJl0Og7X1EUo77mDaPw8Aj
|
||||
RjNusSXljBbRDOabXzG/n21F2G5VwcbyuEw3RYcqvcRn+qzM3tz0in8TCQKBgDe1
|
||||
N+T6LOh9DyT3VlsExSakZQtlFyhyBRj/EdebkB0ufzzWHMtHWKM+poUs7ltuMFH4
|
||||
yo5O4TxrTdg3ehu3U53edqbwZ7DLUW8Nu+LK3DeTGvKHOXpwqXqV3f3InPsgHczB
|
||||
0F+NJ0SZ4aRr8zjeiDg77xkRcboAJej9hfGGNPshAoGALPS2HtT/1ycsER3a33NW
|
||||
A8j/2TfovcjZ9u15q5KDLRZ+3UngLvVwPJO1j/uLPqyyRsQID7SE29KCj/E8kOZH
|
||||
clbLXZmslyk369HOlpXZEXvR7rDxOt1jdojQrtEyW4gDT8k4iEw8nPcJyJ7YSVp/
|
||||
Qa0OOCtQPPvBt0Be1bHTGek=
|
||||
-----END PRIVATE KEY-----
|
||||
@ -1,51 +0,0 @@
|
||||
##
|
||||
# You should look at the following URL's in order to grasp a solid understanding
|
||||
# of Nginx configuration files in order to fully unleash the power of Nginx.
|
||||
# https://www.nginx.com/resources/wiki/start/
|
||||
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
|
||||
# https://wiki.debian.org/Nginx/DirectoryStructure
|
||||
#
|
||||
# In most cases, administrators will remove this file from sites-enabled/ and
|
||||
# leave it as reference inside of sites-available where it will continue to be
|
||||
# updated by the nginx packaging team.
|
||||
#
|
||||
# This file will automatically load configuration files provided by other
|
||||
# applications, such as Drupal or Wordpress. These applications will be made
|
||||
# available underneath a path with that package name, such as /drupal8.
|
||||
#
|
||||
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
|
||||
##
|
||||
|
||||
# OCS server configuration
|
||||
#
|
||||
server {
|
||||
listen ${LISTEN_PORT} ${PORT_TYPE} default_server;
|
||||
|
||||
ssl_certificate /etc/nginx/certs/${SSL_CERT};
|
||||
ssl_certificate_key /etc/nginx/certs/${SSL_KEY};
|
||||
|
||||
location / {
|
||||
rewrite ^/$ /ocsreports permanent;
|
||||
proxy_redirect off;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Frame-Options SAMEORIGIN;
|
||||
proxy_pass http://ocsapplication;
|
||||
}
|
||||
|
||||
location /ocsapi {
|
||||
auth_basic "OCS Api area";
|
||||
auth_basic_user_file /etc/nginx/auth/${API_AUTH_FILE};
|
||||
proxy_pass http://ocsapplication/ocsapi;
|
||||
}
|
||||
|
||||
location /download {
|
||||
proxy_read_timeout ${READ_TIMEOUT};
|
||||
proxy_connect_timeout ${CONNECT_TIMEOUT};
|
||||
proxy_send_timeout ${SEND_TIMEOUT};
|
||||
client_max_body_size ${MAX_BODY_SIZE};
|
||||
proxy_pass http://ocsapplication/download;
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@ -1,74 +0,0 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
ENV OCS_VERSION 2.12.2
|
||||
|
||||
LABEL maintainer="contact@ocsinventory-ng.org" \
|
||||
version="${OCS_VERSION}" \
|
||||
description="OCS Inventory docker image"
|
||||
|
||||
ARG APT_FLAGS="-y"
|
||||
|
||||
ENV APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data \
|
||||
APACHE_LOG_DIR=/var/log/apache2 APACHE_PID_FILE=/var/run/apache2/apache2.pid APACHE_RUN_DIR=/var/run/apache2 APACHE_LOCK_DIR=/var/lock/apache2 \
|
||||
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 \
|
||||
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 \
|
||||
TZ=Europe/Paris
|
||||
|
||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||
|
||||
VOLUME /var/lib/ocsinventory-reports /etc/ocsinventory-server /usr/share/ocsinventory-reports/ocsreports/extensions
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
wget \
|
||||
curl \
|
||||
make \
|
||||
perl \
|
||||
apache2 \
|
||||
php \
|
||||
libxml-simple-perl \
|
||||
libdbi-perl \
|
||||
libdbd-mysql-perl \
|
||||
libapache-dbi-perl \
|
||||
libnet-ip-perl \
|
||||
libsoap-lite-perl \
|
||||
libarchive-zip-perl \
|
||||
libswitch-perl \
|
||||
libmojolicious-perl \
|
||||
libplack-perl \
|
||||
build-essential \
|
||||
php-pclzip \
|
||||
php-mbstring \
|
||||
php-soap \
|
||||
php-mysql \
|
||||
php-curl \
|
||||
php-xml \
|
||||
php-zip \
|
||||
php-gd \
|
||||
php-ldap
|
||||
|
||||
RUN wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/${OCS_VERSION}/OCSNG_UNIX_SERVER-${OCS_VERSION}.tar.gz -P /tmp && \
|
||||
tar xzf /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}.tar.gz -C /tmp;
|
||||
|
||||
RUN cd /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}/Apache/ && \
|
||||
perl Makefile.PL && \
|
||||
make && \
|
||||
make install
|
||||
|
||||
WORKDIR /etc/apache2/conf-available
|
||||
|
||||
# Redirect Apache2 Logs to stdout e stderr
|
||||
RUN ln -sf /proc/self/fd/1 /var/log/apache2/access.log && \
|
||||
ln -sf /proc/self/fd/2 /var/log/apache2/error.log
|
||||
|
||||
COPY conf/* /tmp/conf/
|
||||
|
||||
COPY ./docker-entrypoint.sh /docker-entrypoint.sh
|
||||
COPY ./docker-entrypoint.d /docker-entrypoint.d
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
# https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#entrypoint
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
CMD ["/usr/sbin/apache2", "-DFOREGROUND"]
|
||||
@ -1,34 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
* Copyright 2005-2016 OCSInventory-NG/OCSInventory-ocsreports contributors.
|
||||
* See the Contributors file for more details about them.
|
||||
*
|
||||
* This file is part of OCSInventory-NG/OCSInventory-ocsreports.
|
||||
*
|
||||
* OCSInventory-NG/OCSInventory-ocsreports is free software: you can redistribute
|
||||
* it and/or modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation, either version 2 of the License,
|
||||
* or (at your option) any later version.
|
||||
*
|
||||
* OCSInventory-NG/OCSInventory-ocsreports is distributed in the hope that it
|
||||
* will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with OCSInventory-NG/OCSInventory-ocsreports. if not, write to the
|
||||
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*/
|
||||
define("DB_NAME", "OCS_DB_NAME");
|
||||
define("SERVER_READ", "OCS_READ_NAME");
|
||||
define("SERVER_WRITE", "OCS_WRITE_NAME");
|
||||
define("SERVER_PORT", "OCS_DB_PORT");
|
||||
define("COMPTE_BASE", "OCS_DB_USER");
|
||||
define("PSWD_BASE", "OCS_DB_PASS");
|
||||
define("ENABLE_SSL","OCS_SSL_ENABLED");
|
||||
define("SSL_MODE","OCS_SSL_WEB_MODE");
|
||||
define("SSL_KEY","OCS_SSL_KEY");
|
||||
define("SSL_CERT","OCS_SSL_CERT");
|
||||
define("CA_CERT","OCS_SSL_CA");
|
||||
?>
|
||||
@ -1,120 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# OCS Inventory NG Administration Server
|
||||
#
|
||||
# Copyleft 2008 OCS Inventory NG Team
|
||||
# Web: http://www.ocsinventory-ng.org
|
||||
#
|
||||
# This code is open source and may be copied and modified as long as the source
|
||||
# code is always made freely available.
|
||||
# Please refer to the General Public Licence http://www.gnu.org/ or Licence.txt
|
||||
################################################################################
|
||||
|
||||
#
|
||||
# ANY CHANGE ON THIS FILE REQUIRES APACHE RESTART TO TAKE EFFECT
|
||||
#
|
||||
|
||||
################################################################################
|
||||
# Administration console public pages
|
||||
#
|
||||
# Alias used to put Administration Server static page (typically PHP) outside
|
||||
# Apache document root directory
|
||||
#
|
||||
Alias OCSREPORTS_ALIAS PATH_TO_OCSREPORTS_DIR
|
||||
|
||||
<Directory PATH_TO_OCSREPORTS_DIR>
|
||||
# By default, users can use console from everywhere
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
Options Indexes FollowSymLinks
|
||||
DirectoryIndex index.php
|
||||
AllowOverride Options AuthConfig
|
||||
|
||||
# Uncomment following to force use of HTTPS in Administration Server
|
||||
#SSLRequireSSL
|
||||
|
||||
# PHP tuning (not working on all distribution, use php.ini instead)
|
||||
<IfModule mod_php5.c>
|
||||
AddType application/x-httpd-php .php
|
||||
php_flag file_uploads on
|
||||
# Some PHP tuning for deployment feature up to 8 MB
|
||||
# post_max_size must be greater than upload_max_filesize
|
||||
# because of HTTP headers
|
||||
php_value post_max_size 101m
|
||||
php_value upload_max_filesize 100m
|
||||
# You may have to uncomment following on errors
|
||||
#php_value max_execution_time -1
|
||||
#php_value max_input_time -1
|
||||
|
||||
# Uncomment following if you need to specify a mysql socket
|
||||
#php_value mysql.default_socket "path/to/mysql/unix/socket"
|
||||
|
||||
#!! Mandatory !! : set magic_quotes_gpc to off (to make ocsreports works correctly)
|
||||
php_flag magic_quotes_gpc off
|
||||
</IfModule>
|
||||
# Duplicate for php7 compatibility
|
||||
<IfModule mod_php7.c>
|
||||
AddType application/x-httpd-php .php
|
||||
php_flag file_uploads on
|
||||
# Some PHP tuning for deployment feature up to 8 MB
|
||||
# post_max_size must be greater than upload_max_filesize
|
||||
# because of HTTP headers
|
||||
php_value post_max_size 101m
|
||||
php_value upload_max_filesize 100m
|
||||
# You may have to uncomment following on errors
|
||||
#php_value max_execution_time -1
|
||||
#php_value max_input_time -1
|
||||
|
||||
# Uncomment following if you need to specify a mysql socket
|
||||
#php_value mysql.default_socket "path/to/mysql/unix/socket"
|
||||
|
||||
#!! Mandatory !! : set magic_quotes_gpc to off (to make ocsreports works correctly)
|
||||
php_flag magic_quotes_gpc off
|
||||
</IfModule>
|
||||
|
||||
# Uncomment following to allow HTTP body request up to 4 MB
|
||||
# instead default 512 KB
|
||||
#LimitRequestBody 4194304
|
||||
|
||||
</Directory>
|
||||
|
||||
################################################################################
|
||||
# Deployment packages download area
|
||||
#
|
||||
# Alias to put Deployment package files outside Apache document root directory
|
||||
#
|
||||
<Directory PATH_TO_PACKAGES_DIR>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
</Directory>
|
||||
Alias PACKAGES_ALIAS PATH_TO_PACKAGES_DIR
|
||||
|
||||
|
||||
################################################################################
|
||||
# Snmp communities area
|
||||
#
|
||||
# Alias to put Snmp custom Mibs files outside Apache document root directory
|
||||
#
|
||||
<Directory PATH_TO_SNMP_DIR>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
</Directory>
|
||||
Alias SNMP_ALIAS PATH_TO_SNMP_DIR
|
||||
@ -1,23 +0,0 @@
|
||||
PerlOptions +Parent
|
||||
|
||||
<Perl>
|
||||
$ENV{PLACK_ENV} = 'production';
|
||||
$ENV{MOJO_HOME} = 'REST_API_PATH';
|
||||
$ENV{MOJO_MODE} = 'deployment';
|
||||
$ENV{OCS_DB_HOST} = 'DATABASE_SERVER';
|
||||
$ENV{OCS_DB_PORT} = 'DATABASE_PORT';
|
||||
$ENV{OCS_DB_LOCAL} = 'DATABASE_NAME';
|
||||
$ENV{OCS_DB_USER} = 'DATABASE_USER';
|
||||
$ENV{OCS_DB_PWD} = 'DATABASE_PASSWD';
|
||||
$ENV{OCS_DB_SSL_ENABLED} = OCS_SSL_ENABLED;
|
||||
# $ENV{OCS_DB_SSL_CLIENT_KEY} = '';
|
||||
# $ENV{OCS_DB_SSL_CLIENT_CERT} = '';
|
||||
# $ENV{OCS_DB_SSL_CA_CERT} = '';
|
||||
$ENV{OCS_DB_SSL_MODE} = 'SSL_MODE_PREFERRED';
|
||||
</Perl>
|
||||
|
||||
<Location /ocsapi>
|
||||
SetHandler perl-script
|
||||
PerlResponseHandler Plack::Handler::Apache2
|
||||
PerlSetVar psgi_app 'REST_API_LOADER_PATH'
|
||||
</Location>
|
||||
@ -1,391 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# OCS Inventory NG Communication Server Perl Module Setup
|
||||
#
|
||||
# Copyleft 2006 Pascal DANEK
|
||||
# Web: http://www.ocsinventory-ng.org
|
||||
#
|
||||
# This code is open source and may be copied and modified as long as the source
|
||||
# code is always made freely available.
|
||||
# Please refer to the General Public Licence http://www.gnu.org/ or Licence.txt
|
||||
################################################################################
|
||||
|
||||
<IfModule mod_perl.c>
|
||||
|
||||
# Which version of mod_perl we are using
|
||||
# For mod_perl <= 1.999_21, replace VERSION_MP by 1
|
||||
# For mod_perl > 1.999_21, replace VERSION_MP by 2
|
||||
PerlSetEnv OCS_MODPERL_VERSION VERSION_MP
|
||||
|
||||
# Master Database settings
|
||||
# Replace DATABASE_SERVER by hostname or ip of MySQL server for WRITE
|
||||
PerlSetEnv OCS_DB_HOST DATABASE_SERVER
|
||||
# Replace DATABASE_PORT by port where running MySQL server, generally 3306
|
||||
PerlSetEnv OCS_DB_PORT DATABASE_PORT
|
||||
# Name of database
|
||||
PerlSetEnv OCS_DB_NAME DATABASE_NAME
|
||||
PerlSetEnv OCS_DB_LOCAL DATABASE_NAME
|
||||
# User allowed to connect to database
|
||||
PerlSetEnv OCS_DB_USER DATABASE_USER
|
||||
# Password for user
|
||||
PerlSetVar OCS_DB_PWD DATABASE_PASSWD
|
||||
# SSL Configuration
|
||||
# 0 to disable the SSL support for MySQL/MariaDB
|
||||
# 1 to enable the SSL support for MySQL/MariaDB
|
||||
PerlSetEnv OCS_DB_SSL_ENABLED 0
|
||||
# PerlSetEnv OCS_DB_SSL_CLIENT_KEY /etc/ssl/private/client.key
|
||||
# PerlSetEnv OCS_DB_SSL_CLIENT_CERT /etc/ssl/certs/client.crt
|
||||
# PerlSetEnv OCS_DB_SSL_CA_CERT /etc/ssl/certs/ca.crt
|
||||
# SSL Mode
|
||||
# - SSL_MODE_PREFERRED (SSL enabled but optional)
|
||||
# - SSL_MODE_REQUIRED (SSL enabled, mandatory but don't verify server certificate. Ex self signed cert)
|
||||
# - SSL_MODE_STRICT (SSL enabled, mandatory and server cert must be trusted)
|
||||
PerlSetEnv OCS_DB_SSL_MODE SSL_MODE_PREFERRED
|
||||
|
||||
|
||||
# Slave Database settings
|
||||
# Replace DATABASE_SERVER by hostname or ip of MySQL server for READ
|
||||
# Useful if you handle mysql slave databases
|
||||
# PerlSetEnv OCS_DB_SL_HOST DATABASE_SERVER
|
||||
# Replace DATABASE_PORT by port where running MySQL server, generally 3306
|
||||
# PerlSetEnv OCS_DB_SL_PORT_SLAVE DATABASE_PORT
|
||||
# User allowed to connect to database
|
||||
# PerlSetEnv OCS_DB_SL_USER ocs
|
||||
# Name of the database
|
||||
# PerlSetEnv OCS_DB_SL_NAME ocsweb
|
||||
# Password for user
|
||||
# PerlSetVar OCS_DB_SL_PWD ocs
|
||||
# SSL Configuration for Slave database
|
||||
# 0 to disable the SSL support for MySQL/MariaDB
|
||||
# 1 to enable the SSL support for MySQL/MariaDB
|
||||
# PerlSetEnv OCS_DB_SL_SSL_ENABLED 0
|
||||
# PerlSetEnv OCS_DB_SL_SSL_CLIENT_KEY /etc/ssl/private/client.key
|
||||
# PerlSetEnv OCS_DB_SL_SSL_CLIENT_CERT /etc/ssl/certs/client.crt
|
||||
# PerlSetEnv OCS_DB_SL_SSL_CA_CERT /etc/ssl/certs/ca.crt
|
||||
# SSL Mode
|
||||
# - SSL_MODE_PREFERRED (SSL enabled but optional)
|
||||
# - SSL_MODE_REQUIRED (SSL enabled, mandatory but don't verify server certificate. Ex self signed cert)
|
||||
# - SSL_MODE_STRICT (SSL enabled, mandatory and server cert must be trusted)
|
||||
# PerlSetEnv OCS_DB_SL_SSL_MODE SSL_MODE_PREFERRED
|
||||
|
||||
# Path to log directory (must be writeable)
|
||||
PerlSetEnv OCS_OPT_LOGPATH "PATH_TO_LOG_DIRECTORY"
|
||||
|
||||
# If you need to specify a mysql socket that the client's built-in
|
||||
#PerlSetEnv OCS_OPT_DBI_MYSQL_SOCKET "path/to/mysql/unix/socket"
|
||||
# DBI verbosity
|
||||
PerlSetEnv OCS_OPT_DBI_PRINT_ERROR OCS_DBI_PRINT_ERROR
|
||||
|
||||
# Unicode support
|
||||
PerlSetEnv OCS_OPT_UNICODE_SUPPORT 1
|
||||
|
||||
# If you are using a multi server architecture,
|
||||
# Put the ip addresses of the slaves on the master
|
||||
# (This is read as perl regular expressions)
|
||||
PerlAddVar OCS_OPT_TRUSTED_IP 127.0.0.1
|
||||
#PerlAddVar OCS_OPT_TRUSTED_IP XXX.XXX.XXX.XXX
|
||||
|
||||
# ===== WEB SERVICE (SOAP) SETTINGS =====
|
||||
|
||||
PerlSetEnv OCS_OPT_WEB_SERVICE_ENABLED 0
|
||||
PerlSetEnv OCS_OPT_WEB_SERVICE_RESULTS_LIMIT 100
|
||||
# PerlSetEnv OCS_OPT_WEB_SERVICE_PRIV_MODS_CONF "WEBSERV_PRIV_MOD_CONF_FILE"
|
||||
|
||||
# Be careful: you must restart apache to make settings taking effects
|
||||
|
||||
# Configure engine to use the settings from this file
|
||||
PerlSetEnv OCS_OPT_OPTIONS_NOT_OVERLOADED 0
|
||||
|
||||
# Try to use other compress algorithm than raw zlib
|
||||
# GUNZIP and clear XML are supported
|
||||
PerlSetEnv OCS_OPT_COMPRESS_TRY_OTHERS 1
|
||||
|
||||
##############################################################
|
||||
# ===== OPTIONS BELOW ARE OVERLOADED IF YOU USE OCS GUI =====#
|
||||
##############################################################
|
||||
|
||||
# NOTE: IF YOU WANT TO USE THIS CONFIG FILE INSTEAD, set OCS_OPT_OPTIONS_NOT_OVERLOADED to '1'
|
||||
|
||||
# ===== MAIN SETTINGS =====
|
||||
|
||||
# Enable engine logs (see LOGPATH setting)
|
||||
PerlSetEnv OCS_OPT_LOGLEVEL 0
|
||||
# Specify agent's prolog frequency
|
||||
PerlSetEnv OCS_OPT_PROLOG_FREQ 12
|
||||
# Specify if agent take contact on service startup
|
||||
PerlSetEnv OCS_OPT_INVENTORY_ON_STARTUP 0
|
||||
# Configure the duplicates detection system
|
||||
PerlSetEnv OCS_OPT_AUTO_DUPLICATE_LVL 15
|
||||
# Futur security improvements
|
||||
PerlSetEnv OCS_OPT_SECURITY_LEVEL 0
|
||||
# Validity of a computer's lock
|
||||
PerlSetEnv OCS_OPT_LOCK_REUSE_TIME 600
|
||||
# Enable the history tracking system (useful for external data synchronisation
|
||||
PerlSetEnv OCS_OPT_TRACE_DELETED 0
|
||||
|
||||
# ===== INVENTORY SETTINGS =====
|
||||
|
||||
# Specify the validity of inventory data
|
||||
PerlSetEnv OCS_OPT_FREQUENCY 0
|
||||
# Configure engine to update inventory regarding to CHECKSUM agent value (lower DB backend load)
|
||||
PerlSetEnv OCS_OPT_INVENTORY_DIFF 1
|
||||
# Make engine consider an inventory as a transaction (lower concurency, better disk usage)
|
||||
PerlSetEnv OCS_OPT_INVENTORY_TRANSACTION 1
|
||||
# Configure engine to make a differential update of inventory sections (row level). Lower DB backend load, higher frontend load
|
||||
PerlSetEnv OCS_OPT_INVENTORY_WRITE_DIFF 1
|
||||
# Enable some stuff to improve DB queries, especially for GUI multicriteria searching system
|
||||
PerlSetEnv OCS_OPT_INVENTORY_CACHE_ENABLED 1
|
||||
# Specify when the engine will clean the inventory cache structures
|
||||
PerlSetEnv OCS_OPT_INVENTORY_CACHE_REVALIDATE 7
|
||||
# Enable you to keep trace of every elements encountered in db life
|
||||
PerlSetEnv OCS_OPT_INVENTORY_CACHE_KEEP 1
|
||||
|
||||
# ===== SOFTWARES DEPLOYMENT SETTINGS =====
|
||||
|
||||
# Enable this feature
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD 0
|
||||
# Package which have a priority superior than this value will not be downloaded
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_PERIOD_LENGTH 10
|
||||
# Time between two download cycles (bandwidth control)
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_CYCLE_LATENCY 60
|
||||
# Time between two fragment downloads (bandwidth control)
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_FRAG_LATENCY 60
|
||||
# Specify if you want to track packages affected to a group on computer's level
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_GROUPS_TRACE_EVENTS 1
|
||||
# Time between two download periods (bandwidth control)
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_PERIOD_LATENCY 60
|
||||
# Agents will send ERR_TIMEOUT event and clean the package it is older than this setting
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_TIMEOUT 7
|
||||
# Agents will send an error event and clean the package if package command does not respond during this setting
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_EXECUTION_TIMEOUT 120
|
||||
|
||||
# Enable ocs engine to deliver agent's files (deprecated)
|
||||
PerlSetEnv OCS_OPT_DEPLOY 0
|
||||
# Enable the softwares deployment capacity (bandwidth control)
|
||||
|
||||
# ===== GROUPS SETTINGS =====
|
||||
|
||||
# Enable the computer\s groups feature
|
||||
PerlSetEnv OCS_OPT_ENABLE_GROUPS 1
|
||||
# Random number computed in the defined range. Designed to avoid computing many groups in the same process
|
||||
PerlSetEnv OCS_OPT_GROUPS_CACHE_OFFSET 43200
|
||||
# Specify the validity of computer's groups (default: compute it once a day - see offset)
|
||||
PerlSetEnv OCS_OPT_GROUPS_CACHE_REVALIDATE 43200
|
||||
|
||||
# ===== IPDISCOVER SETTINGS =====
|
||||
|
||||
# Specify how much agent per LAN will discovered connected peripherals (0 to disable)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER 2
|
||||
# Specify the minimal difference to replace an ipdiscover agent
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_BETTER_THRESHOLD 1
|
||||
# Time between 2 arp requests (mini: 10 ms)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_LATENCY 100
|
||||
# Specify when to remove a computer when it has not come until this period
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_MAX_ALIVE 14
|
||||
# Disable the time before a first election (not recommended)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_NO_POSTPONE 0
|
||||
# Enable groups for ipdiscover (for example, you might want to prevent some groups to be ipdiscover agents)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_USE_GROUPS 1
|
||||
# ARP Scan bandwidth
|
||||
PerlSetEnv OCS_OPT_SCAN_ARP_BANDWIDTH 256
|
||||
# IpDiscover scan type
|
||||
PerlSetEnv OCS_OPT_SCAN_TYPE_IPDISCOVER ICMP
|
||||
# Link TAG to network entry
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_LINK_TAG_NETWORK 0
|
||||
|
||||
# ===== INVENTORY FILES MAPPING SETTINGS =====
|
||||
|
||||
# Use with ocsinventory-injector, enable the multi entities feature
|
||||
PerlSetEnv OCS_OPT_GENERATE_OCS_FILES 0
|
||||
# Generate either compressed file or clear XML text
|
||||
PerlSetEnv OCS_OPT_OCS_FILES_FORMAT OCS
|
||||
# Specify if you want to keep trace of all inventory between to synchronisation with the higher level server
|
||||
PerlSetEnv OCS_OPT_OCS_FILES_OVERWRITE 0
|
||||
# Path to ocs files directory (must be writeable)
|
||||
PerlSetEnv OCS_OPT_OCS_FILES_PATH /tmp
|
||||
|
||||
# ===== FILTER SETTINGS =====
|
||||
|
||||
# Enable prolog filter stack
|
||||
PerlSetEnv OCS_OPT_PROLOG_FILTER_ON 0
|
||||
# Enable core filter system to modify some things "on the fly"
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_ENABLED 0
|
||||
# Enable inventory flooding filter. A dedicated ipaddress ia allowed to send a new computer only once in this period
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_FLOOD_IP 0
|
||||
# Period definition for INVENTORY_FILTER_FLOOD_IP
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_FLOOD_IP_CACHE_TIME 300
|
||||
# Enable inventory filter stack
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_ON 0
|
||||
|
||||
# ===== DATA FILTER =====
|
||||
|
||||
#Enable the dat filtering capacity
|
||||
PerlSetEnv OCS_OPT_DATA_FILTER 0
|
||||
|
||||
# Set the table names and the field associated you want to filter
|
||||
#PerlAddVar OCS_OPT_DATA_TO_FILTER HARDWARE
|
||||
#PerlAddVar OCS_OPT_DATA_TO_FILTER USERID
|
||||
|
||||
|
||||
# ===== REGISTRY SETTINGS =====
|
||||
|
||||
# Enable the registry capacity
|
||||
PerlSetEnv OCS_OPT_REGISTRY 1
|
||||
|
||||
# ===== SNMP SETTINGS =====
|
||||
|
||||
# Enable the SNMP capacity
|
||||
PerlSetEnv OCS_OPT_SNMP 0
|
||||
# Configure engine to update snmp inventory regarding to snmp_laststate table (lower DB backend load)
|
||||
PerlSetEnv OCS_OPT_SNMP_INVENTORY_DIFF 1
|
||||
# Display error message about agent https communication in logfile
|
||||
PerlSetEnv OCS_OPT_SNMP_PRINT_HTTPS_ERROR 1
|
||||
# SNMP Scan Type
|
||||
PerlSetEnv OCS_OPT_SCAN_TYPE_SNMP ICMP
|
||||
# SNMP Generate files
|
||||
PerlSetEnv OCS_OPT_GENERATE_OCS_FILES_SNMP 0
|
||||
|
||||
# ===== SESSION SETTINGS =====
|
||||
# Not yet in GUI
|
||||
|
||||
# Validity of a session (prolog=>postinventory)
|
||||
PerlSetEnv OCS_OPT_SESSION_VALIDITY_TIME 600
|
||||
# Consider a session obsolete if it is older thant this value
|
||||
PerlSetEnv OCS_OPT_SESSION_CLEAN_TIME 86400
|
||||
# Accept an inventory only if required by server
|
||||
#( Refuse "forced" inventory)
|
||||
PerlSetEnv OCS_OPT_INVENTORY_SESSION_ONLY 0
|
||||
|
||||
# ===== TAG =====
|
||||
|
||||
# The default behavior of the server is to ignore TAG changes from the
|
||||
# agent.
|
||||
PerlSetEnv OCS_OPT_ACCEPT_TAG_UPDATE_FROM_CLIENT 0
|
||||
|
||||
# ===== EXTERNAL USERAGENTS =====
|
||||
|
||||
#Path for external useragents reference file
|
||||
#!! WARNING !! : external agents may not be supported by OCS NG Community !
|
||||
#PerlSetEnv OCS_OPT_EXT_USERAGENTS_FILE_PATH /tmp/yourfile.txt
|
||||
|
||||
# ===== PLUGINS =====
|
||||
|
||||
PerlSetEnv OCS_PLUGINS_PERL_DIR "PATH_TO_PLUGINS_PERL_DIRECTORY"
|
||||
PerlSetEnv OCS_PLUGINS_CONF_DIR "PATH_TO_PLUGINS_CONFIG_DIRECTORY"
|
||||
|
||||
# ===== DEPRECATED =====
|
||||
|
||||
# Set the proxy cache validity in http headers when sending a file
|
||||
PerlSetEnv OCS_OPT_PROXY_REVALIDATE_DELAY 3600
|
||||
# Deprecated
|
||||
PerlSetEnv OCS_OPT_UPDATE 0
|
||||
|
||||
############ DO NOT MODIFY BELOW ! #######################
|
||||
|
||||
# External modules
|
||||
PerlModule Apache::DBI
|
||||
PerlModule Compress::Zlib
|
||||
PerlModule XML::Simple
|
||||
|
||||
# Ocs plugins
|
||||
PerlModule Apache::Ocsinventory::Plugins
|
||||
|
||||
# Ocs
|
||||
PerlModule Apache::Ocsinventory
|
||||
PerlModule Apache::Ocsinventory::Server::Constants
|
||||
PerlModule Apache::Ocsinventory::Server::System
|
||||
PerlModule Apache::Ocsinventory::Server::Communication
|
||||
PerlModule Apache::Ocsinventory::Server::Inventory
|
||||
PerlModule Apache::Ocsinventory::Server::Duplicate
|
||||
|
||||
# Capacities
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Registry
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Update
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Ipdiscover
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Download
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Notify
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Snmp
|
||||
# This module guides you through the module creation
|
||||
# PerlModule Apache::Ocsinventory::Server::Capacities::Example
|
||||
# This module adds some rules to filter some request sent to ocs server in the prolog and inventory stages
|
||||
# PerlModule Apache::Ocsinventory::Server::Capacities::Filter
|
||||
# This module add availibity to filter data from HARDWARE section (data filtered won't be stored in database)
|
||||
# PerlModule Apache::Ocsinventory::Server::Capacities::Datafilter
|
||||
|
||||
# PerlTaintCheck On
|
||||
|
||||
# SSL apache settings
|
||||
#SSLEngine "SSL_ENABLE"
|
||||
#SSLCertificateFile "SSL_CERTIFICATE_FILE"
|
||||
#SSLCertificateKeyFile "SSL_CERTIFICATE_KEY_FILE"
|
||||
#SSLCACertificateFile "SSL_CERTIFICATE_FILE"
|
||||
#SSLCACertificatePath "SSL_CERTIFICATE_PATH"
|
||||
#SSLVerifyClient "SSL_VALIDATE_CLIENT"
|
||||
|
||||
# Engine apache settings
|
||||
# "Virtual" directory for handling OCS Inventory NG agents communications
|
||||
# Be careful, do not create such directory into your web server root document !
|
||||
<Location /ocsinventory>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
# Apache 2.2
|
||||
order deny,allow
|
||||
allow from all
|
||||
</IfModule>
|
||||
# If you protect this area you have to deal with http_auth_* agent's parameters
|
||||
# AuthType Basic
|
||||
# AuthName "OCS Inventory agent area"
|
||||
# AuthUserFile "APACHE_AUTH_USER_FILE"
|
||||
# require valid-user
|
||||
SetHandler perl-script
|
||||
PerlHandler Apache::Ocsinventory
|
||||
</Location>
|
||||
|
||||
#Web Service for plugin engine
|
||||
<Location /ocsplugins>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require local
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
# Apache 2.2
|
||||
order deny,allow
|
||||
allow from 127.0.0.1
|
||||
</IfModule>
|
||||
SetHandler perl-script
|
||||
PerlHandler Apache::Ocsinventory::Plugins::Apache
|
||||
</Location>
|
||||
|
||||
|
||||
# Web service apache settings
|
||||
PerlModule Apache::Ocsinventory::SOAP
|
||||
|
||||
<location /ocsinterface>
|
||||
SetHandler perl-script
|
||||
PerlHandler "Apache::Ocsinventory::SOAP"
|
||||
|
||||
# By default, you can query web service from everywhere with a valid user
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
AuthType Basic
|
||||
AuthName "OCS Inventory SOAP Area"
|
||||
# Use htpasswd to create/update soap-user (or another granted user)
|
||||
AuthUserFile "APACHE_AUTH_USER_FILE"
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require user "SOAP_USER"
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
require "SOAP_USER"
|
||||
</IfModule>
|
||||
</location>
|
||||
</IfModule>
|
||||
@ -1,87 +0,0 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
ocsapplication:
|
||||
image: ocsinventory/ocsinventory-docker-image:2.12.2
|
||||
container_name : ocsinventory-server
|
||||
restart: always
|
||||
expose:
|
||||
- "80"
|
||||
volumes:
|
||||
- "perlcomdata:/etc/ocsinventory-server"
|
||||
- "ocsreportsdata:/usr/share/ocsinventory-reports/ocsreports/extensions"
|
||||
- "varlibdata:/var/lib/ocsinventory-reports"
|
||||
- "httpdconfdata:/etc/apache2/conf-available"
|
||||
- "profilesconfdata:/usr/share/ocsinventory-reports/ocsreports/config/profiles"
|
||||
environment:
|
||||
OCS_DB_SERVER: ocsinventory-db
|
||||
OCS_DB_USER: ocsuser
|
||||
OCS_DB_PASS: ocspass
|
||||
OCS_DB_NAME: ocsweb
|
||||
# See documentation to set up SSL for MySQL
|
||||
OCS_SSL_ENABLED: 0
|
||||
OCS_DBI_PRINT_ERROR: 0
|
||||
links:
|
||||
- ocsdb
|
||||
networks:
|
||||
- localocs
|
||||
depends_on:
|
||||
- ocsdb
|
||||
|
||||
ocsdb :
|
||||
image : mysql:8.0
|
||||
container_name : ocsinventory-db
|
||||
restart: always
|
||||
expose :
|
||||
- "3306"
|
||||
volumes :
|
||||
- ./sql/:/docker-entrypoint-initdb.d/
|
||||
- sqldata:/var/lib/mysql
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD : rootpass
|
||||
MYSQL_USER : ocsuser
|
||||
MYSQL_PASSWORD : ocspass
|
||||
MYSQL_DATABASE : ocsweb
|
||||
networks:
|
||||
- localocs
|
||||
|
||||
ocsproxy:
|
||||
image: nginx
|
||||
container_name: ocsinventory-proxy
|
||||
restart: always
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
volumes:
|
||||
- ./nginx/conf:/etc/nginx/templates
|
||||
- ./nginx/certs:/etc/nginx/certs
|
||||
- ./nginx/auth:/etc/nginx/auth
|
||||
environment:
|
||||
# 80 or 443
|
||||
LISTEN_PORT: 80
|
||||
# empty or ssl
|
||||
PORT_TYPE: ""
|
||||
SSL_CERT: ocs-dummy.crt
|
||||
SSL_KEY: ocs-dummy.key
|
||||
# OCS Api user restriction (default ocsapi/ocapi)
|
||||
API_AUTH_FILE: ocsapi.htpasswd
|
||||
# OCS Download
|
||||
READ_TIMEOUT: 300
|
||||
CONNECT_TIMEOUT: 300
|
||||
SEND_TIMEOUT: 300
|
||||
MAX_BODY_SIZE: 1G
|
||||
depends_on:
|
||||
- ocsapplication
|
||||
networks:
|
||||
- localocs
|
||||
|
||||
networks:
|
||||
localocs:
|
||||
|
||||
volumes:
|
||||
perlcomdata:
|
||||
ocsreportsdata:
|
||||
varlibdata:
|
||||
httpdconfdata:
|
||||
sqldata:
|
||||
profilesconfdata:
|
||||
@ -1,17 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo "| |"
|
||||
echo "| Welcome to OCS Inventory NG Management Docker! |"
|
||||
echo "| |"
|
||||
echo "+----------------------------------------------------------+"
|
||||
|
||||
# Create all directories
|
||||
mkdir -p $OCS_LOG_DIR
|
||||
mkdir -p $OCS_PERLEXT_DIR/Apache/Ocsinventory/Plugins
|
||||
mkdir -p $OCS_PLUGINSEXT_DIR
|
||||
mkdir -p $OCS_VARLIB_DIR/download
|
||||
mkdir -p $OCS_VARLIB_DIR/ipd
|
||||
mkdir -p $OCS_VARLIB_DIR/logs
|
||||
mkdir -p $OCS_VARLIB_DIR/scripts
|
||||
mkdir -p $OCS_VARLIB_DIR/snmp
|
||||
@ -1,49 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
SRV_CONF_FILE="/etc/apache2/conf-available/z-ocsinventory-server.conf"
|
||||
|
||||
if [ ! -z "${OCS_DISABLE_COM_MODE}" ]; then
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
echo "| Warning: OCS_DISABLE_COM_MODE environment variable is set! |"
|
||||
echo "| Communication server, which handles HTTP communications between database |"
|
||||
echo "| server and agents (Apache, perl and mod_perl) will be DISABLED! |"
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Configure z-ocsinventory-server file
|
||||
if [ ! -f ${SRV_CONF_FILE} ]; then
|
||||
cp /tmp/conf/ocsinventory-server.conf ${SRV_CONF_FILE}
|
||||
sed -i 's/VERSION_MP/2/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_SERVER/'"$OCS_DB_SERVER"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_PORT/'"$OCS_DB_PORT"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_NAME/'"$OCS_DB_NAME"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_USER/'"$OCS_DB_USER"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_PASSWD/'"$OCS_DB_PASS"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/"PATH_TO_LOG_DIRECTORY"/'"${OCS_LOG_DIR//\//\\/}"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/"PATH_TO_PLUGINS_PERL_DIRECTORY"/'"${OCS_PERLEXT_DIR//\//\\/}"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/"PATH_TO_PLUGINS_CONFIG_DIRECTORY"/'"${OCS_PLUGINSEXT_DIR//\//\\/}"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/OCS_DBI_PRINT_ERROR/'"$OCS_DBI_PRINT_ERROR"'/g' ${SRV_CONF_FILE}
|
||||
fi
|
||||
|
||||
# Replace Variables
|
||||
if [ -f ${SRV_CONF_FILE} ]; then
|
||||
echo "+-----------------------------------------------+"
|
||||
echo "| Customizing from environment variables... |"
|
||||
echo "+-----------------------------------------------+"
|
||||
echo
|
||||
# Get all env vars starting with 'OCS_'
|
||||
for var in $(env | cut -f1 -d= | grep -i OCS_); do
|
||||
# Check that the current var is not commented out in conf file
|
||||
if grep -q "^\s*PerlSetEnv ${var^^}" ${SRV_CONF_FILE}; then
|
||||
echo "Applying Config ${var^^}=${!var} from environment variable"
|
||||
sed -i "s,^\(\s*PerlSetEnv ${var^^}\).*$,\1 ${!var},g" ${SRV_CONF_FILE}
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# Permissions
|
||||
chown -R $APACHE_RUN_USER: $OCS_LOG_DIR
|
||||
|
||||
# Enable conf
|
||||
a2enconf z-ocsinventory-server
|
||||
@ -1,57 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
REPORTS_CONF_FILE="/etc/apache2/conf-available/ocsinventory-reports.conf"
|
||||
DB_CONFIG_INC_FILE="${OCS_WEBCONSOLE_DIR}/ocsreports/dbconfig.inc.php"
|
||||
|
||||
if [ ! -z "${OCS_DISABLE_WEB_MODE}" ]; then
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
echo "| Warning: OCS_DISABLE_WEB_MODE environment variable is set! |"
|
||||
echo "| Administration console, which allows administrators to query the database |"
|
||||
echo "| server using their favorite browser (Apache, php) will be DISABLED! |"
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! -f $OCS_WEBCONSOLE_DIR/ocsreports/var.php ]; then
|
||||
cp -r /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}/ocsreports/ ${OCS_WEBCONSOLE_DIR}
|
||||
rm -rf ${DB_CONFIG_INC_FILE}
|
||||
fi
|
||||
|
||||
# Configure ocsinventory-reports file
|
||||
if [ ! -f ${REPORTS_CONF_FILE} ]; then
|
||||
cp /tmp/conf/ocsinventory-reports.conf ${REPORTS_CONF_FILE}
|
||||
sed -i 's/OCSREPORTS_ALIAS/\/ocsreports/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PATH_TO_OCSREPORTS_DIR/'"${OCS_WEBCONSOLE_DIR//\//\\/}"'\/ocsreports/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PACKAGES_ALIAS/\/download/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PATH_TO_PACKAGES_DIR/'"${OCS_VARLIB_DIR//\//\\/}"'download/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/SNMP_ALIAS/\/snmp/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PATH_TO_SNMP_DIR/'"${OCS_VARLIB_DIR//\//\\/}"'snmp/g' ${REPORTS_CONF_FILE}
|
||||
fi
|
||||
|
||||
# Generate dbconfig.inc.php
|
||||
if [ ! -f ${DB_CONFIG_INC_FILE} ]; then
|
||||
cp /tmp/conf/dbconfig.inc.php $OCS_WEBCONSOLE_DIR/ocsreports
|
||||
sed -i 's/OCS_DB_NAME/'"$OCS_DB_NAME"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_READ_NAME/'"$OCS_DB_SERVER"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_WRITE_NAME/'"$OCS_DB_SERVER"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_DB_PORT/'"$OCS_DB_PORT"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_DB_USER/'"$OCS_DB_USER"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_DB_PASS/'"$OCS_DB_PASS"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_WEB_MODE/'"$OCS_SSL_WEB_MODE"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_KEY/'"${OCS_SSL_KEY//\//\\/}"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_CERT/'"${OCS_SSL_CERT//\//\\/}"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_CA/'"${OCS_SSL_CA//\//\\/}"'/g' ${DB_CONFIG_INC_FILE}
|
||||
fi
|
||||
|
||||
# Permissions
|
||||
chown -R $APACHE_RUN_USER: $OCS_VARLIB_DIR
|
||||
chown -R $APACHE_RUN_USER: $OCS_WEBCONSOLE_DIR
|
||||
|
||||
# rm install.php
|
||||
if [ -f $OCS_WEBCONSOLE_DIR/ocsreports/install.php ]; then
|
||||
rm $OCS_WEBCONSOLE_DIR/ocsreports/install.php
|
||||
fi
|
||||
|
||||
# Enable conf
|
||||
a2enconf ocsinventory-reports
|
||||
@ -1,32 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ ! -z "${OCS_DISABLE_API_MODE}" ] || [ ! -z "${OCS_DISABLE_COM_MODE}" ]; then
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
echo "| Warning: OCS_DISABLE_API_MODE or OCS_DISABLE_COM_MODE environment |"
|
||||
echo "| variable is set! |"
|
||||
echo "| REST API will be DISABLED |"
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
API_CONF_FILE="/etc/apache2/conf-available/zz-ocsinventory-restapi.conf"
|
||||
API_ROUTE=$(perl -e "print \"@INC[2]\"")
|
||||
API_ROUTE_LOADER="${API_ROUTE}/Api/Ocsinventory/Restapi/Loader.pm"
|
||||
|
||||
cp -R /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}/Api/ ${API_ROUTE}
|
||||
|
||||
# Configure zz-ocsinventory-restapi file
|
||||
if [ ! -f ${API_CONF_FILE} ]; then
|
||||
cp /tmp/conf/ocsinventory-restapi.conf ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_SERVER/'"$OCS_DB_SERVER"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_PORT/'"$OCS_DB_PORT"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_NAME/'"$OCS_DB_NAME"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_USER/'"$OCS_DB_USER"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_PASSWD/'"$OCS_DB_PASS"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/REST_API_PATH/'"${API_ROUTE//\//\\/}"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/REST_API_LOADER_PATH/'"${API_ROUTE_LOADER//\//\\/}"'/g' ${API_CONF_FILE}
|
||||
fi
|
||||
|
||||
# Enable conf
|
||||
a2enconf zz-ocsinventory-restapi
|
||||
@ -1,35 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo "| Setting Apache Server Name to '${APACHE_SERVER_NAME:-localhost}'"
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo
|
||||
|
||||
sed -ri -e "s!^#(ServerName)\s+\S+!\1 ${APACHE_SERVER_NAME:-localhost}:80!g" \
|
||||
"/etc/apache2/apache2.conf"
|
||||
|
||||
# Remove temp files
|
||||
echo "+--------------------------------+"
|
||||
echo "| Removing not used files... |"
|
||||
echo "+--------------------------------+"
|
||||
echo
|
||||
cd /tmp
|
||||
shopt -s extglob
|
||||
rm -rf !("conf")
|
||||
|
||||
# Apache start
|
||||
if [ ! -d "$APACHE_RUN_DIR" ]; then
|
||||
mkdir "$APACHE_RUN_DIR"
|
||||
chown $APACHE_RUN_USER:$APACHE_RUN_GROUP "$APACHE_RUN_DIR"
|
||||
fi
|
||||
|
||||
if [ -f "$APACHE_PID_FILE" ]; then
|
||||
rm "$APACHE_PID_FILE"
|
||||
fi
|
||||
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo "| OK, prepare finshed ;-) |"
|
||||
echo "| |"
|
||||
echo "| Starting OCS Inventory NG Management Docker... |"
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo
|
||||
@ -1,35 +0,0 @@
|
||||
#!/bin/bash
|
||||
# vim:sw=4:ts=4:et
|
||||
|
||||
set -e
|
||||
|
||||
if [ -z "${OCS_ENTRYPOINT_QUIET_LOGS:-}" ]; then
|
||||
exec 3>&1
|
||||
else
|
||||
exec 3>/dev/null
|
||||
fi
|
||||
|
||||
if /usr/bin/find "/docker-entrypoint.d/" -mindepth 1 -maxdepth 1 -type f -print -quit 2>/dev/null | read v; then
|
||||
echo >&3 "$0: /docker-entrypoint.d/ is not empty, will attempt to perform configuration"
|
||||
|
||||
echo >&3 "$0: Looking for shell scripts in /docker-entrypoint.d/"
|
||||
find "/docker-entrypoint.d/" -follow -type f -print | sort -V | while read -r f; do
|
||||
case "$f" in
|
||||
*.sh)
|
||||
if ! [ -x "$f" ]; then
|
||||
chmod +x $f
|
||||
fi
|
||||
|
||||
echo -e >&3 "\n$0: Launching ${f}\n"
|
||||
"$f"
|
||||
;;
|
||||
*) echo -e >&3 "\n$0: Ignoring ${f}\n" ;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo >&3 "$0: Configuration complete; ready for start up"
|
||||
else
|
||||
echo >&3 "$0: No files found in /docker-entrypoint.d/, skipping configuration"
|
||||
fi
|
||||
|
||||
exec "$@"
|
||||
@ -1 +0,0 @@
|
||||
ocsapi:$apr1$BcAk5f/A$0O5c/DSy92/o.vpwwshWQ.
|
||||
@ -1,22 +0,0 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDlzCCAn+gAwIBAgIUZq+XFJryUuBpkwebSwjSy/hfMCkwDQYJKoZIhvcNAQEL
|
||||
BQAwWzELMAkGA1UEBhMCRlIxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
|
||||
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEUMBIGA1UEAwwLbXlvY3NzZXJ2ZXIw
|
||||
HhcNMjIwNDEzMDk0OTUzWhcNMzIwNDEwMDk0OTUzWjBbMQswCQYDVQQGEwJGUjET
|
||||
MBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQ
|
||||
dHkgTHRkMRQwEgYDVQQDDAtteW9jc3NlcnZlcjCCASIwDQYJKoZIhvcNAQEBBQAD
|
||||
ggEPADCCAQoCggEBAOQDcGzmYzzgVycXSEZWMJ2TEtnmjouNuUKAVQUcELMkZOk0
|
||||
TIRz7QhPIOCiH2bklji+ByyVZg/uXRFJlT/P46rPor/OuRK2Lkrt+APr+FmkLgvf
|
||||
JHMfm7YRbZuWVRJq0htNNL6szwHEFE99GlRy7SuapkhKSo4qY/LjrrR7E7DnPj/G
|
||||
7o21ge3OpOfbmx9xVWbEZaJqMOZDt1y3fbp3hQsflVM0AKdg7OoHOBWnv65iJIkN
|
||||
LtG7Icqcp+8AKnL1PaiMU+P970GTMZyZ0NWVAWgab9+Wl+makTTdDdQgJIhg19og
|
||||
ReLeYspEQlzXmEz+8JAxWGqsu+HuiZ6ClSl04W0CAwEAAaNTMFEwHQYDVR0OBBYE
|
||||
FEljOkF7g17RD+pOpJ7M6dovwI9uMB8GA1UdIwQYMBaAFEljOkF7g17RD+pOpJ7M
|
||||
6dovwI9uMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAKA2Fcot
|
||||
58X97tsLWC6eJrF2MLJzcNeSiiJayG9bT8agsUE8WGq5fvHvf5E54tueCp/q+a7V
|
||||
k4ZowCJF3RAvAqzRkMLQWaGms0Brz4qRtVvRqhWkP7aMGhUieOS2rTfLZ+TYPKfK
|
||||
561w8gSpxs9uRXbhnYeUchxJxCUg0CbxQwsjltrvnOF2LVP6JJDtYcc/NiDXhP4W
|
||||
pTp+EdwXt87VSRkTrqjEQO7/3TMsNjhi0PMFHnQf47ijLt44XaNGKh9pY31Ae9oo
|
||||
6IuRygJc6QNVoGRmF2bxsorU4i4rA3kR2Ir9AUbxJT6MtuLtx8DGB8Dmp6bKmIv+
|
||||
HZH21wRRhwrYJb8=
|
||||
-----END CERTIFICATE-----
|
||||
@ -1,28 +0,0 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDkA3Bs5mM84Fcn
|
||||
F0hGVjCdkxLZ5o6LjblCgFUFHBCzJGTpNEyEc+0ITyDgoh9m5JY4vgcslWYP7l0R
|
||||
SZU/z+Oqz6K/zrkSti5K7fgD6/hZpC4L3yRzH5u2EW2bllUSatIbTTS+rM8BxBRP
|
||||
fRpUcu0rmqZISkqOKmPy4660exOw5z4/xu6NtYHtzqTn25sfcVVmxGWiajDmQ7dc
|
||||
t326d4ULH5VTNACnYOzqBzgVp7+uYiSJDS7RuyHKnKfvACpy9T2ojFPj/e9BkzGc
|
||||
mdDVlQFoGm/flpfpmpE03Q3UICSIYNfaIEXi3mLKREJc15hM/vCQMVhqrLvh7ome
|
||||
gpUpdOFtAgMBAAECggEBAM4BGXMaV/CpU7R6wY7i0jubpH2AY6tMGWQu5CGgsKnZ
|
||||
qN5VpQhKYI6QR0kM0Mg6oEqVzY+HT1X3athynciwf6ZUwFsBX467UGncRKbubEw5
|
||||
HG0XZywoE5vUdS4MDcJ9BmUqRQw8vy5+REdo5QAFcahiqfdIP8HgJLtO4Aop5Kl/
|
||||
HoLqR83q3vBHfidxTX2z4m05t6ucAbmqLAgAb2GzRHEvdCpSXvs7M9ZyR/rvdhSV
|
||||
pswWR7XIUic50Lc8tHXyaKinuBFOCWCszsirPLAVPrs1D7Gq8kmdxUEEj0V9VbEE
|
||||
8afsb9cCojrDISn814WwjX+zVwjRwyr3v3BLHVGu06ECgYEA+1VHUwBTUnHmnMR+
|
||||
6XE1nkBStedvXGsMDIxK/VhNXAylUz4kfJ0bMPKdzbxSieHwA8O1+Hg4gN31V2Sn
|
||||
RgT5P0sLGdideysoy8yR5Aiiwx+7EXGqSQltY2lpaykP9wvpznWi3k/Wd7dAaTCd
|
||||
jPCtkzoLYMDzaQ9uc4A2VyY00RkCgYEA6D9PPvV6YE8S7G7sGwTSt9mgobZNm1AV
|
||||
BjDmtEPfDSK59rT8PpoN+225c1qaIIODdH0DHK9ZbPzo/29tW1l9zgGjEXEw396v
|
||||
Q9y99Ofh0JEsQbJJw/nPdV8dHKOL2ek3UWsscpsk5dUb+4gBpE+/wH21j7UiczKt
|
||||
a8whmMFw+XUCgYAPYdHCr7NpyVTO5WvLB8W7UL5/KZH0Owz6u59fUAc0CgYYSSZc
|
||||
hhUC8uZbkBoRHEXfRRwe/+SdZng8iAmAzI8go4wjYdGJl0Og7X1EUo77mDaPw8Aj
|
||||
RjNusSXljBbRDOabXzG/n21F2G5VwcbyuEw3RYcqvcRn+qzM3tz0in8TCQKBgDe1
|
||||
N+T6LOh9DyT3VlsExSakZQtlFyhyBRj/EdebkB0ufzzWHMtHWKM+poUs7ltuMFH4
|
||||
yo5O4TxrTdg3ehu3U53edqbwZ7DLUW8Nu+LK3DeTGvKHOXpwqXqV3f3InPsgHczB
|
||||
0F+NJ0SZ4aRr8zjeiDg77xkRcboAJej9hfGGNPshAoGALPS2HtT/1ycsER3a33NW
|
||||
A8j/2TfovcjZ9u15q5KDLRZ+3UngLvVwPJO1j/uLPqyyRsQID7SE29KCj/E8kOZH
|
||||
clbLXZmslyk369HOlpXZEXvR7rDxOt1jdojQrtEyW4gDT8k4iEw8nPcJyJ7YSVp/
|
||||
Qa0OOCtQPPvBt0Be1bHTGek=
|
||||
-----END PRIVATE KEY-----
|
||||
@ -1,51 +0,0 @@
|
||||
##
|
||||
# You should look at the following URL's in order to grasp a solid understanding
|
||||
# of Nginx configuration files in order to fully unleash the power of Nginx.
|
||||
# https://www.nginx.com/resources/wiki/start/
|
||||
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
|
||||
# https://wiki.debian.org/Nginx/DirectoryStructure
|
||||
#
|
||||
# In most cases, administrators will remove this file from sites-enabled/ and
|
||||
# leave it as reference inside of sites-available where it will continue to be
|
||||
# updated by the nginx packaging team.
|
||||
#
|
||||
# This file will automatically load configuration files provided by other
|
||||
# applications, such as Drupal or Wordpress. These applications will be made
|
||||
# available underneath a path with that package name, such as /drupal8.
|
||||
#
|
||||
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
|
||||
##
|
||||
|
||||
# OCS server configuration
|
||||
#
|
||||
server {
|
||||
listen ${LISTEN_PORT} ${PORT_TYPE} default_server;
|
||||
|
||||
ssl_certificate /etc/nginx/certs/${SSL_CERT};
|
||||
ssl_certificate_key /etc/nginx/certs/${SSL_KEY};
|
||||
|
||||
location / {
|
||||
rewrite ^/$ /ocsreports permanent;
|
||||
proxy_redirect off;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Frame-Options SAMEORIGIN;
|
||||
proxy_pass http://ocsapplication;
|
||||
}
|
||||
|
||||
location /ocsapi {
|
||||
auth_basic "OCS Api area";
|
||||
auth_basic_user_file /etc/nginx/auth/${API_AUTH_FILE};
|
||||
proxy_pass http://ocsapplication/ocsapi;
|
||||
}
|
||||
|
||||
location /download {
|
||||
proxy_read_timeout ${READ_TIMEOUT};
|
||||
proxy_connect_timeout ${CONNECT_TIMEOUT};
|
||||
proxy_send_timeout ${SEND_TIMEOUT};
|
||||
client_max_body_size ${MAX_BODY_SIZE};
|
||||
proxy_pass http://ocsapplication/download;
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@ -1,74 +0,0 @@
|
||||
FROM ubuntu:24.04
|
||||
|
||||
ENV OCS_VERSION 2.12.3
|
||||
|
||||
LABEL maintainer="contact@ocsinventory-ng.org" \
|
||||
version="${OCS_VERSION}" \
|
||||
description="OCS Inventory docker image"
|
||||
|
||||
ARG APT_FLAGS="-y"
|
||||
|
||||
ENV APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data \
|
||||
APACHE_LOG_DIR=/var/log/apache2 APACHE_PID_FILE=/var/run/apache2/apache2.pid APACHE_RUN_DIR=/var/run/apache2 APACHE_LOCK_DIR=/var/lock/apache2 \
|
||||
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 \
|
||||
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 \
|
||||
TZ=Europe/Paris
|
||||
|
||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||
|
||||
VOLUME /var/lib/ocsinventory-reports /etc/ocsinventory-server /usr/share/ocsinventory-reports/ocsreports/extensions
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
wget \
|
||||
curl \
|
||||
make \
|
||||
perl \
|
||||
apache2 \
|
||||
php \
|
||||
libxml-simple-perl \
|
||||
libdbi-perl \
|
||||
libdbd-mysql-perl \
|
||||
libapache-dbi-perl \
|
||||
libnet-ip-perl \
|
||||
libsoap-lite-perl \
|
||||
libarchive-zip-perl \
|
||||
libswitch-perl \
|
||||
libmojolicious-perl \
|
||||
libplack-perl \
|
||||
build-essential \
|
||||
php-pclzip \
|
||||
php-mbstring \
|
||||
php-soap \
|
||||
php-mysql \
|
||||
php-curl \
|
||||
php-xml \
|
||||
php-zip \
|
||||
php-gd \
|
||||
php-ldap
|
||||
|
||||
RUN wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/${OCS_VERSION}/OCSNG_UNIX_SERVER-${OCS_VERSION}.tar.gz -P /tmp && \
|
||||
tar xzf /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}.tar.gz -C /tmp;
|
||||
|
||||
RUN cd /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}/Apache/ && \
|
||||
perl Makefile.PL && \
|
||||
make && \
|
||||
make install
|
||||
|
||||
WORKDIR /etc/apache2/conf-available
|
||||
|
||||
# Redirect Apache2 Logs to stdout e stderr
|
||||
RUN ln -sf /proc/self/fd/1 /var/log/apache2/access.log && \
|
||||
ln -sf /proc/self/fd/2 /var/log/apache2/error.log
|
||||
|
||||
COPY conf/* /tmp/conf/
|
||||
|
||||
COPY ./docker-entrypoint.sh /docker-entrypoint.sh
|
||||
COPY ./docker-entrypoint.d /docker-entrypoint.d
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
# https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#entrypoint
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
CMD ["/usr/sbin/apache2", "-DFOREGROUND"]
|
||||
@ -1,34 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
* Copyright 2005-2016 OCSInventory-NG/OCSInventory-ocsreports contributors.
|
||||
* See the Contributors file for more details about them.
|
||||
*
|
||||
* This file is part of OCSInventory-NG/OCSInventory-ocsreports.
|
||||
*
|
||||
* OCSInventory-NG/OCSInventory-ocsreports is free software: you can redistribute
|
||||
* it and/or modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation, either version 2 of the License,
|
||||
* or (at your option) any later version.
|
||||
*
|
||||
* OCSInventory-NG/OCSInventory-ocsreports is distributed in the hope that it
|
||||
* will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with OCSInventory-NG/OCSInventory-ocsreports. if not, write to the
|
||||
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*/
|
||||
define("DB_NAME", "OCS_DB_NAME");
|
||||
define("SERVER_READ", "OCS_READ_NAME");
|
||||
define("SERVER_WRITE", "OCS_WRITE_NAME");
|
||||
define("SERVER_PORT", "OCS_DB_PORT");
|
||||
define("COMPTE_BASE", "OCS_DB_USER");
|
||||
define("PSWD_BASE", "OCS_DB_PASS");
|
||||
define("ENABLE_SSL","OCS_SSL_ENABLED");
|
||||
define("SSL_MODE","OCS_SSL_WEB_MODE");
|
||||
define("SSL_KEY","OCS_SSL_KEY");
|
||||
define("SSL_CERT","OCS_SSL_CERT");
|
||||
define("CA_CERT","OCS_SSL_CA");
|
||||
?>
|
||||
@ -1,120 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# OCS Inventory NG Administration Server
|
||||
#
|
||||
# Copyleft 2008 OCS Inventory NG Team
|
||||
# Web: http://www.ocsinventory-ng.org
|
||||
#
|
||||
# This code is open source and may be copied and modified as long as the source
|
||||
# code is always made freely available.
|
||||
# Please refer to the General Public Licence http://www.gnu.org/ or Licence.txt
|
||||
################################################################################
|
||||
|
||||
#
|
||||
# ANY CHANGE ON THIS FILE REQUIRES APACHE RESTART TO TAKE EFFECT
|
||||
#
|
||||
|
||||
################################################################################
|
||||
# Administration console public pages
|
||||
#
|
||||
# Alias used to put Administration Server static page (typically PHP) outside
|
||||
# Apache document root directory
|
||||
#
|
||||
Alias OCSREPORTS_ALIAS PATH_TO_OCSREPORTS_DIR
|
||||
|
||||
<Directory PATH_TO_OCSREPORTS_DIR>
|
||||
# By default, users can use console from everywhere
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
Options Indexes FollowSymLinks
|
||||
DirectoryIndex index.php
|
||||
AllowOverride Options AuthConfig
|
||||
|
||||
# Uncomment following to force use of HTTPS in Administration Server
|
||||
#SSLRequireSSL
|
||||
|
||||
# PHP tuning (not working on all distribution, use php.ini instead)
|
||||
<IfModule mod_php5.c>
|
||||
AddType application/x-httpd-php .php
|
||||
php_flag file_uploads on
|
||||
# Some PHP tuning for deployment feature up to 8 MB
|
||||
# post_max_size must be greater than upload_max_filesize
|
||||
# because of HTTP headers
|
||||
php_value post_max_size 101m
|
||||
php_value upload_max_filesize 100m
|
||||
# You may have to uncomment following on errors
|
||||
#php_value max_execution_time -1
|
||||
#php_value max_input_time -1
|
||||
|
||||
# Uncomment following if you need to specify a mysql socket
|
||||
#php_value mysql.default_socket "path/to/mysql/unix/socket"
|
||||
|
||||
#!! Mandatory !! : set magic_quotes_gpc to off (to make ocsreports works correctly)
|
||||
php_flag magic_quotes_gpc off
|
||||
</IfModule>
|
||||
# Duplicate for php7 compatibility
|
||||
<IfModule mod_php7.c>
|
||||
AddType application/x-httpd-php .php
|
||||
php_flag file_uploads on
|
||||
# Some PHP tuning for deployment feature up to 8 MB
|
||||
# post_max_size must be greater than upload_max_filesize
|
||||
# because of HTTP headers
|
||||
php_value post_max_size 101m
|
||||
php_value upload_max_filesize 100m
|
||||
# You may have to uncomment following on errors
|
||||
#php_value max_execution_time -1
|
||||
#php_value max_input_time -1
|
||||
|
||||
# Uncomment following if you need to specify a mysql socket
|
||||
#php_value mysql.default_socket "path/to/mysql/unix/socket"
|
||||
|
||||
#!! Mandatory !! : set magic_quotes_gpc to off (to make ocsreports works correctly)
|
||||
php_flag magic_quotes_gpc off
|
||||
</IfModule>
|
||||
|
||||
# Uncomment following to allow HTTP body request up to 4 MB
|
||||
# instead default 512 KB
|
||||
#LimitRequestBody 4194304
|
||||
|
||||
</Directory>
|
||||
|
||||
################################################################################
|
||||
# Deployment packages download area
|
||||
#
|
||||
# Alias to put Deployment package files outside Apache document root directory
|
||||
#
|
||||
<Directory PATH_TO_PACKAGES_DIR>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
</Directory>
|
||||
Alias PACKAGES_ALIAS PATH_TO_PACKAGES_DIR
|
||||
|
||||
|
||||
################################################################################
|
||||
# Snmp communities area
|
||||
#
|
||||
# Alias to put Snmp custom Mibs files outside Apache document root directory
|
||||
#
|
||||
<Directory PATH_TO_SNMP_DIR>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
</Directory>
|
||||
Alias SNMP_ALIAS PATH_TO_SNMP_DIR
|
||||
@ -1,23 +0,0 @@
|
||||
PerlOptions +Parent
|
||||
|
||||
<Perl>
|
||||
$ENV{PLACK_ENV} = 'production';
|
||||
$ENV{MOJO_HOME} = 'REST_API_PATH';
|
||||
$ENV{MOJO_MODE} = 'deployment';
|
||||
$ENV{OCS_DB_HOST} = 'DATABASE_SERVER';
|
||||
$ENV{OCS_DB_PORT} = 'DATABASE_PORT';
|
||||
$ENV{OCS_DB_LOCAL} = 'DATABASE_NAME';
|
||||
$ENV{OCS_DB_USER} = 'DATABASE_USER';
|
||||
$ENV{OCS_DB_PWD} = 'DATABASE_PASSWD';
|
||||
$ENV{OCS_DB_SSL_ENABLED} = OCS_SSL_ENABLED;
|
||||
# $ENV{OCS_DB_SSL_CLIENT_KEY} = '';
|
||||
# $ENV{OCS_DB_SSL_CLIENT_CERT} = '';
|
||||
# $ENV{OCS_DB_SSL_CA_CERT} = '';
|
||||
$ENV{OCS_DB_SSL_MODE} = 'SSL_MODE_PREFERRED';
|
||||
</Perl>
|
||||
|
||||
<Location /ocsapi>
|
||||
SetHandler perl-script
|
||||
PerlResponseHandler Plack::Handler::Apache2
|
||||
PerlSetVar psgi_app 'REST_API_LOADER_PATH'
|
||||
</Location>
|
||||
@ -1,391 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# OCS Inventory NG Communication Server Perl Module Setup
|
||||
#
|
||||
# Copyleft 2006 Pascal DANEK
|
||||
# Web: http://www.ocsinventory-ng.org
|
||||
#
|
||||
# This code is open source and may be copied and modified as long as the source
|
||||
# code is always made freely available.
|
||||
# Please refer to the General Public Licence http://www.gnu.org/ or Licence.txt
|
||||
################################################################################
|
||||
|
||||
<IfModule mod_perl.c>
|
||||
|
||||
# Which version of mod_perl we are using
|
||||
# For mod_perl <= 1.999_21, replace VERSION_MP by 1
|
||||
# For mod_perl > 1.999_21, replace VERSION_MP by 2
|
||||
PerlSetEnv OCS_MODPERL_VERSION VERSION_MP
|
||||
|
||||
# Master Database settings
|
||||
# Replace DATABASE_SERVER by hostname or ip of MySQL server for WRITE
|
||||
PerlSetEnv OCS_DB_HOST DATABASE_SERVER
|
||||
# Replace DATABASE_PORT by port where running MySQL server, generally 3306
|
||||
PerlSetEnv OCS_DB_PORT DATABASE_PORT
|
||||
# Name of database
|
||||
PerlSetEnv OCS_DB_NAME DATABASE_NAME
|
||||
PerlSetEnv OCS_DB_LOCAL DATABASE_NAME
|
||||
# User allowed to connect to database
|
||||
PerlSetEnv OCS_DB_USER DATABASE_USER
|
||||
# Password for user
|
||||
PerlSetVar OCS_DB_PWD DATABASE_PASSWD
|
||||
# SSL Configuration
|
||||
# 0 to disable the SSL support for MySQL/MariaDB
|
||||
# 1 to enable the SSL support for MySQL/MariaDB
|
||||
PerlSetEnv OCS_DB_SSL_ENABLED 0
|
||||
# PerlSetEnv OCS_DB_SSL_CLIENT_KEY /etc/ssl/private/client.key
|
||||
# PerlSetEnv OCS_DB_SSL_CLIENT_CERT /etc/ssl/certs/client.crt
|
||||
# PerlSetEnv OCS_DB_SSL_CA_CERT /etc/ssl/certs/ca.crt
|
||||
# SSL Mode
|
||||
# - SSL_MODE_PREFERRED (SSL enabled but optional)
|
||||
# - SSL_MODE_REQUIRED (SSL enabled, mandatory but don't verify server certificate. Ex self signed cert)
|
||||
# - SSL_MODE_STRICT (SSL enabled, mandatory and server cert must be trusted)
|
||||
PerlSetEnv OCS_DB_SSL_MODE SSL_MODE_PREFERRED
|
||||
|
||||
|
||||
# Slave Database settings
|
||||
# Replace DATABASE_SERVER by hostname or ip of MySQL server for READ
|
||||
# Useful if you handle mysql slave databases
|
||||
# PerlSetEnv OCS_DB_SL_HOST DATABASE_SERVER
|
||||
# Replace DATABASE_PORT by port where running MySQL server, generally 3306
|
||||
# PerlSetEnv OCS_DB_SL_PORT_SLAVE DATABASE_PORT
|
||||
# User allowed to connect to database
|
||||
# PerlSetEnv OCS_DB_SL_USER ocs
|
||||
# Name of the database
|
||||
# PerlSetEnv OCS_DB_SL_NAME ocsweb
|
||||
# Password for user
|
||||
# PerlSetVar OCS_DB_SL_PWD ocs
|
||||
# SSL Configuration for Slave database
|
||||
# 0 to disable the SSL support for MySQL/MariaDB
|
||||
# 1 to enable the SSL support for MySQL/MariaDB
|
||||
# PerlSetEnv OCS_DB_SL_SSL_ENABLED 0
|
||||
# PerlSetEnv OCS_DB_SL_SSL_CLIENT_KEY /etc/ssl/private/client.key
|
||||
# PerlSetEnv OCS_DB_SL_SSL_CLIENT_CERT /etc/ssl/certs/client.crt
|
||||
# PerlSetEnv OCS_DB_SL_SSL_CA_CERT /etc/ssl/certs/ca.crt
|
||||
# SSL Mode
|
||||
# - SSL_MODE_PREFERRED (SSL enabled but optional)
|
||||
# - SSL_MODE_REQUIRED (SSL enabled, mandatory but don't verify server certificate. Ex self signed cert)
|
||||
# - SSL_MODE_STRICT (SSL enabled, mandatory and server cert must be trusted)
|
||||
# PerlSetEnv OCS_DB_SL_SSL_MODE SSL_MODE_PREFERRED
|
||||
|
||||
# Path to log directory (must be writeable)
|
||||
PerlSetEnv OCS_OPT_LOGPATH "PATH_TO_LOG_DIRECTORY"
|
||||
|
||||
# If you need to specify a mysql socket that the client's built-in
|
||||
#PerlSetEnv OCS_OPT_DBI_MYSQL_SOCKET "path/to/mysql/unix/socket"
|
||||
# DBI verbosity
|
||||
PerlSetEnv OCS_OPT_DBI_PRINT_ERROR OCS_DBI_PRINT_ERROR
|
||||
|
||||
# Unicode support
|
||||
PerlSetEnv OCS_OPT_UNICODE_SUPPORT 1
|
||||
|
||||
# If you are using a multi server architecture,
|
||||
# Put the ip addresses of the slaves on the master
|
||||
# (This is read as perl regular expressions)
|
||||
PerlAddVar OCS_OPT_TRUSTED_IP 127.0.0.1
|
||||
#PerlAddVar OCS_OPT_TRUSTED_IP XXX.XXX.XXX.XXX
|
||||
|
||||
# ===== WEB SERVICE (SOAP) SETTINGS =====
|
||||
|
||||
PerlSetEnv OCS_OPT_WEB_SERVICE_ENABLED 0
|
||||
PerlSetEnv OCS_OPT_WEB_SERVICE_RESULTS_LIMIT 100
|
||||
# PerlSetEnv OCS_OPT_WEB_SERVICE_PRIV_MODS_CONF "WEBSERV_PRIV_MOD_CONF_FILE"
|
||||
|
||||
# Be careful: you must restart apache to make settings taking effects
|
||||
|
||||
# Configure engine to use the settings from this file
|
||||
PerlSetEnv OCS_OPT_OPTIONS_NOT_OVERLOADED 0
|
||||
|
||||
# Try to use other compress algorithm than raw zlib
|
||||
# GUNZIP and clear XML are supported
|
||||
PerlSetEnv OCS_OPT_COMPRESS_TRY_OTHERS 1
|
||||
|
||||
##############################################################
|
||||
# ===== OPTIONS BELOW ARE OVERLOADED IF YOU USE OCS GUI =====#
|
||||
##############################################################
|
||||
|
||||
# NOTE: IF YOU WANT TO USE THIS CONFIG FILE INSTEAD, set OCS_OPT_OPTIONS_NOT_OVERLOADED to '1'
|
||||
|
||||
# ===== MAIN SETTINGS =====
|
||||
|
||||
# Enable engine logs (see LOGPATH setting)
|
||||
PerlSetEnv OCS_OPT_LOGLEVEL 0
|
||||
# Specify agent's prolog frequency
|
||||
PerlSetEnv OCS_OPT_PROLOG_FREQ 12
|
||||
# Specify if agent take contact on service startup
|
||||
PerlSetEnv OCS_OPT_INVENTORY_ON_STARTUP 0
|
||||
# Configure the duplicates detection system
|
||||
PerlSetEnv OCS_OPT_AUTO_DUPLICATE_LVL 15
|
||||
# Futur security improvements
|
||||
PerlSetEnv OCS_OPT_SECURITY_LEVEL 0
|
||||
# Validity of a computer's lock
|
||||
PerlSetEnv OCS_OPT_LOCK_REUSE_TIME 600
|
||||
# Enable the history tracking system (useful for external data synchronisation
|
||||
PerlSetEnv OCS_OPT_TRACE_DELETED 0
|
||||
|
||||
# ===== INVENTORY SETTINGS =====
|
||||
|
||||
# Specify the validity of inventory data
|
||||
PerlSetEnv OCS_OPT_FREQUENCY 0
|
||||
# Configure engine to update inventory regarding to CHECKSUM agent value (lower DB backend load)
|
||||
PerlSetEnv OCS_OPT_INVENTORY_DIFF 1
|
||||
# Make engine consider an inventory as a transaction (lower concurency, better disk usage)
|
||||
PerlSetEnv OCS_OPT_INVENTORY_TRANSACTION 1
|
||||
# Configure engine to make a differential update of inventory sections (row level). Lower DB backend load, higher frontend load
|
||||
PerlSetEnv OCS_OPT_INVENTORY_WRITE_DIFF 1
|
||||
# Enable some stuff to improve DB queries, especially for GUI multicriteria searching system
|
||||
PerlSetEnv OCS_OPT_INVENTORY_CACHE_ENABLED 1
|
||||
# Specify when the engine will clean the inventory cache structures
|
||||
PerlSetEnv OCS_OPT_INVENTORY_CACHE_REVALIDATE 7
|
||||
# Enable you to keep trace of every elements encountered in db life
|
||||
PerlSetEnv OCS_OPT_INVENTORY_CACHE_KEEP 1
|
||||
|
||||
# ===== SOFTWARES DEPLOYMENT SETTINGS =====
|
||||
|
||||
# Enable this feature
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD 0
|
||||
# Package which have a priority superior than this value will not be downloaded
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_PERIOD_LENGTH 10
|
||||
# Time between two download cycles (bandwidth control)
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_CYCLE_LATENCY 60
|
||||
# Time between two fragment downloads (bandwidth control)
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_FRAG_LATENCY 60
|
||||
# Specify if you want to track packages affected to a group on computer's level
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_GROUPS_TRACE_EVENTS 1
|
||||
# Time between two download periods (bandwidth control)
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_PERIOD_LATENCY 60
|
||||
# Agents will send ERR_TIMEOUT event and clean the package it is older than this setting
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_TIMEOUT 7
|
||||
# Agents will send an error event and clean the package if package command does not respond during this setting
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_EXECUTION_TIMEOUT 120
|
||||
|
||||
# Enable ocs engine to deliver agent's files (deprecated)
|
||||
PerlSetEnv OCS_OPT_DEPLOY 0
|
||||
# Enable the softwares deployment capacity (bandwidth control)
|
||||
|
||||
# ===== GROUPS SETTINGS =====
|
||||
|
||||
# Enable the computer\s groups feature
|
||||
PerlSetEnv OCS_OPT_ENABLE_GROUPS 1
|
||||
# Random number computed in the defined range. Designed to avoid computing many groups in the same process
|
||||
PerlSetEnv OCS_OPT_GROUPS_CACHE_OFFSET 43200
|
||||
# Specify the validity of computer's groups (default: compute it once a day - see offset)
|
||||
PerlSetEnv OCS_OPT_GROUPS_CACHE_REVALIDATE 43200
|
||||
|
||||
# ===== IPDISCOVER SETTINGS =====
|
||||
|
||||
# Specify how much agent per LAN will discovered connected peripherals (0 to disable)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER 2
|
||||
# Specify the minimal difference to replace an ipdiscover agent
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_BETTER_THRESHOLD 1
|
||||
# Time between 2 arp requests (mini: 10 ms)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_LATENCY 100
|
||||
# Specify when to remove a computer when it has not come until this period
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_MAX_ALIVE 14
|
||||
# Disable the time before a first election (not recommended)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_NO_POSTPONE 0
|
||||
# Enable groups for ipdiscover (for example, you might want to prevent some groups to be ipdiscover agents)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_USE_GROUPS 1
|
||||
# ARP Scan bandwidth
|
||||
PerlSetEnv OCS_OPT_SCAN_ARP_BANDWIDTH 256
|
||||
# IpDiscover scan type
|
||||
PerlSetEnv OCS_OPT_SCAN_TYPE_IPDISCOVER ICMP
|
||||
# Link TAG to network entry
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_LINK_TAG_NETWORK 0
|
||||
|
||||
# ===== INVENTORY FILES MAPPING SETTINGS =====
|
||||
|
||||
# Use with ocsinventory-injector, enable the multi entities feature
|
||||
PerlSetEnv OCS_OPT_GENERATE_OCS_FILES 0
|
||||
# Generate either compressed file or clear XML text
|
||||
PerlSetEnv OCS_OPT_OCS_FILES_FORMAT OCS
|
||||
# Specify if you want to keep trace of all inventory between to synchronisation with the higher level server
|
||||
PerlSetEnv OCS_OPT_OCS_FILES_OVERWRITE 0
|
||||
# Path to ocs files directory (must be writeable)
|
||||
PerlSetEnv OCS_OPT_OCS_FILES_PATH /tmp
|
||||
|
||||
# ===== FILTER SETTINGS =====
|
||||
|
||||
# Enable prolog filter stack
|
||||
PerlSetEnv OCS_OPT_PROLOG_FILTER_ON 0
|
||||
# Enable core filter system to modify some things "on the fly"
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_ENABLED 0
|
||||
# Enable inventory flooding filter. A dedicated ipaddress ia allowed to send a new computer only once in this period
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_FLOOD_IP 0
|
||||
# Period definition for INVENTORY_FILTER_FLOOD_IP
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_FLOOD_IP_CACHE_TIME 300
|
||||
# Enable inventory filter stack
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_ON 0
|
||||
|
||||
# ===== DATA FILTER =====
|
||||
|
||||
#Enable the dat filtering capacity
|
||||
PerlSetEnv OCS_OPT_DATA_FILTER 0
|
||||
|
||||
# Set the table names and the field associated you want to filter
|
||||
#PerlAddVar OCS_OPT_DATA_TO_FILTER HARDWARE
|
||||
#PerlAddVar OCS_OPT_DATA_TO_FILTER USERID
|
||||
|
||||
|
||||
# ===== REGISTRY SETTINGS =====
|
||||
|
||||
# Enable the registry capacity
|
||||
PerlSetEnv OCS_OPT_REGISTRY 1
|
||||
|
||||
# ===== SNMP SETTINGS =====
|
||||
|
||||
# Enable the SNMP capacity
|
||||
PerlSetEnv OCS_OPT_SNMP 0
|
||||
# Configure engine to update snmp inventory regarding to snmp_laststate table (lower DB backend load)
|
||||
PerlSetEnv OCS_OPT_SNMP_INVENTORY_DIFF 1
|
||||
# Display error message about agent https communication in logfile
|
||||
PerlSetEnv OCS_OPT_SNMP_PRINT_HTTPS_ERROR 1
|
||||
# SNMP Scan Type
|
||||
PerlSetEnv OCS_OPT_SCAN_TYPE_SNMP ICMP
|
||||
# SNMP Generate files
|
||||
PerlSetEnv OCS_OPT_GENERATE_OCS_FILES_SNMP 0
|
||||
|
||||
# ===== SESSION SETTINGS =====
|
||||
# Not yet in GUI
|
||||
|
||||
# Validity of a session (prolog=>postinventory)
|
||||
PerlSetEnv OCS_OPT_SESSION_VALIDITY_TIME 600
|
||||
# Consider a session obsolete if it is older thant this value
|
||||
PerlSetEnv OCS_OPT_SESSION_CLEAN_TIME 86400
|
||||
# Accept an inventory only if required by server
|
||||
#( Refuse "forced" inventory)
|
||||
PerlSetEnv OCS_OPT_INVENTORY_SESSION_ONLY 0
|
||||
|
||||
# ===== TAG =====
|
||||
|
||||
# The default behavior of the server is to ignore TAG changes from the
|
||||
# agent.
|
||||
PerlSetEnv OCS_OPT_ACCEPT_TAG_UPDATE_FROM_CLIENT 0
|
||||
|
||||
# ===== EXTERNAL USERAGENTS =====
|
||||
|
||||
#Path for external useragents reference file
|
||||
#!! WARNING !! : external agents may not be supported by OCS NG Community !
|
||||
#PerlSetEnv OCS_OPT_EXT_USERAGENTS_FILE_PATH /tmp/yourfile.txt
|
||||
|
||||
# ===== PLUGINS =====
|
||||
|
||||
PerlSetEnv OCS_PLUGINS_PERL_DIR "PATH_TO_PLUGINS_PERL_DIRECTORY"
|
||||
PerlSetEnv OCS_PLUGINS_CONF_DIR "PATH_TO_PLUGINS_CONFIG_DIRECTORY"
|
||||
|
||||
# ===== DEPRECATED =====
|
||||
|
||||
# Set the proxy cache validity in http headers when sending a file
|
||||
PerlSetEnv OCS_OPT_PROXY_REVALIDATE_DELAY 3600
|
||||
# Deprecated
|
||||
PerlSetEnv OCS_OPT_UPDATE 0
|
||||
|
||||
############ DO NOT MODIFY BELOW ! #######################
|
||||
|
||||
# External modules
|
||||
PerlModule Apache::DBI
|
||||
PerlModule Compress::Zlib
|
||||
PerlModule XML::Simple
|
||||
|
||||
# Ocs plugins
|
||||
PerlModule Apache::Ocsinventory::Plugins
|
||||
|
||||
# Ocs
|
||||
PerlModule Apache::Ocsinventory
|
||||
PerlModule Apache::Ocsinventory::Server::Constants
|
||||
PerlModule Apache::Ocsinventory::Server::System
|
||||
PerlModule Apache::Ocsinventory::Server::Communication
|
||||
PerlModule Apache::Ocsinventory::Server::Inventory
|
||||
PerlModule Apache::Ocsinventory::Server::Duplicate
|
||||
|
||||
# Capacities
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Registry
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Update
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Ipdiscover
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Download
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Notify
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Snmp
|
||||
# This module guides you through the module creation
|
||||
# PerlModule Apache::Ocsinventory::Server::Capacities::Example
|
||||
# This module adds some rules to filter some request sent to ocs server in the prolog and inventory stages
|
||||
# PerlModule Apache::Ocsinventory::Server::Capacities::Filter
|
||||
# This module add availibity to filter data from HARDWARE section (data filtered won't be stored in database)
|
||||
# PerlModule Apache::Ocsinventory::Server::Capacities::Datafilter
|
||||
|
||||
# PerlTaintCheck On
|
||||
|
||||
# SSL apache settings
|
||||
#SSLEngine "SSL_ENABLE"
|
||||
#SSLCertificateFile "SSL_CERTIFICATE_FILE"
|
||||
#SSLCertificateKeyFile "SSL_CERTIFICATE_KEY_FILE"
|
||||
#SSLCACertificateFile "SSL_CERTIFICATE_FILE"
|
||||
#SSLCACertificatePath "SSL_CERTIFICATE_PATH"
|
||||
#SSLVerifyClient "SSL_VALIDATE_CLIENT"
|
||||
|
||||
# Engine apache settings
|
||||
# "Virtual" directory for handling OCS Inventory NG agents communications
|
||||
# Be careful, do not create such directory into your web server root document !
|
||||
<Location /ocsinventory>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
# Apache 2.2
|
||||
order deny,allow
|
||||
allow from all
|
||||
</IfModule>
|
||||
# If you protect this area you have to deal with http_auth_* agent's parameters
|
||||
# AuthType Basic
|
||||
# AuthName "OCS Inventory agent area"
|
||||
# AuthUserFile "APACHE_AUTH_USER_FILE"
|
||||
# require valid-user
|
||||
SetHandler perl-script
|
||||
PerlHandler Apache::Ocsinventory
|
||||
</Location>
|
||||
|
||||
#Web Service for plugin engine
|
||||
<Location /ocsplugins>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require local
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
# Apache 2.2
|
||||
order deny,allow
|
||||
allow from 127.0.0.1
|
||||
</IfModule>
|
||||
SetHandler perl-script
|
||||
PerlHandler Apache::Ocsinventory::Plugins::Apache
|
||||
</Location>
|
||||
|
||||
|
||||
# Web service apache settings
|
||||
PerlModule Apache::Ocsinventory::SOAP
|
||||
|
||||
<location /ocsinterface>
|
||||
SetHandler perl-script
|
||||
PerlHandler "Apache::Ocsinventory::SOAP"
|
||||
|
||||
# By default, you can query web service from everywhere with a valid user
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
AuthType Basic
|
||||
AuthName "OCS Inventory SOAP Area"
|
||||
# Use htpasswd to create/update soap-user (or another granted user)
|
||||
AuthUserFile "APACHE_AUTH_USER_FILE"
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require user "SOAP_USER"
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
require "SOAP_USER"
|
||||
</IfModule>
|
||||
</location>
|
||||
</IfModule>
|
||||
@ -1,95 +0,0 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
ocsapplication:
|
||||
image: ocsinventory/ocsinventory-docker-image:2.12.3
|
||||
container_name : ocsinventory-server
|
||||
restart: always
|
||||
expose:
|
||||
- "80"
|
||||
volumes:
|
||||
- "perlcomdata:/etc/ocsinventory-server"
|
||||
- "ocsreportsdata:/usr/share/ocsinventory-reports/ocsreports/extensions"
|
||||
- "varlibdata:/var/lib/ocsinventory-reports"
|
||||
- "httpdconfdata:/etc/apache2/conf-available"
|
||||
- "profilesconfdata:/usr/share/ocsinventory-reports/ocsreports/config/profiles"
|
||||
environment:
|
||||
OCS_DB_SERVER: ocsinventory-db
|
||||
OCS_DB_USER: ocsuser
|
||||
OCS_DB_PASS: ocspass
|
||||
OCS_DB_NAME: ocsweb
|
||||
# See documentation to set up SSL for MySQL
|
||||
OCS_SSL_ENABLED: 0
|
||||
OCS_DBI_PRINT_ERROR: 0
|
||||
# Define the auth type :
|
||||
# 1 : Local Only
|
||||
# 2 : Local and LDAP
|
||||
# 3 : LDAP Only
|
||||
# 4 : LDAP with SSO
|
||||
# 5 : Always OK, won't ask for user and password
|
||||
# 6 : CAS authentication
|
||||
AUTH_TYPE: 1
|
||||
links:
|
||||
- ocsdb
|
||||
networks:
|
||||
- localocs
|
||||
depends_on:
|
||||
- ocsdb
|
||||
|
||||
ocsdb :
|
||||
image : mysql:8.0
|
||||
container_name : ocsinventory-db
|
||||
restart: always
|
||||
expose :
|
||||
- "3306"
|
||||
volumes :
|
||||
- ./sql/:/docker-entrypoint-initdb.d/
|
||||
- sqldata:/var/lib/mysql
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD : rootpass
|
||||
MYSQL_USER : ocsuser
|
||||
MYSQL_PASSWORD : ocspass
|
||||
MYSQL_DATABASE : ocsweb
|
||||
networks:
|
||||
- localocs
|
||||
|
||||
ocsproxy:
|
||||
image: nginx
|
||||
container_name: ocsinventory-proxy
|
||||
restart: always
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
volumes:
|
||||
- ./nginx/conf:/etc/nginx/templates
|
||||
- ./nginx/certs:/etc/nginx/certs
|
||||
- ./nginx/auth:/etc/nginx/auth
|
||||
environment:
|
||||
# 80 or 443
|
||||
LISTEN_PORT: 80
|
||||
# empty or ssl
|
||||
PORT_TYPE: ""
|
||||
SSL_CERT: ocs-dummy.crt
|
||||
SSL_KEY: ocs-dummy.key
|
||||
# OCS Api user restriction (default ocsapi/ocapi)
|
||||
API_AUTH_FILE: ocsapi.htpasswd
|
||||
# OCS Download
|
||||
READ_TIMEOUT: 300
|
||||
CONNECT_TIMEOUT: 300
|
||||
SEND_TIMEOUT: 300
|
||||
MAX_BODY_SIZE: 1G
|
||||
depends_on:
|
||||
- ocsapplication
|
||||
networks:
|
||||
- localocs
|
||||
|
||||
networks:
|
||||
localocs:
|
||||
|
||||
volumes:
|
||||
perlcomdata:
|
||||
ocsreportsdata:
|
||||
varlibdata:
|
||||
httpdconfdata:
|
||||
sqldata:
|
||||
profilesconfdata:
|
||||
@ -1,17 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo "| |"
|
||||
echo "| Welcome to OCS Inventory NG Management Docker! |"
|
||||
echo "| |"
|
||||
echo "+----------------------------------------------------------+"
|
||||
|
||||
# Create all directories
|
||||
mkdir -p $OCS_LOG_DIR
|
||||
mkdir -p $OCS_PERLEXT_DIR/Apache/Ocsinventory/Plugins
|
||||
mkdir -p $OCS_PLUGINSEXT_DIR
|
||||
mkdir -p $OCS_VARLIB_DIR/download
|
||||
mkdir -p $OCS_VARLIB_DIR/ipd
|
||||
mkdir -p $OCS_VARLIB_DIR/logs
|
||||
mkdir -p $OCS_VARLIB_DIR/scripts
|
||||
mkdir -p $OCS_VARLIB_DIR/snmp
|
||||
@ -1,52 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
SRV_CONF_FILE="/etc/apache2/conf-available/z-ocsinventory-server.conf"
|
||||
|
||||
if [ ! -z "${OCS_DISABLE_COM_MODE}" ]; then
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
echo "| Warning: OCS_DISABLE_COM_MODE environment variable is set! |"
|
||||
echo "| Communication server, which handles HTTP communications between database |"
|
||||
echo "| server and agents (Apache, perl and mod_perl) will be DISABLED! |"
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Configure z-ocsinventory-server file
|
||||
if [ ! -f ${SRV_CONF_FILE} ]; then
|
||||
cp /tmp/conf/ocsinventory-server.conf ${SRV_CONF_FILE}
|
||||
sed -i 's/VERSION_MP/2/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_SERVER/'"$OCS_DB_SERVER"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_PORT/'"$OCS_DB_PORT"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_NAME/'"$OCS_DB_NAME"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_USER/'"$OCS_DB_USER"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_PASSWD/'"$OCS_DB_PASS"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/"PATH_TO_LOG_DIRECTORY"/'"${OCS_LOG_DIR//\//\\/}"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/"PATH_TO_PLUGINS_PERL_DIRECTORY"/'"${OCS_PERLEXT_DIR//\//\\/}"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/"PATH_TO_PLUGINS_CONFIG_DIRECTORY"/'"${OCS_PLUGINSEXT_DIR//\//\\/}"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/OCS_DBI_PRINT_ERROR/'"$OCS_DBI_PRINT_ERROR"'/g' ${SRV_CONF_FILE}
|
||||
fi
|
||||
|
||||
# Replace Variables
|
||||
if [ -f ${SRV_CONF_FILE} ]; then
|
||||
echo "+-----------------------------------------------+"
|
||||
echo "| Customizing from environment variables... |"
|
||||
echo "+-----------------------------------------------+"
|
||||
echo
|
||||
# Get all env vars starting with 'OCS_'
|
||||
for var in $(env | cut -f1 -d= | grep -i OCS_); do
|
||||
# Check that the current var is not commented out in conf file
|
||||
if grep -q "^\s*PerlSetEnv ${var^^}" ${SRV_CONF_FILE}; then
|
||||
echo "Applying Config ${var^^}=${!var} from environment variable"
|
||||
sed -i "s,^\(\s*PerlSetEnv ${var^^}\).*$,\1 ${!var},g" ${SRV_CONF_FILE}
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# Quick fix https://github.com/OCSInventory-NG/OCSInventory-Docker-Stack/issues/16
|
||||
sed -i 's/^.*PerlSetEnv OCS_OPT_DBI_PRINT_ERROR.*$/PerlSetEnv OCS_OPT_DBI_PRINT_ERROR 0/' ${SRV_CONF_FILE}
|
||||
|
||||
# Permissions
|
||||
chown -R $APACHE_RUN_USER: $OCS_LOG_DIR
|
||||
|
||||
# Enable conf
|
||||
a2enconf z-ocsinventory-server
|
||||
@ -1,57 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
REPORTS_CONF_FILE="/etc/apache2/conf-available/ocsinventory-reports.conf"
|
||||
DB_CONFIG_INC_FILE="${OCS_WEBCONSOLE_DIR}/ocsreports/dbconfig.inc.php"
|
||||
|
||||
if [ ! -z "${OCS_DISABLE_WEB_MODE}" ]; then
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
echo "| Warning: OCS_DISABLE_WEB_MODE environment variable is set! |"
|
||||
echo "| Administration console, which allows administrators to query the database |"
|
||||
echo "| server using their favorite browser (Apache, php) will be DISABLED! |"
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! -f $OCS_WEBCONSOLE_DIR/ocsreports/var.php ]; then
|
||||
cp -r /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}/ocsreports/ ${OCS_WEBCONSOLE_DIR}
|
||||
rm -rf ${DB_CONFIG_INC_FILE}
|
||||
fi
|
||||
|
||||
# Configure ocsinventory-reports file
|
||||
if [ ! -f ${REPORTS_CONF_FILE} ]; then
|
||||
cp /tmp/conf/ocsinventory-reports.conf ${REPORTS_CONF_FILE}
|
||||
sed -i 's/OCSREPORTS_ALIAS/\/ocsreports/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PATH_TO_OCSREPORTS_DIR/'"${OCS_WEBCONSOLE_DIR//\//\\/}"'\/ocsreports/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PACKAGES_ALIAS/\/download/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PATH_TO_PACKAGES_DIR/'"${OCS_VARLIB_DIR//\//\\/}"'download/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/SNMP_ALIAS/\/snmp/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PATH_TO_SNMP_DIR/'"${OCS_VARLIB_DIR//\//\\/}"'snmp/g' ${REPORTS_CONF_FILE}
|
||||
fi
|
||||
|
||||
# Generate dbconfig.inc.php
|
||||
if [ ! -f ${DB_CONFIG_INC_FILE} ]; then
|
||||
cp /tmp/conf/dbconfig.inc.php $OCS_WEBCONSOLE_DIR/ocsreports
|
||||
sed -i 's/OCS_DB_NAME/'"$OCS_DB_NAME"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_READ_NAME/'"$OCS_DB_SERVER"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_WRITE_NAME/'"$OCS_DB_SERVER"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_DB_PORT/'"$OCS_DB_PORT"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_DB_USER/'"$OCS_DB_USER"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_DB_PASS/'"$OCS_DB_PASS"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_WEB_MODE/'"$OCS_SSL_WEB_MODE"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_KEY/'"${OCS_SSL_KEY//\//\\/}"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_CERT/'"${OCS_SSL_CERT//\//\\/}"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_CA/'"${OCS_SSL_CA//\//\\/}"'/g' ${DB_CONFIG_INC_FILE}
|
||||
fi
|
||||
|
||||
# Permissions
|
||||
chown -R $APACHE_RUN_USER: $OCS_VARLIB_DIR
|
||||
chown -R $APACHE_RUN_USER: $OCS_WEBCONSOLE_DIR
|
||||
|
||||
# rm install.php
|
||||
if [ -f $OCS_WEBCONSOLE_DIR/ocsreports/install.php ]; then
|
||||
rm $OCS_WEBCONSOLE_DIR/ocsreports/install.php
|
||||
fi
|
||||
|
||||
# Enable conf
|
||||
a2enconf ocsinventory-reports
|
||||
@ -1,11 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
VAR_FILE=${OCS_WEBCONSOLE_DIR}/ocsreports/var.php
|
||||
|
||||
if [ -f ${VAR_FILE} ]; then
|
||||
echo "+-----------------------------------------------+"
|
||||
echo "| Customizing OCS Console AUTHTYPE... |"
|
||||
echo "+-----------------------------------------------+"
|
||||
echo
|
||||
sed -ri -e "/AUTH_TYPE/c\define('AUTH_TYPE', $AUTH_TYPE);" ${VAR_FILE}
|
||||
fi
|
||||
@ -1,32 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ ! -z "${OCS_DISABLE_API_MODE}" ] || [ ! -z "${OCS_DISABLE_COM_MODE}" ]; then
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
echo "| Warning: OCS_DISABLE_API_MODE or OCS_DISABLE_COM_MODE environment |"
|
||||
echo "| variable is set! |"
|
||||
echo "| REST API will be DISABLED |"
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
API_CONF_FILE="/etc/apache2/conf-available/zz-ocsinventory-restapi.conf"
|
||||
API_ROUTE=$(perl -e "print \"@INC[2]\"")
|
||||
API_ROUTE_LOADER="${API_ROUTE}/Api/Ocsinventory/Restapi/Loader.pm"
|
||||
|
||||
cp -R /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}/Api/ ${API_ROUTE}
|
||||
|
||||
# Configure zz-ocsinventory-restapi file
|
||||
if [ ! -f ${API_CONF_FILE} ]; then
|
||||
cp /tmp/conf/ocsinventory-restapi.conf ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_SERVER/'"$OCS_DB_SERVER"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_PORT/'"$OCS_DB_PORT"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_NAME/'"$OCS_DB_NAME"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_USER/'"$OCS_DB_USER"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_PASSWD/'"$OCS_DB_PASS"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/REST_API_PATH/'"${API_ROUTE//\//\\/}"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/REST_API_LOADER_PATH/'"${API_ROUTE_LOADER//\//\\/}"'/g' ${API_CONF_FILE}
|
||||
fi
|
||||
|
||||
# Enable conf
|
||||
a2enconf zz-ocsinventory-restapi
|
||||
@ -1,35 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo "| Setting Apache Server Name to '${APACHE_SERVER_NAME:-localhost}'"
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo
|
||||
|
||||
sed -ri -e "s!^#(ServerName)\s+\S+!\1 ${APACHE_SERVER_NAME:-localhost}:80!g" \
|
||||
"/etc/apache2/apache2.conf"
|
||||
|
||||
# Remove temp files
|
||||
echo "+--------------------------------+"
|
||||
echo "| Removing not used files... |"
|
||||
echo "+--------------------------------+"
|
||||
echo
|
||||
cd /tmp
|
||||
shopt -s extglob
|
||||
rm -rf !("conf")
|
||||
|
||||
# Apache start
|
||||
if [ ! -d "$APACHE_RUN_DIR" ]; then
|
||||
mkdir "$APACHE_RUN_DIR"
|
||||
chown $APACHE_RUN_USER:$APACHE_RUN_GROUP "$APACHE_RUN_DIR"
|
||||
fi
|
||||
|
||||
if [ -f "$APACHE_PID_FILE" ]; then
|
||||
rm "$APACHE_PID_FILE"
|
||||
fi
|
||||
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo "| OK, prepare finshed ;-) |"
|
||||
echo "| |"
|
||||
echo "| Starting OCS Inventory NG Management Docker... |"
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo
|
||||
@ -1,35 +0,0 @@
|
||||
#!/bin/bash
|
||||
# vim:sw=4:ts=4:et
|
||||
|
||||
set -e
|
||||
|
||||
if [ -z "${OCS_ENTRYPOINT_QUIET_LOGS:-}" ]; then
|
||||
exec 3>&1
|
||||
else
|
||||
exec 3>/dev/null
|
||||
fi
|
||||
|
||||
if /usr/bin/find "/docker-entrypoint.d/" -mindepth 1 -maxdepth 1 -type f -print -quit 2>/dev/null | read v; then
|
||||
echo >&3 "$0: /docker-entrypoint.d/ is not empty, will attempt to perform configuration"
|
||||
|
||||
echo >&3 "$0: Looking for shell scripts in /docker-entrypoint.d/"
|
||||
find "/docker-entrypoint.d/" -follow -type f -print | sort -V | while read -r f; do
|
||||
case "$f" in
|
||||
*.sh)
|
||||
if ! [ -x "$f" ]; then
|
||||
chmod +x $f
|
||||
fi
|
||||
|
||||
echo -e >&3 "\n$0: Launching ${f}\n"
|
||||
"$f"
|
||||
;;
|
||||
*) echo -e >&3 "\n$0: Ignoring ${f}\n" ;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo >&3 "$0: Configuration complete; ready for start up"
|
||||
else
|
||||
echo >&3 "$0: No files found in /docker-entrypoint.d/, skipping configuration"
|
||||
fi
|
||||
|
||||
exec "$@"
|
||||
@ -1 +0,0 @@
|
||||
ocsapi:$apr1$BcAk5f/A$0O5c/DSy92/o.vpwwshWQ.
|
||||
@ -1,22 +0,0 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDlzCCAn+gAwIBAgIUZq+XFJryUuBpkwebSwjSy/hfMCkwDQYJKoZIhvcNAQEL
|
||||
BQAwWzELMAkGA1UEBhMCRlIxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
|
||||
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEUMBIGA1UEAwwLbXlvY3NzZXJ2ZXIw
|
||||
HhcNMjIwNDEzMDk0OTUzWhcNMzIwNDEwMDk0OTUzWjBbMQswCQYDVQQGEwJGUjET
|
||||
MBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQ
|
||||
dHkgTHRkMRQwEgYDVQQDDAtteW9jc3NlcnZlcjCCASIwDQYJKoZIhvcNAQEBBQAD
|
||||
ggEPADCCAQoCggEBAOQDcGzmYzzgVycXSEZWMJ2TEtnmjouNuUKAVQUcELMkZOk0
|
||||
TIRz7QhPIOCiH2bklji+ByyVZg/uXRFJlT/P46rPor/OuRK2Lkrt+APr+FmkLgvf
|
||||
JHMfm7YRbZuWVRJq0htNNL6szwHEFE99GlRy7SuapkhKSo4qY/LjrrR7E7DnPj/G
|
||||
7o21ge3OpOfbmx9xVWbEZaJqMOZDt1y3fbp3hQsflVM0AKdg7OoHOBWnv65iJIkN
|
||||
LtG7Icqcp+8AKnL1PaiMU+P970GTMZyZ0NWVAWgab9+Wl+makTTdDdQgJIhg19og
|
||||
ReLeYspEQlzXmEz+8JAxWGqsu+HuiZ6ClSl04W0CAwEAAaNTMFEwHQYDVR0OBBYE
|
||||
FEljOkF7g17RD+pOpJ7M6dovwI9uMB8GA1UdIwQYMBaAFEljOkF7g17RD+pOpJ7M
|
||||
6dovwI9uMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAKA2Fcot
|
||||
58X97tsLWC6eJrF2MLJzcNeSiiJayG9bT8agsUE8WGq5fvHvf5E54tueCp/q+a7V
|
||||
k4ZowCJF3RAvAqzRkMLQWaGms0Brz4qRtVvRqhWkP7aMGhUieOS2rTfLZ+TYPKfK
|
||||
561w8gSpxs9uRXbhnYeUchxJxCUg0CbxQwsjltrvnOF2LVP6JJDtYcc/NiDXhP4W
|
||||
pTp+EdwXt87VSRkTrqjEQO7/3TMsNjhi0PMFHnQf47ijLt44XaNGKh9pY31Ae9oo
|
||||
6IuRygJc6QNVoGRmF2bxsorU4i4rA3kR2Ir9AUbxJT6MtuLtx8DGB8Dmp6bKmIv+
|
||||
HZH21wRRhwrYJb8=
|
||||
-----END CERTIFICATE-----
|
||||
@ -1,28 +0,0 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDkA3Bs5mM84Fcn
|
||||
F0hGVjCdkxLZ5o6LjblCgFUFHBCzJGTpNEyEc+0ITyDgoh9m5JY4vgcslWYP7l0R
|
||||
SZU/z+Oqz6K/zrkSti5K7fgD6/hZpC4L3yRzH5u2EW2bllUSatIbTTS+rM8BxBRP
|
||||
fRpUcu0rmqZISkqOKmPy4660exOw5z4/xu6NtYHtzqTn25sfcVVmxGWiajDmQ7dc
|
||||
t326d4ULH5VTNACnYOzqBzgVp7+uYiSJDS7RuyHKnKfvACpy9T2ojFPj/e9BkzGc
|
||||
mdDVlQFoGm/flpfpmpE03Q3UICSIYNfaIEXi3mLKREJc15hM/vCQMVhqrLvh7ome
|
||||
gpUpdOFtAgMBAAECggEBAM4BGXMaV/CpU7R6wY7i0jubpH2AY6tMGWQu5CGgsKnZ
|
||||
qN5VpQhKYI6QR0kM0Mg6oEqVzY+HT1X3athynciwf6ZUwFsBX467UGncRKbubEw5
|
||||
HG0XZywoE5vUdS4MDcJ9BmUqRQw8vy5+REdo5QAFcahiqfdIP8HgJLtO4Aop5Kl/
|
||||
HoLqR83q3vBHfidxTX2z4m05t6ucAbmqLAgAb2GzRHEvdCpSXvs7M9ZyR/rvdhSV
|
||||
pswWR7XIUic50Lc8tHXyaKinuBFOCWCszsirPLAVPrs1D7Gq8kmdxUEEj0V9VbEE
|
||||
8afsb9cCojrDISn814WwjX+zVwjRwyr3v3BLHVGu06ECgYEA+1VHUwBTUnHmnMR+
|
||||
6XE1nkBStedvXGsMDIxK/VhNXAylUz4kfJ0bMPKdzbxSieHwA8O1+Hg4gN31V2Sn
|
||||
RgT5P0sLGdideysoy8yR5Aiiwx+7EXGqSQltY2lpaykP9wvpznWi3k/Wd7dAaTCd
|
||||
jPCtkzoLYMDzaQ9uc4A2VyY00RkCgYEA6D9PPvV6YE8S7G7sGwTSt9mgobZNm1AV
|
||||
BjDmtEPfDSK59rT8PpoN+225c1qaIIODdH0DHK9ZbPzo/29tW1l9zgGjEXEw396v
|
||||
Q9y99Ofh0JEsQbJJw/nPdV8dHKOL2ek3UWsscpsk5dUb+4gBpE+/wH21j7UiczKt
|
||||
a8whmMFw+XUCgYAPYdHCr7NpyVTO5WvLB8W7UL5/KZH0Owz6u59fUAc0CgYYSSZc
|
||||
hhUC8uZbkBoRHEXfRRwe/+SdZng8iAmAzI8go4wjYdGJl0Og7X1EUo77mDaPw8Aj
|
||||
RjNusSXljBbRDOabXzG/n21F2G5VwcbyuEw3RYcqvcRn+qzM3tz0in8TCQKBgDe1
|
||||
N+T6LOh9DyT3VlsExSakZQtlFyhyBRj/EdebkB0ufzzWHMtHWKM+poUs7ltuMFH4
|
||||
yo5O4TxrTdg3ehu3U53edqbwZ7DLUW8Nu+LK3DeTGvKHOXpwqXqV3f3InPsgHczB
|
||||
0F+NJ0SZ4aRr8zjeiDg77xkRcboAJej9hfGGNPshAoGALPS2HtT/1ycsER3a33NW
|
||||
A8j/2TfovcjZ9u15q5KDLRZ+3UngLvVwPJO1j/uLPqyyRsQID7SE29KCj/E8kOZH
|
||||
clbLXZmslyk369HOlpXZEXvR7rDxOt1jdojQrtEyW4gDT8k4iEw8nPcJyJ7YSVp/
|
||||
Qa0OOCtQPPvBt0Be1bHTGek=
|
||||
-----END PRIVATE KEY-----
|
||||
@ -1,51 +0,0 @@
|
||||
##
|
||||
# You should look at the following URL's in order to grasp a solid understanding
|
||||
# of Nginx configuration files in order to fully unleash the power of Nginx.
|
||||
# https://www.nginx.com/resources/wiki/start/
|
||||
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
|
||||
# https://wiki.debian.org/Nginx/DirectoryStructure
|
||||
#
|
||||
# In most cases, administrators will remove this file from sites-enabled/ and
|
||||
# leave it as reference inside of sites-available where it will continue to be
|
||||
# updated by the nginx packaging team.
|
||||
#
|
||||
# This file will automatically load configuration files provided by other
|
||||
# applications, such as Drupal or Wordpress. These applications will be made
|
||||
# available underneath a path with that package name, such as /drupal8.
|
||||
#
|
||||
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
|
||||
##
|
||||
|
||||
# OCS server configuration
|
||||
#
|
||||
server {
|
||||
listen ${LISTEN_PORT} ${PORT_TYPE} default_server;
|
||||
|
||||
ssl_certificate /etc/nginx/certs/${SSL_CERT};
|
||||
ssl_certificate_key /etc/nginx/certs/${SSL_KEY};
|
||||
|
||||
location / {
|
||||
rewrite ^/$ /ocsreports permanent;
|
||||
proxy_redirect off;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Frame-Options SAMEORIGIN;
|
||||
proxy_pass http://ocsapplication;
|
||||
}
|
||||
|
||||
location /ocsapi {
|
||||
auth_basic "OCS Api area";
|
||||
auth_basic_user_file /etc/nginx/auth/${API_AUTH_FILE};
|
||||
proxy_pass http://ocsapplication/ocsapi;
|
||||
}
|
||||
|
||||
location /download {
|
||||
proxy_read_timeout ${READ_TIMEOUT};
|
||||
proxy_connect_timeout ${CONNECT_TIMEOUT};
|
||||
proxy_send_timeout ${SEND_TIMEOUT};
|
||||
client_max_body_size ${MAX_BODY_SIZE};
|
||||
proxy_pass http://ocsapplication/download;
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@ -1,74 +0,0 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
ENV OCS_VERSION 2.12.0
|
||||
|
||||
LABEL maintainer="contact@ocsinventory-ng.org" \
|
||||
version="${OCS_VERSION}" \
|
||||
description="OCS Inventory docker image"
|
||||
|
||||
ARG APT_FLAGS="-y"
|
||||
|
||||
ENV APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data \
|
||||
APACHE_LOG_DIR=/var/log/apache2 APACHE_PID_FILE=/var/run/apache2/apache2.pid APACHE_RUN_DIR=/var/run/apache2 APACHE_LOCK_DIR=/var/lock/apache2 \
|
||||
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 \
|
||||
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 \
|
||||
TZ=Europe/Paris
|
||||
|
||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||
|
||||
VOLUME /var/lib/ocsinventory-reports /etc/ocsinventory-server /usr/share/ocsinventory-reports/ocsreports/extensions
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
wget \
|
||||
curl \
|
||||
make \
|
||||
perl \
|
||||
apache2 \
|
||||
php \
|
||||
libxml-simple-perl \
|
||||
libdbi-perl \
|
||||
libdbd-mysql-perl \
|
||||
libapache-dbi-perl \
|
||||
libnet-ip-perl \
|
||||
libsoap-lite-perl \
|
||||
libarchive-zip-perl \
|
||||
libswitch-perl \
|
||||
libmojolicious-perl \
|
||||
libplack-perl \
|
||||
build-essential \
|
||||
php-pclzip \
|
||||
php-mbstring \
|
||||
php-soap \
|
||||
php-mysql \
|
||||
php-curl \
|
||||
php-xml \
|
||||
php-zip \
|
||||
php-gd \
|
||||
php-ldap
|
||||
|
||||
RUN wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/${OCS_VERSION}/OCSNG_UNIX_SERVER-${OCS_VERSION}.tar.gz -P /tmp && \
|
||||
tar xzf /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}.tar.gz -C /tmp;
|
||||
|
||||
RUN cd /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}/Apache/ && \
|
||||
perl Makefile.PL && \
|
||||
make && \
|
||||
make install
|
||||
|
||||
WORKDIR /etc/apache2/conf-available
|
||||
|
||||
# Redirect Apache2 Logs to stdout e stderr
|
||||
RUN ln -sf /proc/self/fd/1 /var/log/apache2/access.log && \
|
||||
ln -sf /proc/self/fd/2 /var/log/apache2/error.log
|
||||
|
||||
COPY conf/ /tmp/conf
|
||||
|
||||
COPY ./docker-entrypoint.sh /docker-entrypoint.sh
|
||||
COPY ./docker-entrypoint.d /docker-entrypoint.d
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
# https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#entrypoint
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
CMD ["/usr/sbin/apache2", "-DFOREGROUND"]
|
||||
@ -1,34 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
* Copyright 2005-2016 OCSInventory-NG/OCSInventory-ocsreports contributors.
|
||||
* See the Contributors file for more details about them.
|
||||
*
|
||||
* This file is part of OCSInventory-NG/OCSInventory-ocsreports.
|
||||
*
|
||||
* OCSInventory-NG/OCSInventory-ocsreports is free software: you can redistribute
|
||||
* it and/or modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation, either version 2 of the License,
|
||||
* or (at your option) any later version.
|
||||
*
|
||||
* OCSInventory-NG/OCSInventory-ocsreports is distributed in the hope that it
|
||||
* will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with OCSInventory-NG/OCSInventory-ocsreports. if not, write to the
|
||||
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*/
|
||||
define("DB_NAME", "OCS_DB_NAME");
|
||||
define("SERVER_READ", "OCS_READ_NAME");
|
||||
define("SERVER_WRITE", "OCS_WRITE_NAME");
|
||||
define("SERVER_PORT", "OCS_DB_PORT");
|
||||
define("COMPTE_BASE", "OCS_DB_USER");
|
||||
define("PSWD_BASE", "OCS_DB_PASS");
|
||||
define("ENABLE_SSL","OCS_SSL_ENABLED");
|
||||
define("SSL_MODE","OCS_SSL_WEB_MODE");
|
||||
define("SSL_KEY","OCS_SSL_KEY");
|
||||
define("SSL_CERT","OCS_SSL_CERT");
|
||||
define("CA_CERT","OCS_SSL_CA");
|
||||
?>
|
||||
@ -1,120 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# OCS Inventory NG Administration Server
|
||||
#
|
||||
# Copyleft 2008 OCS Inventory NG Team
|
||||
# Web: http://www.ocsinventory-ng.org
|
||||
#
|
||||
# This code is open source and may be copied and modified as long as the source
|
||||
# code is always made freely available.
|
||||
# Please refer to the General Public Licence http://www.gnu.org/ or Licence.txt
|
||||
################################################################################
|
||||
|
||||
#
|
||||
# ANY CHANGE ON THIS FILE REQUIRES APACHE RESTART TO TAKE EFFECT
|
||||
#
|
||||
|
||||
################################################################################
|
||||
# Administration console public pages
|
||||
#
|
||||
# Alias used to put Administration Server static page (typically PHP) outside
|
||||
# Apache document root directory
|
||||
#
|
||||
Alias OCSREPORTS_ALIAS PATH_TO_OCSREPORTS_DIR
|
||||
|
||||
<Directory PATH_TO_OCSREPORTS_DIR>
|
||||
# By default, users can use console from everywhere
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
Options Indexes FollowSymLinks
|
||||
DirectoryIndex index.php
|
||||
AllowOverride Options AuthConfig
|
||||
|
||||
# Uncomment following to force use of HTTPS in Administration Server
|
||||
#SSLRequireSSL
|
||||
|
||||
# PHP tuning (not working on all distribution, use php.ini instead)
|
||||
<IfModule mod_php5.c>
|
||||
AddType application/x-httpd-php .php
|
||||
php_flag file_uploads on
|
||||
# Some PHP tuning for deployment feature up to 8 MB
|
||||
# post_max_size must be greater than upload_max_filesize
|
||||
# because of HTTP headers
|
||||
php_value post_max_size 101m
|
||||
php_value upload_max_filesize 100m
|
||||
# You may have to uncomment following on errors
|
||||
#php_value max_execution_time -1
|
||||
#php_value max_input_time -1
|
||||
|
||||
# Uncomment following if you need to specify a mysql socket
|
||||
#php_value mysql.default_socket "path/to/mysql/unix/socket"
|
||||
|
||||
#!! Mandatory !! : set magic_quotes_gpc to off (to make ocsreports works correctly)
|
||||
php_flag magic_quotes_gpc off
|
||||
</IfModule>
|
||||
# Duplicate for php7 compatibility
|
||||
<IfModule mod_php7.c>
|
||||
AddType application/x-httpd-php .php
|
||||
php_flag file_uploads on
|
||||
# Some PHP tuning for deployment feature up to 8 MB
|
||||
# post_max_size must be greater than upload_max_filesize
|
||||
# because of HTTP headers
|
||||
php_value post_max_size 101m
|
||||
php_value upload_max_filesize 100m
|
||||
# You may have to uncomment following on errors
|
||||
#php_value max_execution_time -1
|
||||
#php_value max_input_time -1
|
||||
|
||||
# Uncomment following if you need to specify a mysql socket
|
||||
#php_value mysql.default_socket "path/to/mysql/unix/socket"
|
||||
|
||||
#!! Mandatory !! : set magic_quotes_gpc to off (to make ocsreports works correctly)
|
||||
php_flag magic_quotes_gpc off
|
||||
</IfModule>
|
||||
|
||||
# Uncomment following to allow HTTP body request up to 4 MB
|
||||
# instead default 512 KB
|
||||
#LimitRequestBody 4194304
|
||||
|
||||
</Directory>
|
||||
|
||||
################################################################################
|
||||
# Deployment packages download area
|
||||
#
|
||||
# Alias to put Deployment package files outside Apache document root directory
|
||||
#
|
||||
<Directory PATH_TO_PACKAGES_DIR>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
</Directory>
|
||||
Alias PACKAGES_ALIAS PATH_TO_PACKAGES_DIR
|
||||
|
||||
|
||||
################################################################################
|
||||
# Snmp communities area
|
||||
#
|
||||
# Alias to put Snmp custom Mibs files outside Apache document root directory
|
||||
#
|
||||
<Directory PATH_TO_SNMP_DIR>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
</Directory>
|
||||
Alias SNMP_ALIAS PATH_TO_SNMP_DIR
|
||||
@ -1,23 +0,0 @@
|
||||
PerlOptions +Parent
|
||||
|
||||
<Perl>
|
||||
$ENV{PLACK_ENV} = 'production';
|
||||
$ENV{MOJO_HOME} = 'REST_API_PATH';
|
||||
$ENV{MOJO_MODE} = 'deployment';
|
||||
$ENV{OCS_DB_HOST} = 'DATABASE_SERVER';
|
||||
$ENV{OCS_DB_PORT} = 'DATABASE_PORT';
|
||||
$ENV{OCS_DB_LOCAL} = 'DATABASE_NAME';
|
||||
$ENV{OCS_DB_USER} = 'DATABASE_USER';
|
||||
$ENV{OCS_DB_PWD} = 'DATABASE_PASSWD';
|
||||
$ENV{OCS_DB_SSL_ENABLED} = OCS_SSL_ENABLED;
|
||||
# $ENV{OCS_DB_SSL_CLIENT_KEY} = '';
|
||||
# $ENV{OCS_DB_SSL_CLIENT_CERT} = '';
|
||||
# $ENV{OCS_DB_SSL_CA_CERT} = '';
|
||||
$ENV{OCS_DB_SSL_MODE} = 'SSL_MODE_PREFERRED';
|
||||
</Perl>
|
||||
|
||||
<Location /ocsapi>
|
||||
SetHandler perl-script
|
||||
PerlResponseHandler Plack::Handler::Apache2
|
||||
PerlSetVar psgi_app 'REST_API_LOADER_PATH'
|
||||
</Location>
|
||||
@ -1,383 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# OCS Inventory NG Communication Server Perl Module Setup
|
||||
#
|
||||
# Copyleft 2006 Pascal DANEK
|
||||
# Web: http://www.ocsinventory-ng.org
|
||||
#
|
||||
# This code is open source and may be copied and modified as long as the source
|
||||
# code is always made freely available.
|
||||
# Please refer to the General Public Licence http://www.gnu.org/ or Licence.txt
|
||||
################################################################################
|
||||
|
||||
<IfModule mod_perl.c>
|
||||
|
||||
# Which version of mod_perl we are using
|
||||
# For mod_perl <= 1.999_21, replace VERSION_MP by 1
|
||||
# For mod_perl > 1.999_21, replace VERSION_MP by 2
|
||||
PerlSetEnv OCS_MODPERL_VERSION VERSION_MP
|
||||
|
||||
# Master Database settings
|
||||
# Replace DATABASE_SERVER by hostname or ip of MySQL server for WRITE
|
||||
PerlSetEnv OCS_DB_HOST DATABASE_SERVER
|
||||
# Replace DATABASE_PORT by port where running MySQL server, generally 3306
|
||||
PerlSetEnv OCS_DB_PORT DATABASE_PORT
|
||||
# Name of database
|
||||
PerlSetEnv OCS_DB_NAME DATABASE_NAME
|
||||
PerlSetEnv OCS_DB_LOCAL DATABASE_NAME
|
||||
# User allowed to connect to database
|
||||
PerlSetEnv OCS_DB_USER DATABASE_USER
|
||||
# Password for user
|
||||
PerlSetVar OCS_DB_PWD DATABASE_PASSWD
|
||||
# SSL Configuration
|
||||
# 0 to disable the SSL support for MySQL/MariaDB
|
||||
# 1 to enable the SSL support for MySQL/MariaDB
|
||||
PerlSetEnv OCS_DB_SSL_ENABLED 0
|
||||
# PerlSetEnv OCS_DB_SSL_CLIENT_KEY /etc/ssl/private/client.key
|
||||
# PerlSetEnv OCS_DB_SSL_CLIENT_CERT /etc/ssl/certs/client.crt
|
||||
# PerlSetEnv OCS_DB_SSL_CA_CERT /etc/ssl/certs/ca.crt
|
||||
# SSL Mode
|
||||
# - SSL_MODE_PREFERRED (SSL enabled but optional)
|
||||
# - SSL_MODE_REQUIRED (SSL enabled, mandatory but don't verify server certificate. Ex self signed cert)
|
||||
# - SSL_MODE_STRICT (SSL enabled, mandatory and server cert must be trusted)
|
||||
PerlSetEnv OCS_DB_SSL_MODE SSL_MODE_PREFERRED
|
||||
|
||||
|
||||
# Slave Database settings
|
||||
# Replace DATABASE_SERVER by hostname or ip of MySQL server for READ
|
||||
# Useful if you handle mysql slave databases
|
||||
# PerlSetEnv OCS_DB_SL_HOST DATABASE_SERVER
|
||||
# Replace DATABASE_PORT by port where running MySQL server, generally 3306
|
||||
# PerlSetEnv OCS_DB_SL_PORT_SLAVE DATABASE_PORT
|
||||
# User allowed to connect to database
|
||||
# PerlSetEnv OCS_DB_SL_USER ocs
|
||||
# Name of the database
|
||||
# PerlSetEnv OCS_DB_SL_NAME ocsweb
|
||||
# Password for user
|
||||
# PerlSetVar OCS_DB_SL_PWD ocs
|
||||
# SSL Configuration for Slave database
|
||||
# 0 to disable the SSL support for MySQL/MariaDB
|
||||
# 1 to enable the SSL support for MySQL/MariaDB
|
||||
# PerlSetEnv OCS_DB_SL_SSL_ENABLED 0
|
||||
# PerlSetEnv OCS_DB_SL_SSL_CLIENT_KEY /etc/ssl/private/client.key
|
||||
# PerlSetEnv OCS_DB_SL_SSL_CLIENT_CERT /etc/ssl/certs/client.crt
|
||||
# PerlSetEnv OCS_DB_SL_SSL_CA_CERT /etc/ssl/certs/ca.crt
|
||||
# SSL Mode
|
||||
# - SSL_MODE_PREFERRED (SSL enabled but optional)
|
||||
# - SSL_MODE_REQUIRED (SSL enabled, mandatory but don't verify server certificate. Ex self signed cert)
|
||||
# - SSL_MODE_STRICT (SSL enabled, mandatory and server cert must be trusted)
|
||||
# PerlSetEnv OCS_DB_SL_SSL_MODE SSL_MODE_PREFERRED
|
||||
|
||||
# Path to log directory (must be writeable)
|
||||
PerlSetEnv OCS_OPT_LOGPATH "PATH_TO_LOG_DIRECTORY"
|
||||
|
||||
# If you need to specify a mysql socket that the client's built-in
|
||||
#PerlSetEnv OCS_OPT_DBI_MYSQL_SOCKET "path/to/mysql/unix/socket"
|
||||
# DBI verbosity
|
||||
PerlSetEnv OCS_OPT_DBI_PRINT_ERROR 0
|
||||
|
||||
# Unicode support
|
||||
PerlSetEnv OCS_OPT_UNICODE_SUPPORT 1
|
||||
|
||||
# If you are using a multi server architecture,
|
||||
# Put the ip addresses of the slaves on the master
|
||||
# (This is read as perl regular expressions)
|
||||
PerlAddVar OCS_OPT_TRUSTED_IP 127.0.0.1
|
||||
#PerlAddVar OCS_OPT_TRUSTED_IP XXX.XXX.XXX.XXX
|
||||
|
||||
# ===== WEB SERVICE (SOAP) SETTINGS =====
|
||||
|
||||
PerlSetEnv OCS_OPT_WEB_SERVICE_ENABLED 0
|
||||
PerlSetEnv OCS_OPT_WEB_SERVICE_RESULTS_LIMIT 100
|
||||
# PerlSetEnv OCS_OPT_WEB_SERVICE_PRIV_MODS_CONF "WEBSERV_PRIV_MOD_CONF_FILE"
|
||||
|
||||
# Be careful: you must restart apache to make settings taking effects
|
||||
|
||||
# Configure engine to use the settings from this file
|
||||
PerlSetEnv OCS_OPT_OPTIONS_NOT_OVERLOADED 0
|
||||
|
||||
# Try to use other compress algorithm than raw zlib
|
||||
# GUNZIP and clear XML are supported
|
||||
PerlSetEnv OCS_OPT_COMPRESS_TRY_OTHERS 1
|
||||
|
||||
##############################################################
|
||||
# ===== OPTIONS BELOW ARE OVERLOADED IF YOU USE OCS GUI =====#
|
||||
##############################################################
|
||||
|
||||
# NOTE: IF YOU WANT TO USE THIS CONFIG FILE INSTEAD, set OCS_OPT_OPTIONS_NOT_OVERLOADED to '1'
|
||||
|
||||
# ===== MAIN SETTINGS =====
|
||||
|
||||
# Enable engine logs (see LOGPATH setting)
|
||||
PerlSetEnv OCS_OPT_LOGLEVEL 0
|
||||
# Specify agent's prolog frequency
|
||||
PerlSetEnv OCS_OPT_PROLOG_FREQ 12
|
||||
# Specify if agent take contact on service startup
|
||||
PerlSetEnv OCS_OPT_INVENTORY_ON_STARTUP 0
|
||||
# Configure the duplicates detection system
|
||||
PerlSetEnv OCS_OPT_AUTO_DUPLICATE_LVL 15
|
||||
# Futur security improvements
|
||||
PerlSetEnv OCS_OPT_SECURITY_LEVEL 0
|
||||
# Validity of a computer's lock
|
||||
PerlSetEnv OCS_OPT_LOCK_REUSE_TIME 600
|
||||
# Enable the history tracking system (useful for external data synchronisation
|
||||
PerlSetEnv OCS_OPT_TRACE_DELETED 0
|
||||
|
||||
# ===== INVENTORY SETTINGS =====
|
||||
|
||||
# Specify the validity of inventory data
|
||||
PerlSetEnv OCS_OPT_FREQUENCY 0
|
||||
# Configure engine to update inventory regarding to CHECKSUM agent value (lower DB backend load)
|
||||
PerlSetEnv OCS_OPT_INVENTORY_DIFF 1
|
||||
# Make engine consider an inventory as a transaction (lower concurency, better disk usage)
|
||||
PerlSetEnv OCS_OPT_INVENTORY_TRANSACTION 1
|
||||
# Configure engine to make a differential update of inventory sections (row level). Lower DB backend load, higher frontend load
|
||||
PerlSetEnv OCS_OPT_INVENTORY_WRITE_DIFF 1
|
||||
# Enable some stuff to improve DB queries, especially for GUI multicriteria searching system
|
||||
PerlSetEnv OCS_OPT_INVENTORY_CACHE_ENABLED 1
|
||||
# Specify when the engine will clean the inventory cache structures
|
||||
PerlSetEnv OCS_OPT_INVENTORY_CACHE_REVALIDATE 7
|
||||
# Enable you to keep trace of every elements encountered in db life
|
||||
PerlSetEnv OCS_OPT_INVENTORY_CACHE_KEEP 1
|
||||
|
||||
# ===== SOFTWARES DEPLOYMENT SETTINGS =====
|
||||
|
||||
# Enable this feature
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD 0
|
||||
# Package which have a priority superior than this value will not be downloaded
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_PERIOD_LENGTH 10
|
||||
# Time between two download cycles (bandwidth control)
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_CYCLE_LATENCY 60
|
||||
# Time between two fragment downloads (bandwidth control)
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_FRAG_LATENCY 60
|
||||
# Specify if you want to track packages affected to a group on computer's level
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_GROUPS_TRACE_EVENTS 1
|
||||
# Time between two download periods (bandwidth control)
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_PERIOD_LATENCY 60
|
||||
# Agents will send ERR_TIMEOUT event and clean the package it is older than this setting
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_TIMEOUT 7
|
||||
# Agents will send an error event and clean the package if package command does not respond during this setting
|
||||
PerlSetEnv OCS_OPT_DOWNLOAD_EXECUTION_TIMEOUT 120
|
||||
|
||||
# Enable ocs engine to deliver agent's files (deprecated)
|
||||
PerlSetEnv OCS_OPT_DEPLOY 0
|
||||
# Enable the softwares deployment capacity (bandwidth control)
|
||||
|
||||
# ===== GROUPS SETTINGS =====
|
||||
|
||||
# Enable the computer\s groups feature
|
||||
PerlSetEnv OCS_OPT_ENABLE_GROUPS 1
|
||||
# Random number computed in the defined range. Designed to avoid computing many groups in the same process
|
||||
PerlSetEnv OCS_OPT_GROUPS_CACHE_OFFSET 43200
|
||||
# Specify the validity of computer's groups (default: compute it once a day - see offset)
|
||||
PerlSetEnv OCS_OPT_GROUPS_CACHE_REVALIDATE 43200
|
||||
|
||||
# ===== IPDISCOVER SETTINGS =====
|
||||
|
||||
# Specify how much agent per LAN will discovered connected peripherals (0 to disable)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER 2
|
||||
# Specify the minimal difference to replace an ipdiscover agent
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_BETTER_THRESHOLD 1
|
||||
# Time between 2 arp requests (mini: 10 ms)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_LATENCY 100
|
||||
# Specify when to remove a computer when it has not come until this period
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_MAX_ALIVE 14
|
||||
# Disable the time before a first election (not recommended)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_NO_POSTPONE 0
|
||||
# Enable groups for ipdiscover (for example, you might want to prevent some groups to be ipdiscover agents)
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_USE_GROUPS 1
|
||||
# Link ipdiscover network to computer TAG
|
||||
PerlSetEnv OCS_OPT_IPDISCOVER_LINK_TAG_NETWORK 0
|
||||
|
||||
# ===== INVENTORY FILES MAPPING SETTINGS =====
|
||||
|
||||
# Use with ocsinventory-injector, enable the multi entities feature
|
||||
PerlSetEnv OCS_OPT_GENERATE_OCS_FILES 0
|
||||
# Generate either compressed file or clear XML text
|
||||
PerlSetEnv OCS_OPT_OCS_FILES_FORMAT OCS
|
||||
# Specify if you want to keep trace of all inventory between to synchronisation with the higher level server
|
||||
PerlSetEnv OCS_OPT_OCS_FILES_OVERWRITE 0
|
||||
# Path to ocs files directory (must be writeable)
|
||||
PerlSetEnv OCS_OPT_OCS_FILES_PATH /tmp
|
||||
|
||||
# ===== FILTER SETTINGS =====
|
||||
|
||||
# Enable prolog filter stack
|
||||
PerlSetEnv OCS_OPT_PROLOG_FILTER_ON 0
|
||||
# Enable core filter system to modify some things "on the fly"
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_ENABLED 0
|
||||
# Enable inventory flooding filter. A dedicated ipaddress ia allowed to send a new computer only once in this period
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_FLOOD_IP 0
|
||||
# Period definition for INVENTORY_FILTER_FLOOD_IP
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_FLOOD_IP_CACHE_TIME 300
|
||||
# Enable inventory filter stack
|
||||
PerlSetEnv OCS_OPT_INVENTORY_FILTER_ON 0
|
||||
|
||||
# ===== DATA FILTER =====
|
||||
|
||||
#Enable the dat filtering capacity
|
||||
PerlSetEnv OCS_OPT_DATA_FILTER 0
|
||||
|
||||
# Set the table names and the field associated you want to filter
|
||||
#PerlAddVar OCS_OPT_DATA_TO_FILTER HARDWARE
|
||||
#PerlAddVar OCS_OPT_DATA_TO_FILTER USERID
|
||||
|
||||
|
||||
# ===== REGISTRY SETTINGS =====
|
||||
|
||||
# Enable the registry capacity
|
||||
PerlSetEnv OCS_OPT_REGISTRY 1
|
||||
|
||||
# ===== SNMP SETTINGS =====
|
||||
|
||||
# Enable the SNMP capacity
|
||||
PerlSetEnv OCS_OPT_SNMP 0
|
||||
# Configure engine to update snmp inventory regarding to snmp_laststate table (lower DB backend load)
|
||||
PerlSetEnv OCS_OPT_SNMP_INVENTORY_DIFF 1
|
||||
# Display error message about agent https communication in logfile
|
||||
PerlSetEnv OCS_OPT_SNMP_PRINT_HTTPS_ERROR 1
|
||||
|
||||
# ===== SESSION SETTINGS =====
|
||||
# Not yet in GUI
|
||||
|
||||
# Validity of a session (prolog=>postinventory)
|
||||
PerlSetEnv OCS_OPT_SESSION_VALIDITY_TIME 600
|
||||
# Consider a session obsolete if it is older thant this value
|
||||
PerlSetEnv OCS_OPT_SESSION_CLEAN_TIME 86400
|
||||
# Accept an inventory only if required by server
|
||||
#( Refuse "forced" inventory)
|
||||
PerlSetEnv OCS_OPT_INVENTORY_SESSION_ONLY 0
|
||||
|
||||
# ===== TAG =====
|
||||
|
||||
# The default behavior of the server is to ignore TAG changes from the
|
||||
# agent.
|
||||
PerlSetEnv OCS_OPT_ACCEPT_TAG_UPDATE_FROM_CLIENT 0
|
||||
|
||||
# ===== EXTERNAL USERAGENTS =====
|
||||
|
||||
#Path for external useragents reference file
|
||||
#!! WARNING !! : external agents may not be supported by OCS NG Community !
|
||||
#PerlSetEnv OCS_OPT_EXT_USERAGENTS_FILE_PATH /tmp/yourfile.txt
|
||||
|
||||
# ===== PLUGINS =====
|
||||
|
||||
PerlSetEnv OCS_PLUGINS_PERL_DIR "PATH_TO_PLUGINS_PERL_DIRECTORY"
|
||||
PerlSetEnv OCS_PLUGINS_CONF_DIR "PATH_TO_PLUGINS_CONFIG_DIRECTORY"
|
||||
|
||||
# ===== DEPRECATED =====
|
||||
|
||||
# Set the proxy cache validity in http headers when sending a file
|
||||
PerlSetEnv OCS_OPT_PROXY_REVALIDATE_DELAY 3600
|
||||
# Deprecated
|
||||
PerlSetEnv OCS_OPT_UPDATE 0
|
||||
|
||||
############ DO NOT MODIFY BELOW ! #######################
|
||||
|
||||
# External modules
|
||||
PerlModule Apache::DBI
|
||||
PerlModule Compress::Zlib
|
||||
PerlModule XML::Simple
|
||||
|
||||
# Ocs plugins
|
||||
PerlModule Apache::Ocsinventory::Plugins
|
||||
|
||||
# Ocs
|
||||
PerlModule Apache::Ocsinventory
|
||||
PerlModule Apache::Ocsinventory::Server::Constants
|
||||
PerlModule Apache::Ocsinventory::Server::System
|
||||
PerlModule Apache::Ocsinventory::Server::Communication
|
||||
PerlModule Apache::Ocsinventory::Server::Inventory
|
||||
PerlModule Apache::Ocsinventory::Server::Duplicate
|
||||
|
||||
# Capacities
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Registry
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Update
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Ipdiscover
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Download
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Notify
|
||||
PerlModule Apache::Ocsinventory::Server::Capacities::Snmp
|
||||
# This module guides you through the module creation
|
||||
# PerlModule Apache::Ocsinventory::Server::Capacities::Example
|
||||
# This module adds some rules to filter some request sent to ocs server in the prolog and inventory stages
|
||||
# PerlModule Apache::Ocsinventory::Server::Capacities::Filter
|
||||
# This module add availibity to filter data from HARDWARE section (data filtered won't be stored in database)
|
||||
# PerlModule Apache::Ocsinventory::Server::Capacities::Datafilter
|
||||
|
||||
# PerlTaintCheck On
|
||||
|
||||
# SSL apache settings
|
||||
#SSLEngine "SSL_ENABLE"
|
||||
#SSLCertificateFile "SSL_CERTIFICATE_FILE"
|
||||
#SSLCertificateKeyFile "SSL_CERTIFICATE_KEY_FILE"
|
||||
#SSLCACertificateFile "SSL_CERTIFICATE_FILE"
|
||||
#SSLCACertificatePath "SSL_CERTIFICATE_PATH"
|
||||
#SSLVerifyClient "SSL_VALIDATE_CLIENT"
|
||||
|
||||
# Engine apache settings
|
||||
# "Virtual" directory for handling OCS Inventory NG agents communications
|
||||
# Be careful, do not create such directory into your web server root document !
|
||||
<Location /ocsinventory>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
# Apache 2.2
|
||||
order deny,allow
|
||||
allow from all
|
||||
</IfModule>
|
||||
# If you protect this area you have to deal with http_auth_* agent's parameters
|
||||
# AuthType Basic
|
||||
# AuthName "OCS Inventory agent area"
|
||||
# AuthUserFile "APACHE_AUTH_USER_FILE"
|
||||
# require valid-user
|
||||
SetHandler perl-script
|
||||
PerlHandler Apache::Ocsinventory
|
||||
</Location>
|
||||
|
||||
#Web Service for plugin engine
|
||||
<Location /ocsplugins>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require local
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
# Apache 2.2
|
||||
order deny,allow
|
||||
allow from 127.0.0.1
|
||||
</IfModule>
|
||||
SetHandler perl-script
|
||||
PerlHandler Apache::Ocsinventory::Plugins::Apache
|
||||
</Location>
|
||||
|
||||
|
||||
# Web service apache settings
|
||||
PerlModule Apache::Ocsinventory::SOAP
|
||||
|
||||
<location /ocsinterface>
|
||||
SetHandler perl-script
|
||||
PerlHandler "Apache::Ocsinventory::SOAP"
|
||||
|
||||
# By default, you can query web service from everywhere with a valid user
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</IfModule>
|
||||
AuthType Basic
|
||||
AuthName "OCS Inventory SOAP Area"
|
||||
# Use htpasswd to create/update soap-user (or another granted user)
|
||||
AuthUserFile "APACHE_AUTH_USER_FILE"
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require user "SOAP_USER"
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
require "SOAP_USER"
|
||||
</IfModule>
|
||||
</location>
|
||||
</IfModule>
|
||||
@ -1,85 +0,0 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
ocsapplication:
|
||||
image: ocsinventory/ocsinventory-docker-image:2.12
|
||||
container_name : ocsinventory-server
|
||||
restart: always
|
||||
expose:
|
||||
- "80"
|
||||
volumes:
|
||||
- "perlcomdata:/etc/ocsinventory-server"
|
||||
- "ocsreportsdata:/usr/share/ocsinventory-reports/ocsreports/extensions"
|
||||
- "varlibdata:/var/lib/ocsinventory-reports"
|
||||
- "httpdconfdata:/etc/apache2/conf-available"
|
||||
environment:
|
||||
OCS_DB_SERVER: ocsinventory-db
|
||||
OCS_DB_USER: ocsuser
|
||||
OCS_DB_PASS: ocspass
|
||||
OCS_DB_NAME: ocsweb
|
||||
# See documentation to set up SSL for MySQL
|
||||
OCS_SSL_ENABLED: 0
|
||||
links:
|
||||
- ocsdb
|
||||
networks:
|
||||
- localocs
|
||||
depends_on:
|
||||
- ocsdb
|
||||
|
||||
ocsdb :
|
||||
image : mysql:8.0
|
||||
container_name : ocsinventory-db
|
||||
restart: always
|
||||
expose :
|
||||
- "3306"
|
||||
volumes :
|
||||
- ./sql/:/docker-entrypoint-initdb.d/
|
||||
- sqldata:/var/lib/mysql
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD : rootpass
|
||||
MYSQL_USER : ocsuser
|
||||
MYSQL_PASSWORD : ocspass
|
||||
MYSQL_DATABASE : ocsweb
|
||||
networks:
|
||||
- localocs
|
||||
|
||||
ocsproxy:
|
||||
image: nginx
|
||||
container_name: ocsinventory-proxy
|
||||
restart: always
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
volumes:
|
||||
- ./nginx/conf:/etc/nginx/templates
|
||||
- ./nginx/certs:/etc/nginx/certs
|
||||
- ./nginx/auth:/etc/nginx/auth
|
||||
environment:
|
||||
# 80 or 443
|
||||
LISTEN_PORT: 80
|
||||
# empty or ssl
|
||||
PORT_TYPE: ""
|
||||
SSL_CERT: ocs-dummy.crt
|
||||
SSL_KEY: ocs-dummy.key
|
||||
# OCS Api user restriction (default ocsapi/ocapi)
|
||||
API_AUTH_FILE: ocsapi.htpasswd
|
||||
# OCS Download
|
||||
READ_TIMEOUT: 300
|
||||
CONNECT_TIMEOUT: 300
|
||||
SEND_TIMEOUT: 300
|
||||
MAX_BODY_SIZE: 1G
|
||||
depends_on:
|
||||
- ocsapplication
|
||||
networks:
|
||||
- localocs
|
||||
|
||||
networks:
|
||||
localocs:
|
||||
|
||||
volumes:
|
||||
perlcomdata:
|
||||
ocsreportsdata:
|
||||
varlibdata:
|
||||
httpdconfdata:
|
||||
sqldata:
|
||||
|
||||
@ -1,17 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo "| |"
|
||||
echo "| Welcome to OCS Inventory NG Management Docker! |"
|
||||
echo "| |"
|
||||
echo "+----------------------------------------------------------+"
|
||||
|
||||
# Create all directories
|
||||
mkdir -p $OCS_LOG_DIR
|
||||
mkdir -p $OCS_PERLEXT_DIR/Apache/Ocsinventory/Plugins
|
||||
mkdir -p $OCS_PLUGINSEXT_DIR
|
||||
mkdir -p $OCS_VARLIB_DIR/download
|
||||
mkdir -p $OCS_VARLIB_DIR/ipd
|
||||
mkdir -p $OCS_VARLIB_DIR/logs
|
||||
mkdir -p $OCS_VARLIB_DIR/scripts
|
||||
mkdir -p $OCS_VARLIB_DIR/snmp
|
||||
@ -1,48 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
SRV_CONF_FILE="/etc/apache2/conf-available/z-ocsinventory-server.conf"
|
||||
|
||||
if [ ! -z "${OCS_DISABLE_COM_MODE}" ]; then
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
echo "| Warning: OCS_DISABLE_COM_MODE environment variable is set! |"
|
||||
echo "| Communication server, which handles HTTP communications between database |"
|
||||
echo "| server and agents (Apache, perl and mod_perl) will be DISABLED! |"
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Configure z-ocsinventory-server file
|
||||
if [ ! -f ${SRV_CONF_FILE} ]; then
|
||||
cp /tmp/conf/ocsinventory-server.conf ${SRV_CONF_FILE}
|
||||
sed -i 's/VERSION_MP/2/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_SERVER/'"$OCS_DB_SERVER"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_PORT/'"$OCS_DB_PORT"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_NAME/'"$OCS_DB_NAME"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_USER/'"$OCS_DB_USER"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/DATABASE_PASSWD/'"$OCS_DB_PASS"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/"PATH_TO_LOG_DIRECTORY"/'"${OCS_LOG_DIR//\//\\/}"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/"PATH_TO_PLUGINS_PERL_DIRECTORY"/'"${OCS_PERLEXT_DIR//\//\\/}"'/g' ${SRV_CONF_FILE}
|
||||
sed -i 's/"PATH_TO_PLUGINS_CONFIG_DIRECTORY"/'"${OCS_PLUGINSEXT_DIR//\//\\/}"'/g' ${SRV_CONF_FILE}
|
||||
fi
|
||||
|
||||
# Replace Variables
|
||||
if [ -f ${SRV_CONF_FILE} ]; then
|
||||
echo "+-----------------------------------------------+"
|
||||
echo "| Customizing from environment variables... |"
|
||||
echo "+-----------------------------------------------+"
|
||||
echo
|
||||
# Get all env vars starting with 'OCS_'
|
||||
for var in $(env | cut -f1 -d= | grep -i OCS_); do
|
||||
# Check that the current var is not commented out in conf file
|
||||
if grep -q "^\s*PerlSetEnv ${var^^}" ${SRV_CONF_FILE}; then
|
||||
echo "Applying Config ${var^^}=${!var} from environment variable"
|
||||
sed -i "s,^\(\s*PerlSetEnv ${var^^}\).*$,\1 ${!var},g" ${SRV_CONF_FILE}
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# Permissions
|
||||
chown -R $APACHE_RUN_USER: $OCS_LOG_DIR
|
||||
|
||||
# Enable conf
|
||||
a2enconf z-ocsinventory-server
|
||||
@ -1,57 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
REPORTS_CONF_FILE="/etc/apache2/conf-available/ocsinventory-reports.conf"
|
||||
DB_CONFIG_INC_FILE="${OCS_WEBCONSOLE_DIR}/ocsreports/dbconfig.inc.php"
|
||||
|
||||
if [ ! -z "${OCS_DISABLE_WEB_MODE}" ]; then
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
echo "| Warning: OCS_DISABLE_WEB_MODE environment variable is set! |"
|
||||
echo "| Administration console, which allows administrators to query the database |"
|
||||
echo "| server using their favorite browser (Apache, php) will be DISABLED! |"
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! -f $OCS_WEBCONSOLE_DIR/ocsreports/var.php ]; then
|
||||
cp -r /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}/ocsreports/ ${OCS_WEBCONSOLE_DIR}
|
||||
rm -rf ${DB_CONFIG_INC_FILE}
|
||||
fi
|
||||
|
||||
# Configure ocsinventory-reports file
|
||||
if [ ! -f ${REPORTS_CONF_FILE} ]; then
|
||||
cp /tmp/conf/ocsinventory-reports.conf ${REPORTS_CONF_FILE}
|
||||
sed -i 's/OCSREPORTS_ALIAS/\/ocsreports/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PATH_TO_OCSREPORTS_DIR/'"${OCS_WEBCONSOLE_DIR//\//\\/}"'\/ocsreports/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PACKAGES_ALIAS/\/download/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PATH_TO_PACKAGES_DIR/'"${OCS_VARLIB_DIR//\//\\/}"'download/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/SNMP_ALIAS/\/snmp/g' ${REPORTS_CONF_FILE}
|
||||
sed -i 's/PATH_TO_SNMP_DIR/'"${OCS_VARLIB_DIR//\//\\/}"'snmp/g' ${REPORTS_CONF_FILE}
|
||||
fi
|
||||
|
||||
# Generate dbconfig.inc.php
|
||||
if [ ! -f ${DB_CONFIG_INC_FILE} ]; then
|
||||
cp /tmp/conf/dbconfig.inc.php $OCS_WEBCONSOLE_DIR/ocsreports
|
||||
sed -i 's/OCS_DB_NAME/'"$OCS_DB_NAME"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_READ_NAME/'"$OCS_DB_SERVER"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_WRITE_NAME/'"$OCS_DB_SERVER"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_DB_PORT/'"$OCS_DB_PORT"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_DB_USER/'"$OCS_DB_USER"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_DB_PASS/'"$OCS_DB_PASS"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_WEB_MODE/'"$OCS_SSL_WEB_MODE"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_KEY/'"${OCS_SSL_KEY//\//\\/}"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_CERT/'"${OCS_SSL_CERT//\//\\/}"'/g' ${DB_CONFIG_INC_FILE}
|
||||
sed -i 's/OCS_SSL_CA/'"${OCS_SSL_CA//\//\\/}"'/g' ${DB_CONFIG_INC_FILE}
|
||||
fi
|
||||
|
||||
# Permissions
|
||||
chown -R $APACHE_RUN_USER: $OCS_VARLIB_DIR
|
||||
chown -R $APACHE_RUN_USER: $OCS_WEBCONSOLE_DIR
|
||||
|
||||
# rm install.php
|
||||
if [ -f $OCS_WEBCONSOLE_DIR/ocsreports/install.php ]; then
|
||||
rm $OCS_WEBCONSOLE_DIR/ocsreports/install.php
|
||||
fi
|
||||
|
||||
# Enable conf
|
||||
a2enconf ocsinventory-reports
|
||||
@ -1,32 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ ! -z "${OCS_DISABLE_API_MODE}" ] || [ ! -z "${OCS_DISABLE_COM_MODE}" ]; then
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
echo "| Warning: OCS_DISABLE_API_MODE or OCS_DISABLE_COM_MODE environment |"
|
||||
echo "| variable is set! |"
|
||||
echo "| REST API will be DISABLED |"
|
||||
echo "+---------------------------------------------------------------------------+"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
API_CONF_FILE="/etc/apache2/conf-available/zz-ocsinventory-restapi.conf"
|
||||
API_ROUTE=$(perl -e "print \"@INC[2]\"")
|
||||
API_ROUTE_LOADER="${API_ROUTE}/Api/Ocsinventory/Restapi/Loader.pm"
|
||||
|
||||
cp -R /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}/Api/ ${API_ROUTE}
|
||||
|
||||
# Configure zz-ocsinventory-restapi file
|
||||
if [ ! -f ${API_CONF_FILE} ]; then
|
||||
cp /tmp/conf/ocsinventory-restapi.conf ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_SERVER/'"$OCS_DB_SERVER"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_PORT/'"$OCS_DB_PORT"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_NAME/'"$OCS_DB_NAME"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_USER/'"$OCS_DB_USER"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/DATABASE_PASSWD/'"$OCS_DB_PASS"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/REST_API_PATH/'"${API_ROUTE//\//\\/}"'/g' ${API_CONF_FILE}
|
||||
sed -i 's/REST_API_LOADER_PATH/'"${API_ROUTE_LOADER//\//\\/}"'/g' ${API_CONF_FILE}
|
||||
fi
|
||||
|
||||
# Enable conf
|
||||
a2enconf zz-ocsinventory-restapi
|
||||
@ -1,35 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo "| Setting Apache Server Name to '${APACHE_SERVER_NAME:-localhost}'"
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo
|
||||
|
||||
sed -ri -e "s!^#(ServerName)\s+\S+!\1 ${APACHE_SERVER_NAME:-localhost}:80!g" \
|
||||
"/etc/apache2/apache2.conf"
|
||||
|
||||
# Remove temp files
|
||||
echo "+--------------------------------+"
|
||||
echo "| Removing not used files... |"
|
||||
echo "+--------------------------------+"
|
||||
echo
|
||||
cd /tmp
|
||||
shopt -s extglob
|
||||
rm -rf !("conf")
|
||||
|
||||
# Apache start
|
||||
if [ ! -d "$APACHE_RUN_DIR" ]; then
|
||||
mkdir "$APACHE_RUN_DIR"
|
||||
chown $APACHE_RUN_USER:$APACHE_RUN_GROUP "$APACHE_RUN_DIR"
|
||||
fi
|
||||
|
||||
if [ -f "$APACHE_PID_FILE" ]; then
|
||||
rm "$APACHE_PID_FILE"
|
||||
fi
|
||||
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo "| OK, prepare finshed ;-) |"
|
||||
echo "| |"
|
||||
echo "| Starting OCS Inventory NG Management Docker... |"
|
||||
echo "+----------------------------------------------------------+"
|
||||
echo
|
||||
@ -1,35 +0,0 @@
|
||||
#!/bin/bash
|
||||
# vim:sw=4:ts=4:et
|
||||
|
||||
set -e
|
||||
|
||||
if [ -z "${OCS_ENTRYPOINT_QUIET_LOGS:-}" ]; then
|
||||
exec 3>&1
|
||||
else
|
||||
exec 3>/dev/null
|
||||
fi
|
||||
|
||||
if /usr/bin/find "/docker-entrypoint.d/" -mindepth 1 -maxdepth 1 -type f -print -quit 2>/dev/null | read v; then
|
||||
echo >&3 "$0: /docker-entrypoint.d/ is not empty, will attempt to perform configuration"
|
||||
|
||||
echo >&3 "$0: Looking for shell scripts in /docker-entrypoint.d/"
|
||||
find "/docker-entrypoint.d/" -follow -type f -print | sort -V | while read -r f; do
|
||||
case "$f" in
|
||||
*.sh)
|
||||
if ! [ -x "$f" ]; then
|
||||
chmod +x $f
|
||||
fi
|
||||
|
||||
echo -e >&3 "\n$0: Launching ${f}\n"
|
||||
"$f"
|
||||
;;
|
||||
*) echo -e >&3 "\n$0: Ignoring ${f}\n" ;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo >&3 "$0: Configuration complete; ready for start up"
|
||||
else
|
||||
echo >&3 "$0: No files found in /docker-entrypoint.d/, skipping configuration"
|
||||
fi
|
||||
|
||||
exec "$@"
|
||||
@ -1 +0,0 @@
|
||||
ocsapi:$apr1$BcAk5f/A$0O5c/DSy92/o.vpwwshWQ.
|
||||
@ -1,22 +0,0 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDlzCCAn+gAwIBAgIUZq+XFJryUuBpkwebSwjSy/hfMCkwDQYJKoZIhvcNAQEL
|
||||
BQAwWzELMAkGA1UEBhMCRlIxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
|
||||
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEUMBIGA1UEAwwLbXlvY3NzZXJ2ZXIw
|
||||
HhcNMjIwNDEzMDk0OTUzWhcNMzIwNDEwMDk0OTUzWjBbMQswCQYDVQQGEwJGUjET
|
||||
MBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQ
|
||||
dHkgTHRkMRQwEgYDVQQDDAtteW9jc3NlcnZlcjCCASIwDQYJKoZIhvcNAQEBBQAD
|
||||
ggEPADCCAQoCggEBAOQDcGzmYzzgVycXSEZWMJ2TEtnmjouNuUKAVQUcELMkZOk0
|
||||
TIRz7QhPIOCiH2bklji+ByyVZg/uXRFJlT/P46rPor/OuRK2Lkrt+APr+FmkLgvf
|
||||
JHMfm7YRbZuWVRJq0htNNL6szwHEFE99GlRy7SuapkhKSo4qY/LjrrR7E7DnPj/G
|
||||
7o21ge3OpOfbmx9xVWbEZaJqMOZDt1y3fbp3hQsflVM0AKdg7OoHOBWnv65iJIkN
|
||||
LtG7Icqcp+8AKnL1PaiMU+P970GTMZyZ0NWVAWgab9+Wl+makTTdDdQgJIhg19og
|
||||
ReLeYspEQlzXmEz+8JAxWGqsu+HuiZ6ClSl04W0CAwEAAaNTMFEwHQYDVR0OBBYE
|
||||
FEljOkF7g17RD+pOpJ7M6dovwI9uMB8GA1UdIwQYMBaAFEljOkF7g17RD+pOpJ7M
|
||||
6dovwI9uMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAKA2Fcot
|
||||
58X97tsLWC6eJrF2MLJzcNeSiiJayG9bT8agsUE8WGq5fvHvf5E54tueCp/q+a7V
|
||||
k4ZowCJF3RAvAqzRkMLQWaGms0Brz4qRtVvRqhWkP7aMGhUieOS2rTfLZ+TYPKfK
|
||||
561w8gSpxs9uRXbhnYeUchxJxCUg0CbxQwsjltrvnOF2LVP6JJDtYcc/NiDXhP4W
|
||||
pTp+EdwXt87VSRkTrqjEQO7/3TMsNjhi0PMFHnQf47ijLt44XaNGKh9pY31Ae9oo
|
||||
6IuRygJc6QNVoGRmF2bxsorU4i4rA3kR2Ir9AUbxJT6MtuLtx8DGB8Dmp6bKmIv+
|
||||
HZH21wRRhwrYJb8=
|
||||
-----END CERTIFICATE-----
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user