Browse Source

moved to library/debian:stretch; updated to zabbix 4.0

tags/v1.3.0
Robin Thoni 1 year ago
parent
commit
b933e85191
5 changed files with 16630 additions and 14488 deletions
  1. 14
    12
      frontend/Dockerfile
  2. 101
    171
      frontend/php.ini
  3. 16510
    14300
      postgresql/docker-entrypoint-initdb.d/01_init.sql
  4. 4
    4
      zabbix/Dockerfile
  5. 1
    1
      zabbix/zabbix_server.conf

+ 14
- 12
frontend/Dockerfile View File

@@ -1,4 +1,6 @@
1
-FROM robinthoni/debian-multiarch:jessie
1
+ARG DEBIAN_VERSION=stretch
2
+
3
+FROM debian:${DEBIAN_VERSION}
2 4
 
3 5
 # FROM https://github.com/ZHAJOR/Docker-Apache-2.4-Php-5.6-for-Laravel
4 6
 MAINTAINER Robin Thoni <robin@rthoni.com>
@@ -7,22 +9,22 @@ RUN apt-get update && apt-get -y install\
7 9
         wget &&\
8 10
         apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
9 11
 
10
-ARG ZABBIX_VERSION=3.4
12
+ARG ZABBIX_VERSION=4.0
11 13
 
12
-RUN wget http://repo.zabbix.com/zabbix/${ZABBIX_VERSION}/debian/pool/main/z/zabbix-release/zabbix-release_${ZABBIX_VERSION}-1+jessie_all.deb -O /tmp/zabbix.deb &&\
14
+RUN wget http://repo.zabbix.com/zabbix/${ZABBIX_VERSION}/$(grep -E '^ID=' /etc/os-release | cut -d= -f2)/pool/main/z/zabbix-release/zabbix-release_${ZABBIX_VERSION}-1+stretch_all.deb -O /tmp/zabbix.deb &&\
13 15
     dpkg -i /tmp/zabbix.deb
14 16
 
15 17
 RUN apt-get update && apt-get -y install\
16 18
         zabbix-frontend-php\
17 19
         apache2=2.4.*\
18
-        libapache2-mod-php5\
19
-        php5\
20
-        php5-mcrypt\
21
-        php5-pgsql\
22
-        php5-mysql\
23
-        php5-gd\
24
-        php5-curl\
25
-        php5-imap &&\
20
+        libapache2-mod-php\
21
+        php\
22
+        php-mcrypt\
23
+        php-pgsql\
24
+        php-mysql\
25
+        php-gd\
26
+        php-curl\
27
+        php-imap &&\
26 28
         apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
27 29
 
28 30
 RUN /usr/sbin/a2enmod rewrite &&\
@@ -40,7 +42,7 @@ COPY apache2.conf /etc/apache2/apache2.conf
40 42
 
41 43
 COPY zabbix.conf.php /etc/zabbix/web/zabbix.conf.php
42 44
 
43
-COPY php.ini /etc/php5/apache2/php.ini
45
+COPY php.ini /etc/php/7.0/apache2/php.ini
44 46
 
45 47
 COPY ./vars-vars /etc/vars-vars
46 48
 

+ 101
- 171
frontend/php.ini View File

@@ -201,10 +201,6 @@ engine = On
201 201
 ; http://php.net/short-open-tag
202 202
 short_open_tag = Off
203 203
 
204
-; Allow ASP-style <% %> tags.
205
-; http://php.net/asp-tags
206
-asp_tags = Off
207
-
208 204
 ; The number of significant digits displayed in floating point numbers.
209 205
 ; http://php.net/precision
210 206
 precision = 14
@@ -300,7 +296,7 @@ serialize_precision = 17
300 296
 ; This directive allows you to disable certain functions for security reasons.
301 297
 ; It receives a comma-delimited list of function names.
302 298
 ; http://php.net/disable-functions
303
-disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
299
+disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
304 300
 
305 301
 ; This directive allows you to disable certain classes for security reasons.
306 302
 ; It receives a comma-delimited list of class names.
@@ -327,7 +323,7 @@ disable_classes =
327 323
 ; be increased on systems where PHP opens many files to reflect the quantity of
328 324
 ; the file operations performed.
329 325
 ; http://php.net/realpath-cache-size
330
-;realpath_cache_size = 16k
326
+;realpath_cache_size = 4096k
331 327
 
332 328
 ; Duration of time, in seconds for which to cache realpath information for a given
333 329
 ; file or directory. For systems with rarely changing files, consider increasing this
