├── etc ├── nginx │ ├── bx │ │ ├── conf │ │ │ ├── blank.conf │ │ │ ├── bitrix_scale.conf │ │ │ ├── http-add_header.conf │ │ │ ├── general-add_header.conf │ │ │ ├── push-im_settings.conf │ │ │ ├── errors.conf │ │ │ ├── bitrix_block.conf │ │ │ ├── im_subscrider.conf │ │ │ ├── push-im_subscrider.conf │ │ │ ├── bitrix.conf │ │ │ ├── ssl.conf │ │ │ └── bitrix_general.conf │ │ ├── server_monitor.conf │ │ ├── site_enabled │ │ │ ├── s1.conf │ │ │ ├── push.conf │ │ │ └── ssl.s1.conf │ │ ├── maps │ │ │ ├── common_variables.conf │ │ │ └── composite_settings.conf │ │ ├── settings │ │ │ └── im_settings.conf │ │ └── site_avaliable │ │ │ ├── s1.conf │ │ │ ├── ssl.s1.conf │ │ │ └── push.conf │ ├── ssl │ │ ├── dhparam.pem │ │ └── cert.pem │ ├── conf.d │ │ ├── example_ssl.conf │ │ └── default.conf │ ├── nginx.conf │ └── mime.types ├── httpd │ ├── bx │ │ ├── custom │ │ │ └── z_bx_custom.conf │ │ └── conf │ │ │ ├── mod_geoip.conf │ │ │ ├── prefork.conf │ │ │ ├── mod_rpaf.conf │ │ │ ├── php.conf │ │ │ └── default.conf │ ├── bx-scale │ │ ├── conf │ │ │ ├── mod_geoip.conf │ │ │ ├── 00-environment.conf │ │ │ ├── prefork.conf │ │ │ ├── mod_rpaf.conf │ │ │ ├── php.conf │ │ │ └── default.conf │ │ ├── httpd-scale.service │ │ └── httpd-scale │ └── conf │ │ ├── httpd-scale.conf │ │ ├── httpd.conf │ │ └── magic ├── cron.d │ └── crontab ├── php.d │ └── bitrixenv.ini └── php.ini ├── www ├── images │ ├── 01.png │ ├── dump.png │ ├── dump_ru.png │ ├── bottom_fill.gif │ ├── red_progress.gif │ ├── blue_progress.gif │ ├── top_line_fill.gif │ ├── button_create_de.gif │ ├── button_create_en.gif │ ├── button_create_ru.gif │ ├── button_restore_de.gif │ ├── button_restore_en.gif │ ├── button_restore_ru.gif │ ├── corner_top_left.gif │ ├── corner_top_right.gif │ ├── logo_installer_de.gif │ ├── logo_installer_en.gif │ ├── logo_installer_ru.gif │ ├── corner_bottom_left.gif │ └── corner_bottom_right.gif ├── restore.php ├── bitrix │ ├── php_interface │ │ ├── after_connect.php │ │ ├── after_connect_d7.php │ │ └── dbconn.php │ └── .settings.php └── 500.html ├── usr ├── share │ └── GeoIP │ │ ├── GeoIP.dat │ │ ├── GeoIPv6.dat │ │ ├── GeoIP-initial.dat │ │ └── GeoIPv6-initial.dat └── lib │ └── systemd │ └── system │ └── nginx.service ├── docs ├── assets │ └── bitrix24-docker-logo.png ├── 02-phpmyadmin-setup.md └── 01-install-step-by-step.md ├── LICENSE ├── README.md └── Dockerfile /etc/nginx/bx/conf/blank.conf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /etc/nginx/bx/server_monitor.conf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /etc/nginx/bx/site_enabled/s1.conf: -------------------------------------------------------------------------------- 1 | ../site_avaliable/s1.conf -------------------------------------------------------------------------------- /etc/nginx/bx/site_enabled/push.conf: -------------------------------------------------------------------------------- 1 | ../site_avaliable/push.conf -------------------------------------------------------------------------------- /etc/nginx/bx/site_enabled/ssl.s1.conf: -------------------------------------------------------------------------------- 1 | ../site_avaliable/ssl.s1.conf -------------------------------------------------------------------------------- /etc/httpd/bx/custom/z_bx_custom.conf: -------------------------------------------------------------------------------- 1 | # 2 | # Define custom settings 3 | # -------------------------------------------------------------------------------- /www/images/01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/www/images/01.png -------------------------------------------------------------------------------- /www/restore.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/www/restore.php -------------------------------------------------------------------------------- /www/images/dump.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/www/images/dump.png -------------------------------------------------------------------------------- /www/images/dump_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/www/images/dump_ru.png -------------------------------------------------------------------------------- /usr/share/GeoIP/GeoIP.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/usr/share/GeoIP/GeoIP.dat -------------------------------------------------------------------------------- /usr/share/GeoIP/GeoIPv6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/usr/share/GeoIP/GeoIPv6.dat -------------------------------------------------------------------------------- /www/images/bottom_fill.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/www/images/bottom_fill.gif -------------------------------------------------------------------------------- /www/images/red_progress.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/www/images/red_progress.gif -------------------------------------------------------------------------------- /www/images/blue_progress.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/www/images/blue_progress.gif -------------------------------------------------------------------------------- /www/images/top_line_fill.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/www/images/top_line_fill.gif -------------------------------------------------------------------------------- /www/images/button_create_de.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/www/images/button_create_de.gif -------------------------------------------------------------------------------- /www/images/button_create_en.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/www/images/button_create_en.gif -------------------------------------------------------------------------------- /www/images/button_create_ru.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/www/images/button_create_ru.gif -------------------------------------------------------------------------------- /www/images/button_restore_de.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/www/images/button_restore_de.gif -------------------------------------------------------------------------------- /www/images/button_restore_en.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/www/images/button_restore_en.gif -------------------------------------------------------------------------------- /www/images/button_restore_ru.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/www/images/button_restore_ru.gif -------------------------------------------------------------------------------- /www/images/corner_top_left.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/www/images/corner_top_left.gif -------------------------------------------------------------------------------- /www/images/corner_top_right.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/www/images/corner_top_right.gif -------------------------------------------------------------------------------- /www/images/logo_installer_de.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/www/images/logo_installer_de.gif -------------------------------------------------------------------------------- /www/images/logo_installer_en.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/www/images/logo_installer_en.gif -------------------------------------------------------------------------------- /www/images/logo_installer_ru.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/www/images/logo_installer_ru.gif -------------------------------------------------------------------------------- /usr/share/GeoIP/GeoIP-initial.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/usr/share/GeoIP/GeoIP-initial.dat -------------------------------------------------------------------------------- /www/images/corner_bottom_left.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/www/images/corner_bottom_left.gif -------------------------------------------------------------------------------- /www/images/corner_bottom_right.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/www/images/corner_bottom_right.gif -------------------------------------------------------------------------------- /docs/assets/bitrix24-docker-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/docs/assets/bitrix24-docker-logo.png -------------------------------------------------------------------------------- /etc/nginx/bx/conf/bitrix_scale.conf: -------------------------------------------------------------------------------- 1 | location ~* ^/bitrix/admin/scale_.+\.php$ { 2 | proxy_pass http://127.0.0.1:9887; 3 | } 4 | -------------------------------------------------------------------------------- /etc/nginx/bx/conf/http-add_header.conf: -------------------------------------------------------------------------------- 1 | add_header "X-Content-Type-Options" "nosniff"; 2 | add_header X-Frame-Options SAMEORIGIN; 3 | -------------------------------------------------------------------------------- /usr/share/GeoIP/GeoIPv6-initial.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akopdev/bitrix24-docker/HEAD/usr/share/GeoIP/GeoIPv6-initial.dat -------------------------------------------------------------------------------- /etc/nginx/bx/conf/general-add_header.conf: -------------------------------------------------------------------------------- 1 | add_header "X-Content-Type-Options" "nosniff"; 2 | add_header X-Frame-Options SAMEORIGIN; 3 | -------------------------------------------------------------------------------- /etc/httpd/bx/conf/mod_geoip.conf: -------------------------------------------------------------------------------- 1 | 2 | GeoIPEnable On 3 | GeoIPDBFile /usr/share/GeoIP/GeoIP.dat 4 | 5 | -------------------------------------------------------------------------------- /etc/httpd/bx-scale/conf/mod_geoip.conf: -------------------------------------------------------------------------------- 1 | 2 | GeoIPEnable On 3 | GeoIPDBFile /usr/share/GeoIP/GeoIP.dat 4 | 5 | -------------------------------------------------------------------------------- /www/bitrix/php_interface/after_connect.php: -------------------------------------------------------------------------------- 1 | Query("SET NAMES 'utf8'"); 3 | $DB->Query('SET collation_connection = "utf8_unicode_ci"'); -------------------------------------------------------------------------------- /etc/nginx/bx/maps/common_variables.conf: -------------------------------------------------------------------------------- 1 | # proxyserver 2 | map $host $proxyserver { 3 | default "http://127.0.0.1:8888"; 4 | } 5 | -------------------------------------------------------------------------------- /etc/httpd/bx-scale/conf/00-environment.conf: -------------------------------------------------------------------------------- 1 | # bitrix-env 2 | SetEnv BITRIX_VA_VER 7.3.0 3 | SetEnv BITRIX_ENV_TYPE general 4 | SetEnv AUTHBIND_UNAVAILABLE yes 5 | -------------------------------------------------------------------------------- /etc/httpd/bx-scale/conf/prefork.conf: -------------------------------------------------------------------------------- 1 | 2 | StartServers 4 3 | MinSpareServers 4 4 | MaxSpareServers 4 5 | MaxRequestWorkers 4 6 | MaxRequestsPerChild 5000 7 | 8 | -------------------------------------------------------------------------------- /www/bitrix/php_interface/after_connect_d7.php: -------------------------------------------------------------------------------- 1 | queryExecute("SET NAMES 'utf8'"); 4 | $connection->queryExecute('SET collation_connection = "utf8_unicode_ci"'); -------------------------------------------------------------------------------- /etc/httpd/bx/conf/prefork.conf: -------------------------------------------------------------------------------- 1 | # from bitrix_env 2 | # memory: 1024MB 3 | 4 | StartServers 6 5 | MinSpareServers 6 6 | MaxSpareServers 6 7 | MaxRequestWorkers 6 8 | MaxRequestsPerChild 5000 9 | 10 | -------------------------------------------------------------------------------- /etc/httpd/bx/conf/mod_rpaf.conf: -------------------------------------------------------------------------------- 1 | #LoadModule rpaf_module modules/mod_rpaf-2.0.so 2 | # 3 | # 4 | # RPAFenable On 5 | # RPAFproxy_ips 127.0.0.1 6 | # RPAFheader X-Real-IP 7 | # 8 | RemoteIPHeader X-Real-IP 9 | RemoteIPInternalProxy 127.0.0.1 10 | -------------------------------------------------------------------------------- /etc/httpd/bx-scale/conf/mod_rpaf.conf: -------------------------------------------------------------------------------- 1 | #LoadModule rpaf_module modules/mod_rpaf-2.0.so 2 | # 3 | # 4 | # RPAFenable On 5 | # RPAFproxy_ips 127.0.0.1 6 | # RPAFheader X-Real-IP 7 | # 8 | RemoteIPHeader X-Real-IP 9 | RemoteIPInternalProxy 127.0.0.1 10 | -------------------------------------------------------------------------------- /etc/nginx/bx/conf/push-im_settings.conf: -------------------------------------------------------------------------------- 1 | # Common settings for nginx-push-stream-module 2 | 3 | push_stream_shared_memory_size 256M; 4 | push_stream_max_messages_stored_per_channel 1000; 5 | push_stream_max_channel_id_length 32; 6 | push_stream_max_number_of_channels 100000; 7 | push_stream_message_ttl 86400; 8 | -------------------------------------------------------------------------------- /www/500.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Service is temporarily unavailable 4 | 5 | 6 |
7 |

Service is temporarily unavailable

