commit
af73341239
110
2.5/Dockerfile
Normal file
110
2.5/Dockerfile
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
FROM debian:stretch-slim
|
||||||
|
|
||||||
|
LABEL maintainer="contact@ocsinventory-ng.org"
|
||||||
|
LABEL version="2.5"
|
||||||
|
LABEL description="OCS (Open Computers and Software Inventory Next Generation)"
|
||||||
|
|
||||||
|
ARG APT_FLAGS="-y --no-install-recommends"
|
||||||
|
|
||||||
|
VOLUME /var/lib/mysql
|
||||||
|
|
||||||
|
RUN apt-get update ; \
|
||||||
|
apt-get ${APT_FLAGS} install \
|
||||||
|
apache2 \
|
||||||
|
apache2-doc \
|
||||||
|
apt-utils \
|
||||||
|
php7.0 \
|
||||||
|
php7.0-gd \
|
||||||
|
php7.0-mysql \
|
||||||
|
php7.0-cgi \
|
||||||
|
php7.0-curl \
|
||||||
|
php7.0-xml \
|
||||||
|
php7.0-soap \
|
||||||
|
perl \
|
||||||
|
build-essential \
|
||||||
|
libapache2-mod-php7.0 \
|
||||||
|
libxml2 \
|
||||||
|
libxml-simple-perl \
|
||||||
|
libc6-dev \
|
||||||
|
libnet-ip-perl \
|
||||||
|
libxml-libxml-perl \
|
||||||
|
libapache2-mod-perl2 \
|
||||||
|
libdbi-perl \
|
||||||
|
libapache-dbi-perl \
|
||||||
|
libdbd-mysql-perl \
|
||||||
|
libio-compress-perl \
|
||||||
|
libxml-simple-perl \
|
||||||
|
libsoap-lite-perl \
|
||||||
|
libarchive-zip-perl \
|
||||||
|
libnet-ip-perl \
|
||||||
|
php-mbstring \
|
||||||
|
php-pclzip \
|
||||||
|
libsoap-lite-perl \
|
||||||
|
libarchive-zip-perl \
|
||||||
|
libmodule-build-perl \
|
||||||
|
nano \
|
||||||
|
wget \
|
||||||
|
tar \
|
||||||
|
make ;\
|
||||||
|
cpan -i XML::Entities ;\
|
||||||
|
/usr/sbin/a2dissite 000-default ;\
|
||||||
|
/usr/sbin/a2enmod rewrite ;\
|
||||||
|
/usr/sbin/a2enmod ssl ;\
|
||||||
|
/usr/sbin/a2enmod authz_user ;\
|
||||||
|
wget https://raw.githubusercontent.com/OCSInventory-NG/OCSInventory-Server/master/binutils/docker-download.sh ;\
|
||||||
|
sh docker-download.sh 2.5
|
||||||
|
|
||||||
|
WORKDIR /tmp/ocs/Apache
|
||||||
|
RUN perl Makefile.PL ;\
|
||||||
|
make ;\
|
||||||
|
make install ;\
|
||||||
|
cp /usr/share/zoneinfo/Europe/Paris /etc/localtime ;\
|
||||||
|
cp -R blib/lib/Apache /usr/local/share/perl/5.28.0/ ;\
|
||||||
|
cp -R Ocsinventory /usr/local/share/perl/5.28.0/ ;\
|
||||||
|
cp /tmp/ocs/etc/logrotate.d/ocsinventory-server /etc/logrotate.d/ ;\
|
||||||
|
mkdir -p /etc/ocsinventory-server/plugins ;\
|
||||||
|
mkdir -p /etc/ocsinventory-server/perl ;\
|
||||||
|
mkdir -p /usr/share/ocsinventory-reports/ocsreports
|
||||||
|
|
||||||
|
ENV APACHE_RUN_USER www-data
|
||||||
|
ENV APACHE_RUN_GROUP www-data
|
||||||
|
ENV APACHE_LOG_DIR /var/log/apache2
|
||||||
|
ENV APACHE_PID_FILE /var/run/apache2.pid
|
||||||
|
ENV APACHE_RUN_DIR /var/run/apache2f
|
||||||
|
ENV APACHE_LOCK_DIR /var/lock/apache2
|
||||||
|
ENV APACHE_LOG_DIR /var/log/apache2
|
||||||
|
|
||||||
|
WORKDIR /tmp/ocs
|
||||||
|
|
||||||
|
RUN cp -R ocsreports/* /usr/share/ocsinventory-reports/ocsreports ;\
|
||||||
|
bash -c 'mkdir -p /var/lib/ocsinventory-reports/{download,ipd,logs,scripts,snmp}' ;\
|
||||||
|
chmod -R +w /var/lib/ocsinventory-reports ;\
|
||||||
|
chown www-data: -R /var/lib/ocsinventory-reports ;\
|
||||||
|
cp binutils/ipdiscover-util.pl /usr/share/ocsinventory-reports/ocsreports/ipdiscover-util.pl ;\
|
||||||
|
chown www-data: /usr/share/ocsinventory-reports/ocsreports/ipdiscover-util.pl ;\
|
||||||
|
chmod 755 /usr/share/ocsinventory-reports/ocsreports/ipdiscover-util.pl ;\
|
||||||
|
mkdir -p /var/log/ocsinventory-server/ ;\
|
||||||
|
chmod +w /var/log/ocsinventory-server ;\
|
||||||
|
chown -R www-data: /usr/share/ocsinventory-reports/
|
||||||
|
|
||||||
|
COPY ./dbconfig.inc.php /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php
|
||||||
|
COPY /conf/ocsinventory-reports.conf /conf/z-ocsinventory-server.conf /etc/apache2/conf-available/
|
||||||
|
COPY ./conf/php.ini /etc/php/7.0/apache2/php.ini
|
||||||
|
COPY ./scripts/run.sh /root/run.sh
|
||||||
|
|
||||||
|
RUN chown www-data: /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php ;\
|
||||||
|
chmod +x /root/run.sh ;\
|
||||||
|
ln -s /etc/apache2/conf-available/ocsinventory-reports.conf /etc/apache2/conf-enabled/ocsinventory-reports.conf ;\
|
||||||
|
ln -s /etc/apache2/conf-available/z-ocsinventory-server.conf /etc/apache2/conf-enabled/z-ocsinventory-server.conf ;\
|
||||||
|
rm /usr/share/ocsinventory-reports/ocsreports/install.php ;\
|
||||||
|
rm -rf /tmp/ocs ;\
|
||||||
|
apt-get clean ;\
|
||||||
|
apt-get autoclean ;\
|
||||||
|
apt-get autoremove ;\
|
||||||
|
rm -rf /var/lib/apt/lists/* ;\
|
||||||
|
rm -rf /var/cache/apt/archives/* ;
|
||||||
|
|
||||||
|
EXPOSE 80
|
||||||
|
EXPOSE 443
|
||||||
|
|
||||||
|
CMD ["/bin/bash", "/root/run.sh"]
|
||||||
118
2.5/conf/ocsinventory-reports.conf
Normal file
118
2.5/conf/ocsinventory-reports.conf
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
#
|
||||||
|
<Directory /usr/share/ocsinventory-reports/ocsreports>
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# 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>
|
||||||
|
Alias /ocsreports /usr/share/ocsinventory-reports/ocsreports
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# Deployment packages download area
|
||||||
|
#
|
||||||
|
# Alias to put Deployment package files outside Apache document root directory
|
||||||
|
#
|
||||||
|
<Directory /var/lib/ocsinventory-reports/download>
|
||||||
|
<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 /download /var/lib/ocsinventory-reports/download
|
||||||
|
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# Snmp communities area
|
||||||
|
#
|
||||||
|
# Alias to put Snmp custom Mibs files outside Apache document root directory
|
||||||
|
#
|
||||||
|
<Directory /var/lib/ocsinventory-reports/snmp>
|
||||||
|
<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 /var/lib/ocsinventory-reports/snmp
|
||||||
1918
2.5/conf/php.ini
Normal file
1918
2.5/conf/php.ini
Normal file
File diff suppressed because it is too large
Load Diff
357
2.5/conf/z-ocsinventory-server.conf
Normal file
357
2.5/conf/z-ocsinventory-server.conf
Normal file
@ -0,0 +1,357 @@
|
|||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# 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 2 by 1
|
||||||
|
# For mod_perl > 1.999_21, replace 2 by 2
|
||||||
|
PerlSetEnv OCS_MODPERL_VERSION 2
|
||||||
|
|
||||||
|
# Master Database settings
|
||||||
|
# Replace localhost by hostname or ip of MySQL server for WRITE
|
||||||
|
PerlSetEnv OCS_DB_HOST ${OCS_DBSERVER_WRITE}
|
||||||
|
# Replace 3306 by port where running MySQL server, generally 3306
|
||||||
|
PerlSetEnv OCS_DB_PORT 3306
|
||||||
|
# Name of database
|
||||||
|
PerlSetEnv OCS_DB_NAME ${OCS_DBNAME}
|
||||||
|
PerlSetEnv OCS_DB_LOCAL ${OCS_DBNAME}
|
||||||
|
# User allowed to connect to database
|
||||||
|
PerlSetEnv OCS_DB_USER ${OCS_DBUSER}
|
||||||
|
# Password for user
|
||||||
|
PerlSetVar OCS_DB_PWD ${OCS_DBPASS}
|
||||||
|
|
||||||
|
# Slave Database settings
|
||||||
|
# Replace localhost by hostname or ip of MySQL server for READ
|
||||||
|
# Useful if you handle mysql slave databases
|
||||||
|
# PerlSetEnv OCS_DB_SL_HOST localhost
|
||||||
|
# Replace 3306 by port where running MySQL server, generally 3306
|
||||||
|
# PerlSetEnv OCS_DB_SL_PORT_SLAVE 3306
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Path to log directory (must be writeable)
|
||||||
|
PerlSetEnv OCS_OPT_LOGPATH "/var/log/ocsinventory-server"
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# Configure the duplicates detection system
|
||||||
|
PerlSetEnv OCS_OPT_AUTO_DUPLICATE_LVL 15
|
||||||
|
# Specify if agent take contact on service startup
|
||||||
|
PerlSetEnv OCS_OPT_INVENTORY_ON_STARTUP 0
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# ===== 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 "/etc/ocsinventory-server/perl"
|
||||||
|
PerlSetEnv OCS_PLUGINS_CONF_DIR "/etc/ocsinventory-server/plugins"
|
||||||
|
|
||||||
|
# ===== 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::Apache
|
||||||
|
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 /plugin>
|
||||||
|
<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>
|
||||||
8
2.5/dbconfig.inc.php
Normal file
8
2.5/dbconfig.inc.php
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?php
|
||||||
|
define("DB_NAME", getenv('OCS_DBNAME'));
|
||||||
|
define("SERVER_READ", getenv('OCS_DBSERVER_READ'));
|
||||||
|
define("SERVER_WRITE", getenv('OCS_DBSERVER_WRITE'));
|
||||||
|
define("COMPTE_BASE", getenv('OCS_DBUSER'));
|
||||||
|
define("PSWD_BASE", getenv('OCS_DBPASS'));
|
||||||
|
$_SESSION["PSWD_BASE"]=PSWD_BASE;
|
||||||
|
?>
|
||||||
2052
2.5/scripts/ocsweb.sql
Normal file
2052
2.5/scripts/ocsweb.sql
Normal file
File diff suppressed because it is too large
Load Diff
9
2.5/scripts/run.sh
Normal file
9
2.5/scripts/run.sh
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
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
|
||||||
|
/usr/sbin/apache2ctl -D FOREGROUND
|
||||||
101
2.5/setup.sh
Normal file
101
2.5/setup.sh
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "Welcome to OCSInventory Docker image setup"
|
||||||
|
|
||||||
|
|
||||||
|
echo "Please specify container name"
|
||||||
|
read containerName
|
||||||
|
while ! [[ $containerName =~ ^[[:lower:]_]+$ ]]; do
|
||||||
|
echo "Please choose another name without uppercase and number, only letters."
|
||||||
|
read containerName
|
||||||
|
done
|
||||||
|
echo "Your container name: $containerName"
|
||||||
|
|
||||||
|
|
||||||
|
echo "Please specify your database parameters in next steps:"
|
||||||
|
|
||||||
|
echo "Database name"
|
||||||
|
read databaseName
|
||||||
|
while ! [[ $databaseName =~ ^[a-zA-Z_0-9]+$ ]]; do
|
||||||
|
echo "Please choose valid database name"
|
||||||
|
read databaseName
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Database server READ"
|
||||||
|
read databaseServerRead
|
||||||
|
while ! [[ $databaseServerRead =~ ^[a-zA-Z_0-9.]+$ ]]; do
|
||||||
|
echo "Please choose valid database server"
|
||||||
|
read databaseServerRead
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
echo "Database server WRITE"
|
||||||
|
read databaseServerWrite
|
||||||
|
while ! [[ $databaseServerWrite =~ ^[a-zA-Z_0-9.]+$ ]]; do
|
||||||
|
echo "Please choose valid database server"
|
||||||
|
read databaseServerWrite
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
echo "Database user"
|
||||||
|
read databaseUser
|
||||||
|
while ! [[ $databaseUser =~ ^[a-zA-Z_0-9]+$ ]]; do
|
||||||
|
echo "Please choose valid database user"
|
||||||
|
read databaseUser
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Database password"
|
||||||
|
read databasePassword
|
||||||
|
while [[ -z $databasePassword ]]; do
|
||||||
|
echo "Please choose valid database password"
|
||||||
|
read databasePassword
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Do you want to attach existing data volume ? (yes / no)"
|
||||||
|
read dataVolume
|
||||||
|
|
||||||
|
VOLUME_ARGS=""
|
||||||
|
if [ $dataVolume = "yes" ]
|
||||||
|
then
|
||||||
|
echo "Name of data volume:"
|
||||||
|
read dataVolumeName
|
||||||
|
VOLUME_ARGS="-v ${dataVolumeName}:/usr/share/ocsinventory-reports/ocsreports/ -v ${dataVolumeName}:/etc/ocsinventory-reports/ -v ${dataVolumeName}:/var/lib/ocsinventory-reports/"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
BASEPATH=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
|
||||||
|
#MODIFY APACHE CONFIGURATION
|
||||||
|
#sed -i -e "s/PerlSetEnv OCS_DB_HOST localhost/PerlSetEnv OCS_DB_HOST ${databaseServerWrite}/g" $BASEPATH/conf/z-ocsinventory-server.conf
|
||||||
|
#sed -i -e "s/PerlSetEnv OCS_DB_NAME ocsweb/PerlSetEnv OCS_DB_NAME ${databaseName}/g" $BASEPATH/conf/z-ocsinventory-server.conf
|
||||||
|
#sed -i -e "s/PerlSetEnv OCS_DB_LOCAL ocsweb/PerlSetEnv OCS_DB_LOCAL ${databaseName}/g" $BASEPATH/conf/z-ocsinventory-server.conf
|
||||||
|
#sed -i -e "s/PerlSetEnv OCS_DB_USER ocs/PerlSetEnv OCS_DB_USER ${databaseUser}/g" $BASEPATH/conf/z-ocsinventory-server.conf
|
||||||
|
#sed -i -e "s/PerlSetVar OCS_DB_PWD ocs/PerlSetVar OCS_DB_PWD ${databasePassword}/g" $BASEPATH/conf/z-ocsinventory-server.conf
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
COMMAND="docker run -p 80:80 --name ${containerName} -e OCS_DBNAME=${databaseName} \
|
||||||
|
-e OCS_DBSERVER_READ=${databaseServerRead} -e OCS_DBSERVER_WRITE=${databaseServerWrite} \
|
||||||
|
-e OCS_DBUSER=${databaseUser} -e OCS_DBPASS=${databasePassword} ${VOLUME_ARGS} -itd ocsinventory/ocsinventory-docker-image:master"
|
||||||
|
|
||||||
|
echo "========================================="
|
||||||
|
echo ""
|
||||||
|
echo "The command to launch your container is:"
|
||||||
|
echo ""
|
||||||
|
echo ${COMMAND}
|
||||||
|
echo ""
|
||||||
|
echo "=========================================="
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Do you want to run container now ? (yes / no)"
|
||||||
|
read launchNow
|
||||||
|
|
||||||
|
if [ $launchNow = "yes" ]
|
||||||
|
then
|
||||||
|
$(${COMMAND})
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Loading…
Reference in New Issue
Block a user