@@ -694,13 +690,6 @@ default_charset = "UTF-8"
694 690
 ; http://php.net/output-encoding
695 691
 ;output_encoding =
696 692
 
697
-; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is
698
-; to disable this feature and it will be removed in a future version.
699
-; If post reading is disabled through enable_post_data_reading,
700
-; $HTTP_RAW_POST_DATA is *NOT* populated.
701
-; http://php.net/always-populate-raw-post-data
702
-always_populate_raw_post_data = -1
703
-
704 693
 ;;;;;;;;;;;;;;;;;;;;;;;;;
705 694
 ; Paths and Directories ;
706 695
 ;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -879,6 +868,47 @@ default_socket_timeout = 60
879 868
 ; If you only provide the name of the extension, PHP will look for it in its
880 869
 ; default extension directory.
881 870
 ;
871
+; Windows Extensions
872
+; Note that ODBC support is built in, so no dll is needed for it.
873
+; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+)
874
+; extension folders as well as the separate PECL DLL download (PHP 5+).
875
+; Be sure to appropriately set the extension_dir directive.
876
+;
877
+;extension=php_bz2.dll
878
+;extension=php_curl.dll
879
+;extension=php_fileinfo.dll
880
+;extension=php_ftp.dll
881
+;extension=php_gd2.dll
882
+;extension=php_gettext.dll
883
+;extension=php_gmp.dll
884
+;extension=php_intl.dll
885
+;extension=php_imap.dll
886
+;extension=php_interbase.dll
887
+;extension=php_ldap.dll
888
+;extension=php_mbstring.dll
889
+;extension=php_exif.dll      ; Must be after mbstring as it depends on it
890
+;extension=php_mysqli.dll
891
+;extension=php_oci8_12c.dll  ; Use with Oracle Database 12c Instant Client
892
+;extension=php_openssl.dll
893
+;extension=php_pdo_firebird.dll
894
+;extension=php_pdo_mysql.dll
895
+;extension=php_pdo_oci.dll
896
+;extension=php_pdo_odbc.dll
897
+;extension=php_pdo_pgsql.dll
898
+;extension=php_pdo_sqlite.dll
899
+;extension=php_pgsql.dll
900
+;extension=php_shmop.dll
901
+
902
+; The MIBS data available in the PHP distribution must be installed.
903
+; See http://www.php.net/manual/en/snmp.installation.php
904
+;extension=php_snmp.dll
905
+
906
+;extension=php_soap.dll
907
+;extension=php_sockets.dll
908
+;extension=php_sqlite3.dll
909
+;extension=php_tidy.dll
910
+;extension=php_xmlrpc.dll
911
+;extension=php_xsl.dll
882 912
 
883 913
 ;;;;;;;;;;;;;;;;;;;
884 914
 ; Module Settings ;
@@ -891,7 +921,7 @@ cli_server.color = On
891 921
 [Date]
892 922
 ; Defines the default timezone used by the date functions
893 923
 ; http://php.net/date.timezone
894
-date.timezone = 'Europe/Paris'
924
+date.timezone = "Europe/Paris"
895 925
 
896 926
 ; http://php.net/date.default-latitude
897 927
 ;date.default_latitude = 31.7667
@@ -953,6 +983,10 @@ date.timezone = 'Europe/Paris'
953 983
 ; http://php.net/pcre.recursion-limit
954 984
 ;pcre.recursion_limit=100000
955 985
 
986
+;Enables or disables JIT compilation of patterns. This requires the PCRE
987
+;library to be compiled with JIT support.
988
+;pcre.jit=1
989
+
956 990
 [Pdo]
957 991
 ; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"
958 992
 ; http://php.net/pdo-odbc.connection-pooling
@@ -1086,64 +1120,6 @@ ibase.dateformat = "%Y-%m-%d"
1086 1120
 ; Default time format.
1087 1121
 ibase.timeformat = "%H:%M:%S"
1088 1122
 