8 | The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later. 9 | -------------------------------------------------------------------------------- /etc/nginx/bx/settings/im_settings.conf: -------------------------------------------------------------------------------- 1 | 2 | # Common settings for nginx-push-stream-module 3 | 4 | push_stream_shared_memory_size 256M; 5 | push_stream_max_messages_stored_per_channel 1000; 6 | push_stream_max_channel_id_length 32; 7 | push_stream_max_number_of_channels 100000; 8 | push_stream_message_ttl 86400; -------------------------------------------------------------------------------- /etc/nginx/ssl/dhparam.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN DH PARAMETERS----- 2 | MIIBCAKCAQEA7T6Sb4IdPGvUcUnG1J+U2jmic7Hbvx0jbLErGOK9QiZmgJsg3Sot 3 | v8NvBr0wYepbsXI8x0TTD4cNFJDCosS6tppbsBxT7xmxPpDQm6AlIdrt8dKALw/e 4 | PlgD2MbZYDw4Dpe/fbU/gtWxn9f1dKZVt3Jih3F2KunwfdgKGuGqWeTY1Sth48ZX 5 | SztawbHtXwhCockCD3MJ/des2Vplsc8o+hJfY64ugNXNX1aZ4tYt/aNFuXqQwTVS 6 | djOtxbblfBDIvAeGMWt55Q4bJCT+puX112HBB24X6PEEbLlVOP6QZlIHJt/RBlQz 7 | hJX9N3s0uepae/YlNxwJTY9aWV9jnh6cmwIBAg== 8 | -----END DH PARAMETERS----- 9 | -------------------------------------------------------------------------------- /etc/nginx/conf.d/example_ssl.conf: -------------------------------------------------------------------------------- 1 | # HTTPS server 2 | # 3 | #server { 4 | # listen 443 ssl; 5 | # server_name localhost; 6 | 7 | # ssl_certificate /etc/nginx/cert.pem; 8 | # ssl_certificate_key /etc/nginx/cert.key; 9 | 10 | # ssl_session_cache shared:SSL:1m; 11 | # ssl_session_timeout 5m; 12 | 13 | # ssl_ciphers HIGH:!aNULL:!MD5; 14 | # ssl_prefer_server_ciphers on; 15 | 16 | # location / { 17 | # root /usr/share/nginx/html; 18 | # index index.html index.htm; 19 | # } 20 | #} 21 | -------------------------------------------------------------------------------- /usr/lib/systemd/system/nginx.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=nginx - high performance web server 3 | Documentation=https://nginx.org/en/docs/ 4 | After=network-online.target remote-fs.target nss-lookup.target 5 | Wants=network-online.target 6 | 7 | [Service] 8 | Type=forking 9 | PIDFile=/var/run/nginx.pid 10 | ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf 11 | ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf 12 | ExecReload=/bin/kill -s HUP $MAINPID 13 | ExecStop=/bin/kill -s TERM $MAINPID 14 | 15 | [Install] 16 | WantedBy=multi-user.target -------------------------------------------------------------------------------- /etc/nginx/bx/conf/errors.conf: -------------------------------------------------------------------------------- 1 | # Set error handlers 2 | error_page 403 /403.html; 3 | error_page 404 = @fallback; 4 | error_page 500 /500.html; 5 | error_page 502 /502.html; 6 | error_page 503 /503.html; 7 | error_page 504 /504.html; 8 | 9 | # Custom pages for BitrixEnv errors 10 | location ^~ /500.html { root /var/www/bitrixenv_error; } 11 | location ^~ /502.html { root /var/www/bitrixenv_error; } 12 | location ^~ /503.html { root /var/www/bitrixenv_error; } 13 | location ^~ /504.html { root /var/www/bitrixenv_error; } 14 | location ^~ /403.html { root /var/www/bitrixenv_error; } 15 | location ^~ /404.html { root /var/www/bitrixenv_error; } 16 | location @fallback { proxy_pass $proxyserver; } 17 | -------------------------------------------------------------------------------- /etc/cron.d/crontab: -------------------------------------------------------------------------------- 1 | SHELL=/bin/bash 2 | PATH=/sbin:/bin:/usr/sbin:/usr/bin 3 | MAILTO=root 4 | 5 | # For details see man 4 crontabs 6 | 7 | # Example of job definition: 8 | # .---------------- minute (0 - 59) 9 | # | .------------- hour (0 - 23) 10 | # | | .---------- day of month (1 - 31) 11 | # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... 12 | # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat 13 | # | | | | | 14 | # * * * * * user-name command to be executed 15 | 16 | 17 | * * * * * bitrix test -f /home/bitrix/www/bitrix/modules/main/tools/cron_events.php && { /usr/bin/php -f /home/bitrix/www/bitrix/modules/main/tools/cron_events.php; } >/dev/null 2>&1 18 | 19 | -------------------------------------------------------------------------------- /etc/nginx/bx/conf/bitrix_block.conf: -------------------------------------------------------------------------------- 1 | # 2 | # block this locations for any installation 3 | # 4 | 5 | # ht(passwd|access) 6 | location ~* /\.ht { deny all; } 7 | 8 | # repositories 9 | location ~* /\.(svn|hg|git) { deny all; } 10 | 11 | # bitrix internal locations 12 | location ~* ^/bitrix/(modules|local_cache|stack_cache|managed_cache|php_interface) { 13 | deny all; 14 | } 15 | 16 | location ~* ^/bitrix/\.settings\.php { 17 | deny all; 18 | } 19 | 20 | # upload files 21 | location ~* ^/upload/1c_[^/]+/ { deny all; } 22 | 23 | # use the file system to access files outside the site (cache) 24 | location ~* /\.\./ { deny all; } 25 | location ~* ^/bitrix/html_pages/\.config\.php { deny all; } 26 | location ~* ^/bitrix/html_pages/\.enabled { deny all; } 27 | -------------------------------------------------------------------------------- /etc/nginx/bx/site_avaliable/s1.conf: -------------------------------------------------------------------------------- 1 | # Default website 2 | server { 3 | 4 | listen 80 default_server; 5 | server_name _; 6 | server_name_in_redirect off; 7 | 8 | proxy_set_header X-Real-IP $remote_addr; 9 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 10 | proxy_set_header Host $host:80; 11 | 12 | set $proxyserver "http://127.0.0.1:8888"; 13 | set $docroot "/home/bitrix/www"; 14 | 15 | index index.php; 16 | root /home/bitrix/www; 17 | 18 | # Redirect to ssl if need 19 | if (-f /home/bitrix/www/.htsecure) { rewrite ^(.*)$ https://$host$1 permanent; } 20 | 21 | # Include parameters common to all websites 22 | include bx/conf/bitrix.conf; 23 | 24 | # Include server monitoring locations 25 | include bx/server_monitor.conf; 26 | } 27 | -------------------------------------------------------------------------------- /etc/nginx/bx/site_avaliable/ssl.s1.conf: -------------------------------------------------------------------------------- 1 | # Default SSL certificate enabled website 2 | server { 3 | listen 443 default_server http2; 4 | server_name _; 5 | 6 | # Enable SSL connection 7 | include bx/conf/ssl.conf; 8 | server_name_in_redirect off; 9 | 10 | proxy_set_header X-Real-IP $remote_addr; 11 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 12 | proxy_set_header Host $host:443; 13 | proxy_set_header HTTPS YES; 14 | 15 | set $proxyserver "http://127.0.0.1:8888"; 16 | set $docroot "/home/bitrix/www"; 17 | 18 | index index.php; 19 | root /home/bitrix/www; 20 | 21 | # Include parameters common to all websites 22 | include bx/conf/bitrix.conf; 23 | 24 | # Include server monitoring API's 25 | include bx/server_monitor.conf; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /etc/httpd/bx/conf/php.conf: -------------------------------------------------------------------------------- 1 | # 2 | # The following lines prevent .user.ini files from being viewed by Web clients. 3 | # 4 | 5 | 6 | Require all denied 7 | 8 | 9 | Order allow,deny 10 | Deny from all 11 | Satisfy All 12 | 13 | 14 | 15 | # Cause the PHP interpreter to handle files with a .php extension. 16 | 17 | AddType application/x-httpd-php .php 18 | 19 | 20 | # Add index.php to the list of files that will be served as directory 21 | # indexes. 22 | 23 | DirectoryIndex index.php 24 | 25 | # Uncomment the following line to allow PHP to pretty-print .phps 26 | # files as PHP source code: 27 | # 28 | #AddType application/x-httpd-php-source .phps 29 | -------------------------------------------------------------------------------- /etc/httpd/bx-scale/conf/php.conf: -------------------------------------------------------------------------------- 1 | # 2 | # The following lines prevent .user.ini files from being viewed by Web clients. 3 | # 4 | 5 | 6 | Require all denied 7 | 8 | 9 | Order allow,deny 10 | Deny from all 11 | Satisfy All 12 | 13 | 14 | 15 | # Cause the PHP interpreter to handle files with a .php extension. 16 | 17 | AddType application/x-httpd-php .php 18 | 19 | 20 | # Add index.php to the list of files that will be served as directory 21 | # indexes. 22 | 23 | DirectoryIndex index.php 24 | 25 | # Uncomment the following line to allow PHP to pretty-print .phps 26 | # files as PHP source code: 27 | # 28 | #AddType application/x-httpd-php-source .phps 29 | -------------------------------------------------------------------------------- /etc/httpd/bx-scale/httpd-scale.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=The Apache HTTP Server 3 | After=network.target remote-fs.target nss-lookup.target 4 | Documentation=man:httpd(8) 5 | Documentation=man:apachectl(8) 6 | 7 | [Service] 8 | Type=notify 9 | PIDFile=/var/run/httpd/httpd-scale.pid 10 | EnvironmentFile=/etc/sysconfig/httpd-scale 11 | ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND 12 | ExecReload=/usr/sbin/httpd $OPTIONS -k graceful 13 | ExecStop=/bin/kill -WINCH ${MAINPID} 14 | 15 | # We want systemd to give httpd some time to finish gracefully, but still want 16 | # it to kill httpd after TimeoutStopSec if something went wrong during the 17 | # graceful stop. Normally, Systemd sends SIGTERM signal right after the 18 | # ExecStop, which would kill httpd. We are sending useless SIGCONT here to give 19 | # httpd time to finish. 20 | KillSignal=SIGCONT 21 | PrivateTmp=false 22 | LimitSTACK=infinity 23 | 24 | [Install] 25 | WantedBy=multi-user.target 26 | -------------------------------------------------------------------------------- /etc/httpd/bx-scale/httpd-scale: -------------------------------------------------------------------------------- 1 | # 2 | # This file can be used to set additional environment variables for 3 | # the httpd process, or pass additional options to the httpd 4 | # executable. 5 | # 6 | # Note: With previous versions of httpd, the MPM could be changed by 7 | # editing an "HTTPD" variable here. With the current version, that 8 | # variable is now ignored. The MPM is a loadable module, and the 9 | # choice of MPM can be changed by editing the configuration file 10 | # /etc/httpd/conf.modules.d/00-mpm.conf. 11 | # 12 | 13 | # 14 | # To pass additional options (for instance, -D definitions) to the 15 | # httpd binary at startup, set OPTIONS here. 16 | # 17 | OPTIONS="-f /etc/httpd/conf/httpd-scale.conf" 18 | 19 | # 20 | # This setting ensures the httpd process is started in the "C" locale 21 | # by default. (Some modules will not behave correctly if 22 | # case-sensitive string comparisons are performed in a different 23 | # locale.) 24 | # 25 | LANG=C 26 | #bitrix-env 27 | BITRIX_VA_VER=7.1.0 28 | 29 | BITRIX_ENV_TYPE=general 30 | 31 | -------------------------------------------------------------------------------- /www/bitrix/php_interface/dbconn.php: -------------------------------------------------------------------------------- 1 | 37 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 akopkesheshyan 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /etc/php.d/bitrixenv.ini: -------------------------------------------------------------------------------- 1 | ; Set parameters required for proper Bitrix engine functioning. 2 | ; You can redefine parameters specified in this file 3 | ; by editing /etc/php.d/z_bx_custom_settings.ini 4 | 5 | ; Configure error processing 6 | display_errors = On 7 | error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING 8 | 9 | ; Set some more PHP parameters 10 | enable_dl = Off 11 | short_open_tag = On 12 | allow_url_fopen = On 13 | 14 | ; Change default values of important constants 15 | max_input_vars = 10000 16 | max_file_uploads = 100 17 | max_execution_time = 300 18 | post_max_size = 1024M 19 | upload_max_filesize = 1024M 20 | pcre.backtrack_limit = 1000000 21 | pcre.recursion_limit = 14000 22 | realpath_cache_size = 4096k 23 | 24 | ; Utf-8 support 25 | mbstring.internal_encoding = UTF-8 26 | 27 | ; Configure PHP sessions 28 | session.entropy_length = 128 29 | session.entropy_file = /dev/urandom 30 | session.save_path = "/home/bitrix/www/bitrix/tmp" 31 | session.cookie_httponly = On 32 | 33 | ; Set directory for temporary files 34 | upload_tmp_dir = "/home/bitrix/www/bitrix/tmp" 35 | 36 | sendmail_path = msmtp -t -i 37 | date.timezone = Europe/Moscow 38 | memory_limit = 256M 39 | opcache.revalidate_freq = 0 40 | file_uploads = On 41 | -------------------------------------------------------------------------------- /etc/nginx/bx/conf/im_subscrider.conf: -------------------------------------------------------------------------------- 1 | 2 | # Location for long-polling connections 3 | location ^~ /bitrix/sub { 4 | 5 | # we don't use callback and droppped it (XSS) 6 | if ( $arg_callback ) { 7 | return 400; 8 | } 9 | 10 | push_stream_subscriber long-polling; 11 | push_stream_allowed_origins "*"; 12 | push_stream_channels_path $arg_CHANNEL_ID; 13 | push_stream_last_received_message_tag $arg_tag; 14 | push_stream_longpolling_connection_ttl 40; 15 | push_stream_authorized_channels_only on; 16 | push_stream_message_template '#!NGINXNMS!#{"id":~id~,"channel":"~channel~","tag":"~tag~","time":"~time~","eventid":"~event-id~","text":~text~}#!NGINXNME!#'; 17 | } 18 | 19 | # Location for websocet connections 20 | location ^~ /bitrix/subws/ { 21 | push_stream_subscriber websocket; 22 | push_stream_channels_path $arg_CHANNEL_ID; 23 | push_stream_websocket_allow_publish off; 24 | push_stream_ping_message_interval 40s; 25 | push_stream_authorized_channels_only on; 26 | push_stream_last_received_message_tag "$arg_tag"; 27 | push_stream_last_received_message_time "$arg_time"; 28 | push_stream_message_template '#!NGINXNMS!#{"id":~id~,"channel":"~channel~","tag":"~tag~","time":"~time~","eventid":"~event-id~","text":~text~}#!NGINXNME!#'; 29 | } 30 | -------------------------------------------------------------------------------- /etc/nginx/bx/conf/push-im_subscrider.conf: -------------------------------------------------------------------------------- 1 | 2 | # Location for long-polling connections 3 | location ^~ /bitrix/sub { 4 | 5 | # we don't use callback and droppped it (XSS) 6 | if ( $arg_callback ) { 7 | return 400; 8 | } 9 | 10 | push_stream_subscriber long-polling; 11 | push_stream_allowed_origins "*"; 12 | push_stream_channels_path $arg_CHANNEL_ID; 13 | push_stream_last_received_message_tag $arg_tag; 14 | push_stream_longpolling_connection_ttl 40; 15 | push_stream_authorized_channels_only on; 16 | push_stream_message_template '#!NGINXNMS!#{"id":~id~,"channel":"~channel~","tag":"~tag~","time":"~time~","eventid":"~event-id~","text":~text~}#!NGINXNME!#'; 17 | } 18 | 19 | # Location for websocet connections 20 | location ^~ /bitrix/subws/ { 21 | push_stream_subscriber websocket; 22 | push_stream_channels_path $arg_CHANNEL_ID; 23 | push_stream_websocket_allow_publish off; 24 | push_stream_ping_message_interval 40s; 25 | push_stream_authorized_channels_only on; 26 | push_stream_last_received_message_tag "$arg_tag"; 27 | push_stream_last_received_message_time "$arg_time"; 28 | push_stream_message_template '#!NGINXNMS!#{"id":~id~,"channel":"~channel~","tag":"~tag~","time":"~time~","eventid":"~event-id~","text":~text~}#!NGINXNME!#'; 29 | } 30 | -------------------------------------------------------------------------------- /etc/nginx/conf.d/default.conf: -------------------------------------------------------------------------------- 1 | server { 2 | listen 80; 3 | server_name localhost; 4 | 5 | #charset koi8-r; 6 | #access_log /var/log/nginx/log/host.access.log main; 7 | 8 | location / { 9 | root /usr/share/nginx/html; 10 | index index.html index.htm; 11 | } 12 | 13 | #error_page 404 /404.html; 14 | 15 | # redirect server error pages to the static page /50x.html 16 | # 17 | error_page 500 502 503 504 /50x.html; 18 | location = /50x.html { 19 | root /usr/share/nginx/html; 20 | } 21 | 22 | # proxy the PHP scripts to Apache listening on 127.0.0.1:80 23 | # 24 | #location ~ \.php$ { 25 | # proxy_pass http://127.0.0.1; 26 | #} 27 | 28 | # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 29 | # 30 | #location ~ \.php$ { 31 | # root html; 32 | # fastcgi_pass 127.0.0.1:9000; 33 | # fastcgi_index index.php; 34 | # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 35 | # include fastcgi_params; 36 | #} 37 | 38 | # deny access to .htaccess files, if Apache's document root 39 | # concurs with nginx's one 40 | # 41 | #location ~ /\.ht { 42 | # deny all; 43 | #} 44 | } 45 | 46 | -------------------------------------------------------------------------------- /etc/nginx/bx/site_avaliable/push.conf: -------------------------------------------------------------------------------- 1 | 2 | # Nonsecure server for reading personal channels. Use secure server instead. 3 | server { 4 | # nginx-push-stream-module server for push & pull 5 | 6 | listen 8893; 7 | server_name _; 8 | 9 | # Include error handlers 10 | include bx/conf/errors.conf; 11 | 12 | # Include im subscrider handlers 13 | include bx/conf/im_subscrider.conf; 14 | 15 | location / { deny all; } 16 | } 17 | 18 | # SSL enabled server for reading personal channels 19 | server { 20 | listen 8894; 21 | server_name _; 22 | include bx/conf/ssl.conf; 23 | 24 | # Include error handlers 25 | include bx/conf/errors.conf; 26 | 27 | # Include im subscrider handlers 28 | include bx/conf/im_subscrider.conf; 29 | 30 | location / { deny all; } 31 | } 32 | 33 | # Server to push messages to user channels 34 | server { 35 | listen 127.0.0.1:8895; 36 | server_name _; 37 | 38 | location ^~ /bitrix/pub/ { 39 | push_stream_publisher admin; 40 | push_stream_channels_path $arg_CHANNEL_ID; 41 | push_stream_store_messages on; 42 | allow 127.0.0.0/8; 43 | deny all; 44 | } 45 | 46 | location / { deny all; } 47 | 48 | # Include error handlers 49 | include bx/conf/errors.conf; 50 | } 51 | -------------------------------------------------------------------------------- /etc/nginx/bx/conf/bitrix.conf: -------------------------------------------------------------------------------- 1 | # cache condition variable 2 | set $usecache ""; 3 | if ($is_global_cache = 1) { set $usecache "${usecache}A"; } 4 | 5 | # main config without processing cache pages 6 | include bx/conf/bitrix_general.conf; 7 | 8 | # php file processing 9 | location ~ \.php$ { 10 | 11 | set $cache_file "bitrix/html_pages$general_key@$args.html"; 12 | 13 | # test file conditions 14 | if (-f "$docroot/bitrix/html_pages/.enabled") { set $usecache "${usecache}B"; } 15 | if (-f "$docroot/$cache_file") { set $usecache "${usecache}C"; } 16 | 17 | # create rewrite if cache-file exists 18 | if ($usecache = "ABC" ) { rewrite .* /$cache_file last; } 19 | 20 | proxy_pass $proxyserver; 21 | } 22 | 23 | # directories page processing 24 | location ~ /$ { 25 | 26 | set $cache_file "bitrix/html_pages$general_key/index@$args.html"; 27 | 28 | # test file conditions 29 | if (-f "$docroot/bitrix/html_pages/.enabled") { set $usecache "${usecache}B"; } 30 | if (-f "$docroot/$cache_file") { set $usecache "${usecache}C"; } 31 | 32 | # create rewrite if cache-file exists 33 | if ($usecache = "ABC" ) { rewrite .* /$cache_file last; } 34 | 35 | proxy_pass $proxyserver; 36 | } 37 | 38 | # Main location 39 | location / { 40 | proxy_pass $proxyserver; 41 | } 42 | -------------------------------------------------------------------------------- /etc/nginx/bx/conf/ssl.conf: -------------------------------------------------------------------------------- 1 | # If they come here using HTTP, bounce them to the correct scheme 2 | # Nginx internal code used for the plain HTTP requests 3 | # that are sent to HTTPS port to distinguish it from 4XX in a log and an error page redirection. 4 | error_page 497 https://$host$request_uri; 5 | 6 | # Increase keepalive connection lifetime 7 | keepalive_timeout 70; 8 | keepalive_requests 150; 9 | 10 | # SSL encryption parameters 11 | ssl on; 12 | ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 13 | ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA'; 14 | ssl_prefer_server_ciphers on; 15 | 16 | ssl_certificate /etc/nginx/ssl/cert.pem; 17 | ssl_certificate_key /etc/nginx/ssl/cert.pem; 18 | ssl_dhparam /etc/nginx/ssl/dhparam.pem; 19 | 20 | # performance 21 | ssl_session_cache shared:SSL:10m; 22 | ssl_session_timeout 10m; 23 | -------------------------------------------------------------------------------- /www/bitrix/.settings.php: -------------------------------------------------------------------------------- 1 | 4 | array ( 5 | 'value' => true, 6 | 'readonly' => true, 7 | ), 8 | 'cache_flags' => 9 | array ( 10 | 'value' => 11 | array ( 12 | 'config_options' => 3600, 13 | 'site_domain' => 3600, 14 | ), 15 | 'readonly' => false, 16 | ), 17 | 'cookies' => 18 | array ( 19 | 'value' => 20 | array ( 21 | 'secure' => false, 22 | 'http_only' => true, 23 | ), 24 | 'readonly' => false, 25 | ), 26 | 'exception_handling' => 27 | array ( 28 | 'value' => 29 | array ( 30 | 'debug' => false, 31 | 'handled_errors_types' => 4437, 32 | 'exception_errors_types' => 4437, 33 | 'ignore_silence' => false, 34 | 'assertion_throws_exception' => true, 35 | 'assertion_error_type' => 256, 36 | 'log' => array ( 37 | 'settings' => 38 | array ( 39 | 'file' => '/var/log/php/exceptions.log', 40 | 'log_size' => 1000000, 41 | ), 42 | ), 43 | ), 44 | 'readonly' => false, 45 | ), 46 | 'connections' => 47 | array ( 48 | 'value' => 49 | array ( 50 | 'default' => 51 | array ( 52 | 'className' => '\\Bitrix\\Main\\DB\\MysqliConnection', 53 | 'host' => 'mysql', 54 | 'database' => 'sitemanager', 55 | 'login' => 'bitrix', 56 | 'password' => '+Tr+()8]!szl[HQIsoT5', 57 | 'options' => 2, 58 | ), 59 | ), 60 | 'readonly' => true, 61 | ), 62 | 'composer' => [ 63 | 'value' => ['config_path' => '/local/composer.json'] 64 | ], 65 | ); 66 | -------------------------------------------------------------------------------- /etc/nginx/ssl/cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAME0ACgSElasYYJP 3 | uqhZINFRaWrYZFG6zbFaBOmNr2pvzsLHC8nX+WR/PoozEiAZ1add/IeN3b0RiYuJ 4 | PP4TvYzYg4ssW4yyFGd42zROZBNxXpgT/qlcopoDWy24ZV43k/JJJbZdJiizfVQY 5 | AF+JnN+PJ6kslz45zJZpP4KNFavDAgMBAAECgYBfDKgvDoT7Ix9trq/T9tVQZU8J 6 | g6AHHXHomLLl/BCauprr9GT2TkyhhoBMGUgHhu43wuNkBQVb6O7UORZKoYeUkgHO 7 | aC+pQ/BLwmNoDlTBMnnl8aNX/Gw3cJky9MZU2Kkxa/aMmE1HDsbGWx+xPl0A5sf5 8 | HJOwOQcAxD1vtddOoQJBAO0dAaC6ahoJq1BWzlGcQJnM9DW4Ebj2+pYPb2E8IHqs 9 | 7h2oeq97gtcVIPGfym27+yMRsYeO8+iKK265n0ztDqsCQQDQl55pZE22BtS4FAND 10 | nUj6k03dygR3WRSAxoO+avyrh4uuCcQQbLy6RD0bf8iXU7Gn5gLJuXjS8OBOLT8X 11 | AXdJAkBPEz1XvNNlm5PmVwy3asSghhlrUNeYN8WaBcu/Qa4TO1ity2Ie47HeyM0T 12 | x5ZawjYem+f4rVPqWSni40SdAvHBAkADhsyy03NM5IisJAp6FiqpsdvbKBMzQVpL 13 | Yw/PJFfpPn1qD9g0vuHh9E1kLaDijhOu1wCtEGmuh0wDhlhOt0OhAkB2xInrrklQ 14 | PaidLvK1GXxHyBfQ11fEtp4s2ENzjHAQG/mc7S/r0jlcSv4V1ghSgviR47scBqCY 15 | 2Q9/U1ZCZw06 16 | -----END PRIVATE KEY----- 17 | -----BEGIN CERTIFICATE----- 18 | MIIClTCCAf4CCQCQBYBiOWQixjANBgkqhkiG9w0BAQsFADCBjjELMAkGA1UEBhMC 19 | UlUxDzANBgNVBAgMBk1vc2NvdzEUMBIGA1UEBwwLS2FsaW5pbmdyYWQxDzANBgNV 20 | BAoMBkJpdHJpeDETMBEGA1UECwwKQml0cml4IFImRDEPMA0GA1UEAwwGQml0cml4 21 | MSEwHwYJKoZIhvcNAQkBFhJ0ZXN0QGVtYWlsLmFkZHJlc3MwHhcNMTgwNTEyMDcz 22 | NzM4WhcNMjgwNTA5MDczNzM4WjCBjjELMAkGA1UEBhMCUlUxDzANBgNVBAgMBk1v 23 | c2NvdzEUMBIGA1UEBwwLS2FsaW5pbmdyYWQxDzANBgNVBAoMBkJpdHJpeDETMBEG 24 | A1UECwwKQml0cml4IFImRDEPMA0GA1UEAwwGQml0cml4MSEwHwYJKoZIhvcNAQkB 25 | FhJ0ZXN0QGVtYWlsLmFkZHJlc3MwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB 26 | AME0ACgSElasYYJPuqhZINFRaWrYZFG6zbFaBOmNr2pvzsLHC8nX+WR/PoozEiAZ 27 | 1add/IeN3b0RiYuJPP4TvYzYg4ssW4yyFGd42zROZBNxXpgT/qlcopoDWy24ZV43 28 | k/JJJbZdJiizfVQYAF+JnN+PJ6kslz45zJZpP4KNFavDAgMBAAEwDQYJKoZIhvcN 29 | AQELBQADgYEAghwxvfWTPrvBDsbXwsjEoNR4dYL+xNrDtiNFNxNcxCJuDeMXdvqI 30 | Ln2HqNgSAjL5bUZPKahkhmJYptgP5GocEz2e4VVXTpwfTFVtrytmJR6xTLV9U2XE 31 | zfO+N6i65bcMe+zNAAERpCjsuqoYnOiHAbLURZeMY5p2ibwtm+VYMAk= 32 | -----END CERTIFICATE----- 33 | -------------------------------------------------------------------------------- /docs/02-phpmyadmin-setup.md: -------------------------------------------------------------------------------- 1 | # Как подключить phpMyAdmin 2 | 3 | Если вы используете phpMyAdmin для работы с базой данных, вы можете подключить его через Docker Compose. 4 | 5 | ## Шаг 1: Создание конфигурационного файла 6 | 7 | В папке проекта создайте `docker-compose.yml` со следующим содержимым: 8 | 9 | ```yml 10 | version: '3' 11 | services: 12 | web: 13 | image: "akopkesheshyan/bitrix24:latest" 14 | ports: 15 | - "80:80" 16 | - "443:443" 17 | cap_add: 18 | - SYS_ADMIN 19 | security_opt: 20 | - seccomp:unconfined 21 | privileged: true 22 | volumes: 23 | - ./:/home/bitrix/www/local 24 | depends_on: 25 | - mysql 26 | mysql: 27 | image: mariadb 28 | healthcheck: 29 | test: "/usr/bin/mysql --user=root --password=+Tr+()8]!szl[HQIsoT5 --execute \"SHOW DATABASES;\"" 30 | interval: 2s 31 | timeout: 20s 32 | retries: 10 33 | ports: 34 | - "3306:3306" 35 | environment: 36 | MYSQL_ROOT_PASSWORD: +Tr+()8]!szl[HQIsoT5 37 | MYSQL_DATABASE: sitemanager 38 | MYSQL_USER: bitrix 39 | MYSQL_PASSWORD: +Tr+()8]!szl[HQIsoT5 40 | command: ['--character-set-server=utf8', '--collation-server=utf8_unicode_ci', '--skip-character-set-client-handshake', '--sql-mode='] 41 | phpmyadmin: 42 | image: phpmyadmin/phpmyadmin 43 | links: 44 | - mysql:mysql 45 | ports: 46 | - 8181:80 47 | environment: 48 | PMA_HOST: mysql 49 | MYSQL_USERNAME: bitrix 50 | MYSQL_PASSWORD: +Tr+()8]!szl[HQIsoT5 51 | ``` 52 | 53 | ## Шаг 2: Запуск Bitrix24 Docker 54 | 55 | В консоли выполните команду: 56 | 57 | ```shell 58 | docker-compose up -d 59 | ``` 60 | 61 | На экране повится сообщение об успешном запуске контейнеров. 62 | 63 | ```shell 64 | $ docker-compose up -d 65 | Starting myproject_mysql_1 ... done 66 | Starting myproject_tools_1 ... done 67 | Starting myproject_web_1 ... done 68 | Starting myproject_phpmyadmin_1 ... done 69 | ``` 70 | 71 | ## Шаг 3: Подключение к phpMyAdmin 72 | 73 | Откройте браузер и перейдите по адресу http://localhost:8181, вы увидите стандартное окно авторизации `phpMyAdmin`. 74 | 75 | Используйте параметры входа из конфигурационного файл: 76 | 77 | - `Username`: bitrix 78 | - `Password`: +Tr+()8]!szl[HQIsoT5 79 | 80 | ## Дополнительная информация 81 | 82 | - [Официальная сборка phpMyAdmin](https://hub.docker.com/r/phpmyadmin/phpmyadmin/) -------------------------------------------------------------------------------- /etc/nginx/nginx.conf: -------------------------------------------------------------------------------- 1 | user bitrix; 2 | worker_processes 8; 3 | error_log /var/log/nginx/error.log warn; 4 | pid /var/run/nginx.pid; 5 | worker_rlimit_nofile 10240; 6 | 7 | events { 8 | use epoll; 9 | worker_connections 10240; 10 | } 11 | 12 | http { 13 | 14 | include /etc/nginx/mime.types; 15 | default_type application/force-download; 16 | server_names_hash_bucket_size 128; 17 | 18 | # Description of supported access log formats 19 | log_format main '$remote_addr - $remote_user [$time_local - $upstream_response_time] ' 20 | '$status "$request" $body_bytes_sent ' 21 | '"$http_referer" "$http_user_agent" "$http_x_forwarded_for"'; 22 | 23 | log_format common '$remote_addr - - [$time_local - $upstream_response_time] ' 24 | '"$request" $status $bytes_sent ' 25 | '"$http_referer" "$http_user_agent" $msec'; 26 | 27 | log_format balancer '$remote_addr - $remote_user [$time_iso8601] "$host" ' 28 | '"$request" $status $body_bytes_sent "schema: $scheme" ' 29 | '"$http_referer" "$http_user_agent" "$http_x_forwarded_for" ' 30 | '"$request_length" : "$request_time" -> $upstream_response_time'; 31 | 32 | log_format debug '$upstream_response_time,"$time_local","$remote_addr","$request",$status,$body_bytes_sent'; 33 | 34 | 35 | # upload default maps 36 | include bx/maps/*.conf; 37 | 38 | # settings files 39 | include bx/settings/*.conf; 40 | 41 | # Disable request logging in nginx by default 42 | #access_log /var/log/nginx/access.log common; 43 | access_log off; 44 | 45 | sendfile on; 46 | tcp_nopush on; 47 | tcp_nodelay on; 48 | 49 | client_max_body_size 1024m; 50 | client_body_buffer_size 4m; 51 | 52 | # Parameters for back-end request proxy 53 | proxy_connect_timeout 300; 54 | proxy_send_timeout 300; 55 | proxy_read_timeout 300; 56 | proxy_buffer_size 64k; 57 | proxy_buffers 8 256k; 58 | proxy_busy_buffers_size 256k; 59 | proxy_temp_file_write_size 10m; 60 | 61 | # Assign default error handlers 62 | error_page 500 502 503 504 /500.html; 63 | error_page 404 = /404.html; 64 | 65 | # Content compression parameters 66 | gzip on; 67 | gzip_proxied any; 68 | gzip_static on; 69 | gzip_http_version 1.0; 70 | gzip_types application/x-javascript application/javascript text/css; 71 | 72 | # add_header 73 | include bx/conf/http-add_header.conf; 74 | 75 | # Set default website 76 | include bx/site_enabled/*.conf; 77 | 78 | # Set additional websites 79 | include bx/site_ext_enabled/*.conf; 80 | } 81 | -------------------------------------------------------------------------------- /etc/httpd/bx-scale/conf/default.conf: -------------------------------------------------------------------------------- 1 | 2 | ServerAdmin webmaster@localhost 3 | DocumentRoot /home/bitrix/www 4 | 5 | 6 | Options FollowSymLinks 7 | AllowOverride None 8 | 9 | 10 | 11 | Require all denied 12 | 13 | 14 | 15 | Require all denied 16 | 17 | 18 | 19 | Require all denied 20 | 21 | 22 | 23 | Options Indexes FollowSymLinks MultiViews 24 | AllowOverride All 25 | DirectoryIndex index.php index.html index.htm 26 | php_admin_value session.save_path /home/bitrix/www/bitrix/tmp 27 | php_admin_value upload_tmp_dir /home/bitrix/www/bitrix/tmp 28 | Require all granted 29 | 30 | 31 | 32 | AllowOverride none 33 | Require all denied 34 | 35 | 36 | 37 | AllowOverride none 38 | Require all denied 39 | 40 | 41 | 42 | AllowOverride none 43 | Require all denied 44 | 45 | 46 | 47 | AllowOverride none 48 | Require all denied 49 | 50 | 51 | 52 | AllowOverride none 53 | AddType text/plain php,php3,php4,php5,php6,phtml,pl,asp,aspx,cgi,dll,exe,ico,shtm,shtml,fcg,fcgi,fpl,asmx,pht 54 | php_value engine off 55 | 56 | 57 | 58 | AllowOverride none 59 | Require all denied 60 | 61 | 62 | 63 | AllowOverride none 64 | AddType text/plain php,php3,php4,php5,php6,phtml,pl,asp,aspx,cgi,dll,exe,ico,shtm,shtml,fcg,fcgi,fpl,asmx,pht 65 | php_value engine off 66 | 67 | 68 | 69 | AllowOverride none 70 | AddType text/plain php,php3,php4,php5,php6,phtml,pl,asp,aspx,cgi,dll,exe,ico,shtm,shtml,fcg,fcgi,fpl,asmx,pht 71 | php_value engine off 72 | 73 | 74 | ErrorLog logs/error_log 75 | # Possible values include: debug, info, notice, warn, error, crit, alert, emerg. 76 | LogLevel warn 77 | 78 | CustomLog logs/access_log combined 79 | 80 | 81 | #Nginx should have "proxy_set_header HTTPS YES;" in location 82 | RewriteEngine On 83 | RewriteCond %{HTTP:HTTPS} =YES 84 | RewriteRule .* - [E=HTTPS:on,L] 85 | 86 | 87 | -------------------------------------------------------------------------------- /etc/httpd/bx/conf/default.conf: -------------------------------------------------------------------------------- 1 | Listen 127.0.0.1:8888 2 | 3 | ServerAdmin webmaster@localhost 4 | DocumentRoot /home/bitrix/www 5 | 6 | 7 | Options FollowSymLinks 8 | AllowOverride None 9 | 10 | 11 | 12 | Require all denied 13 | 14 | 15 | 16 | Require all denied 17 | 18 | 19 | 20 | Require all denied 21 | 22 | 23 | 24 | Options Indexes FollowSymLinks MultiViews 25 | AllowOverride All 26 | DirectoryIndex index.php index.html index.htm 27 | php_admin_value session.save_path /home/bitrix/www/bitrix/tmp 28 | php_admin_value upload_tmp_dir /home/bitrix/www/bitrix/tmp 29 | Require all granted 30 | 31 | 32 | 33 | AllowOverride none 34 | Require all denied 35 | 36 | 37 | 38 | AllowOverride none 39 | Require all denied 40 | 41 | 42 | 43 | AllowOverride none 44 | Require all denied 45 | 46 | 47 | 48 | AllowOverride none 49 | Require all denied 50 | 51 | 52 | 53 | AllowOverride none 54 | AddType text/plain php,php3,php4,php5,php6,phtml,pl,asp,aspx,cgi,dll,exe,ico,shtm,shtml,fcg,fcgi,fpl,asmx,pht 55 | php_value engine off 56 | 57 | 58 | 59 | AllowOverride none 60 | Require all denied 61 | 62 | 63 | 64 | AllowOverride none 65 | AddType text/plain php,php3,php4,php5,php6,phtml,pl,asp,aspx,cgi,dll,exe,ico,shtm,shtml,fcg,fcgi,fpl,asmx,pht 66 | php_value engine off 67 | 68 | 69 | 70 | AllowOverride none 71 | AddType text/plain php,php3,php4,php5,php6,phtml,pl,asp,aspx,cgi,dll,exe,ico,shtm,shtml,fcg,fcgi,fpl,asmx,pht 72 | php_value engine off 73 | 74 | 75 | ErrorLog logs/error_log 76 | # Possible values include: debug, info, notice, warn, error, crit, alert, emerg. 77 | LogLevel warn 78 | 79 | CustomLog logs/access_log combined 80 | 81 | 82 | #Nginx should have "proxy_set_header HTTPS YES;" in location 83 | RewriteEngine On 84 | RewriteCond %{HTTP:HTTPS} =YES 85 | RewriteRule .* - [E=HTTPS:on,L] 86 | 87 | 88 | 89 | SecFilterEngine Off 90 | SecFilterScanPOST Off 91 | 92 | 93 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![Bitrix24 Docker](/docs/assets/bitrix24-docker-logo.png) 2 | 3 | # Bitrix24 Docker: Веб-окружение 1С-Битрикс24 Корпоративный Портал 4 | 5 | Позволяет быстро и легко запускать Битрикс24 на Docker для локальной разработки и автоматизации процесса тестирования. 6 | 7 | ## Введение 8 | 9 | Bitrix24 Docker предоставляет готовую виртуальную среду, оптимизированную для разработки и тестирования портальных решений Битрикс24. 10 | 11 | ### Используйте Bitrix24 Docker если вам необходимо: 12 | 13 | - Быстро развернуть веб окружение для разработки компонентов и приложений для Битрикс24 14 | - Избавиться от множества клонов виртуальных машин под каждый проект 15 | - Запустить чистую копию портала без сложных технических заморочек 16 | - Автоматизировать запуск тестов в облаке (Continuous Integration) 17 | 18 | ## Преимущества данной сборки 19 | 20 | - Наличие специфических для Битрикс24 служб, отсутствующих в других сборках (Push & Pull сервер) 21 | - Полная совместимость с bitrix-env, прохождение всех встроенных тестов портала 22 | - База данных не входит в основной образ и подключается через Docker Compose 23 | - Возможность расширять и подключать дополнительные сервисы (phpMyAdmin, Codeception и т.д.) 24 | - Использование переменных окружения (для запуска одного контейнера с разными параметрами) 25 | 26 | ## Начало работы 27 | 28 | Для работы с Bitrix24 Docker рекомендуется использовать Docker Compose. 29 | 30 | Ниже приведен конфигурационный файл `docker-compose.yml` с подключенной MariaDB, где директория запуска будет примонтирована к папке /local внутри контейнера. 31 | 32 | Вы можете поменять версию базы или подключить несколько разных баз данных одновременно, дополнив этот файл соответствующими инструкциями. 33 | 34 | ```yml 35 | version: '3' 36 | services: 37 | web: 38 | image: "akopkesheshyan/bitrix24:latest" 39 | ports: 40 | - "80:80" 41 | - "443:443" 42 | cap_add: 43 | - SYS_ADMIN 44 | security_opt: 45 | - seccomp:unconfined 46 | privileged: true 47 | volumes: 48 | - ./:/home/bitrix/www/local 49 | depends_on: 50 | - mysql 51 | mysql: 52 | image: mariadb 53 | healthcheck: 54 | test: "/usr/bin/mysql --user=root --password=+Tr+()8]!szl[HQIsoT5 --execute \"SHOW DATABASES;\"" 55 | interval: 2s 56 | timeout: 20s 57 | retries: 10 58 | ports: 59 | - "3306:3306" 60 | environment: 61 | MYSQL_ROOT_PASSWORD: +Tr+()8]!szl[HQIsoT5 62 | MYSQL_DATABASE: sitemanager 63 | MYSQL_USER: bitrix 64 | MYSQL_PASSWORD: +Tr+()8]!szl[HQIsoT5 65 | command: ['--character-set-server=utf8', '--collation-server=utf8_unicode_ci', '--skip-character-set-client-handshake', '--sql-mode='] 66 | ``` 67 | 68 | Bitrix24 Docker включает в себя первичные файлы установки, поэтому после старта контейнеров, вы сразу увидите страницу установки свежей копии портала по адресу http://localhost. 69 | 70 | Если вы подключаете Bitrix24 Docker к уже существующему проекту, поменяйте значение `volumes` секции `web` на `./:/home/bitrix/www`. 71 | 72 | ### Другие сценарии запуска 73 | 74 | - [Пошаговая инструкция по установке портала](/docs/01-install-step-by-step.md) 75 | - [Как подключить phpMyAdmin](/docs/02-phpmyadmin-setup.md) 76 | - Запуск Codeception тестов 77 | 78 | ## Примечание 79 | 80 | Это неофициальная сборка и предназначена исключительно для локальной разработки. Не используйте данный образ в production среде. -------------------------------------------------------------------------------- /etc/nginx/bx/maps/composite_settings.conf: -------------------------------------------------------------------------------- 1 | #################### compisite cache keys 2 | ## /path/to/asset => /path/to/asset 3 | ## /path/to/asset/ => /path/to/asset 4 | ## /path/to/dir/index.php => /path/to/dir 5 | map $uri $composite_key { 6 | default $uri; 7 | ~^(/|/index.php|/index.html)$ ""; 8 | ~^(?P.+)/$ $non_slash; 9 | ~^(?P.+)/index.php$ $non_index; 10 | ~^(?P.+)/index.html$ $non_index; 11 | } 12 | 13 | # disable composite cache if BX_ACTION_TYPE exists 14 | map $http_bx_action_type $not_bx_action_type { 15 | default "0"; 16 | '' "1"; 17 | } 18 | 19 | # disable composite cache if BX_AJAX 20 | map $http_bx_ajax $not_bx_ajax { 21 | default "0"; 22 | '' "1"; 23 | } 24 | 25 | # disable composite cache if method != GET 26 | map $request_method $is_get { 27 | default "0"; 28 | "GET" "1"; 29 | } 30 | 31 | # disable compisite cache if there next query string in agrs 32 | # ncc 33 | map $arg_ncc $non_arg_ncc { 34 | default "0"; 35 | '' "1"; 36 | } 37 | 38 | # bxajaxid 39 | map $arg_bxajaxid $non_arg_bxajaxid { 40 | default "0"; 41 | '' "1"; 42 | } 43 | 44 | # sessid 45 | map $arg_sessid $non_arg_sessid { 46 | default "0"; 47 | '' "1"; 48 | } 49 | 50 | # test IE 51 | map $http_user_agent $is_modern { 52 | default "1"; 53 | "~MSIE [5-9]" "0"; 54 | } 55 | 56 | # add common limit by uri path 57 | map $uri $is_good_uri { 58 | default "1"; 59 | ~^/bitrix/ "0"; 60 | ~^/index_controller.php "0"; 61 | } 62 | 63 | # not found NCC 64 | map $cookie_BITRIX_SM_NCC $non_cookie_ncc { 65 | default "0"; 66 | "" "1"; 67 | } 68 | 69 | # complex test 70 | # BITRIX_SM_LOGIN, BITRIX_SM_UIDH - hold values and BITRIX_SM_CC is empty 71 | map $cookie_BITRIX_SM_LOGIN $is_bx_sm_login { 72 | default "1"; 73 | "" "0"; 74 | } 75 | 76 | map $cookie_BITRIX_SM_UIDH $is_bx_sm_uidh { 77 | default "1"; 78 | "" "0"; 79 | } 80 | 81 | map $cookie_BITRIX_SM_CC $is_bx_sm_cc { 82 | default "1"; 83 | "Y" "0"; 84 | } 85 | 86 | map "${is_bx_sm_login}${is_bx_sm_uidh}${is_bx_sm_cc}" $is_storedAuth { 87 | default "1"; 88 | "111" "0"; 89 | } 90 | 91 | # test all global conditions 92 | map "${not_bx_action_type}${not_bx_ajax}${is_get}${non_arg_ncc}${non_arg_bxajaxid}${non_arg_sessid}${is_modern}${is_good_uri}${non_cookie_ncc}${is_storedAuth}" $is_global_composite { 93 | default "1"; 94 | ~0 "0"; 95 | } 96 | 97 | ## 98 | #################### /compisite cache keys 99 | 100 | #################### general cache setting 101 | ## /path/to/dir => /path/to/dir/index 102 | ## /path/to/dir/ => /path/to/dir/index 103 | ## /path/to/file.php => /path/to/php 104 | map $uri $general_key { 105 | default $uri; 106 | ~^(?P.+)/$ $non_slash; 107 | ~^(?P.+).php$ $php_path; 108 | } 109 | 110 | # if exists cookie PHPSESSID disable 111 | map $cookie_PHPSESSID $non_cookie_phpsessid { 112 | default "0"; 113 | '' "1"; 114 | } 115 | 116 | # main condition for general cache 117 | map "${is_get}${cookie_PHPSESSID}" $is_global_cache { 118 | default "1"; 119 | ~0 "0"; 120 | } 121 | 122 | 123 | -------------------------------------------------------------------------------- /docs/01-install-step-by-step.md: -------------------------------------------------------------------------------- 1 | # Пошаговая инструкция по установке портала Битрикс24 2 | 3 | Инструкция описывает процесс запуска Bitrix24 Docker образа на локальной машине. 4 | 5 | ## Шаг 1: Проверка на наличие установленных программ 6 | 7 | Убедитесь в том, что у вас локально установлен и запущен Docker. Для пользователей Linux дополнительно [потребуется установка Docker Compose](https://docs.docker.com/compose/install/). 8 | 9 | ```shell 10 | $ docker --version 11 | Docker version 18.09.2, build 6247962 12 | 13 | $ docker-compose --version 14 | docker-compose version 1.23.2, build 1110ad01 15 | ``` 16 | 17 | Если у вас не установлен Docker, воспользуйтесь официальным руководством. 18 | 19 | - [Windows](https://docs.docker.com/docker-for-windows/install/) 20 | - [Linux (Ubuntu, CentOS, Debian)](https://docs.docker.com/install/linux/docker-ce/ubuntu/) 21 | - [Mac](https://docs.docker.com/docker-for-mac/install/) 22 | 23 | > Для пользователей Windows 10, перед установкой, следует обратить внимание на версию своей операционной системы. 24 | > 25 | > Так, если у вас установлен `Windows 10 Pro` вам подойдет обычная версия Docker CE, если у вас `Windows 10 Home`, то потребуется дополнительная установка `Docker Toolbox`. 26 | > 27 | > Следуйте инструкциям официального руководства. 28 | 29 | ## Шаг 2: Инициализация проекта 30 | 31 | Создайте новую папку, в которой будет размещаться наш проект, и перейдите в нее. 32 | 33 | В консоли это будет выглядеть вот так: 34 | 35 | ```shell 36 | mkdir myproject 37 | cd myproject 38 | ``` 39 | 40 | ## Шаг 3: Создание конфигурационного файла 41 | 42 | В папке проекта создайте `docker-compose.yml` со следующим содержимым: 43 | 44 | 45 | ```yml 46 | version: '3' 47 | services: 48 | web: 49 | image: "akopkesheshyan/bitrix24:latest" 50 | ports: 51 | - "80:80" 52 | - "443:443" 53 | cap_add: 54 | - SYS_ADMIN 55 | security_opt: 56 | - seccomp:unconfined 57 | privileged: true 58 | volumes: 59 | - ./:/home/bitrix/www/local 60 | depends_on: 61 | - mysql 62 | mysql: 63 | image: mariadb 64 | healthcheck: 65 | test: "/usr/bin/mysql --user=root --password=+Tr+()8]!szl[HQIsoT5 --execute \"SHOW DATABASES;\"" 66 | interval: 2s 67 | timeout: 20s 68 | retries: 10 69 | ports: 70 | - "3306:3306" 71 | environment: 72 | MYSQL_ROOT_PASSWORD: +Tr+()8]!szl[HQIsoT5 73 | MYSQL_DATABASE: sitemanager 74 | MYSQL_USER: bitrix 75 | MYSQL_PASSWORD: +Tr+()8]!szl[HQIsoT5 76 | command: ['--character-set-server=utf8', '--collation-server=utf8_unicode_ci', '--skip-character-set-client-handshake', '--sql-mode='] 77 | ``` 78 | 79 | ## Шаг 4: Запуск Bitrix24 Docker 80 | 81 | В консоли выполните команду: 82 | 83 | ```shell 84 | docker-compose up -d 85 | ``` 86 | 87 | На экране повится сообщение об успешном запуске контейнеров. 88 | 89 | ```shell 90 | $ docker-compose up -d 91 | Starting myproject_mysql_1 ... done 92 | Starting myproject_tools_1 ... done 93 | Starting myproject_web_1 ... done 94 | ``` 95 | 96 | В случае возникновения ошибок, убедитесь что вы находитесь в директории проекта (см. шаг 2) и у вас установлен Docker Compose. 97 | 98 | ## Шаг 4: Установка портала 99 | 100 | Откройте браузер и перейдите по адресу http://localhost, вы увидите стандартный инсталлятор Битрикс. В результате его работы, вы получите полностью рабочий портал. 101 | 102 | Все файлы, размещенные в директории проекта будут доступны в папке `/local`. Если вы еще не используете эту директорию для разработки собственных решений, настоятельно рекомендуется ознакомиться с официальным курсом ["Разработчик Bitrix Framework"](https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=2705&LESSON_PATH=3913.4776.2483.2705) -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM centos:7 2 | 3 | # Add basics first 4 | RUN yum -y install epel-release \ 5 | http://rpms.remirepo.net/enterprise/remi-release-7.rpm \ 6 | yum-utils && \ 7 | yum-config-manager --enable remi-php72 8 | 9 | RUN yum update -y && yum upgrade -y && yum install -y initscripts \ 10 | wget \ 11 | httpd \ 12 | curl \ 13 | cronie \ 14 | ca-certificates \ 15 | openssl \ 16 | openssh \ 17 | git \ 18 | php \ 19 | php-cli \ 20 | php-json \ 21 | php-iconv \ 22 | nano \ 23 | curl-devel \ 24 | expat-devel \ 25 | gettext-devel \ 26 | openssl-devel \ 27 | zlib-devel \ 28 | pcre-devel \ 29 | gcc \ 30 | gcc-c++ \ 31 | kernel-devel \ 32 | bind \ 33 | bind bind-utils \ 34 | && yum clean -y all 35 | 36 | ENV container docker 37 | 38 | RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 39 | rm -f /lib/systemd/system/multi-user.target.wants/*;\ 40 | rm -f /etc/systemd/system/*.wants/*;\ 41 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 42 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 43 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 44 | rm -f /lib/systemd/system/basic.target.wants/*;\ 45 | rm -f /lib/systemd/system/anaconda.target.wants/*; 46 | 47 | # named (dns server) service 48 | RUN systemctl enable named.service 49 | 50 | # clone the project 51 | RUN git clone https://github.com/wandenberg/nginx-push-stream-module.git 52 | ENV NGINX_PUSH_STREAM_MODULE_PATH=$PWD/nginx-push-stream-module 53 | 54 | # get desired nginx version (works with 1.6.2+) 55 | RUN wget http://nginx.org/download/nginx-1.14.0.tar.gz && tar xzvf nginx-1.14.0.tar.gz && \ 56 | cd nginx-1.14.0 && \ 57 | ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --add-module=../nginx-push-stream-module --with-http_gzip_static_module --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module \ 58 | && make \ 59 | && make install 60 | 61 | RUN ln -fs /usr/share/zoneinfo/Europe/Moscow /etc/localtime 62 | 63 | RUN useradd -ms /bin/bash bitrix 64 | 65 | # Configure version constraints 66 | ENV PHP_ENABLE_XDEBUG=0 \ 67 | PATH=/app:/app/vendor/bin:/root/.composer/vendor/bin:$PATH \ 68 | TERM=linux \ 69 | VERSION_PRESTISSIMO_PLUGIN=^0.3.7 \ 70 | COMPOSER_ALLOW_SUPERUSER=1 71 | 72 | 73 | # Install composer 74 | RUN curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer && \ 75 | composer clear-cache 76 | 77 | 78 | # Setup apache and php 79 | RUN yum install -y php-intl \ 80 | php-ftp \ 81 | php-xdebug \ 82 | php-mcrypt \ 83 | php-mbstring \ 84 | php-soap \ 85 | php-gmp \ 86 | php-pdo_odbc \ 87 | php-dom \ 88 | php-pdo \ 89 | php-zip \ 90 | php-mysqli \ 91 | php-bcmath \ 92 | php-gd \ 93 | php-odbc \ 94 | php-pdo_mysql \ 95 | php-gettext \ 96 | php-xmlreader \ 97 | php-xmlwriter \ 98 | php-tokenizer \ 99 | php-xmlrpc \ 100 | php-bz2 \ 101 | php-curl \ 102 | php-ctype \ 103 | php-session \ 104 | php-exif \ 105 | php-opcache \ 106 | php-ldap \ 107 | # Create pid dir and send logs to stderr for Nginx 108 | && mkdir /run/nginx \ 109 | && mkdir /var/log/nginx \ 110 | && mkdir /home/bitrix/www 111 | 112 | RUN rm -rf /var/cache/yum/* 113 | 114 | # Nginx default server and PHP defaults 115 | COPY ./etc /etc 116 | COPY ./usr /usr 117 | 118 | WORKDIR /home/bitrix/www 119 | 120 | COPY ./www /home/bitrix/www 121 | 122 | RUN chown -R bitrix:bitrix /home/bitrix 123 | RUN chmod -R 777 /tmp 124 | RUN mkdir /home/bitrix/www/bitrix/tmp 125 | RUN chmod -R 777 /home/bitrix/www/bitrix/tmp 126 | 127 | EXPOSE 80 128 | EXPOSE 443 129 | 130 | RUN systemctl enable nginx.service 131 | RUN systemctl enable httpd.service 132 | RUN systemctl enable crond.service 133 | 134 | CMD ["/usr/sbin/init"] -------------------------------------------------------------------------------- /etc/nginx/mime.types: -------------------------------------------------------------------------------- 1 | 2 | types { 3 | text/html html htm shtml; 4 | text/css css; 5 | text/xml xml; 6 | image/gif gif; 7 | image/jpeg jpeg jpg; 8 | application/javascript js; 9 | application/atom+xml atom; 10 | application/rss+xml rss; 11 | 12 | text/mathml mml; 13 | text/plain txt; 14 | text/vnd.sun.j2me.app-descriptor jad; 15 | text/vnd.wap.wml wml; 16 | text/x-component htc; 17 | 18 | image/png png; 19 | image/svg+xml svg svgz; 20 | image/tiff tif tiff; 21 | image/vnd.wap.wbmp wbmp; 22 | image/webp webp; 23 | image/x-icon ico; 24 | image/x-jng jng; 25 | image/bmp bmp; 26 | 27 | application/font-woff woff; 28 | application/java-archive jar war ear; 29 | application/json json; 30 | application/mac-binhex40 hqx; 31 | application/msword doc; 32 | application/pdf pdf; 33 | application/postscript ps eps ai; 34 | application/rtf rtf; 35 | application/vnd.apple.mpegurl m3u8; 36 | application/vnd.google-earth.kml+xml kml; 37 | application/vnd.google-earth.kmz kmz; 38 | application/vnd.ms-excel xls; 39 | application/vnd.ms-fontobject eot; 40 | application/vnd.ms-powerpoint ppt; 41 | application/vnd.oasis.opendocument.graphics odg; 42 | application/vnd.oasis.opendocument.presentation odp; 43 | application/vnd.oasis.opendocument.spreadsheet ods; 44 | application/vnd.oasis.opendocument.text odt; 45 | application/vnd.openxmlformats-officedocument.presentationml.presentation 46 | pptx; 47 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 48 | xlsx; 49 | application/vnd.openxmlformats-officedocument.wordprocessingml.document 50 | docx; 51 | application/vnd.wap.wmlc wmlc; 52 | application/x-7z-compressed 7z; 53 | application/x-cocoa cco; 54 | application/x-java-archive-diff jardiff; 55 | application/x-java-jnlp-file jnlp; 56 | application/x-makeself run; 57 | application/x-perl pl pm; 58 | application/x-pilot prc pdb; 59 | application/x-rar-compressed rar; 60 | application/x-redhat-package-manager rpm; 61 | application/x-sea sea; 62 | application/x-shockwave-flash swf; 63 | application/x-stuffit sit; 64 | application/x-tcl tcl tk; 65 | application/x-x509-ca-cert der pem crt; 66 | application/x-xpinstall xpi; 67 | application/xhtml+xml xhtml; 68 | application/xspf+xml xspf; 69 | application/zip zip; 70 | 71 | application/octet-stream bin exe dll; 72 | application/octet-stream deb; 73 | application/octet-stream dmg; 74 | application/octet-stream iso img; 75 | application/octet-stream msi msp msm; 76 | 77 | audio/midi mid midi kar; 78 | audio/mpeg mp3; 79 | audio/ogg ogg; 80 | audio/x-m4a m4a; 81 | audio/x-realaudio ra; 82 | 83 | video/3gpp 3gpp 3gp; 84 | video/mp2t ts; 85 | video/mp4 mp4; 86 | video/mpeg mpeg mpg; 87 | video/quicktime mov; 88 | video/webm webm; 89 | video/x-flv flv; 90 | video/x-m4v m4v; 91 | video/x-mng mng; 92 | video/x-ms-asf asx asf; 93 | video/x-ms-wmv wmv; 94 | video/x-msvideo avi; 95 | 96 | application/x-font-ttf ttf; # bitrix-env 97 | 98 | application/x-font-opentype otf; # bitrix-env 99 | 100 | } 101 | -------------------------------------------------------------------------------- /etc/httpd/conf/httpd-scale.conf: -------------------------------------------------------------------------------- 1 | ServerTokens OS 2 | ServerRoot "/etc/httpd" 3 | PidFile /var/run/httpd/httpd-scale.pid 4 | 5 | # Timeout: The number of seconds before receives and sends time out. 6 | 7 | Timeout 120 8 | 9 | # KeepAlive: Whether or not to allow persistent connections (more than 10 | # one request per connection). Set to "Off" to deactivate. 11 | 12 | KeepAlive Off 13 | 14 | # MaxKeepAliveRequests: The maximum number of requests to allow 15 | # during a persistent connection. Set to 0 to allow an unlimited amount. 16 | # We recommend you leave this number high, for maximum performance. 17 | 18 | MaxKeepAliveRequests 100 19 | 20 | # KeepAliveTimeout: Number of seconds to wait for the next request from the 21 | # same client on the same connection. 22 | 23 | KeepAliveTimeout 15 24 | 25 | 26 | StartServers 2 27 | MaxClients 150 28 | MinSpareThreads 25 29 | MaxSpareThreads 75 30 | ThreadsPerChild 25 31 | MaxRequestsPerChild 0 32 | 33 | 34 | # Active module 35 | 36 | Include conf.modules.d/*.conf 37 | 38 | # Disabled module 39 | 40 | #LoadModule info_module modules/mod_info.so 41 | #LoadModule actions_module modules/mod_actions.so 42 | #LoadModule autoindex_module modules/mod_autoindex.so 43 | #LoadModule ext_filter_module modules/mod_ext_filter.so 44 | #LoadModule logio_module modules/mod_logio.so 45 | #LoadModule mime_magic_module modules/mod_mime_magic.so 46 | #LoadModule auth_digest_module modules/mod_auth_digest.so 47 | #LoadModule authn_alias_module modules/mod_authn_alias.so 48 | #LoadModule authn_anon_module modules/mod_authn_anon.so 49 | #LoadModule authn_dbm_module modules/mod_authn_dbm.so 50 | #LoadModule authn_default_module modules/mod_authn_default.so 51 | #LoadModule ldap_module modules/mod_ldap.so 52 | #LoadModule authnz_ldap_module modules/mod_authnz_ldap.so 53 | #LoadModule deflate_module modules/mod_deflate.so 54 | #LoadModule usertrack_module modules/mod_usertrack.so 55 | #LoadModule dav_module modules/mod_dav.so 56 | #LoadModule dav_fs_module modules/mod_dav_fs.so 57 | #LoadModule negotiation_module modules/mod_negotiation.so 58 | #LoadModule speling_module modules/mod_speling.so 59 | #LoadModule proxy_module modules/mod_proxy.so 60 | #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so 61 | #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so 62 | #LoadModule proxy_http_module modules/mod_proxy_http.so 63 | #LoadModule proxy_connect_module modules/mod_proxy_connect.so 64 | #LoadModule cache_module modules/mod_cache.so 65 | #LoadModule suexec_module modules/mod_suexec.so 66 | #LoadModule disk_cache_module modules/mod_disk_cache.so 67 | #LoadModule file_cache_module modules/mod_file_cache.so 68 | #LoadModule mem_cache_module modules/mod_mem_cache.so 69 | #LoadModule cgi_module modules/mod_cgi.so 70 | 71 | # 72 | # Disabled standart config 73 | # 74 | 75 | #Include conf.d/*.conf 76 | 77 | # 78 | # BitrixEnv include configs 79 | # 80 | 81 | Include bx-scale/conf/*.conf 82 | 83 | User bitrix 84 | Group bitrix 85 | 86 | ServerAdmin root@localhost 87 | 88 | UseCanonicalName Off 89 | 90 | DocumentRoot "/home/bitrix/www" 91 | Listen 127.0.0.1:9887 92 | 93 | 94 | Options FollowSymLinks 95 | AllowOverride None 96 | 97 | 98 | 99 | UserDir disable 100 | 101 | 102 | DirectoryIndex index.html 103 | AccessFileName .htaccess 104 | 105 | 106 | Require all denied 107 | 108 | 109 | TypesConfig /etc/mime.types 110 | #ForceType text/plain 111 | 112 | MIMEMagicFile conf/magic 113 | 114 | 115 | HostnameLookups Off 116 | ErrorLog logs/error_log 117 | 118 | LogLevel warn 119 | LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 120 | LogFormat "%h %l %u %t \"%r\" %>s %b" common 121 | LogFormat "%{Referer}i -> %U" referer 122 | LogFormat "%{User-agent}i" agent 123 | 124 | CustomLog logs/access_log combined 125 | 126 | ServerSignature On 127 | 128 | 129 | # Location of the WebDAV lock database. 130 | DAVLockDB /var/lib/dav/lockdb 131 | 132 | 133 | 134 | IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable 135 | IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t 136 | 137 | 138 | AddLanguage ca .ca 139 | AddLanguage cs .cz .cs 140 | AddLanguage da .dk 141 | AddLanguage de .de 142 | AddLanguage el .el 143 | AddLanguage en .en 144 | AddLanguage eo .eo 145 | AddLanguage es .es 146 | AddLanguage et .et 147 | AddLanguage fr .fr 148 | AddLanguage he .he 149 | AddLanguage hr .hr 150 | AddLanguage it .it 151 | AddLanguage ja .ja 152 | AddLanguage ko .ko 153 | AddLanguage ltz .ltz 154 | AddLanguage nl .nl 155 | AddLanguage nn .nn 156 | AddLanguage no .no 157 | AddLanguage pl .po 158 | AddLanguage pt .pt 159 | AddLanguage pt-BR .pt-br 160 | AddLanguage ru .ru 161 | AddLanguage sv .sv 162 | AddLanguage zh-CN .zh-cn 163 | AddLanguage zh-TW .zh-tw 164 | 165 | #LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW 166 | #ForceLanguagePriority Prefer Fallback 167 | 168 | AddDefaultCharset UTF-8 169 | 170 | AddType application/x-compress .Z 171 | AddType application/x-gzip .gz .tgz 172 | 173 | AddHandler type-map var 174 | AddType text/html .shtml 175 | AddOutputFilter INCLUDES .shtml 176 | 177 | BrowserMatch "Mozilla/2" nokeepalive 178 | BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 179 | BrowserMatch "RealPlayer 4\.0" force-response-1.0 180 | BrowserMatch "Java/1\.0" force-response-1.0 181 | BrowserMatch "JDK/1\.0" force-response-1.0 182 | 183 | #BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully 184 | #BrowserMatch "MS FrontPage" redirect-carefully 185 | #BrowserMatch "^WebDrive" redirect-carefully 186 | #BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully 187 | #BrowserMatch "^gnome-vfs/1.0" redirect-carefully 188 | #BrowserMatch "^XML Spy" redirect-carefully 189 | #BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully 190 | -------------------------------------------------------------------------------- /etc/nginx/bx/conf/bitrix_general.conf: -------------------------------------------------------------------------------- 1 | # 2 | # Main configuration file for site with Bitrix CMS. 3 | # It doesn't contain configuration for .php and / 4 | # as their treatment depends on the type of caching on the site: 5 | # - general cache - default option 6 | # - composite cache + file - can be enabled in the menu 7 | # - composite cache + memcached - can be enabled in the menu 8 | # 9 | 10 | # Assign error handler 11 | include bx/conf/errors.conf; 12 | 13 | # Include im subscrider handlers 14 | include bx/conf/im_subscrider.conf; 15 | 16 | # Deny external access to critical areas 17 | include bx/conf/bitrix_block.conf; 18 | 19 | # Intenal locations 20 | location ^~ /upload/support/not_image { internal; } 21 | 22 | # scale location 23 | include bx/conf/bitrix_scale.conf; 24 | 25 | # Cache location: composite and general site 26 | location ~* @.*\.html$ { 27 | internal; 28 | # disable browser cache, php manage file 29 | expires -1y; 30 | add_header X-Bitrix-Composite "Nginx (file)"; 31 | } 32 | 33 | # Player options, disable no-sniff 34 | location ~* ^/bitrix/components/bitrix/player/mediaplayer/player$ { 35 | add_header Access-Control-Allow-Origin *; 36 | } 37 | 38 | # Process dav request on 39 | # main company 40 | # extranet 41 | # additional departments 42 | # locations that ends with / => directly to apache 43 | location ~ ^(/[^/]+)?(/docs|/workgroups|/company/profile|/bitrix/tools|/company/personal/user|/mobile/webdav|/contacts/personal).*/$ { 44 | proxy_pass $proxyserver; 45 | } 46 | 47 | # Add / to request 48 | location ~ ^(/[^/]+)?(/docs|/workgroups|/company/profile|/bitrix/tools|/company/personal/user|/mobile/webdav|/contacts/personal) { 49 | 50 | set $addslash ""; 51 | if (-d $request_filename) { set $addslash "${addslash}Y"; } 52 | if ($is_args != '?') { set $addslash "${addslash}Y"; } 53 | if ($addslash = "YY" ) { proxy_pass $proxyserver$request_uri/; } 54 | 55 | proxy_pass $proxyserver; 56 | } 57 | 58 | # Accept access for merged css and js 59 | location ~* ^/bitrix/cache/(css/.+\.css|js/.+\.js)$ { 60 | expires 30d; 61 | error_page 404 /404.html; 62 | } 63 | 64 | # Disable access for other assets in cache location 65 | location ~* ^/bitrix/cache { deny all; } 66 | 67 | # Excange and Outlook 68 | location ~ ^/bitrix/tools/ws_.*/_vti_bin/.*\.asmx$ { proxy_pass $proxyserver; } 69 | 70 | # Groupdav 71 | location ^~ /bitrix/groupdav.php { proxy_pass $proxyserver; } 72 | 73 | # Use nginx to return static content from s3 cloud storage 74 | # /upload/bx_cloud_upload/...amazonaws.com/ 75 | location ^~ /upload/bx_cloud_upload/ { 76 | 77 | location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.(s3|s3-us-west-1|s3-eu-west-1|s3-ap-southeast-1|s3-ap-northeast-1)\.amazonaws\.com/([^\s]+)$ { 78 | internal; 79 | resolver 8.8.8.8; 80 | proxy_method GET; 81 | proxy_set_header X-Real-IP $remote_addr; 82 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 83 | proxy_set_header X-Forwarded-Server $host; 84 | #proxy_max_temp_file_size 0; 85 | proxy_pass $1://$2.$3.amazonaws.com/$4; 86 | } 87 | 88 | location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.([^/:\s]+)\.([^/:\s]+)\.rackcdn\.com/([^\s]+)$ { 89 | internal; 90 | resolver 8.8.8.8; 91 | proxy_method GET; 92 | proxy_set_header X-Real-IP $remote_addr; 93 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 94 | proxy_set_header X-Forwarded-Server $host; 95 | #proxy_max_temp_file_size 0; 96 | proxy_pass $1://$2.$3.$4.rackcdn.com/$5; 97 | } 98 | 99 | location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.clodo\.ru\:(80|443)/([^\s]+)$ { 100 | internal; 101 | resolver 8.8.8.8; 102 | proxy_method GET; 103 | proxy_set_header X-Real-IP $remote_addr; 104 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 105 | proxy_set_header X-Forwarded-Server $host; 106 | #proxy_max_temp_file_size 0; 107 | proxy_pass $1://$2.clodo.ru:$3/$4; 108 | } 109 | 110 | location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.commondatastorage\.googleapis\.com/([^\s]+)$ { 111 | internal; 112 | resolver 8.8.8.8; 113 | proxy_method GET; 114 | proxy_set_header X-Real-IP $remote_addr; 115 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 116 | proxy_set_header X-Forwarded-Server $host; 117 | #proxy_max_temp_file_size 0; 118 | proxy_pass $1://$2.commondatastorage.googleapis.com/$3; 119 | } 120 | 121 | location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.selcdn\.ru/([^\s]+)$ { 122 | internal; 123 | resolver 8.8.8.8; 124 | proxy_method GET; 125 | proxy_set_header X-Real-IP $remote_addr; 126 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 127 | proxy_set_header X-Forwarded-Server $host; 128 | #proxy_max_temp_file_size 0; 129 | proxy_pass $1://$2.selcdn.ru/$3; 130 | } 131 | 132 | location ~* .*$ { deny all; } 133 | } 134 | 135 | # Static content 136 | location ~* ^/(upload|bitrix/images|bitrix/tmp) { 137 | expires 30d; 138 | } 139 | 140 | location ~* \.(css|js|gif|png|jpg|jpeg|ico|ogg|ttf|woff|eot|otf)$ { 141 | error_page 404 /404.html; 142 | expires 30d; 143 | } 144 | 145 | # Nginx server status page 146 | location ^~ /nginx-status { 147 | stub_status on; 148 | allow 127.0.0.0/24; 149 | deny all; 150 | } 151 | 152 | # pub & online 153 | # telephony and voximplant 154 | location ~* ^/(pub/|online/|services/telephony/info_receiver.php|/bitrix/tools/voximplant/) { 155 | 156 | add_header X-Frame-Options '' always; 157 | location ~* ^/(pub/imconnector/|pub/imbot.php|services/telephony/info_receiver.php|bitrix/tools/voximplant/) { 158 | proxy_ignore_client_abort on; 159 | proxy_pass $proxyserver; 160 | } 161 | 162 | proxy_pass $proxyserver; 163 | } 164 | 165 | # Bitrix setup script 166 | location ^~ ^(/bitrixsetup\.php)$ { proxy_pass $proxyserver; proxy_buffering off; } 167 | 168 | -------------------------------------------------------------------------------- /etc/httpd/conf/httpd.conf: -------------------------------------------------------------------------------- 1 | ServerTokens OS 2 | ServerRoot "/etc/httpd" 3 | PidFile run/httpd.pid 4 | 5 | # Timeout: The number of seconds before receives and sends time out. 6 | 7 | Timeout 120 8 | 9 | # KeepAlive: Whether or not to allow persistent connections (more than 10 | # one request per connection). Set to "Off" to deactivate. 11 | 12 | KeepAlive Off 13 | 14 | # MaxKeepAliveRequests: The maximum number of requests to allow 15 | # during a persistent connection. Set to 0 to allow an unlimited amount. 16 | # We recommend you leave this number high, for maximum performance. 17 | 18 | MaxKeepAliveRequests 100 19 | 20 | # KeepAliveTimeout: Number of seconds to wait for the next request from the 21 | # same client on the same connection. 22 | 23 | KeepAliveTimeout 15 24 | 25 | 26 | StartServers 2 27 | MaxClients 150 28 | MinSpareThreads 25 29 | MaxSpareThreads 75 30 | ThreadsPerChild 25 31 | MaxRequestsPerChild 0 32 | 33 | 34 | # Active module 35 | 36 | Include conf.modules.d/*.conf 37 | 38 | # Disabled module 39 | 40 | #LoadModule info_module modules/mod_info.so 41 | #LoadModule actions_module modules/mod_actions.so 42 | #LoadModule autoindex_module modules/mod_autoindex.so 43 | #LoadModule ext_filter_module modules/mod_ext_filter.so 44 | #LoadModule logio_module modules/mod_logio.so 45 | #LoadModule mime_magic_module modules/mod_mime_magic.so 46 | #LoadModule auth_digest_module modules/mod_auth_digest.so 47 | #LoadModule authn_alias_module modules/mod_authn_alias.so 48 | #LoadModule authn_anon_module modules/mod_authn_anon.so 49 | #LoadModule authn_dbm_module modules/mod_authn_dbm.so 50 | #LoadModule authn_default_module modules/mod_authn_default.so 51 | #LoadModule ldap_module modules/mod_ldap.so 52 | #LoadModule authnz_ldap_module modules/mod_authnz_ldap.so 53 | #LoadModule deflate_module modules/mod_deflate.so 54 | #LoadModule usertrack_module modules/mod_usertrack.so 55 | #LoadModule dav_module modules/mod_dav.so 56 | #LoadModule dav_fs_module modules/mod_dav_fs.so 57 | #LoadModule negotiation_module modules/mod_negotiation.so 58 | #LoadModule speling_module modules/mod_speling.so 59 | #LoadModule proxy_module modules/mod_proxy.so 60 | #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so 61 | #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so 62 | #LoadModule proxy_http_module modules/mod_proxy_http.so 63 | #LoadModule proxy_connect_module modules/mod_proxy_connect.so 64 | #LoadModule cache_module modules/mod_cache.so 65 | #LoadModule suexec_module modules/mod_suexec.so 66 | #LoadModule disk_cache_module modules/mod_disk_cache.so 67 | #LoadModule file_cache_module modules/mod_file_cache.so 68 | #LoadModule mem_cache_module modules/mod_mem_cache.so 69 | #LoadModule cgi_module modules/mod_cgi.so 70 | 71 | 72 | SetEnvIf X-Forwarded-Scheme https HTTPS=on 73 | SetEnvIf X-Forwarded-Proto https HTTPS=on 74 | 75 | 76 | # 77 | # Disabled standart config 78 | # 79 | 80 | #Include conf.d/*.conf 81 | 82 | # 83 | # BitrixEnv include configs 84 | # 85 | 86 | Include bx/conf/*.conf 87 | Include bx/custom/*.conf 88 | 89 | User bitrix 90 | Group bitrix 91 | 92 | ServerAdmin root@localhost 93 | 94 | UseCanonicalName Off 95 | 96 | DocumentRoot "/home/bitrix/www" 97 | 98 | 99 | Options FollowSymLinks 100 | AllowOverride None 101 | 102 | 103 | 104 | UserDir disable 105 | 106 | 107 | DirectoryIndex index.html 108 | AccessFileName .htaccess 109 | 110 | 111 | Require all denied 112 | 113 | 114 | TypesConfig /etc/mime.types 115 | #ForceType text/plain 116 | 117 | MIMEMagicFile conf/magic 118 | 119 | 120 | HostnameLookups Off 121 | ErrorLog logs/error_log 122 | 123 | LogLevel warn 124 | LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 125 | LogFormat "%h %l %u %t \"%r\" %>s %b" common 126 | LogFormat "%{Referer}i -> %U" referer 127 | LogFormat "%{User-agent}i" agent 128 | 129 | CustomLog logs/access_log combined 130 | 131 | ServerSignature On 132 | 133 | 134 | # Location of the WebDAV lock database. 135 | DAVLockDB /var/lib/dav/lockdb 136 | 137 | 138 | 139 | IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable 140 | IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t 141 | 142 | 143 | AddLanguage ca .ca 144 | AddLanguage cs .cz .cs 145 | AddLanguage da .dk 146 | AddLanguage de .de 147 | AddLanguage el .el 148 | AddLanguage en .en 149 | AddLanguage eo .eo 150 | AddLanguage es .es 151 | AddLanguage et .et 152 | AddLanguage fr .fr 153 | AddLanguage he .he 154 | AddLanguage hr .hr 155 | AddLanguage it .it 156 | AddLanguage ja .ja 157 | AddLanguage ko .ko 158 | AddLanguage ltz .ltz 159 | AddLanguage nl .nl 160 | AddLanguage nn .nn 161 | AddLanguage no .no 162 | AddLanguage pl .po 163 | AddLanguage pt .pt 164 | AddLanguage pt-BR .pt-br 165 | AddLanguage ru .ru 166 | AddLanguage sv .sv 167 | AddLanguage zh-CN .zh-cn 168 | AddLanguage zh-TW .zh-tw 169 | 170 | #LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW 171 | #ForceLanguagePriority Prefer Fallback 172 | 173 | AddDefaultCharset UTF-8 174 | 175 | AddType application/x-compress .Z 176 | AddType application/x-gzip .gz .tgz 177 | 178 | AddHandler type-map var 179 | AddType text/html .shtml 180 | AddOutputFilter INCLUDES .shtml 181 | 182 | BrowserMatch "Mozilla/2" nokeepalive 183 | BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 184 | BrowserMatch "RealPlayer 4\.0" force-response-1.0 185 | BrowserMatch "Java/1\.0" force-response-1.0 186 | BrowserMatch "JDK/1\.0" force-response-1.0 187 | 188 | #BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully 189 | #BrowserMatch "MS FrontPage" redirect-carefully 190 | #BrowserMatch "^WebDrive" redirect-carefully 191 | #BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully 192 | #BrowserMatch "^gnome-vfs/1.0" redirect-carefully 193 | #BrowserMatch "^XML Spy" redirect-carefully 194 | #BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully 195 | -------------------------------------------------------------------------------- /etc/httpd/conf/magic: -------------------------------------------------------------------------------- 1 | # Magic data for mod_mime_magic Apache module (originally for file(1) command) 2 | # The module is described in /manual/mod/mod_mime_magic.html 3 | # 4 | # The format is 4-5 columns: 5 | # Column #1: byte number to begin checking from, ">" indicates continuation 6 | # Column #2: type of data to match 7 | # Column #3: contents of data to match 8 | # Column #4: MIME type of result 9 | # Column #5: MIME encoding of result (optional) 10 | 11 | #------------------------------------------------------------------------------ 12 | # Localstuff: file(1) magic for locally observed files 13 | # Add any locally observed files here. 14 | 15 | #------------------------------------------------------------------------------ 16 | # end local stuff 17 | #------------------------------------------------------------------------------ 18 | 19 | #------------------------------------------------------------------------------ 20 | # Java 21 | 22 | 0 short 0xcafe 23 | >2 short 0xbabe application/java 24 | 25 | #------------------------------------------------------------------------------ 26 | # audio: file(1) magic for sound formats 27 | # 28 | # from Jan Nicolai Langfeldt , 29 | # 30 | 31 | # Sun/NeXT audio data 32 | 0 string .snd 33 | >12 belong 1 audio/basic 34 | >12 belong 2 audio/basic 35 | >12 belong 3 audio/basic 36 | >12 belong 4 audio/basic 37 | >12 belong 5 audio/basic 38 | >12 belong 6 audio/basic 39 | >12 belong 7 audio/basic 40 | 41 | >12 belong 23 audio/x-adpcm 42 | 43 | # DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format 44 | # that uses little-endian encoding and has a different magic number 45 | # (0x0064732E in little-endian encoding). 46 | 0 lelong 0x0064732E 47 | >12 lelong 1 audio/x-dec-basic 48 | >12 lelong 2 audio/x-dec-basic 49 | >12 lelong 3 audio/x-dec-basic 50 | >12 lelong 4 audio/x-dec-basic 51 | >12 lelong 5 audio/x-dec-basic 52 | >12 lelong 6 audio/x-dec-basic 53 | >12 lelong 7 audio/x-dec-basic 54 | # compressed (G.721 ADPCM) 55 | >12 lelong 23 audio/x-dec-adpcm 56 | 57 | # Bytes 0-3 of AIFF, AIFF-C, & 8SVX audio files are "FORM" 58 | # AIFF audio data 59 | 8 string AIFF audio/x-aiff 60 | # AIFF-C audio data 61 | 8 string AIFC audio/x-aiff 62 | # IFF/8SVX audio data 63 | 8 string 8SVX audio/x-aiff 64 | 65 | # Creative Labs AUDIO stuff 66 | # Standard MIDI data 67 | 0 string MThd audio/unknown 68 | #>9 byte >0 (format %d) 69 | #>11 byte >1 using %d channels 70 | # Creative Music (CMF) data 71 | 0 string CTMF audio/unknown 72 | # SoundBlaster instrument data 73 | 0 string SBI audio/unknown 74 | # Creative Labs voice data 75 | 0 string Creative\ Voice\ File audio/unknown 76 | ## is this next line right? it came this way... 77 | #>19 byte 0x1A 78 | #>23 byte >0 - version %d 79 | #>22 byte >0 \b.%d 80 | 81 | # [GRR 950115: is this also Creative Labs? Guessing that first line 82 | # should be string instead of unknown-endian long...] 83 | #0 long 0x4e54524b MultiTrack sound data 84 | #0 string NTRK MultiTrack sound data 85 | #>4 long x - version %ld 86 | 87 | # Microsoft WAVE format (*.wav) 88 | # [GRR 950115: probably all of the shorts and longs should be leshort/lelong] 89 | # Microsoft RIFF 90 | 0 string RIFF audio/unknown 91 | # - WAVE format 92 | >8 string WAVE audio/x-wav 93 | # MPEG audio. 94 | 0 beshort&0xfff0 0xfff0 audio/mpeg 95 | # C64 SID Music files, from Linus Walleij 96 | 0 string PSID audio/prs.sid 97 | 98 | #------------------------------------------------------------------------------ 99 | # c-lang: file(1) magic for C programs or various scripts 100 | # 101 | 102 | # XPM icons (Greg Roelofs, newt@uchicago.edu) 103 | # ideally should go into "images", but entries below would tag XPM as C source 104 | 0 string /*\ XPM image/x-xbm 7bit 105 | 106 | # this first will upset you if you're a PL/1 shop... (are there any left?) 107 | # in which case rm it; ascmagic will catch real C programs 108 | # C or REXX program text 109 | 0 string /* text/plain 110 | # C++ program text 111 | 0 string // text/plain 112 | 113 | #------------------------------------------------------------------------------ 114 | # compress: file(1) magic for pure-compression formats (no archives) 115 | # 116 | # compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, whap, etc. 117 | # 118 | # Formats for various forms of compressed data 119 | # Formats for "compress" proper have been moved into "compress.c", 120 | # because it tries to uncompress it to figure out what's inside. 121 | 122 | # standard unix compress 123 | 0 string \037\235 application/octet-stream x-compress 124 | 125 | # gzip (GNU zip, not to be confused with [Info-ZIP/PKWARE] zip archiver) 126 | 0 string \037\213 application/octet-stream x-gzip 127 | 128 | # According to gzip.h, this is the correct byte order for packed data. 129 | 0 string \037\036 application/octet-stream 130 | # 131 | # This magic number is byte-order-independent. 132 | # 133 | 0 short 017437 application/octet-stream 134 | 135 | # XXX - why *two* entries for "compacted data", one of which is 136 | # byte-order independent, and one of which is byte-order dependent? 137 | # 138 | # compacted data 139 | 0 short 0x1fff application/octet-stream 140 | 0 string \377\037 application/octet-stream 141 | # huf output 142 | 0 short 0145405 application/octet-stream 143 | 144 | # Squeeze and Crunch... 145 | # These numbers were gleaned from the Unix versions of the programs to 146 | # handle these formats. Note that I can only uncrunch, not crunch, and 147 | # I didn't have a crunched file handy, so the crunch number is untested. 148 | # Keith Waclena 149 | #0 leshort 0x76FF squeezed data (CP/M, DOS) 150 | #0 leshort 0x76FE crunched data (CP/M, DOS) 151 | 152 | # Freeze 153 | #0 string \037\237 Frozen file 2.1 154 | #0 string \037\236 Frozen file 1.0 (or gzip 0.5) 155 | 156 | # lzh? 157 | #0 string \037\240 LZH compressed data 158 | 159 | #------------------------------------------------------------------------------ 160 | # frame: file(1) magic for FrameMaker files 161 | # 162 | # This stuff came on a FrameMaker demo tape, most of which is 163 | # copyright, but this file is "published" as witness the following: 164 | # 165 | 0 string \ 177 | # and Anna Shergold 178 | # 179 | 0 string \ 192 | 0 string \14 byte 12 (OS/2 1.x format) 257 | #>14 byte 64 (OS/2 2.x format) 258 | #>14 byte 40 (Windows 3.x format) 259 | #0 string IC icon 260 | #0 string PI pointer 261 | #0 string CI color icon 262 | #0 string CP color pointer 263 | #0 string BA bitmap array 264 | 265 | 0 string \x89PNG image/png 266 | 0 string FWS application/x-shockwave-flash 267 | 0 string CWS application/x-shockwave-flash 268 | 269 | #------------------------------------------------------------------------------ 270 | # lisp: file(1) magic for lisp programs 271 | # 272 | # various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com) 273 | 0 string ;; text/plain 8bit 274 | # Emacs 18 - this is always correct, but not very magical. 275 | 0 string \012( application/x-elc 276 | # Emacs 19 277 | 0 string ;ELC\023\000\000\000 application/x-elc 278 | 279 | #------------------------------------------------------------------------------ 280 | # mail.news: file(1) magic for mail and news 281 | # 282 | # There are tests to ascmagic.c to cope with mail and news. 283 | 0 string Relay-Version: message/rfc822 7bit 284 | 0 string #!\ rnews message/rfc822 7bit 285 | 0 string N#!\ rnews message/rfc822 7bit 286 | 0 string Forward\ to message/rfc822 7bit 287 | 0 string Pipe\ to message/rfc822 7bit 288 | 0 string Return-Path: message/rfc822 7bit 289 | 0 string Path: message/news 8bit 290 | 0 string Xref: message/news 8bit 291 | 0 string From: message/rfc822 7bit 292 | 0 string Article message/news 8bit 293 | #------------------------------------------------------------------------------ 294 | # msword: file(1) magic for MS Word files 295 | # 296 | # Contributor claims: 297 | # Reversed-engineered MS Word magic numbers 298 | # 299 | 300 | 0 string \376\067\0\043 application/msword 301 | 0 string \333\245-\0\0\0 application/msword 302 | 303 | # disable this one because it applies also to other 304 | # Office/OLE documents for which msword is not correct. See PR#2608. 305 | #0 string \320\317\021\340\241\261 application/msword 306 | 307 | 308 | 309 | #------------------------------------------------------------------------------ 310 | # printer: file(1) magic for printer-formatted files 311 | # 312 | 313 | # PostScript 314 | 0 string %! application/postscript 315 | 0 string \004%! application/postscript 316 | 317 | # Acrobat 318 | # (due to clamen@cs.cmu.edu) 319 | 0 string %PDF- application/pdf 320 | 321 | #------------------------------------------------------------------------------ 322 | # sc: file(1) magic for "sc" spreadsheet 323 | # 324 | 38 string Spreadsheet application/x-sc 325 | 326 | #------------------------------------------------------------------------------ 327 | # tex: file(1) magic for TeX files 328 | # 329 | # XXX - needs byte-endian stuff (big-endian and little-endian DVI?) 330 | # 331 | # From 332 | 333 | # Although we may know the offset of certain text fields in TeX DVI 334 | # and font files, we can't use them reliably because they are not 335 | # zero terminated. [but we do anyway, christos] 336 | 0 string \367\002 application/x-dvi 337 | #0 string \367\203 TeX generic font data 338 | #0 string \367\131 TeX packed font data 339 | #0 string \367\312 TeX virtual font data 340 | #0 string This\ is\ TeX, TeX transcript text 341 | #0 string This\ is\ METAFONT, METAFONT transcript text 342 | 343 | # There is no way to detect TeX Font Metric (*.tfm) files without 344 | # breaking them apart and reading the data. The following patterns 345 | # match most *.tfm files generated by METAFONT or afm2tfm. 346 | #2 string \000\021 TeX font metric data 347 | #2 string \000\022 TeX font metric data 348 | #>34 string >\0 (%s) 349 | 350 | # Texinfo and GNU Info, from Daniel Quinlan (quinlan@yggdrasil.com) 351 | #0 string \\input\ texinfo Texinfo source text 352 | #0 string This\ is\ Info\ file GNU Info text 353 | 354 | # correct TeX magic for Linux (and maybe more) 355 | # from Peter Tobias (tobias@server.et-inf.fho-emden.de) 356 | # 357 | 0 leshort 0x02f7 application/x-dvi 358 | 359 | # RTF - Rich Text Format 360 | 0 string {\\rtf application/rtf 361 | 362 | #------------------------------------------------------------------------------ 363 | # animation: file(1) magic for animation/movie formats 364 | # 365 | # animation formats, originally from vax@ccwf.cc.utexas.edu (VaX#n8) 366 | # MPEG file 367 | 0 string \000\000\001\263 video/mpeg 368 | # 369 | # The contributor claims: 370 | # I couldn't find a real magic number for these, however, this 371 | # -appears- to work. Note that it might catch other files, too, 372 | # so BE CAREFUL! 373 | # 374 | # Note that title and author appear in the two 20-byte chunks 375 | # at decimal offsets 2 and 22, respectively, but they are XOR'ed with 376 | # 255 (hex FF)! DL format SUCKS BIG ROCKS. 377 | # 378 | # DL file version 1 , medium format (160x100, 4 images/screen) 379 | 0 byte 1 video/unknown 380 | 0 byte 2 video/unknown 381 | # Quicktime video, from Linus Walleij 382 | # from Apple quicktime file format documentation. 383 | 4 string moov video/quicktime 384 | 4 string mdat video/quicktime 385 | 386 | -------------------------------------------------------------------------------- /etc/php.ini: -------------------------------------------------------------------------------- 1 | [PHP] 2 | 3 | ;;;;;;;;;;;;;;;;;;; 4 | ; About php.ini ; 5 | ;;;;;;;;;;;;;;;;;;; 6 | ; PHP's initialization file, generally called php.ini, is responsible for 7 | ; configuring many of the aspects of PHP's behavior. 8 | 9 | ; PHP attempts to find and load this configuration from a number of locations. 10 | ; The following is a summary of its search order: 11 | ; 1. SAPI module specific location. 12 | ; 2. The PHPRC environment variable. (As of PHP 5.2.0) 13 | ; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) 14 | ; 4. Current working directory (except CLI) 15 | ; 5. The web server's directory (for SAPI modules), or directory of PHP 16 | ; (otherwise in Windows) 17 | ; 6. The directory from the --with-config-file-path compile time option, or the 18 | ; Windows directory (C:\windows or C:\winnt) 19 | ; See the PHP docs for more specific information. 20 | ; http://php.net/configuration.file 21 | 22 | ; The syntax of the file is extremely simple. Whitespace and lines 23 | ; beginning with a semicolon are silently ignored (as you probably guessed). 24 | ; Section headers (e.g. [Foo]) are also silently ignored, even though 25 | ; they might mean something in the future. 26 | 27 | ; Directives following the section heading [PATH=/www/mysite] only 28 | ; apply to PHP files in the /www/mysite directory. Directives 29 | ; following the section heading [HOST=www.example.com] only apply to 30 | ; PHP files served from www.example.com. Directives set in these 31 | ; special sections cannot be overridden by user-defined INI files or 32 | ; at runtime. Currently, [PATH=] and [HOST=] sections only work under 33 | ; CGI/FastCGI. 34 | ; http://php.net/ini.sections 35 | 36 | ; Directives are specified using the following syntax: 37 | ; directive = value 38 | ; Directive names are *case sensitive* - foo=bar is different from FOO=bar. 39 | ; Directives are variables used to configure PHP or PHP extensions. 40 | ; There is no name validation. If PHP can't find an expected 41 | ; directive because it is not set or is mistyped, a default value will be used. 42 | 43 | ; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one 44 | ; of the INI constants (On, Off, True, False, Yes, No and None) or an expression 45 | ; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a 46 | ; previously set variable or directive (e.g. ${foo}) 47 | 48 | ; Expressions in the INI file are limited to bitwise operators and parentheses: 49 | ; | bitwise OR 50 | ; ^ bitwise XOR 51 | ; & bitwise AND 52 | ; ~ bitwise NOT 53 | ; ! boolean NOT 54 | 55 | ; Boolean flags can be turned on using the values 1, On, True or Yes. 56 | ; They can be turned off using the values 0, Off, False or No. 57 | 58 | ; An empty string can be denoted by simply not writing anything after the equal 59 | ; sign, or by using the None keyword: 60 | 61 | ; foo = ; sets foo to an empty string 62 | ; foo = None ; sets foo to an empty string 63 | ; foo = "None" ; sets foo to the string 'None' 64 | 65 | ; If you use constants in your value, and these constants belong to a 66 | ; dynamically loaded extension (either a PHP extension or a Zend extension), 67 | ; you may only use these constants *after* the line that loads the extension. 68 | 69 | ;;;;;;;;;;;;;;;;;;; 70 | ; About this file ; 71 | ;;;;;;;;;;;;;;;;;;; 72 | ; PHP comes packaged with two INI files. One that is recommended to be used 73 | ; in production environments and one that is recommended to be used in 74 | ; development environments. 75 | 76 | ; php.ini-production contains settings which hold security, performance and 77 | ; best practices at its core. But please be aware, these settings may break 78 | ; compatibility with older or less security conscience applications. We 79 | ; recommending using the production ini in production and testing environments. 80 | 81 | ; php.ini-development is very similar to its production variant, except it is 82 | ; much more verbose when it comes to errors. We recommend using the 83 | ; development version only in development environments, as errors shown to 84 | ; application users can inadvertently leak otherwise secure information. 85 | 86 | ; This is php.ini-production INI file. 87 | 88 | ;;;;;;;;;;;;;;;;;;; 89 | ; Quick Reference ; 90 | ;;;;;;;;;;;;;;;;;;; 91 | ; The following are all the settings which are different in either the production 92 | ; or development versions of the INIs with respect to PHP's default behavior. 93 | ; Please see the actual settings later in the document for more details as to why 94 | ; we recommend these changes in PHP's behavior. 95 | 96 | ; display_errors 97 | ; Default Value: On 98 | ; Development Value: On 99 | ; Production Value: Off 100 | 101 | ; display_startup_errors 102 | ; Default Value: Off 103 | ; Development Value: On 104 | ; Production Value: Off 105 | 106 | ; error_reporting 107 | ; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED 108 | ; Development Value: E_ALL 109 | ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT 110 | 111 | ; html_errors 112 | ; Default Value: On 113 | ; Development Value: On 114 | ; Production value: On 115 | 116 | ; log_errors 117 | ; Default Value: Off 118 | ; Development Value: On 119 | ; Production Value: On 120 | 121 | ; max_input_time 122 | ; Default Value: -1 (Unlimited) 123 | ; Development Value: 60 (60 seconds) 124 | ; Production Value: 60 (60 seconds) 125 | 126 | ; output_buffering 127 | ; Default Value: Off 128 | ; Development Value: 4096 129 | ; Production Value: 4096 130 | 131 | ; register_argc_argv 132 | ; Default Value: On 133 | ; Development Value: Off 134 | ; Production Value: Off 135 | 136 | ; request_order 137 | ; Default Value: None 138 | ; Development Value: "GP" 139 | ; Production Value: "GP" 140 | 141 | ; session.gc_divisor 142 | ; Default Value: 100 143 | ; Development Value: 1000 144 | ; Production Value: 1000 145 | 146 | ; session.sid_bits_per_character 147 | ; Default Value: 4 148 | ; Development Value: 5 149 | ; Production Value: 5 150 | 151 | ; short_open_tag 152 | ; Default Value: On 153 | ; Development Value: Off 154 | ; Production Value: Off 155 | 156 | ; track_errors 157 | ; Default Value: Off 158 | ; Development Value: On 159 | ; Production Value: Off 160 | 161 | ; variables_order 162 | ; Default Value: "EGPCS" 163 | ; Development Value: "GPCS" 164 | ; Production Value: "GPCS" 165 | 166 | ;;;;;;;;;;;;;;;;;;;; 167 | ; php.ini Options ; 168 | ;;;;;;;;;;;;;;;;;;;; 169 | ; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" 170 | ;user_ini.filename = ".user.ini" 171 | 172 | ; To disable this feature set this option to empty value 173 | ;user_ini.filename = 174 | 175 | ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) 176 | ;user_ini.cache_ttl = 300 177 | 178 | ;;;;;;;;;;;;;;;;;;;; 179 | ; Language Options ; 180 | ;;;;;;;;;;;;;;;;;;;; 181 | 182 | ; Enable the PHP scripting language engine under Apache. 183 | ; http://php.net/engine 184 | engine = On 185 | 186 | ; This directive determines whether or not PHP will recognize code between 187 | ; tags as PHP source which should be processed as such. It is 188 | ; generally recommended that should be used and that this feature 189 | ; should be disabled, as enabling it may result in issues when generating XML 190 | ; documents, however this remains supported for backward compatibility reasons. 191 | ; Note that this directive does not control the would work. 323 | ; http://php.net/syntax-highlighting 324 | ;highlight.string = #DD0000 325 | ;highlight.comment = #FF9900 326 | ;highlight.keyword = #007700 327 | ;highlight.default = #0000BB 328 | ;highlight.html = #000000 329 | 330 | ; If enabled, the request will be allowed to complete even if the user aborts 331 | ; the request. Consider enabling it if executing long requests, which may end up 332 | ; being interrupted by the user or a browser timing out. PHP's default behavior 333 | ; is to disable this feature. 334 | ; http://php.net/ignore-user-abort 335 | ;ignore_user_abort = On 336 | 337 | ; Determines the size of the realpath cache to be used by PHP. This value should 338 | ; be increased on systems where PHP opens many files to reflect the quantity of 339 | ; the file operations performed. 340 | ; http://php.net/realpath-cache-size 341 | ;realpath_cache_size = 16k 342 | 343 | ; Duration of time, in seconds for which to cache realpath information for a given 344 | ; file or directory. For systems with rarely changing files, consider increasing this 345 | ; value. 346 | ; http://php.net/realpath-cache-ttl 347 | ;realpath_cache_ttl = 120 348 | 349 | ; Enables or disables the circular reference collector. 350 | ; http://php.net/zend.enable-gc 351 | zend.enable_gc = On 352 | 353 | ; If enabled, scripts may be written in encodings that are incompatible with 354 | ; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such 355 | ; encodings. To use this feature, mbstring extension must be enabled. 356 | ; Default: Off 357 | ;zend.multibyte = Off 358 | 359 | ; Allows to set the default encoding for the scripts. This value will be used 360 | ; unless "declare(encoding=...)" directive appears at the top of the script. 361 | ; Only affects if zend.multibyte is set. 362 | ; Default: "" 363 | ;zend.script_encoding = 364 | 365 | ;;;;;;;;;;;;;;;;; 366 | ; Miscellaneous ; 367 | ;;;;;;;;;;;;;;;;; 368 | 369 | ; Decides whether PHP may expose the fact that it is installed on the server 370 | ; (e.g. by adding its signature to the Web server header). It is no security 371 | ; threat in any way, but it makes it possible to determine whether you use PHP 372 | ; on your server or not. 373 | ; http://php.net/expose-php 374 | expose_php = On 375 | 376 | ;;;;;;;;;;;;;;;;;;; 377 | ; Resource Limits ; 378 | ;;;;;;;;;;;;;;;;;;; 379 | 380 | ; Maximum execution time of each script, in seconds 381 | ; http://php.net/max-execution-time 382 | ; Note: This directive is hardcoded to 0 for the CLI SAPI 383 | max_execution_time = 30 384 | 385 | ; Maximum amount of time each script may spend parsing request data. It's a good 386 | ; idea to limit this time on productions servers in order to eliminate unexpectedly 387 | ; long running scripts. 388 | ; Note: This directive is hardcoded to -1 for the CLI SAPI 389 | ; Default Value: -1 (Unlimited) 390 | ; Development Value: 60 (60 seconds) 391 | ; Production Value: 60 (60 seconds) 392 | ; http://php.net/max-input-time 393 | max_input_time = 60 394 | 395 | ; Maximum input variable nesting level 396 | ; http://php.net/max-input-nesting-level 397 | ;max_input_nesting_level = 64 398 | 399 | ; How many GET/POST/COOKIE input variables may be accepted 400 | ; max_input_vars = 1000 401 | 402 | ; Maximum amount of memory a script may consume (128MB) 403 | ; http://php.net/memory-limit 404 | memory_limit = 128M 405 | 406 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 407 | ; Error handling and logging ; 408 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 409 | 410 | ; This directive informs PHP of which errors, warnings and notices you would like 411 | ; it to take action for. The recommended way of setting values for this 412 | ; directive is through the use of the error level constants and bitwise 413 | ; operators. The error level constants are below here for convenience as well as 414 | ; some common settings and their meanings. 415 | ; By default, PHP is set to take action on all errors, notices and warnings EXCEPT 416 | ; those related to E_NOTICE and E_STRICT, which together cover best practices and 417 | ; recommended coding standards in PHP. For performance reasons, this is the 418 | ; recommend error reporting setting. Your production server shouldn't be wasting 419 | ; resources complaining about best practices and coding standards. That's what 420 | ; development servers and development settings are for. 421 | ; Note: The php.ini-development file has this setting as E_ALL. This 422 | ; means it pretty much reports everything which is exactly what you want during 423 | ; development and early testing. 424 | ; 425 | ; Error Level Constants: 426 | ; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) 427 | ; E_ERROR - fatal run-time errors 428 | ; E_RECOVERABLE_ERROR - almost fatal run-time errors 429 | ; E_WARNING - run-time warnings (non-fatal errors) 430 | ; E_PARSE - compile-time parse errors 431 | ; E_NOTICE - run-time notices (these are warnings which often result 432 | ; from a bug in your code, but it's possible that it was 433 | ; intentional (e.g., using an uninitialized variable and 434 | ; relying on the fact it is automatically initialized to an 435 | ; empty string) 436 | ; E_STRICT - run-time notices, enable to have PHP suggest changes 437 | ; to your code which will ensure the best interoperability 438 | ; and forward compatibility of your code 439 | ; E_CORE_ERROR - fatal errors that occur during PHP's initial startup 440 | ; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's 441 | ; initial startup 442 | ; E_COMPILE_ERROR - fatal compile-time errors 443 | ; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) 444 | ; E_USER_ERROR - user-generated error message 445 | ; E_USER_WARNING - user-generated warning message 446 | ; E_USER_NOTICE - user-generated notice message 447 | ; E_DEPRECATED - warn about code that will not work in future versions 448 | ; of PHP 449 | ; E_USER_DEPRECATED - user-generated deprecation warnings 450 | ; 451 | ; Common Values: 452 | ; E_ALL (Show all errors, warnings and notices including coding standards.) 453 | ; E_ALL & ~E_NOTICE (Show all errors, except for notices) 454 | ; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) 455 | ; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) 456 | ; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED 457 | ; Development Value: E_ALL 458 | ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT 459 | ; http://php.net/error-reporting 460 | error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT 461 | 462 | ; This directive controls whether or not and where PHP will output errors, 463 | ; notices and warnings too. Error output is very useful during development, but 464 | ; it could be very dangerous in production environments. Depending on the code 465 | ; which is triggering the error, sensitive information could potentially leak 466 | ; out of your application such as database usernames and passwords or worse. 467 | ; For production environments, we recommend logging errors rather than 468 | ; sending them to STDOUT. 469 | ; Possible Values: 470 | ; Off = Do not display any errors 471 | ; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) 472 | ; On or stdout = Display errors to STDOUT 473 | ; Default Value: On 474 | ; Development Value: On 475 | ; Production Value: Off 476 | ; http://php.net/display-errors 477 | display_errors = Off 478 | 479 | ; The display of errors which occur during PHP's startup sequence are handled 480 | ; separately from display_errors. PHP's default behavior is to suppress those 481 | ; errors from clients. Turning the display of startup errors on can be useful in 482 | ; debugging configuration problems. We strongly recommend you 483 | ; set this to 'off' for production servers. 484 | ; Default Value: Off 485 | ; Development Value: On 486 | ; Production Value: Off 487 | ; http://php.net/display-startup-errors 488 | display_startup_errors = Off 489 | 490 | ; Besides displaying errors, PHP can also log errors to locations such as a 491 | ; server-specific log, STDERR, or a location specified by the error_log 492 | ; directive found below. While errors should not be displayed on productions 493 | ; servers they should still be monitored and logging is a great way to do that. 494 | ; Default Value: Off 495 | ; Development Value: On 496 | ; Production Value: On 497 | ; http://php.net/log-errors 498 | log_errors = On 499 | 500 | ; Set maximum length of log_errors. In error_log information about the source is 501 | ; added. The default is 1024 and 0 allows to not apply any maximum length at all. 502 | ; http://php.net/log-errors-max-len 503 | log_errors_max_len = 1024 504 | 505 | ; Do not log repeated messages. Repeated errors must occur in same file on same 506 | ; line unless ignore_repeated_source is set true. 507 | ; http://php.net/ignore-repeated-errors 508 | ignore_repeated_errors = Off 509 | 510 | ; Ignore source of message when ignoring repeated messages. When this setting 511 | ; is On you will not log errors with repeated messages from different files or 512 | ; source lines. 513 | ; http://php.net/ignore-repeated-source 514 | ignore_repeated_source = Off 515 | 516 | ; If this parameter is set to Off, then memory leaks will not be shown (on 517 | ; stdout or in the log). This has only effect in a debug compile, and if 518 | ; error reporting includes E_WARNING in the allowed list 519 | ; http://php.net/report-memleaks 520 | report_memleaks = On 521 | 522 | ; This setting is on by default. 523 | ;report_zend_debug = 0 524 | 525 | ; Store the last error/warning message in $php_errormsg (boolean). Setting this value 526 | ; to On can assist in debugging and is appropriate for development servers. It should 527 | ; however be disabled on production servers. 528 | ; Default Value: Off 529 | ; Development Value: On 530 | ; Production Value: Off 531 | ; http://php.net/track-errors 532 | track_errors = Off 533 | 534 | ; Turn off normal error reporting and emit XML-RPC error XML 535 | ; http://php.net/xmlrpc-errors 536 | ;xmlrpc_errors = 0 537 | 538 | ; An XML-RPC faultCode 539 | ;xmlrpc_error_number = 0 540 | 541 | ; When PHP displays or logs an error, it has the capability of formatting the 542 | ; error message as HTML for easier reading. This directive controls whether 543 | ; the error message is formatted as HTML or not. 544 | ; Note: This directive is hardcoded to Off for the CLI SAPI 545 | ; Default Value: On 546 | ; Development Value: On 547 | ; Production value: On 548 | ; http://php.net/html-errors 549 | html_errors = On 550 | 551 | ; If html_errors is set to On *and* docref_root is not empty, then PHP 552 | ; produces clickable error messages that direct to a page describing the error 553 | ; or function causing the error in detail. 554 | ; You can download a copy of the PHP manual from http://php.net/docs 555 | ; and change docref_root to the base URL of your local copy including the 556 | ; leading '/'. You must also specify the file extension being used including 557 | ; the dot. PHP's default behavior is to leave these settings empty, in which 558 | ; case no links to documentation are generated. 559 | ; Note: Never use this feature for production boxes. 560 | ; http://php.net/docref-root 561 | ; Examples 562 | ;docref_root = "/phpmanual/" 563 | 564 | ; http://php.net/docref-ext 565 | ;docref_ext = .html 566 | 567 | ; String to output before an error message. PHP's default behavior is to leave 568 | ; this setting blank. 569 | ; http://php.net/error-prepend-string 570 | ; Example: 571 | ;error_prepend_string = "" 572 | 573 | ; String to output after an error message. PHP's default behavior is to leave 574 | ; this setting blank. 575 | ; http://php.net/error-append-string 576 | ; Example: 577 | ;error_append_string = "" 578 | 579 | ; Log errors to specified file. PHP's default behavior is to leave this value 580 | ; empty. 581 | ; http://php.net/error-log 582 | ; Example: 583 | ;error_log = php_errors.log 584 | ; Log errors to syslog. 585 | ;error_log = syslog 586 | 587 | ;windows.show_crt_warning 588 | ; Default value: 0 589 | ; Development value: 0 590 | ; Production value: 0 591 | 592 | ;;;;;;;;;;;;;;;;; 593 | ; Data Handling ; 594 | ;;;;;;;;;;;;;;;;; 595 | 596 | ; The separator used in PHP generated URLs to separate arguments. 597 | ; PHP's default setting is "&". 598 | ; http://php.net/arg-separator.output 599 | ; Example: 600 | ;arg_separator.output = "&" 601 | 602 | ; List of separator(s) used by PHP to parse input URLs into variables. 603 | ; PHP's default setting is "&". 604 | ; NOTE: Every character in this directive is considered as separator! 605 | ; http://php.net/arg-separator.input 606 | ; Example: 607 | ;arg_separator.input = ";&" 608 | 609 | ; This directive determines which super global arrays are registered when PHP 610 | ; starts up. G,P,C,E & S are abbreviations for the following respective super 611 | ; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty 612 | ; paid for the registration of these arrays and because ENV is not as commonly 613 | ; used as the others, ENV is not recommended on productions servers. You 614 | ; can still get access to the environment variables through getenv() should you 615 | ; need to. 616 | ; Default Value: "EGPCS" 617 | ; Development Value: "GPCS" 618 | ; Production Value: "GPCS"; 619 | ; http://php.net/variables-order 620 | variables_order = "GPCS" 621 | 622 | ; This directive determines which super global data (G,P & C) should be 623 | ; registered into the super global array REQUEST. If so, it also determines 624 | ; the order in which that data is registered. The values for this directive 625 | ; are specified in the same manner as the variables_order directive, 626 | ; EXCEPT one. Leaving this value empty will cause PHP to use the value set 627 | ; in the variables_order directive. It does not mean it will leave the super 628 | ; globals array REQUEST empty. 629 | ; Default Value: None 630 | ; Development Value: "GP" 631 | ; Production Value: "GP" 632 | ; http://php.net/request-order 633 | request_order = "GP" 634 | 635 | ; This directive determines whether PHP registers $argv & $argc each time it 636 | ; runs. $argv contains an array of all the arguments passed to PHP when a script 637 | ; is invoked. $argc contains an integer representing the number of arguments 638 | ; that were passed when the script was invoked. These arrays are extremely 639 | ; useful when running scripts from the command line. When this directive is 640 | ; enabled, registering these variables consumes CPU cycles and memory each time 641 | ; a script is executed. For performance reasons, this feature should be disabled 642 | ; on production servers. 643 | ; Note: This directive is hardcoded to On for the CLI SAPI 644 | ; Default Value: On 645 | ; Development Value: Off 646 | ; Production Value: Off 647 | ; http://php.net/register-argc-argv 648 | register_argc_argv = Off 649 | 650 | ; When enabled, the ENV, REQUEST and SERVER variables are created when they're 651 | ; first used (Just In Time) instead of when the script starts. If these 652 | ; variables are not used within a script, having this directive on will result 653 | ; in a performance gain. The PHP directive register_argc_argv must be disabled 654 | ; for this directive to have any affect. 655 | ; http://php.net/auto-globals-jit 656 | auto_globals_jit = On 657 | 658 | ; Whether PHP will read the POST data. 659 | ; This option is enabled by default. 660 | ; Most likely, you won't want to disable this option globally. It causes $_POST 661 | ; and $_FILES to always be empty; the only way you will be able to read the 662 | ; POST data will be through the php://input stream wrapper. This can be useful 663 | ; to proxy requests or to process the POST data in a memory efficient fashion. 664 | ; http://php.net/enable-post-data-reading 665 | ;enable_post_data_reading = Off 666 | 667 | ; Maximum size of POST data that PHP will accept. 668 | ; Its value may be 0 to disable the limit. It is ignored if POST data reading 669 | ; is disabled through enable_post_data_reading. 670 | ; http://php.net/post-max-size 671 | post_max_size = 8M 672 | 673 | ; Automatically add files before PHP document. 674 | ; http://php.net/auto-prepend-file 675 | auto_prepend_file = 676 | 677 | ; Automatically add files after PHP document. 678 | ; http://php.net/auto-append-file 679 | auto_append_file = 680 | 681 | ; By default, PHP will output a media type using the Content-Type header. To 682 | ; disable this, simply set it to be empty. 683 | ; 684 | ; PHP's built-in default media type is set to text/html. 685 | ; http://php.net/default-mimetype 686 | default_mimetype = "text/html" 687 | 688 | ; PHP's default character set is set to UTF-8. 689 | ; http://php.net/default-charset 690 | default_charset = "UTF-8" 691 | 692 | ; PHP internal character encoding is set to empty. 693 | ; If empty, default_charset is used. 694 | ; http://php.net/internal-encoding 695 | ;internal_encoding = 696 | 697 | ; PHP input character encoding is set to empty. 698 | ; If empty, default_charset is used. 699 | ; http://php.net/input-encoding 700 | ;input_encoding = 701 | 702 | ; PHP output character encoding is set to empty. 703 | ; If empty, default_charset is used. 704 | ; See also output_buffer. 705 | ; http://php.net/output-encoding 706 | ;output_encoding = 707 | 708 | ;;;;;;;;;;;;;;;;;;;;;;;;; 709 | ; Paths and Directories ; 710 | ;;;;;;;;;;;;;;;;;;;;;;;;; 711 | 712 | ; UNIX: "/path1:/path2" 713 | ;include_path = ".:/php/includes" 714 | ; 715 | ; Windows: "\path1;\path2" 716 | ;include_path = ".;c:\php\includes" 717 | ; 718 | ; PHP's default setting for include_path is ".;/path/to/php/pear" 719 | ; http://php.net/include-path 720 | 721 | ; The root of the PHP pages, used only if nonempty. 722 | ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root 723 | ; if you are running php as a CGI under any web server (other than IIS) 724 | ; see documentation for security issues. The alternate is to use the 725 | ; cgi.force_redirect configuration below 726 | ; http://php.net/doc-root 727 | doc_root = 728 | 729 | ; The directory under which PHP opens the script using /~username used only 730 | ; if nonempty. 731 | ; http://php.net/user-dir 732 | user_dir = 733 | 734 | ; Directory in which the loadable extensions (modules) reside. 735 | ; http://php.net/extension-dir 736 | ; extension_dir = "./" 737 | ; On windows: 738 | ; extension_dir = "ext" 739 | 740 | ; Directory where the temporary files should be placed. 741 | ; Defaults to the system default (see sys_get_temp_dir) 742 | ; sys_temp_dir = "/tmp" 743 | 744 | ; Whether or not to enable the dl() function. The dl() function does NOT work 745 | ; properly in multithreaded servers, such as IIS or Zeus, and is automatically 746 | ; disabled on them. 747 | ; http://php.net/enable-dl 748 | enable_dl = Off 749 | 750 | ; cgi.force_redirect is necessary to provide security running PHP as a CGI under 751 | ; most web servers. Left undefined, PHP turns this on by default. You can 752 | ; turn it off here AT YOUR OWN RISK 753 | ; **You CAN safely turn this off for IIS, in fact, you MUST.** 754 | ; http://php.net/cgi.force-redirect 755 | ;cgi.force_redirect = 1 756 | 757 | ; if cgi.nph is enabled it will force cgi to always sent Status: 200 with 758 | ; every request. PHP's default behavior is to disable this feature. 759 | ;cgi.nph = 1 760 | 761 | ; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape 762 | ; (iPlanet) web servers, you MAY need to set an environment variable name that PHP 763 | ; will look for to know it is OK to continue execution. Setting this variable MAY 764 | ; cause security issues, KNOW WHAT YOU ARE DOING FIRST. 765 | ; http://php.net/cgi.redirect-status-env 766 | ;cgi.redirect_status_env = 767 | 768 | ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's 769 | ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok 770 | ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting 771 | ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting 772 | ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts 773 | ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. 774 | ; http://php.net/cgi.fix-pathinfo 775 | ;cgi.fix_pathinfo=1 776 | 777 | ; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside 778 | ; of the web tree and people will not be able to circumvent .htaccess security. 779 | ; http://php.net/cgi.dicard-path 780 | ;cgi.discard_path=1 781 | 782 | ; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate 783 | ; security tokens of the calling client. This allows IIS to define the 784 | ; security context that the request runs under. mod_fastcgi under Apache 785 | ; does not currently support this feature (03/17/2002) 786 | ; Set to 1 if running under IIS. Default is zero. 787 | ; http://php.net/fastcgi.impersonate 788 | ;fastcgi.impersonate = 1 789 | 790 | ; Disable logging through FastCGI connection. PHP's default behavior is to enable 791 | ; this feature. 792 | ;fastcgi.logging = 0 793 | 794 | ; cgi.rfc2616_headers configuration option tells PHP what type of headers to 795 | ; use when sending HTTP response code. If set to 0, PHP sends Status: header that 796 | ; is supported by Apache. When this option is set to 1, PHP will send 797 | ; RFC2616 compliant header. 798 | ; Default is zero. 799 | ; http://php.net/cgi.rfc2616-headers 800 | ;cgi.rfc2616_headers = 0 801 | 802 | ; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! 803 | ; (shebang) at the top of the running script. This line might be needed if the 804 | ; script support running both as stand-alone script and via PHP CGI<. PHP in CGI 805 | ; mode skips this line and ignores its content if this directive is turned on. 806 | ; http://php.net/cgi.check-shebang-line 807 | ;cgi.check_shebang_line=1 808 | 809 | ;;;;;;;;;;;;;;;; 810 | ; File Uploads ; 811 | ;;;;;;;;;;;;;;;; 812 | 813 | ; Whether to allow HTTP file uploads. 814 | ; http://php.net/file-uploads 815 | file_uploads = On 816 | 817 | ; Temporary directory for HTTP uploaded files (will use system default if not 818 | ; specified). 819 | ; http://php.net/upload-tmp-dir 820 | ;upload_tmp_dir = 821 | 822 | ; Maximum allowed size for uploaded files. 823 | ; http://php.net/upload-max-filesize 824 | upload_max_filesize = 2M 825 | 826 | ; Maximum number of files that can be uploaded via a single request 827 | max_file_uploads = 20 828 | 829 | ;;;;;;;;;;;;;;;;;; 830 | ; Fopen wrappers ; 831 | ;;;;;;;;;;;;;;;;;; 832 | 833 | ; Whether to allow the treatment of URLs (like http:// or ftp://) as files. 834 | ; http://php.net/allow-url-fopen 835 | allow_url_fopen = On 836 | 837 | ; Whether to allow include/require to open URLs (like http:// or ftp://) as files. 838 | ; http://php.net/allow-url-include 839 | allow_url_include = Off 840 | 841 | ; Define the anonymous ftp password (your email address). PHP's default setting 842 | ; for this is empty. 843 | ; http://php.net/from 844 | ;from="john@doe.com" 845 | 846 | ; Define the User-Agent string. PHP's default setting for this is empty. 847 | ; http://php.net/user-agent 848 | ;user_agent="PHP" 849 | 850 | ; Default timeout for socket based streams (seconds) 851 | ; http://php.net/default-socket-timeout 852 | default_socket_timeout = 60 853 | 854 | ; If your scripts have to deal with files from Macintosh systems, 855 | ; or you are running on a Mac and need to deal with files from 856 | ; unix or win32 systems, setting this flag will cause PHP to 857 | ; automatically detect the EOL character in those files so that 858 | ; fgets() and file() will work regardless of the source of the file. 859 | ; http://php.net/auto-detect-line-endings 860 | ;auto_detect_line_endings = Off 861 | 862 | ;;;;;;;;;;;;;;;;;;;;;; 863 | ; Dynamic Extensions ; 864 | ;;;;;;;;;;;;;;;;;;;;;; 865 | 866 | ; If you wish to have an extension loaded automatically, use the following 867 | ; syntax: 868 | ; 869 | ; extension=modulename.extension 870 | ; 871 | ; For example, on Windows: 872 | ; 873 | ; extension=msql.dll 874 | ; 875 | ; ... or under UNIX: 876 | ; 877 | ; extension=msql.so 878 | ; 879 | ; ... or with a path: 880 | ; 881 | ; extension=/path/to/extension/msql.so 882 | ; 883 | ; If you only provide the name of the extension, PHP will look for it in its 884 | ; default extension directory. 885 | 886 | ;;;; 887 | ; Note: packaged extension modules are now loaded via the .ini files 888 | ; found in the directory /etc/php.d; these are loaded by default. 889 | ;;;; 890 | 891 | ;;;;;;;;;;;;;;;;;;; 892 | ; Module Settings ; 893 | ;;;;;;;;;;;;;;;;;;; 894 | 895 | [CLI Server] 896 | ; Whether the CLI web server uses ANSI color coding in its terminal output. 897 | cli_server.color = On 898 | 899 | [Date] 900 | ; Defines the default timezone used by the date functions 901 | ; http://php.net/date.timezone 902 | ;date.timezone = 903 | 904 | ; http://php.net/date.default-latitude 905 | ;date.default_latitude = 31.7667 906 | 907 | ; http://php.net/date.default-longitude 908 | ;date.default_longitude = 35.2333 909 | 910 | ; http://php.net/date.sunrise-zenith 911 | ;date.sunrise_zenith = 90.583333 912 | 913 | ; http://php.net/date.sunset-zenith 914 | ;date.sunset_zenith = 90.583333 915 | 916 | [filter] 917 | ; http://php.net/filter.default 918 | ;filter.default = unsafe_raw 919 | 920 | ; http://php.net/filter.default-flags 921 | ;filter.default_flags = 922 | 923 | [iconv] 924 | ; Use of this INI entry is deprecated, use global input_encoding instead. 925 | ; If empty, default_charset or input_encoding or iconv.input_encoding is used. 926 | ; The precedence is: default_charset < intput_encoding < iconv.input_encoding 927 | ;iconv.input_encoding = 928 | 929 | ; Use of this INI entry is deprecated, use global internal_encoding instead. 930 | ; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. 931 | ; The precedence is: default_charset < internal_encoding < iconv.internal_encoding 932 | ;iconv.internal_encoding = 933 | 934 | ; Use of this INI entry is deprecated, use global output_encoding instead. 935 | ; If empty, default_charset or output_encoding or iconv.output_encoding is used. 936 | ; The precedence is: default_charset < output_encoding < iconv.output_encoding 937 | ; To use an output encoding conversion, iconv's output handler must be set 938 | ; otherwise output encoding conversion cannot be performed. 939 | ;iconv.output_encoding = 940 | 941 | [intl] 942 | ;intl.default_locale = 943 | ; This directive allows you to produce PHP errors when some error 944 | ; happens within intl functions. The value is the level of the error produced. 945 | ; Default is 0, which does not produce any errors. 946 | ;intl.error_level = E_WARNING 947 | ;intl.use_exceptions = 0 948 | 949 | [sqlite3] 950 | ;sqlite3.extension_dir = 951 | 952 | [Pcre] 953 | ;PCRE library backtracking limit. 954 | ; http://php.net/pcre.backtrack-limit 955 | ;pcre.backtrack_limit=100000 956 | 957 | ;PCRE library recursion limit. 958 | ;Please note that if you set this value to a high number you may consume all 959 | ;the available process stack and eventually crash PHP (due to reaching the 960 | ;stack size limit imposed by the Operating System). 961 | ; http://php.net/pcre.recursion-limit 962 | ;pcre.recursion_limit=100000 963 | 964 | ;Enables or disables JIT compilation of patterns. This requires the PCRE 965 | ;library to be compiled with JIT support. 966 | pcre.jit=0 967 | 968 | [Pdo] 969 | ; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" 970 | ; http://php.net/pdo-odbc.connection-pooling 971 | ;pdo_odbc.connection_pooling=strict 972 | 973 | ;pdo_odbc.db2_instance_name 974 | 975 | [Pdo_mysql] 976 | ; If mysqlnd is used: Number of cache slots for the internal result set cache 977 | ; http://php.net/pdo_mysql.cache_size 978 | pdo_mysql.cache_size = 2000 979 | 980 | ; Default socket name for local MySQL connects. If empty, uses the built-in 981 | ; MySQL defaults. 982 | ; http://php.net/pdo_mysql.default-socket 983 | pdo_mysql.default_socket= 984 | 985 | [Phar] 986 | ; http://php.net/phar.readonly 987 | ;phar.readonly = On 988 | 989 | ; http://php.net/phar.require-hash 990 | ;phar.require_hash = On 991 | 992 | ;phar.cache_list = 993 | 994 | [mail function] 995 | ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 996 | ; http://php.net/sendmail-path 997 | 998 | ; Force the addition of the specified parameters to be passed as extra parameters 999 | ; to the sendmail binary. These parameters will always replace the value of 1000 | ; the 5th parameter to mail(). 1001 | ;mail.force_extra_parameters = 1002 | 1003 | ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename 1004 | mail.add_x_header = On 1005 | 1006 | ; The path to a log file that will log all mail() calls. Log entries include 1007 | ; the full path of the script, line number, To address and headers. 1008 | ;mail.log = 1009 | ; Log mail to syslog; 1010 | ;mail.log = syslog 1011 | 1012 | [SQL] 1013 | ; http://php.net/sql.safe-mode 1014 | sql.safe_mode = Off 1015 | 1016 | [ODBC] 1017 | ; http://php.net/odbc.default-db 1018 | ;odbc.default_db = Not yet implemented 1019 | 1020 | ; http://php.net/odbc.default-user 1021 | ;odbc.default_user = Not yet implemented 1022 | 1023 | ; http://php.net/odbc.default-pw 1024 | ;odbc.default_pw = Not yet implemented 1025 | 1026 | ; Controls the ODBC cursor model. 1027 | ; Default: SQL_CURSOR_STATIC (default). 1028 | ;odbc.default_cursortype 1029 | 1030 | ; Allow or prevent persistent links. 1031 | ; http://php.net/odbc.allow-persistent 1032 | odbc.allow_persistent = On 1033 | 1034 | ; Check that a connection is still valid before reuse. 1035 | ; http://php.net/odbc.check-persistent 1036 | odbc.check_persistent = On 1037 | 1038 | ; Maximum number of persistent links. -1 means no limit. 1039 | ; http://php.net/odbc.max-persistent 1040 | odbc.max_persistent = -1 1041 | 1042 | ; Maximum number of links (persistent + non-persistent). -1 means no limit. 1043 | ; http://php.net/odbc.max-links 1044 | odbc.max_links = -1 1045 | 1046 | ; Handling of LONG fields. Returns number of bytes to variables. 0 means 1047 | ; passthru. 1048 | ; http://php.net/odbc.defaultlrl 1049 | odbc.defaultlrl = 4096 1050 | 1051 | ; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. 1052 | ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation 1053 | ; of odbc.defaultlrl and odbc.defaultbinmode 1054 | ; http://php.net/odbc.defaultbinmode 1055 | odbc.defaultbinmode = 1 1056 | 1057 | ;birdstep.max_links = -1 1058 | 1059 | [Interbase] 1060 | ; Allow or prevent persistent links. 1061 | ibase.allow_persistent = 1 1062 | 1063 | ; Maximum number of persistent links. -1 means no limit. 1064 | ibase.max_persistent = -1 1065 | 1066 | ; Maximum number of links (persistent + non-persistent). -1 means no limit. 1067 | ibase.max_links = -1 1068 | 1069 | ; Default database name for ibase_connect(). 1070 | ;ibase.default_db = 1071 | 1072 | ; Default username for ibase_connect(). 1073 | ;ibase.default_user = 1074 | 1075 | ; Default password for ibase_connect(). 1076 | ;ibase.default_password = 1077 | 1078 | ; Default charset for ibase_connect(). 1079 | ;ibase.default_charset = 1080 | 1081 | ; Default timestamp format. 1082 | ibase.timestampformat = "%Y-%m-%d %H:%M:%S" 1083 | 1084 | ; Default date format. 1085 | ibase.dateformat = "%Y-%m-%d" 1086 | 1087 | ; Default time format. 1088 | ibase.timeformat = "%H:%M:%S" 1089 | 1090 | [MySQLi] 1091 | 1092 | ; Maximum number of persistent links. -1 means no limit. 1093 | ; http://php.net/mysqli.max-persistent 1094 | mysqli.max_persistent = -1 1095 | 1096 | ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements 1097 | ; http://php.net/mysqli.allow_local_infile 1098 | ;mysqli.allow_local_infile = On 1099 | 1100 | ; Allow or prevent persistent links. 1101 | ; http://php.net/mysqli.allow-persistent 1102 | mysqli.allow_persistent = On 1103 | 1104 | ; Maximum number of links. -1 means no limit. 1105 | ; http://php.net/mysqli.max-links 1106 | mysqli.max_links = -1 1107 | 1108 | ; If mysqlnd is used: Number of cache slots for the internal result set cache 1109 | ; http://php.net/mysqli.cache_size 1110 | mysqli.cache_size = 2000 1111 | 1112 | ; Default port number for mysqli_connect(). If unset, mysqli_connect() will use 1113 | ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the 1114 | ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look 1115 | ; at MYSQL_PORT. 1116 | ; http://php.net/mysqli.default-port 1117 | mysqli.default_port = 3306 1118 | 1119 | ; Default socket name for local MySQL connects. If empty, uses the built-in 1120 | ; MySQL defaults. 1121 | ; http://php.net/mysqli.default-socket 1122 | mysqli.default_socket = 1123 | 1124 | ; Default host for mysql_connect() (doesn't apply in safe mode). 1125 | ; http://php.net/mysqli.default-host 1126 | mysqli.default_host = 1127 | 1128 | ; Default user for mysql_connect() (doesn't apply in safe mode). 1129 | ; http://php.net/mysqli.default-user 1130 | mysqli.default_user = 1131 | 1132 | ; Default password for mysqli_connect() (doesn't apply in safe mode). 1133 | ; Note that this is generally a *bad* idea to store passwords in this file. 1134 | ; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") 1135 | ; and reveal this password! And of course, any users with read access to this 1136 | ; file will be able to reveal the password as well. 1137 | ; http://php.net/mysqli.default-pw 1138 | mysqli.default_pw = 1139 | 1140 | ; Allow or prevent reconnect 1141 | mysqli.reconnect = Off 1142 | 1143 | [mysqlnd] 1144 | ; Enable / Disable collection of general statistics by mysqlnd which can be 1145 | ; used to tune and monitor MySQL operations. 1146 | ; http://php.net/mysqlnd.collect_statistics 1147 | mysqlnd.collect_statistics = On 1148 | 1149 | ; Enable / Disable collection of memory usage statistics by mysqlnd which can be 1150 | ; used to tune and monitor MySQL operations. 1151 | ; http://php.net/mysqlnd.collect_memory_statistics 1152 | mysqlnd.collect_memory_statistics = Off 1153 | 1154 | ; Records communication from all extensions using mysqlnd to the specified log 1155 | ; file. 1156 | ; http://php.net/mysqlnd.debug 1157 | ;mysqlnd.debug = 1158 | 1159 | ; Defines which queries will be logged. 1160 | ; http://php.net/mysqlnd.log_mask 1161 | ;mysqlnd.log_mask = 0 1162 | 1163 | ; Default size of the mysqlnd memory pool, which is used by result sets. 1164 | ; http://php.net/mysqlnd.mempool_default_size 1165 | ;mysqlnd.mempool_default_size = 16000 1166 | 1167 | ; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. 1168 | ; http://php.net/mysqlnd.net_cmd_buffer_size 1169 | ;mysqlnd.net_cmd_buffer_size = 2048 1170 | 1171 | ; Size of a pre-allocated buffer used for reading data sent by the server in 1172 | ; bytes. 1173 | ; http://php.net/mysqlnd.net_read_buffer_size 1174 | ;mysqlnd.net_read_buffer_size = 32768 1175 | 1176 | ; Timeout for network requests in seconds. 1177 | ; http://php.net/mysqlnd.net_read_timeout 1178 | ;mysqlnd.net_read_timeout = 31536000 1179 | 1180 | ; SHA-256 Authentication Plugin related. File with the MySQL server public RSA 1181 | ; key. 1182 | ; http://php.net/mysqlnd.sha256_server_public_key 1183 | ;mysqlnd.sha256_server_public_key = 1184 | 1185 | [PostgreSQL] 1186 | ; Allow or prevent persistent links. 1187 | ; http://php.net/pgsql.allow-persistent 1188 | pgsql.allow_persistent = On 1189 | 1190 | ; Detect broken persistent links always with pg_pconnect(). 1191 | ; Auto reset feature requires a little overheads. 1192 | ; http://php.net/pgsql.auto-reset-persistent 1193 | pgsql.auto_reset_persistent = Off 1194 | 1195 | ; Maximum number of persistent links. -1 means no limit. 1196 | ; http://php.net/pgsql.max-persistent 1197 | pgsql.max_persistent = -1 1198 | 1199 | ; Maximum number of links (persistent+non persistent). -1 means no limit. 1200 | ; http://php.net/pgsql.max-links 1201 | pgsql.max_links = -1 1202 | 1203 | ; Ignore PostgreSQL backends Notice message or not. 1204 | ; Notice message logging require a little overheads. 1205 | ; http://php.net/pgsql.ignore-notice 1206 | pgsql.ignore_notice = 0 1207 | 1208 | ; Log PostgreSQL backends Notice message or not. 1209 | ; Unless pgsql.ignore_notice=0, module cannot log notice message. 1210 | ; http://php.net/pgsql.log-notice 1211 | pgsql.log_notice = 0 1212 | 1213 | [bcmath] 1214 | ; Number of decimal digits for all bcmath functions. 1215 | ; http://php.net/bcmath.scale 1216 | bcmath.scale = 0 1217 | 1218 | [browscap] 1219 | ; http://php.net/browscap 1220 | ;browscap = extra/browscap.ini 1221 | 1222 | [Session] 1223 | ; Handler used to store/retrieve data. 1224 | ; http://php.net/session.save-handler 1225 | session.save_handler = files 1226 | 1227 | ; Argument passed to save_handler. In the case of files, this is the path 1228 | ; where data files are stored. Note: Windows users have to change this 1229 | ; variable in order to use PHP's session functions. 1230 | ; 1231 | ; The path can be defined as: 1232 | ; 1233 | ; session.save_path = "N;/path" 1234 | ; 1235 | ; where N is an integer. Instead of storing all the session files in 1236 | ; /path, what this will do is use subdirectories N-levels deep, and 1237 | ; store the session data in those directories. This is useful if 1238 | ; your OS has problems with many files in one directory, and is 1239 | ; a more efficient layout for servers that handle many sessions. 1240 | ; 1241 | ; NOTE 1: PHP will not create this directory structure automatically. 1242 | ; You can use the script in the ext/session dir for that purpose. 1243 | ; NOTE 2: See the section on garbage collection below if you choose to 1244 | ; use subdirectories for session storage 1245 | ; 1246 | ; The file storage module creates files using mode 600 by default. 1247 | ; You can change that by using 1248 | ; 1249 | ; session.save_path = "N;MODE;/path" 1250 | ; 1251 | ; where MODE is the octal representation of the mode. Note that this 1252 | ; does not overwrite the process's umask. 1253 | ; http://php.net/session.save-path 1254 | 1255 | ; RPM note : session directory must be owned by process owner 1256 | ; for mod_php, see /etc/httpd/conf.d/php.conf 1257 | ; for php-fpm, see /etc/php-fpm.d/*conf 1258 | ;session.save_path = "/tmp" 1259 | 1260 | ; Whether to use strict session mode. 1261 | ; Strict session mode does not accept uninitialized session ID and regenerate 1262 | ; session ID if browser sends uninitialized session ID. Strict mode protects 1263 | ; applications from session fixation via session adoption vulnerability. It is 1264 | ; disabled by default for maximum compatibility, but enabling it is encouraged. 1265 | ; https://wiki.php.net/rfc/strict_sessions 1266 | session.use_strict_mode = 0 1267 | 1268 | ; Whether to use cookies. 1269 | ; http://php.net/session.use-cookies 1270 | session.use_cookies = 1 1271 | 1272 | ; http://php.net/session.cookie-secure 1273 | ;session.cookie_secure = 1274 | 1275 | ; This option forces PHP to fetch and use a cookie for storing and maintaining 1276 | ; the session id. We encourage this operation as it's very helpful in combating 1277 | ; session hijacking when not specifying and managing your own session id. It is 1278 | ; not the be-all and end-all of session hijacking defense, but it's a good start. 1279 | ; http://php.net/session.use-only-cookies 1280 | session.use_only_cookies = 1 1281 | 1282 | ; Name of the session (used as cookie name). 1283 | ; http://php.net/session.name 1284 | session.name = PHPSESSID 1285 | 1286 | ; Initialize session on request startup. 1287 | ; http://php.net/session.auto-start 1288 | session.auto_start = 0 1289 | 1290 | ; Lifetime in seconds of cookie or, if 0, until browser is restarted. 1291 | ; http://php.net/session.cookie-lifetime 1292 | session.cookie_lifetime = 0 1293 | 1294 | ; The path for which the cookie is valid. 1295 | ; http://php.net/session.cookie-path 1296 | session.cookie_path = / 1297 | 1298 | ; The domain for which the cookie is valid. 1299 | ; http://php.net/session.cookie-domain 1300 | session.cookie_domain = 1301 | 1302 | ; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. 1303 | ; http://php.net/session.cookie-httponly 1304 | session.cookie_httponly = 1305 | 1306 | ; Handler used to serialize data. php is the standard serializer of PHP. 1307 | ; http://php.net/session.serialize-handler 1308 | session.serialize_handler = php 1309 | 1310 | ; Defines the probability that the 'garbage collection' process is started 1311 | ; on every session initialization. The probability is calculated by using 1312 | ; gc_probability/gc_divisor. Where session.gc_probability is the numerator 1313 | ; and gc_divisor is the denominator in the equation. Setting this value to 1 1314 | ; when the session.gc_divisor value is 100 will give you approximately a 1% chance 1315 | ; the gc will run on any give request. 1316 | ; Default Value: 1 1317 | ; Development Value: 1 1318 | ; Production Value: 1 1319 | ; http://php.net/session.gc-probability 1320 | session.gc_probability = 1 1321 | 1322 | ; Defines the probability that the 'garbage collection' process is started on every 1323 | ; session initialization. The probability is calculated by using the following equation: 1324 | ; gc_probability/gc_divisor. Where session.gc_probability is the numerator and 1325 | ; session.gc_divisor is the denominator in the equation. Setting this value to 1 1326 | ; when the session.gc_divisor value is 100 will give you approximately a 1% chance 1327 | ; the gc will run on any give request. Increasing this value to 1000 will give you 1328 | ; a 0.1% chance the gc will run on any give request. For high volume production servers, 1329 | ; this is a more efficient approach. 1330 | ; Default Value: 100 1331 | ; Development Value: 1000 1332 | ; Production Value: 1000 1333 | ; http://php.net/session.gc-divisor 1334 | session.gc_divisor = 1000 1335 | 1336 | ; After this number of seconds, stored data will be seen as 'garbage' and 1337 | ; cleaned up by the garbage collection process. 1338 | ; http://php.net/session.gc-maxlifetime 1339 | session.gc_maxlifetime = 1440 1340 | 1341 | ; NOTE: If you are using the subdirectory option for storing session files 1342 | ; (see session.save_path above), then garbage collection does *not* 1343 | ; happen automatically. You will need to do your own garbage 1344 | ; collection through a shell script, cron entry, or some other method. 1345 | ; For example, the following script would is the equivalent of 1346 | ; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): 1347 | ; find /path/to/sessions -cmin +24 -type f | xargs rm 1348 | 1349 | ; Check HTTP Referer to invalidate externally stored URLs containing ids. 1350 | ; HTTP_REFERER has to contain this substring for the session to be 1351 | ; considered as valid. 1352 | ; http://php.net/session.referer-check 1353 | session.referer_check = 1354 | 1355 | ; Set to {nocache,private,public,} to determine HTTP caching aspects 1356 | ; or leave this empty to avoid sending anti-caching headers. 1357 | ; http://php.net/session.cache-limiter 1358 | session.cache_limiter = nocache 1359 | 1360 | ; Document expires after n minutes. 1361 | ; http://php.net/session.cache-expire 1362 | session.cache_expire = 180 1363 | 1364 | ; trans sid support is disabled by default. 1365 | ; Use of trans sid may risk your users' security. 1366 | ; Use this option with caution. 1367 | ; - User may send URL contains active session ID 1368 | ; to other person via. email/irc/etc. 1369 | ; - URL that contains active session ID may be stored 1370 | ; in publicly accessible computer. 1371 | ; - User may access your site with the same session ID 1372 | ; always using URL stored in browser's history or bookmarks. 1373 | ; http://php.net/session.use-trans-sid 1374 | session.use_trans_sid = 0 1375 | 1376 | ; Set session ID character length. This value could be between 22 to 256. 1377 | ; Shorter length than default is supported only for compatibility reason. 1378 | ; Users should use 32 or more chars. 1379 | ; http://php.net/session.sid_length 1380 | ; Default Value: 32 1381 | ; Development Value: 26 1382 | ; Production Value: 26 1383 | session.sid_length = 26 1384 | 1385 | ; The URL rewriter will look for URLs in a defined set of HTML tags. 1386 | ;
is special; if you include them here, the rewriter will 1387 | ; add a hidden field with the info which is otherwise appended 1388 | ; to URLs. tag's action attribute URL will not be modified 1389 | ; unless it is specified. 1390 | ; Note that all valid entries require a "=", even if no value follows. 1391 | ; Default Value: "a=href,area=href,frame=src,form=" 1392 | ; Development Value: "a=href,area=href,frame=src,form=" 1393 | ; Production Value: "a=href,area=href,frame=src,form=" 1394 | ; http://php.net/url-rewriter.tags 1395 | session.trans_sid_tags = "a=href,area=href,frame=src,form=" 1396 | 1397 | ; URL rewriter does not rewrite absolute URLs by default. 1398 | ; To enable rewrites for absolute pathes, target hosts must be specified 1399 | ; at RUNTIME. i.e. use ini_set() 1400 | ; tags is special. PHP will check action attribute's URL regardless 1401 | ; of session.trans_sid_tags setting. 1402 | ; If no host is defined, HTTP_HOST will be used for allowed host. 1403 | ; Example value: php.net,www.php.net,wiki.php.net 1404 | ; Use "," for multiple hosts. No spaces are allowed. 1405 | ; Default Value: "" 1406 | ; Development Value: "" 1407 | ; Production Value: "" 1408 | ;session.trans_sid_hosts="" 1409 | 1410 | ; Define how many bits are stored in each character when converting 1411 | ; the binary hash data to something readable. 1412 | ; Possible values: 1413 | ; 4 (4 bits: 0-9, a-f) 1414 | ; 5 (5 bits: 0-9, a-v) 1415 | ; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") 1416 | ; Default Value: 4 1417 | ; Development Value: 5 1418 | ; Production Value: 5 1419 | ; http://php.net/session.hash-bits-per-character 1420 | session.sid_bits_per_character = 5 1421 | 1422 | ; Enable upload progress tracking in $_SESSION 1423 | ; Default Value: On 1424 | ; Development Value: On 1425 | ; Production Value: On 1426 | ; http://php.net/session.upload-progress.enabled 1427 | ;session.upload_progress.enabled = On 1428 | 1429 | ; Cleanup the progress information as soon as all POST data has been read 1430 | ; (i.e. upload completed). 1431 | ; Default Value: On 1432 | ; Development Value: On 1433 | ; Production Value: On 1434 | ; http://php.net/session.upload-progress.cleanup 1435 | ;session.upload_progress.cleanup = On 1436 | 1437 | ; A prefix used for the upload progress key in $_SESSION 1438 | ; Default Value: "upload_progress_" 1439 | ; Development Value: "upload_progress_" 1440 | ; Production Value: "upload_progress_" 1441 | ; http://php.net/session.upload-progress.prefix 1442 | ;session.upload_progress.prefix = "upload_progress_" 1443 | 1444 | ; The index name (concatenated with the prefix) in $_SESSION 1445 | ; containing the upload progress information 1446 | ; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" 1447 | ; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" 1448 | ; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" 1449 | ; http://php.net/session.upload-progress.name 1450 | ;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" 1451 | 1452 | ; How frequently the upload progress should be updated. 1453 | ; Given either in percentages (per-file), or in bytes 1454 | ; Default Value: "1%" 1455 | ; Development Value: "1%" 1456 | ; Production Value: "1%" 1457 | ; http://php.net/session.upload-progress.freq 1458 | ;session.upload_progress.freq = "1%" 1459 | 1460 | ; The minimum delay between updates, in seconds 1461 | ; Default Value: 1 1462 | ; Development Value: 1 1463 | ; Production Value: 1 1464 | ; http://php.net/session.upload-progress.min-freq 1465 | ;session.upload_progress.min_freq = "1" 1466 | 1467 | ; Only write session data when session data is changed. Enabled by default. 1468 | ; http://php.net/session.lazy-write 1469 | ;session.lazy_write = On 1470 | 1471 | [Assertion] 1472 | ; Switch whether to compile assertions at all (to have no overhead at run-time) 1473 | ; -1: Do not compile at all 1474 | ; 0: Jump over assertion at run-time 1475 | ; 1: Execute assertions 1476 | ; 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) 1477 | ; Default Value: 1 1478 | ; Development Value: 1 1479 | ; Production Value: -1 1480 | ; http://php.net/zend.assertions 1481 | zend.assertions = -1 1482 | 1483 | ; Assert(expr); active by default. 1484 | ; http://php.net/assert.active 1485 | ;assert.active = On 1486 | 1487 | ; Throw an AssertationException on failed assertions 1488 | ; http://php.net/assert.exception 1489 | ;assert.exception = On 1490 | 1491 | ; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active) 1492 | ; http://php.net/assert.warning 1493 | ;assert.warning = On 1494 | 1495 | ; Don't bail out by default. 1496 | ; http://php.net/assert.bail 1497 | ;assert.bail = Off 1498 | 1499 | ; User-function to be called if an assertion fails. 1500 | ; http://php.net/assert.callback 1501 | ;assert.callback = 0 1502 | 1503 | ; Eval the expression with current error_reporting(). Set to true if you want 1504 | ; error_reporting(0) around the eval(). 1505 | ; http://php.net/assert.quiet-eval 1506 | ;assert.quiet_eval = 0 1507 | 1508 | [mbstring] 1509 | ; language for internal character representation. 1510 | ; This affects mb_send_mail() and mbstring.detect_order. 1511 | ; http://php.net/mbstring.language 1512 | ;mbstring.language = Japanese 1513 | 1514 | ; Use of this INI entry is deprecated, use global internal_encoding instead. 1515 | ; internal/script encoding. 1516 | ; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) 1517 | ; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. 1518 | ; The precedence is: default_charset < internal_encoding < iconv.internal_encoding 1519 | ;mbstring.internal_encoding = 1520 | 1521 | ; Use of this INI entry is deprecated, use global input_encoding instead. 1522 | ; http input encoding. 1523 | ; mbstring.encoding_traslation = On is needed to use this setting. 1524 | ; If empty, default_charset or input_encoding or mbstring.input is used. 1525 | ; The precedence is: default_charset < intput_encoding < mbsting.http_input 1526 | ; http://php.net/mbstring.http-input 1527 | ;mbstring.http_input = 1528 | 1529 | ; Use of this INI entry is deprecated, use global output_encoding instead. 1530 | ; http output encoding. 1531 | ; mb_output_handler must be registered as output buffer to function. 1532 | ; If empty, default_charset or output_encoding or mbstring.http_output is used. 1533 | ; The precedence is: default_charset < output_encoding < mbstring.http_output 1534 | ; To use an output encoding conversion, mbstring's output handler must be set 1535 | ; otherwise output encoding conversion cannot be performed. 1536 | ; http://php.net/mbstring.http-output 1537 | ;mbstring.http_output = 1538 | 1539 | ; enable automatic encoding translation according to 1540 | ; mbstring.internal_encoding setting. Input chars are 1541 | ; converted to internal encoding by setting this to On. 1542 | ; Note: Do _not_ use automatic encoding translation for 1543 | ; portable libs/applications. 1544 | ; http://php.net/mbstring.encoding-translation 1545 | ;mbstring.encoding_translation = Off 1546 | 1547 | ; automatic encoding detection order. 1548 | ; "auto" detect order is changed according to mbstring.language 1549 | ; http://php.net/mbstring.detect-order 1550 | ;mbstring.detect_order = auto 1551 | 1552 | ; substitute_character used when character cannot be converted 1553 | ; one from another 1554 | ; http://php.net/mbstring.substitute-character 1555 | ;mbstring.substitute_character = none 1556 | 1557 | ; overload(replace) single byte functions by mbstring functions. 1558 | ; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), 1559 | ; etc. Possible values are 0,1,2,4 or combination of them. 1560 | ; For example, 7 for overload everything. 1561 | ; 0: No overload 1562 | ; 1: Overload mail() function 1563 | ; 2: Overload str*() functions 1564 | ; 4: Overload ereg*() functions 1565 | ; http://php.net/mbstring.func-overload 1566 | ;mbstring.func_overload = 0 1567 | 1568 | ; enable strict encoding detection. 1569 | ; Default: Off 1570 | ;mbstring.strict_detection = On 1571 | 1572 | ; This directive specifies the regex pattern of content types for which mb_output_handler() 1573 | ; is activated. 1574 | ; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) 1575 | ;mbstring.http_output_conv_mimetype= 1576 | 1577 | [gd] 1578 | ; Tell the jpeg decode to ignore warnings and try to create 1579 | ; a gd image. The warning will then be displayed as notices 1580 | ; disabled by default 1581 | ; http://php.net/gd.jpeg-ignore-warning 1582 | ;gd.jpeg_ignore_warning = 1 1583 | 1584 | [exif] 1585 | ; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. 1586 | ; With mbstring support this will automatically be converted into the encoding 1587 | ; given by corresponding encode setting. When empty mbstring.internal_encoding 1588 | ; is used. For the decode settings you can distinguish between motorola and 1589 | ; intel byte order. A decode setting cannot be empty. 1590 | ; http://php.net/exif.encode-unicode 1591 | ;exif.encode_unicode = ISO-8859-15 1592 | 1593 | ; http://php.net/exif.decode-unicode-motorola 1594 | ;exif.decode_unicode_motorola = UCS-2BE 1595 | 1596 | ; http://php.net/exif.decode-unicode-intel 1597 | ;exif.decode_unicode_intel = UCS-2LE 1598 | 1599 | ; http://php.net/exif.encode-jis 1600 | ;exif.encode_jis = 1601 | 1602 | ; http://php.net/exif.decode-jis-motorola 1603 | ;exif.decode_jis_motorola = JIS 1604 | 1605 | ; http://php.net/exif.decode-jis-intel 1606 | ;exif.decode_jis_intel = JIS 1607 | 1608 | [Tidy] 1609 | ; The path to a default tidy configuration file to use when using tidy 1610 | ; http://php.net/tidy.default-config 1611 | ;tidy.default_config = /usr/local/lib/php/default.tcfg 1612 | 1613 | ; Should tidy clean and repair output automatically? 1614 | ; WARNING: Do not use this option if you are generating non-html content 1615 | ; such as dynamic images 1616 | ; http://php.net/tidy.clean-output 1617 | tidy.clean_output = Off 1618 | 1619 | [soap] 1620 | ; Enables or disables WSDL caching feature. 1621 | ; http://php.net/soap.wsdl-cache-enabled 1622 | soap.wsdl_cache_enabled=1 1623 | 1624 | ; Sets the directory name where SOAP extension will put cache files. 1625 | ; http://php.net/soap.wsdl-cache-dir 1626 | 1627 | ; RPM note : cache directory must be owned by process owner 1628 | ; for mod_php, see /etc/httpd/conf.d/php.conf 1629 | ; for php-fpm, see /etc/php-fpm.d/*conf 1630 | soap.wsdl_cache_dir="/tmp" 1631 | 1632 | ; (time to live) Sets the number of second while cached file will be used 1633 | ; instead of original one. 1634 | ; http://php.net/soap.wsdl-cache-ttl 1635 | soap.wsdl_cache_ttl=86400 1636 | 1637 | ; Sets the size of the cache limit. (Max. number of WSDL files to cache) 1638 | soap.wsdl_cache_limit = 5 1639 | 1640 | [sysvshm] 1641 | ; A default size of the shared memory segment 1642 | ;sysvshm.init_mem = 10000 1643 | 1644 | [ldap] 1645 | ; Sets the maximum number of open links or -1 for unlimited. 1646 | ldap.max_links = -1 1647 | 1648 | [mcrypt] 1649 | ; For more information about mcrypt settings see http://php.net/mcrypt-module-open 1650 | 1651 | ; Directory where to load mcrypt algorithms 1652 | ; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) 1653 | ;mcrypt.algorithms_dir= 1654 | 1655 | ; Directory where to load mcrypt modes 1656 | ; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) 1657 | ;mcrypt.modes_dir= 1658 | 1659 | [dba] 1660 | ;dba.default_handler= 1661 | 1662 | [curl] 1663 | ; A default value for the CURLOPT_CAINFO option. This is required to be an 1664 | ; absolute path. 1665 | ;curl.cainfo = 1666 | 1667 | [openssl] 1668 | ; The location of a Certificate Authority (CA) file on the local filesystem 1669 | ; to use when verifying the identity of SSL/TLS peers. Most users should 1670 | ; not specify a value for this directive as PHP will attempt to use the 1671 | ; OS-managed cert stores in its absence. If specified, this value may still 1672 | ; be overridden on a per-stream basis via the "cafile" SSL stream context 1673 | ; option. 1674 | ;openssl.cafile= 1675 | 1676 | ; If openssl.cafile is not specified or if the CA file is not found, the 1677 | ; directory pointed to by openssl.capath is searched for a suitable 1678 | ; certificate. This value must be a correctly hashed certificate directory. 1679 | ; Most users should not specify a value for this directive as PHP will 1680 | ; attempt to use the OS-managed cert stores in its absence. If specified, 1681 | ; this value may still be overridden on a per-stream basis via the "capath" 1682 | ; SSL stream context option. 1683 | ;openssl.capath= 1684 | 1685 | ; Local Variables: 1686 | ; tab-width: 4 1687 | ; End: 1688 | --------------------------------------------------------------------------------