Compare commits
182 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2f4609fe7d | ||
|
|
34d5887bca | ||
|
|
993d2ba609 | ||
|
|
5f26c756c4 | ||
|
|
653cd01eaf | ||
|
|
8638ad8a1f | ||
|
|
a4d2b62bd1 | ||
|
|
db6cc3011c | ||
|
|
8ae06ac86f | ||
|
|
efdf762a58 | ||
|
|
73c103f062 | ||
|
|
4219abd5ea | ||
|
|
3ebd025290 | ||
|
|
dc835e424a | ||
|
|
3c5895bb43 | ||
|
|
509af7b598 | ||
|
|
fb10415fbb | ||
|
|
f4334c8a58 | ||
|
|
1cd4698c3e | ||
|
|
88a7710929 | ||
|
|
99287c72dd | ||
|
|
ed9a72c8a7 | ||
|
|
521ec4f17f | ||
|
|
655da1a5c5 | ||
|
|
2bf5ece0b1 | ||
|
|
c44eb4d253 | ||
|
|
00306e60e2 | ||
|
|
fd4888a6f6 | ||
|
|
fe5effb3c6 | ||
|
|
441b26a8e6 | ||
|
|
5cda3b80b6 | ||
|
|
000e103e91 | ||
|
|
e4dc443b80 | ||
|
|
7ee977e851 | ||
|
|
4d9bc72369 | ||
|
|
43b2f79bbd | ||
|
|
2b6013841c | ||
|
|
f9b975a3d1 | ||
|
|
4b4c27c8f2 | ||
|
|
e5c34fa976 | ||
|
|
9407b4c2f3 | ||
|
|
3fcff42cd4 | ||
|
|
771d940567 | ||
|
|
62d0a66939 | ||
|
|
310b10675c | ||
|
|
1e61e99ba5 | ||
|
|
b28c17f21e | ||
|
|
255d7a5d39 | ||
|
|
44f23d6cff | ||
|
|
60d2add227 | ||
|
|
071ea13ffe | ||
|
|
2f925f2c16 | ||
|
|
167c4ef252 | ||
|
|
b9888f89cb | ||
|
|
515107f1a7 | ||
|
|
0b60593438 | ||
|
|
d953d5afa8 | ||
|
|
497d6246dc | ||
|
|
9a070943c4 | ||
|
|
06b5c207b5 | ||
|
|
4410cc9983 | ||
|
|
cac9a0d5d3 | ||
|
|
94c9201764 | ||
|
|
4e63073cc4 | ||
|
|
a12eb2d284 | ||
|
|
fea8eeec4c | ||
|
|
d1bec1d31d | ||
|
|
a2140c7ab4 | ||
|
|
d6a2d58b3c | ||
|
|
769e4cc2fb | ||
|
|
a1c948f57f | ||
|
|
5ed05a5946 | ||
|
|
28537752ce | ||
|
|
90ae7d238a | ||
|
|
0acb4d800e | ||
|
|
87ac393dac | ||
|
|
b0adeb01d5 | ||
|
|
ab0da4cdb0 | ||
|
|
152abe7d63 | ||
|
|
1ad8ae3f19 | ||
|
|
b329d1ebf0 | ||
|
|
677bf97883 | ||
|
|
7a3e7e91af | ||
|
|
3c6b0bef87 | ||
|
|
ca02e0fa84 | ||
|
|
0170648359 | ||
|
|
a0e83cce70 | ||
|
|
22bdb320b6 | ||
|
|
65268e7580 | ||
|
|
a3cb44c6fe | ||
|
|
b5eba01036 | ||
|
|
0efaa0b815 | ||
|
|
3be8295146 | ||
|
|
6e87843062 | ||
|
|
8e78123b6d | ||
|
|
e7a1cad6f1 | ||
|
|
60405d4ddd | ||
|
|
8437a3c585 | ||
|
|
da4cc9dd3c | ||
|
|
3a428ac7bf | ||
|
|
2a41f678d9 | ||
|
|
f377df4cec | ||
|
|
04bdfbeacb | ||
|
|
c66316fae0 | ||
|
|
60cad7f1d6 | ||
|
|
dfc4167d79 | ||
|
|
38214119c1 | ||
|
|
bb3fd09920 | ||
|
|
7779fcfe5f | ||
|
|
f33993812c | ||
|
|
9e4a8ecef7 | ||
|
|
2a0848221c | ||
|
|
f924b69d26 | ||
|
|
de24ee9964 | ||
|
|
311c31c470 | ||
|
|
80705c67a6 | ||
|
|
d0b2dbefe0 | ||
|
|
81fd20c8f5 | ||
|
|
1a227c3df7 | ||
|
|
b2ec9d2ef3 | ||
|
|
b913a6545c | ||
|
|
386dfcbe72 | ||
|
|
efef9c9edf | ||
|
|
9efa567305 | ||
|
|
2822d858da | ||
|
|
174c568d31 | ||
|
|
489f715b22 | ||
|
|
a3329bea58 | ||
|
|
8bc2369925 | ||
|
|
91d7235ab2 | ||
|
|
5a2ebbc2a1 | ||
|
|
b614812250 | ||
|
|
1e26aefeb9 | ||
|
|
3dd2e07bf8 | ||
|
|
14f6a2361c | ||
|
|
c3b9e63bde | ||
|
|
706fee081b | ||
|
|
5e654de9aa | ||
|
|
fde830b6fc | ||
|
|
67364dcace | ||
|
|
912638c2ad | ||
|
|
f25b502f10 | ||
|
|
421267bb45 | ||
|
|
cc59facefb | ||
|
|
a106894b81 | ||
|
|
a8f63ce539 | ||
|
|
7c56d94dd4 | ||
|
|
371b2d2324 | ||
|
|
5784422f40 | ||
|
|
a6e3e350de | ||
|
|
536815e046 | ||
|
|
101ffe3e4a | ||
|
|
f07d2eba4b | ||
|
|
f735f712f6 | ||
|
|
119a8f6149 | ||
|
|
19024afa2c | ||
|
|
af73341239 | ||
|
|
2ec65e1e4c | ||
|
|
f51e148c81 | ||
|
|
7cfc8edd4a | ||
|
|
3b7c8f4195 | ||
|
|
9ce9622514 | ||
|
|
b1dac3938c | ||
|
|
f6e4425ee8 | ||
|
|
be71b0d3a9 | ||
|
|
500cce0add | ||
|
|
297bfe1e5d | ||
|
|
1b62642373 | ||
|
|
f3904f1c3a | ||
|
|
3add7f78bb | ||
|
|
ab21ebe5cf | ||
|
|
e0861b070a | ||
|
|
51ce651116 | ||
|
|
e21199335a | ||
|
|
14868a6938 | ||
|
|
a16e9430af | ||
|
|
433aeed2c4 | ||
|
|
613779ac9a | ||
|
|
2a50f720a8 | ||
|
|
66d81eb1d3 | ||
|
|
f512854e32 | ||
|
|
17ff75604c |
120
.github/Contributing.md
vendored
Normal file
120
.github/Contributing.md
vendored
Normal file
@ -0,0 +1,120 @@
|
||||
<p align="center">
|
||||
<img src="https://cdn.ocsinventory-ng.org/common/banners/banner660px.png" height=300 width=660 alt="Banner">
|
||||
</p>
|
||||
|
||||
<h1 align="center">OCS Inventory</h1>
|
||||
<p align="center">
|
||||
<b>Some Links:</b><br>
|
||||
<a href="http://ask.ocsinventory-ng.org">Ask question</a> |
|
||||
<a href="#COMMING_SOON_STAY_CONNECTED">Installation</a> |
|
||||
<a href="https://www.ocsinventory-ng.org/?utm_source=github-ocs">Website</a>
|
||||
</p>
|
||||
|
||||
# OCS Inventory Contributing Guidelines
|
||||
|
||||
## Pull Request Process
|
||||
|
||||
1. Fork it!
|
||||
2. Create your feature branch: `git checkout -b my-new-feature`
|
||||
3. Add your changes: `git add folder/file1.php`
|
||||
4. Commit your changes: `git commit -m 'Add some feature'`
|
||||
5. Push to the branch: `git push origin my-new-feature`
|
||||
6. Submit a pull request !
|
||||
|
||||
## Pull Request Informations
|
||||
|
||||
When contributing, please open an issue before or contact the team using mail. This will prevent all the duplicate of work.
|
||||
Also, check if your contribution is not already in the roadmap or affiliated to an issue.
|
||||
|
||||
If you are contributing on a small scale (translation, a few line modification), you don't need open an issue or contact the team but you will need to explain what you've done in the Pull Request comment and provide as accurate commit messages as possible.
|
||||
Cf. Commits Messages Name Informations
|
||||
|
||||
If you need to discuss about a big change or need some help of our team during the development of your contribution,
|
||||
we can use other communication method like Telegram, IRC, Skype.
|
||||
|
||||
## Commits Messages Name Informations
|
||||
|
||||
Try to create as accurate as possible commit messages.
|
||||
This will help us to speed up the review process and to reduce the misunderstanding (which can lead to a Pull Request to be rejected)
|
||||
|
||||
There is no commit messages convention but here are some examples :
|
||||
1. Create as short as possible commit name
|
||||
2. One commit for one modification
|
||||
3. Always leave the second commit line blank
|
||||
|
||||
If it seems difficult to summarize what your commit does, it may be because it includes several logical changes or bug fixes, and are better split up into several commits using `git add -p`.
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
### Our Pledge
|
||||
|
||||
In the interest of fostering an open and welcoming environment, we as
|
||||
contributors and maintainers pledge to making participation in our project and
|
||||
our community a harassment-free experience for everyone, regardless of age, body
|
||||
size, disability, ethnicity, gender identity and expression, level of experience,
|
||||
nationality, personal appearance, race, religion, or sexual identity and
|
||||
orientation.
|
||||
|
||||
### Our Standards
|
||||
|
||||
Examples of behavior that contributes to creating a positive environment
|
||||
include:
|
||||
|
||||
* Using welcoming and inclusive language
|
||||
* Being respectful of differing viewpoints and experiences
|
||||
* Gracefully accepting constructive criticism
|
||||
* Focusing on what is best for the community
|
||||
* Showing empathy towards other community members
|
||||
|
||||
Examples of unacceptable behavior by participants include:
|
||||
|
||||
* The use of sexualized language or imagery and unwelcome sexual attention or
|
||||
advances
|
||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or electronic
|
||||
address, without explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
### Our Responsibilities
|
||||
|
||||
Project maintainers are responsible for clarifying the standards of acceptable
|
||||
behavior and are expected to take appropriate and fair corrective action in
|
||||
response to any instances of unacceptable behavior.
|
||||
|
||||
Project maintainers have the right and responsibility to remove, edit, or
|
||||
reject comments, commits, code, wiki edits, issues, and other contributions
|
||||
that are not aligned to this Code of Conduct, or to ban temporarily or
|
||||
permanently any contributor for other behaviors that they deem inappropriate,
|
||||
threatening, offensive, or harmful.
|
||||
|
||||
### Scope
|
||||
|
||||
This Code of Conduct applies both within project spaces and in public spaces
|
||||
when an individual is representing the project or its community. Examples of
|
||||
representing a project or community include using an official project e-mail
|
||||
address, posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event. Representation of a project may be
|
||||
further defined and clarified by project maintainers.
|
||||
|
||||
### Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported by contacting the project team at `contact@ocsinventory-ng.org` . All
|
||||
complaints will be reviewed and investigated and will result in a response that
|
||||
is deemed necessary and appropriate to the circumstances. The project team is
|
||||
obligated to maintain confidentiality with regard to the reporter of an incident.
|
||||
Further details of specific enforcement policies may be posted separately.
|
||||
|
||||
Project maintainers who do not follow or enforce the Code of Conduct in good
|
||||
faith may face temporary or permanent repercussions as determined by other
|
||||
members of the project's leadership.
|
||||
|
||||
### Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
||||
available at [http://contributor-covenant.org/version/1/4][version]
|
||||
|
||||
[homepage]: http://contributor-covenant.org
|
||||
[version]: http://contributor-covenant.org/version/1/4/
|
||||
40
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
40
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@ -0,0 +1,40 @@
|
||||
## Must read before submitting
|
||||
Please, take a look to our contributing guidelines before submitting your pull request.
|
||||
There's some simple rules that will help us to speed up the review process and avoid any misunderstanding
|
||||
|
||||
[Contributors GuideLines](https://github.com/OCSInventory-NG/OCSInventory-ocsreports/blob/master/.github/Contributing.md)
|
||||
|
||||
## Status
|
||||
**READY/IN DEVELOPMENT/HOLD**
|
||||
|
||||
## Description
|
||||
A few sentences describing the overall goals of the pull request's commits.
|
||||
|
||||
## Related Issues
|
||||
Put here all the related issues link
|
||||
|
||||
## Todos
|
||||
- [ ] Tests
|
||||
- [ ] Documentation
|
||||
|
||||
## Test environment
|
||||
If some tests has been already made, please give us your test environment' specs
|
||||
|
||||
#### General informations
|
||||
Docker host's operating system :
|
||||
Mysql Server version :
|
||||
|
||||
#### Docker informations
|
||||
Docker compose version :
|
||||
Docker version :
|
||||
|
||||
## Deploy Notes
|
||||
Notes regarding deployment the contained body of work. These should note any dependencies changes,
|
||||
logical changes, etc.
|
||||
|
||||
1.
|
||||
|
||||
## Impacted Areas in Application
|
||||
List general components of the application that this PR will affect:
|
||||
|
||||
*
|
||||
74
2.10/Dockerfile
Normal file
74
2.10/Dockerfile
Normal file
@ -0,0 +1,74 @@
|
||||
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"]
|
||||
34
2.10/conf/dbconfig.inc.php
Normal file
34
2.10/conf/dbconfig.inc.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?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");
|
||||
?>
|
||||
120
2.10/conf/ocsinventory-reports.conf
Normal file
120
2.10/conf/ocsinventory-reports.conf
Normal file
@ -0,0 +1,120 @@
|
||||
################################################################################
|
||||
#
|
||||
# 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
|
||||
23
2.10/conf/ocsinventory-restapi.conf
Normal file
23
2.10/conf/ocsinventory-restapi.conf
Normal file
@ -0,0 +1,23 @@
|
||||
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>
|
||||
383
2.10/conf/ocsinventory-server.conf
Normal file
383
2.10/conf/ocsinventory-server.conf
Normal file
@ -0,0 +1,383 @@
|
||||
################################################################################
|
||||
#
|
||||
# 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>
|
||||
85
2.10/docker-compose.yml
Normal file
85
2.10/docker-compose.yml
Normal file
@ -0,0 +1,85 @@
|
||||
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:
|
||||
|
||||
17
2.10/docker-entrypoint.d/01-start.sh
Normal file
17
2.10/docker-entrypoint.d/01-start.sh
Normal file
@ -0,0 +1,17 @@
|
||||
#!/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
|
||||
48
2.10/docker-entrypoint.d/10-com-server.sh
Normal file
48
2.10/docker-entrypoint.d/10-com-server.sh
Normal file
@ -0,0 +1,48 @@
|
||||
#!/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
|
||||
57
2.10/docker-entrypoint.d/20-web-console.sh
Normal file
57
2.10/docker-entrypoint.d/20-web-console.sh
Normal file
@ -0,0 +1,57 @@
|
||||
#!/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
|
||||
32
2.10/docker-entrypoint.d/30-api-server.sh
Normal file
32
2.10/docker-entrypoint.d/30-api-server.sh
Normal file
@ -0,0 +1,32 @@
|
||||
#!/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
|
||||
35
2.10/docker-entrypoint.d/99-finish.sh
Normal file
35
2.10/docker-entrypoint.d/99-finish.sh
Normal file
@ -0,0 +1,35 @@
|
||||
#!/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
|
||||
35
2.10/docker-entrypoint.sh
Executable file
35
2.10/docker-entrypoint.sh
Executable file
@ -0,0 +1,35 @@
|
||||
#!/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
2.10/nginx/auth/ocsapi.htpasswd
Normal file
1
2.10/nginx/auth/ocsapi.htpasswd
Normal file
@ -0,0 +1 @@
|
||||
ocsapi:$apr1$BcAk5f/A$0O5c/DSy92/o.vpwwshWQ.
|
||||
22
2.10/nginx/certs/ocs-dummy.crt
Normal file
22
2.10/nginx/certs/ocs-dummy.crt
Normal file
@ -0,0 +1,22 @@
|
||||
-----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-----
|
||||
28
2.10/nginx/certs/ocs-dummy.key
Normal file
28
2.10/nginx/certs/ocs-dummy.key
Normal file
@ -0,0 +1,28 @@
|
||||
-----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-----
|
||||
48
2.10/nginx/conf/ocsinventory.conf.template
Normal file
48
2.10/nginx/conf/ocsinventory.conf.template
Normal file
@ -0,0 +1,48 @@
|
||||
##
|
||||
# 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
Normal file
2678
2.10/sql/ocsbase.sql
Normal file
File diff suppressed because one or more lines are too long
74
2.11/Dockerfile
Normal file
74
2.11/Dockerfile
Normal file
@ -0,0 +1,74 @@
|
||||
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"]
|
||||
34
2.11/conf/dbconfig.inc.php
Normal file
34
2.11/conf/dbconfig.inc.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?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");
|
||||
?>
|
||||
120
2.11/conf/ocsinventory-reports.conf
Normal file
120
2.11/conf/ocsinventory-reports.conf
Normal file
@ -0,0 +1,120 @@
|
||||
################################################################################
|
||||
#
|
||||
# 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
|
||||
23
2.11/conf/ocsinventory-restapi.conf
Normal file
23
2.11/conf/ocsinventory-restapi.conf
Normal file
@ -0,0 +1,23 @@
|
||||
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>
|
||||
383
2.11/conf/ocsinventory-server.conf
Normal file
383
2.11/conf/ocsinventory-server.conf
Normal file
@ -0,0 +1,383 @@
|
||||
################################################################################
|
||||
#
|
||||
# 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>
|
||||
85
2.11/docker-compose.yml
Normal file
85
2.11/docker-compose.yml
Normal file
@ -0,0 +1,85 @@
|
||||
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:
|
||||
|
||||
17
2.11/docker-entrypoint.d/01-start.sh
Normal file
17
2.11/docker-entrypoint.d/01-start.sh
Normal file
@ -0,0 +1,17 @@
|
||||
#!/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
|
||||
48
2.11/docker-entrypoint.d/10-com-server.sh
Normal file
48
2.11/docker-entrypoint.d/10-com-server.sh
Normal file
@ -0,0 +1,48 @@
|
||||
#!/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
|
||||
57
2.11/docker-entrypoint.d/20-web-console.sh
Normal file
57
2.11/docker-entrypoint.d/20-web-console.sh
Normal file
@ -0,0 +1,57 @@
|
||||
#!/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
|
||||
32
2.11/docker-entrypoint.d/30-api-server.sh
Normal file
32
2.11/docker-entrypoint.d/30-api-server.sh
Normal file
@ -0,0 +1,32 @@
|
||||
#!/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
|
||||
35
2.11/docker-entrypoint.d/99-finish.sh
Normal file
35
2.11/docker-entrypoint.d/99-finish.sh
Normal file
@ -0,0 +1,35 @@
|
||||
#!/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
|
||||
35
2.11/docker-entrypoint.sh
Executable file
35
2.11/docker-entrypoint.sh
Executable file
@ -0,0 +1,35 @@
|
||||
#!/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
2.11/nginx/auth/ocsapi.htpasswd
Normal file
1
2.11/nginx/auth/ocsapi.htpasswd
Normal file
@ -0,0 +1 @@
|
||||
ocsapi:$apr1$BcAk5f/A$0O5c/DSy92/o.vpwwshWQ.
|
||||
22
2.11/nginx/certs/ocs-dummy.crt
Normal file
22
2.11/nginx/certs/ocs-dummy.crt
Normal file
@ -0,0 +1,22 @@
|
||||
-----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-----
|
||||
28
2.11/nginx/certs/ocs-dummy.key
Normal file
28
2.11/nginx/certs/ocs-dummy.key
Normal file
@ -0,0 +1,28 @@
|
||||
-----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-----
|
||||
50
2.11/nginx/conf/ocsinventory.conf.template
Normal file
50
2.11/nginx/conf/ocsinventory.conf.template
Normal file
@ -0,0 +1,50 @@
|
||||
##
|
||||
# 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
Normal file
2678
2.11/sql/ocsbase.sql
Normal file
File diff suppressed because one or more lines are too long
74
2.12.1/Dockerfile
Normal file
74
2.12.1/Dockerfile
Normal file
@ -0,0 +1,74 @@
|
||||
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"]
|
||||
34
2.12.1/conf/dbconfig.inc.php
Normal file
34
2.12.1/conf/dbconfig.inc.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?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");
|
||||
?>
|
||||
120
2.12.1/conf/ocsinventory-reports.conf
Normal file
120
2.12.1/conf/ocsinventory-reports.conf
Normal file
@ -0,0 +1,120 @@
|
||||
################################################################################
|
||||
#
|
||||
# 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
|
||||
23
2.12.1/conf/ocsinventory-restapi.conf
Normal file
23
2.12.1/conf/ocsinventory-restapi.conf
Normal file
@ -0,0 +1,23 @@
|
||||
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>
|
||||
383
2.12.1/conf/ocsinventory-server.conf
Normal file
383
2.12.1/conf/ocsinventory-server.conf
Normal file
@ -0,0 +1,383 @@
|
||||
################################################################################
|
||||
#
|
||||
# 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>
|
||||
87
2.12.1/docker-compose.yml
Normal file
87
2.12.1/docker-compose.yml
Normal file
@ -0,0 +1,87 @@
|
||||
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:
|
||||
17
2.12.1/docker-entrypoint.d/01-start.sh
Normal file
17
2.12.1/docker-entrypoint.d/01-start.sh
Normal file
@ -0,0 +1,17 @@
|
||||
#!/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
|
||||
49
2.12.1/docker-entrypoint.d/10-com-server.sh
Normal file
49
2.12.1/docker-entrypoint.d/10-com-server.sh
Normal file
@ -0,0 +1,49 @@
|
||||
#!/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
|
||||
57
2.12.1/docker-entrypoint.d/20-web-console.sh
Normal file
57
2.12.1/docker-entrypoint.d/20-web-console.sh
Normal file
@ -0,0 +1,57 @@
|
||||
#!/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
|
||||
32
2.12.1/docker-entrypoint.d/30-api-server.sh
Normal file
32
2.12.1/docker-entrypoint.d/30-api-server.sh
Normal file
@ -0,0 +1,32 @@
|
||||
#!/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
|
||||
35
2.12.1/docker-entrypoint.d/99-finish.sh
Normal file
35
2.12.1/docker-entrypoint.d/99-finish.sh
Normal file
@ -0,0 +1,35 @@
|
||||
#!/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
|
||||
35
2.12.1/docker-entrypoint.sh
Executable file
35
2.12.1/docker-entrypoint.sh
Executable file
@ -0,0 +1,35 @@
|
||||
#!/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
2.12.1/nginx/auth/ocsapi.htpasswd
Normal file
1
2.12.1/nginx/auth/ocsapi.htpasswd
Normal file
@ -0,0 +1 @@
|
||||
ocsapi:$apr1$BcAk5f/A$0O5c/DSy92/o.vpwwshWQ.
|
||||
22
2.12.1/nginx/certs/ocs-dummy.crt
Normal file
22
2.12.1/nginx/certs/ocs-dummy.crt
Normal file
@ -0,0 +1,22 @@
|
||||
-----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-----
|
||||
28
2.12.1/nginx/certs/ocs-dummy.key
Normal file
28
2.12.1/nginx/certs/ocs-dummy.key
Normal file
@ -0,0 +1,28 @@
|
||||
-----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-----
|
||||
51
2.12.1/nginx/conf/ocsinventory.conf.template
Normal file
51
2.12.1/nginx/conf/ocsinventory.conf.template
Normal file
@ -0,0 +1,51 @@
|
||||
##
|
||||
# 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;
|
||||
}
|
||||
}
|
||||
2678
2.12.1/sql/ocsbase.sql
Normal file
2678
2.12.1/sql/ocsbase.sql
Normal file
File diff suppressed because one or more lines are too long
74
2.12.2/Dockerfile
Normal file
74
2.12.2/Dockerfile
Normal file
@ -0,0 +1,74 @@
|
||||
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"]
|
||||
34
2.12.2/conf/dbconfig.inc.php
Normal file
34
2.12.2/conf/dbconfig.inc.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?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");
|
||||
?>
|
||||
120
2.12.2/conf/ocsinventory-reports.conf
Normal file
120
2.12.2/conf/ocsinventory-reports.conf
Normal file
@ -0,0 +1,120 @@
|
||||
################################################################################
|
||||
#
|
||||
# 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
|
||||
23
2.12.2/conf/ocsinventory-restapi.conf
Normal file
23
2.12.2/conf/ocsinventory-restapi.conf
Normal file
@ -0,0 +1,23 @@
|
||||
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>
|
||||
391
2.12.2/conf/ocsinventory-server.conf
Normal file
391
2.12.2/conf/ocsinventory-server.conf
Normal file
@ -0,0 +1,391 @@
|
||||
################################################################################
|
||||
#
|
||||
# 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>
|
||||
87
2.12.2/docker-compose.yml
Normal file
87
2.12.2/docker-compose.yml
Normal file
@ -0,0 +1,87 @@
|
||||
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:
|
||||
17
2.12.2/docker-entrypoint.d/01-start.sh
Normal file
17
2.12.2/docker-entrypoint.d/01-start.sh
Normal file
@ -0,0 +1,17 @@
|
||||
#!/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
|
||||
49
2.12.2/docker-entrypoint.d/10-com-server.sh
Normal file
49
2.12.2/docker-entrypoint.d/10-com-server.sh
Normal file
@ -0,0 +1,49 @@
|
||||
#!/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
|
||||
57
2.12.2/docker-entrypoint.d/20-web-console.sh
Normal file
57
2.12.2/docker-entrypoint.d/20-web-console.sh
Normal file
@ -0,0 +1,57 @@
|
||||
#!/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
|
||||
32
2.12.2/docker-entrypoint.d/30-api-server.sh
Normal file
32
2.12.2/docker-entrypoint.d/30-api-server.sh
Normal file
@ -0,0 +1,32 @@
|
||||
#!/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
|
||||
35
2.12.2/docker-entrypoint.d/99-finish.sh
Normal file
35
2.12.2/docker-entrypoint.d/99-finish.sh
Normal file
@ -0,0 +1,35 @@
|
||||
#!/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
|
||||
35
2.12.2/docker-entrypoint.sh
Executable file
35
2.12.2/docker-entrypoint.sh
Executable file
@ -0,0 +1,35 @@
|
||||
#!/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
2.12.2/nginx/auth/ocsapi.htpasswd
Normal file
1
2.12.2/nginx/auth/ocsapi.htpasswd
Normal file
@ -0,0 +1 @@
|
||||
ocsapi:$apr1$BcAk5f/A$0O5c/DSy92/o.vpwwshWQ.
|
||||
22
2.12.2/nginx/certs/ocs-dummy.crt
Normal file
22
2.12.2/nginx/certs/ocs-dummy.crt
Normal file
@ -0,0 +1,22 @@
|
||||
-----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-----
|
||||
28
2.12.2/nginx/certs/ocs-dummy.key
Normal file
28
2.12.2/nginx/certs/ocs-dummy.key
Normal file
@ -0,0 +1,28 @@
|
||||
-----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-----
|
||||
51
2.12.2/nginx/conf/ocsinventory.conf.template
Normal file
51
2.12.2/nginx/conf/ocsinventory.conf.template
Normal file
@ -0,0 +1,51 @@
|
||||
##
|
||||
# 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;
|
||||
}
|
||||
}
|
||||
2980
2.12.2/sql/ocsbase.sql
Normal file
2980
2.12.2/sql/ocsbase.sql
Normal file
File diff suppressed because one or more lines are too long
74
2.12.3/Dockerfile
Normal file
74
2.12.3/Dockerfile
Normal file
@ -0,0 +1,74 @@
|
||||
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"]
|
||||
34
2.12.3/conf/dbconfig.inc.php
Normal file
34
2.12.3/conf/dbconfig.inc.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?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");
|
||||
?>
|
||||
120
2.12.3/conf/ocsinventory-reports.conf
Normal file
120
2.12.3/conf/ocsinventory-reports.conf
Normal file
@ -0,0 +1,120 @@
|
||||
################################################################################
|
||||
#
|
||||
# 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
|
||||
23
2.12.3/conf/ocsinventory-restapi.conf
Normal file
23
2.12.3/conf/ocsinventory-restapi.conf
Normal file
@ -0,0 +1,23 @@
|
||||
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>
|
||||
391
2.12.3/conf/ocsinventory-server.conf
Normal file
391
2.12.3/conf/ocsinventory-server.conf
Normal file
@ -0,0 +1,391 @@
|
||||
################################################################################
|
||||
#
|
||||
# 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>
|
||||
95
2.12.3/docker-compose.yml
Normal file
95
2.12.3/docker-compose.yml
Normal file
@ -0,0 +1,95 @@
|
||||
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:
|
||||
17
2.12.3/docker-entrypoint.d/01-start.sh
Normal file
17
2.12.3/docker-entrypoint.d/01-start.sh
Normal file
@ -0,0 +1,17 @@
|
||||
#!/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
|
||||
52
2.12.3/docker-entrypoint.d/10-com-server.sh
Normal file
52
2.12.3/docker-entrypoint.d/10-com-server.sh
Normal file
@ -0,0 +1,52 @@
|
||||
#!/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
|
||||
57
2.12.3/docker-entrypoint.d/20-web-console.sh
Normal file
57
2.12.3/docker-entrypoint.d/20-web-console.sh
Normal file
@ -0,0 +1,57 @@
|
||||
#!/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
|
||||
11
2.12.3/docker-entrypoint.d/21-ajust-authtype.sh
Normal file
11
2.12.3/docker-entrypoint.d/21-ajust-authtype.sh
Normal file
@ -0,0 +1,11 @@
|
||||
#!/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
|
||||
32
2.12.3/docker-entrypoint.d/30-api-server.sh
Normal file
32
2.12.3/docker-entrypoint.d/30-api-server.sh
Normal file
@ -0,0 +1,32 @@
|
||||
#!/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
|
||||
35
2.12.3/docker-entrypoint.d/99-finish.sh
Normal file
35
2.12.3/docker-entrypoint.d/99-finish.sh
Normal file
@ -0,0 +1,35 @@
|
||||
#!/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
|
||||
35
2.12.3/docker-entrypoint.sh
Executable file
35
2.12.3/docker-entrypoint.sh
Executable file
@ -0,0 +1,35 @@
|
||||
#!/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
2.12.3/nginx/auth/ocsapi.htpasswd
Normal file
1
2.12.3/nginx/auth/ocsapi.htpasswd
Normal file
@ -0,0 +1 @@
|
||||
ocsapi:$apr1$BcAk5f/A$0O5c/DSy92/o.vpwwshWQ.
|
||||
22
2.12.3/nginx/certs/ocs-dummy.crt
Normal file
22
2.12.3/nginx/certs/ocs-dummy.crt
Normal file
@ -0,0 +1,22 @@
|
||||
-----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-----
|
||||
28
2.12.3/nginx/certs/ocs-dummy.key
Normal file
28
2.12.3/nginx/certs/ocs-dummy.key
Normal file
@ -0,0 +1,28 @@
|
||||
-----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-----
|
||||
51
2.12.3/nginx/conf/ocsinventory.conf.template
Normal file
51
2.12.3/nginx/conf/ocsinventory.conf.template
Normal file
@ -0,0 +1,51 @@
|
||||
##
|
||||
# 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;
|
||||
}
|
||||
}
|
||||
2980
2.12.3/sql/ocsbase.sql
Normal file
2980
2.12.3/sql/ocsbase.sql
Normal file
File diff suppressed because one or more lines are too long
74
2.12/Dockerfile
Normal file
74
2.12/Dockerfile
Normal file
@ -0,0 +1,74 @@
|
||||
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"]
|
||||
34
2.12/conf/dbconfig.inc.php
Normal file
34
2.12/conf/dbconfig.inc.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?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");
|
||||
?>
|
||||
120
2.12/conf/ocsinventory-reports.conf
Normal file
120
2.12/conf/ocsinventory-reports.conf
Normal file
@ -0,0 +1,120 @@
|
||||
################################################################################
|
||||
#
|
||||
# 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
|
||||
23
2.12/conf/ocsinventory-restapi.conf
Normal file
23
2.12/conf/ocsinventory-restapi.conf
Normal file
@ -0,0 +1,23 @@
|
||||
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>
|
||||
383
2.12/conf/ocsinventory-server.conf
Normal file
383
2.12/conf/ocsinventory-server.conf
Normal file
@ -0,0 +1,383 @@
|
||||
################################################################################
|
||||
#
|
||||
# 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>
|
||||
85
2.12/docker-compose.yml
Normal file
85
2.12/docker-compose.yml
Normal file
@ -0,0 +1,85 @@
|
||||
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:
|
||||
|
||||
17
2.12/docker-entrypoint.d/01-start.sh
Normal file
17
2.12/docker-entrypoint.d/01-start.sh
Normal file
@ -0,0 +1,17 @@
|
||||
#!/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
|
||||
48
2.12/docker-entrypoint.d/10-com-server.sh
Normal file
48
2.12/docker-entrypoint.d/10-com-server.sh
Normal file
@ -0,0 +1,48 @@
|
||||
#!/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
|
||||
57
2.12/docker-entrypoint.d/20-web-console.sh
Normal file
57
2.12/docker-entrypoint.d/20-web-console.sh
Normal file
@ -0,0 +1,57 @@
|
||||
#!/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
|
||||
32
2.12/docker-entrypoint.d/30-api-server.sh
Normal file
32
2.12/docker-entrypoint.d/30-api-server.sh
Normal file
@ -0,0 +1,32 @@
|
||||
#!/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
|
||||
35
2.12/docker-entrypoint.d/99-finish.sh
Normal file
35
2.12/docker-entrypoint.d/99-finish.sh
Normal file
@ -0,0 +1,35 @@
|
||||
#!/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
|
||||
35
2.12/docker-entrypoint.sh
Executable file
35
2.12/docker-entrypoint.sh
Executable file
@ -0,0 +1,35 @@
|
||||
#!/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 "$@"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user