1089
-[MySQL]
1090
-; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
1091
-; http://php.net/mysql.allow_local_infile
1092
-mysql.allow_local_infile = On
1093
-
1094
-; Allow or prevent persistent links.
1095
-; http://php.net/mysql.allow-persistent
1096
-mysql.allow_persistent = On
1097
-
1098
-; If mysqlnd is used: Number of cache slots for the internal result set cache
1099
-; http://php.net/mysql.cache_size
1100
-mysql.cache_size = 2000
1101
-
1102
-; Maximum number of persistent links.  -1 means no limit.
1103
-; http://php.net/mysql.max-persistent
1104
-mysql.max_persistent = -1
1105
-
1106
-; Maximum number of links (persistent + non-persistent).  -1 means no limit.
1107
-; http://php.net/mysql.max-links
1108
-mysql.max_links = -1
1109
-
1110
-; Default port number for mysql_connect().  If unset, mysql_connect() will use
1111
-; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
1112
-; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
1113
-; at MYSQL_PORT.
1114
-; http://php.net/mysql.default-port
1115
-mysql.default_port =
1116
-
1117
-; Default socket name for local MySQL connects.  If empty, uses the built-in
1118
-; MySQL defaults.
1119
-; http://php.net/mysql.default-socket
1120
-mysql.default_socket =
1121
-
1122
-; Default host for mysql_connect() (doesn't apply in safe mode).
1123
-; http://php.net/mysql.default-host
1124
-mysql.default_host =
1125
-
1126
-; Default user for mysql_connect() (doesn't apply in safe mode).
1127
-; http://php.net/mysql.default-user
1128
-mysql.default_user =
1129
-
1130
-; Default password for mysql_connect() (doesn't apply in safe mode).
1131
-; Note that this is generally a *bad* idea to store passwords in this file.
1132
-; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
1133
-; and reveal this password!  And of course, any users with read access to this
1134
-; file will be able to reveal the password as well.
1135
-; http://php.net/mysql.default-password
1136
-mysql.default_password =
1137
-
1138
-; Maximum time (in seconds) for connect timeout. -1 means no limit
1139
-; http://php.net/mysql.connect-timeout
1140
-mysql.connect_timeout = 60
1141
-
1142
-; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
1143
-; SQL-Errors will be displayed.
1144
-; http://php.net/mysql.trace-mode
1145
-mysql.trace_mode = Off
1146
-
1147 1123
 [MySQLi]
1148 1124
 
1149 1125
 ; Maximum number of persistent links.  -1 means no limit.
@@ -1320,45 +1296,6 @@ pgsql.ignore_notice = 0
1320 1296
 ; http://php.net/pgsql.log-notice
1321 1297
 pgsql.log_notice = 0
1322 1298
 
1323
-[Sybase-CT]
1324
-; Allow or prevent persistent links.
1325
-; http://php.net/sybct.allow-persistent
1326
-sybct.allow_persistent = On
1327
-
1328
-; Maximum number of persistent links.  -1 means no limit.
1329
-; http://php.net/sybct.max-persistent
1330
-sybct.max_persistent = -1
1331
-
1332
-; Maximum number of links (persistent + non-persistent).  -1 means no limit.
1333
-; http://php.net/sybct.max-links
1334
-sybct.max_links = -1
1335
-
1336
-; Minimum server message severity to display.
1337
-; http://php.net/sybct.min-server-severity
1338
-sybct.min_server_severity = 10
1339
-
1340
-; Minimum client message severity to display.
1341
-; http://php.net/sybct.min-client-severity
1342
-sybct.min_client_severity = 10
1343
-
1344
-; Set per-context timeout
1345
-; http://php.net/sybct.timeout
1346
-;sybct.timeout=
1347
-
1348
-;sybct.packet_size
1349
-
1350
-; The maximum time in seconds to wait for a connection attempt to succeed before returning failure.
1351
-; Default: one minute
1352
-;sybct.login_timeout=
1353
-
1354
-; The name of the host you claim to be connecting from, for display by sp_who.
1355
-; Default: none
1356
-;sybct.hostname=
1357
-
1358
-; Allows you to define how often deadlocks are to be retried. -1 means "forever".
1359
-; Default: 0
1360
-;sybct.deadlock_retry_count=
1361
-
1362 1299
 [bcmath]
1363 1300
 ; Number of decimal digits for all bcmath functions.
1364 1301
 ; http://php.net/bcmath.scale
@@ -1400,7 +1337,7 @@ session.save_handler = files
1400 1337
 ; where MODE is the octal representation of the mode. Note that this
1401 1338
 ; does not overwrite the process's umask.
1402 1339
 ; http://php.net/session.save-path
1403
-;session.save_path = "/var/lib/php5/sessions"
1340
+;session.save_path = "/var/lib/php/sessions"
1404 1341
 
1405 1342
 ; Whether to use strict session mode.
1406 1343
 ; Strict session mode does not accept uninitialized session ID and regenerate
@@ -1609,64 +1546,31 @@ url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
1609 1546
 ; http://php.net/session.upload-progress.min-freq
1610 1547
 ;session.upload_progress.min_freq = "1"
1611 1548
 
1612
-[MSSQL]
1613
-; Allow or prevent persistent links.
1614
-mssql.allow_persistent = On
1615
-
1616
-; Maximum number of persistent links.  -1 means no limit.
1617
-mssql.max_persistent = -1
1618
-
1619
-; Maximum number of links (persistent+non persistent).  -1 means no limit.
1620
-mssql.max_links = -1
1621
-
1622
-; Minimum error severity to display.
1623
-mssql.min_error_severity = 10
1624
-
1625
-; Minimum message severity to display.
1626
-mssql.min_message_severity = 10
1627
-
1628
-; Compatibility mode with old versions of PHP 3.0.
1629
-mssql.compatibility_mode = Off
1630
-
1631
-; Connect timeout
1632
-;mssql.connect_timeout = 5
1633
-
1634
-; Query timeout
1635
-;mssql.timeout = 60
1636
-
1637
-; Valid range 0 - 2147483647.  Default = 4096.
1638
-;mssql.textlimit = 4096
1639
-
1640
-; Valid range 0 - 2147483647.  Default = 4096.
1641
-;mssql.textsize = 4096
1642
-
1643
-; Limits the number of records in each batch.  0 = all records in one batch.
1644
-;mssql.batchsize = 0
1645
-
1646
-; Specify how datetime and datetim4 columns are returned
1647
-; On => Returns data converted to SQL server settings
1648
-; Off => Returns values as YYYY-MM-DD hh:mm:ss
1649
-;mssql.datetimeconvert = On
1650
-
1651
-; Use NT authentication when connecting to the server
1652
-mssql.secure_connection = Off
1653
-
1654
-; Specify max number of processes. -1 = library default
1655
-; msdlib defaults to 25
1656
-; FreeTDS defaults to 4096
1657
-;mssql.max_procs = -1
1658
-
1659
-; Specify client character set.
1660
-; If empty or not set the client charset from freetds.conf is used
1661
-; This is only used when compiled with FreeTDS
1662
-;mssql.charset = "ISO-8859-1"
1549
+; Only write session data when session data is changed. Enabled by default.
1550
+; http://php.net/session.lazy-write
1551
+;session.lazy_write = On
1663 1552
 
1664 1553
 [Assertion]
1554
+; Switch whether to compile assertions at all (to have no overhead at run-time)
1555
+; -1: Do not compile at all
1556
+;  0: Jump over assertion at run-time
1557
+;  1: Execute assertions
1558
+; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1)
1559
+; Default Value: 1
1560
+; Development Value: 1
1561
+; Production Value: -1
1562
+; http://php.net/zend.assertions
1563
+zend.assertions = -1
1564
+
1665 1565
 ; Assert(expr); active by default.
1666 1566
 ; http://php.net/assert.active
1667 1567
 ;assert.active = On
1668 1568
 
1669
-; Issue a PHP warning for each failed assertion.
1569
+; Throw an AssertationException on failed assertions
1570
+; http://php.net/assert.exception
1571
+;assert.exception = On
1572
+
1573
+; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active)
1670 1574
 ; http://php.net/assert.warning
1671 1575
 ;assert.warning = On
1672 1576
 
@@ -1710,7 +1614,7 @@ mssql.secure_connection = Off
1710 1614
 
1711 1615
 [mbstring]
1712 1616
 ; language for internal character representation.
1713
-; This affects mb_send_mail() and mbstrig.detect_order.
1617
+; This affects mb_send_mail() and mbstring.detect_order.
1714 1618
 ; http://php.net/mbstring.language
1715 1619
 ;mbstring.language = Japanese
1716 1620
 
@@ -1872,7 +1776,7 @@ ldap.max_links = -1
1872 1776
 ;opcache.interned_strings_buffer=4
1873 1777
 
1874 1778
 ; The maximum number of keys (scripts) in the OPcache hash table.
1875
-; Only numbers between 200 and 100000 are allowed.
1779
+; Only numbers between 200 and 1000000 are allowed.
1876 1780
 ;opcache.max_accelerated_files=2000
1877 1781
 
1878 1782
 ; The maximum percentage of "wasted" memory until a restart is scheduled.
@@ -1900,12 +1804,8 @@ ldap.max_links = -1
1900 1804
 ; size of the optimized code.
1901 1805
 ;opcache.save_comments=1
1902 1806
 
1903
-; If disabled, PHPDoc comments are not loaded from SHM, so "Doc Comments"
1904
-; may be always stored (save_comments=1), but not loaded by applications
1905
-; that don't need them anyway.
1906
-;opcache.load_comments=1
1907
-
1908 1807
 ; If enabled, a fast shutdown sequence is used for the accelerated code
1808
+; Depending on the used Memory Manager this may cause some incompatibilities.
1909 1809
 ;opcache.fast_shutdown=0
1910 1810
 
1911 1811
 ; Allow file existence override (file_exists, etc.) performance feature.
@@ -1954,6 +1854,36 @@ ldap.max_links = -1
1954 1854
 ; Useful for internal debugging only.
1955 1855
 ;opcache.protect_memory=0
1956 1856
 
1857
+; Allows calling OPcache API functions only from PHP scripts which path is
1858
+; started from specified string. The default "" means no restriction
1859
+;opcache.restrict_api=
1860
+
1861
+; Mapping base of shared memory segments (for Windows only). All the PHP
1862
+; processes have to map shared memory into the same address space. This
1863
+; directive allows to manually fix the "Unable to reattach to base address"
1864
+; errors.
1865
+;opcache.mmap_base=
1866
+
1867
+; Enables and sets the second level cache directory.
1868
+; It should improve performance when SHM memory is full, at server restart or
1869
+; SHM reset. The default "" disables file based caching.
1870
+;opcache.file_cache=
1871
+
1872
+; Enables or disables opcode caching in shared memory.
1873
+;opcache.file_cache_only=0
1874
+
1875
+; Enables or disables checksum validation when script loaded from file cache.
1876
+;opcache.file_cache_consistency_checks=1
1877
+
1878
+; Implies opcache.file_cache_only=1 for a certain process that failed to
1879
+; reattach to the shared memory (for Windows only). Explicitly enabled file
1880
+; cache is required.
1881
+;opcache.file_cache_fallback=1
1882
+
1883
+; Enables or disables copying of PHP code (text segment) into HUGE PAGES.
1884
+; This should improve performance, but requires appropriate OS configuration.
1885
+;opcache.huge_code_pages=1
1886
+
1957 1887
 ; Validate cached file permissions.
1958 1888
 ; opcache.validate_permission=0
1959 1889
 

+ 16510
- 14300
postgresql/docker-entrypoint-initdb.d/01_init.sql
File diff suppressed because it is too large
View File


+ 4
- 4
zabbix/Dockerfile View File

@@ -1,4 +1,4 @@
1
-FROM robinthoni/debian-multiarch:jessie
1
+FROM debian:stretch
2 2
 
3 3
 MAINTAINER Robin Thoni <robin@rthoni.com>
4 4
 
@@ -6,15 +6,15 @@ RUN apt-get update && apt-get -y install\
6 6
         wget &&\
7 7
         apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
8 8
 
9
-ARG ZABBIX_VERSION=3.4
9
+ARG ZABBIX_VERSION=4.0
10 10
 
11 11
 RUN sed -i 's/main/main non-free/' /etc/apt/sources.list
12 12
 
13
-RUN wget http://repo.zabbix.com/zabbix/${ZABBIX_VERSION}/debian/pool/main/z/zabbix-release/zabbix-release_${ZABBIX_VERSION}-1+jessie_all.deb -O /tmp/zabbix.deb &&\
13
+RUN wget http://repo.zabbix.com/zabbix/${ZABBIX_VERSION}/$(grep -E '^ID=' /etc/os-release | cut -d= -f2)/pool/main/z/zabbix-release/zabbix-release_${ZABBIX_VERSION}-1+stretch_all.deb -O /tmp/zabbix.deb &&\
14 14
     dpkg -i /tmp/zabbix.deb
15 15
 
16 16
 RUN apt-get update && apt-get -y install\
17
-        zabbix-server-pgsql zabbix-get snmp snmp-mibs-downloader\
17
+        zabbix-server-pgsql zabbix-get snmp snmp-mibs-downloader snmptrapd\
18 18
         snmp &&\
19 19
         apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
20 20
 

+ 1
- 1
zabbix/zabbix_server.conf View File

@@ -335,7 +335,7 @@ SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
335 335
 # Mandatory: no
336 336
 # Range: 0-1
337 337
 # Default:
338
-# StartSNMPTrapper=0
338
+StartSNMPTrapper=1
339 339
 
340 340
 ### Option: ListenIP
341 341
 #	List of comma delimited IP addresses that the trapper should listen on.

Loading…
Cancel
Save