influxdb-plugin-fluent 1.0.0.pre.183
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.circleci/config.yml +157 -0
- data/.circleci/setup-rubygems.sh +3 -0
- data/.github/PULL_REQUEST_TEMPLATE +8 -0
- data/.gitignore +13 -0
- data/.rubocop.yml +36 -0
- data/CHANGELOG.md +3 -0
- data/Gemfile +24 -0
- data/LICENSE +21 -0
- data/README.md +112 -0
- data/Rakefile +37 -0
- data/bin/influxdb-onboarding.sh +39 -0
- data/bin/influxdb-restart.sh +60 -0
- data/examples/README.md +190 -0
- data/examples/ab/load.sh +25 -0
- data/examples/ab/urls.txt +4 -0
- data/examples/architecture.png +0 -0
- data/examples/dashboard.png +0 -0
- data/examples/fluentd/Dockerfile +12 -0
- data/examples/fluentd/entrypoint.sh +28 -0
- data/examples/fluentd/fluent.conf +40 -0
- data/examples/influxdb/web_app_access.json +365 -0
- data/examples/run-example.sh +113 -0
- data/examples/web/httpd.conf +555 -0
- data/influxdb-plugin-fluent.gemspec +61 -0
- data/lib/fluent/plugin/fluent.rb +22 -0
- data/lib/fluent/plugin/out_influxdb2.rb +148 -0
- data/lib/fluent/plugin/version.rb +27 -0
- data/test/influxdb/plugin/output_test.rb +371 -0
- data/test/influxdb/plugin/version_test.rb +27 -0
- data/test/test_helper.rb +40 -0
- metadata +233 -0
@@ -0,0 +1,113 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
#
|
3
|
+
# The MIT License
|
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
|
13
|
+
# all 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
|
21
|
+
# THE SOFTWARE.
|
22
|
+
#
|
23
|
+
|
24
|
+
set -e
|
25
|
+
|
26
|
+
SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )"
|
27
|
+
|
28
|
+
docker kill influxdb_v2 || true
|
29
|
+
docker rm influxdb_v2 || true
|
30
|
+
|
31
|
+
docker kill fluentd_influx || true
|
32
|
+
docker rm fluentd_influx || true
|
33
|
+
|
34
|
+
docker kill web || true
|
35
|
+
docker rm web || true
|
36
|
+
|
37
|
+
docker kill ab || true
|
38
|
+
docker rm ab || true
|
39
|
+
|
40
|
+
docker network rm influx_network || true
|
41
|
+
docker network create -d bridge influx_network --subnet 192.168.0.0/24 --gateway 192.168.0.1
|
42
|
+
|
43
|
+
#
|
44
|
+
# Start InfluxDB 2
|
45
|
+
#
|
46
|
+
docker run \
|
47
|
+
--detach \
|
48
|
+
--name influxdb_v2 \
|
49
|
+
--network influx_network \
|
50
|
+
--publish 9999:9999 \
|
51
|
+
quay.io/influxdb/influxdb:2.0.0-beta
|
52
|
+
|
53
|
+
#
|
54
|
+
# Post onBoarding request to InfluxDB 2
|
55
|
+
#
|
56
|
+
"${SCRIPT_PATH}"/../bin/influxdb-onboarding.sh
|
57
|
+
|
58
|
+
#
|
59
|
+
# Build actual version of output plugin
|
60
|
+
#
|
61
|
+
cd "${SCRIPT_PATH}"/../
|
62
|
+
docker run --rm -v "${SCRIPT_PATH}/../":/usr/src/app -w /usr/src/app ruby:2.6 gem build influxdb-plugin-fluent.gemspec \
|
63
|
+
-o ./examples/fluentd/influxdb-plugin-fluent.gem
|
64
|
+
|
65
|
+
#
|
66
|
+
# Build fluentd Docker image with output plugin
|
67
|
+
#
|
68
|
+
docker build -t fluentd_influx examples/fluentd
|
69
|
+
|
70
|
+
#
|
71
|
+
# Start fluentd with docker image
|
72
|
+
#
|
73
|
+
docker run \
|
74
|
+
--detach \
|
75
|
+
--name fluentd_influx \
|
76
|
+
--network influx_network \
|
77
|
+
--publish 24224:24224 \
|
78
|
+
--publish 24220:24220 \
|
79
|
+
fluentd_influx
|
80
|
+
|
81
|
+
echo "Wait to start fluentd"
|
82
|
+
wget -S --tries=20 --retry-connrefused --waitretry=5 --output-document=/dev/null http://localhost:24220/api/plugins.json
|
83
|
+
|
84
|
+
#
|
85
|
+
# Start WebApp
|
86
|
+
#
|
87
|
+
docker run \
|
88
|
+
--detach \
|
89
|
+
--name web \
|
90
|
+
--network influx_network \
|
91
|
+
--volume "${SCRIPT_PATH}"/web/httpd.conf:/usr/local/apache2/conf/httpd.conf \
|
92
|
+
--publish 8080:80 \
|
93
|
+
--log-driver fluentd \
|
94
|
+
--log-opt tag=httpd.access \
|
95
|
+
httpd
|
96
|
+
|
97
|
+
echo "Wait to start WebApp"
|
98
|
+
wget -S --spider --tries=20 --retry-connrefused --waitretry=5 http://localhost:8080
|
99
|
+
|
100
|
+
#
|
101
|
+
# Run Apache Benchmark to simulate load
|
102
|
+
#
|
103
|
+
docker run \
|
104
|
+
--detach \
|
105
|
+
--name ab \
|
106
|
+
--network influx_network \
|
107
|
+
--volume "${SCRIPT_PATH}"/ab/urls.txt:/tmp/urls.txt \
|
108
|
+
--volume "${SCRIPT_PATH}"/ab/load.sh:/tmp/load.sh \
|
109
|
+
russmckendrick/ab bash /tmp/load.sh
|
110
|
+
|
111
|
+
docker logs -f fluentd_influx
|
112
|
+
|
113
|
+
#curl -i -X POST -H "Content-Type: application/json" -H "Authorization: Token my-token" "http://localhost:9999/orgs/3c7a552ae6b01ebd/dashboards/import" -d @influxdb/web_app_access_dashboard.json
|
@@ -0,0 +1,555 @@
|
|
1
|
+
#
|
2
|
+
# This is the main Apache HTTP server configuration file. It contains the
|
3
|
+
# configuration directives that give the server its instructions.
|
4
|
+
# See <URL:http://httpd.apache.org/docs/2.4/> for detailed information.
|
5
|
+
# In particular, see
|
6
|
+
# <URL:http://httpd.apache.org/docs/2.4/mod/directives.html>
|
7
|
+
# for a discussion of each configuration directive.
|
8
|
+
#
|
9
|
+
# Do NOT simply read the instructions in here without understanding
|
10
|
+
# what they do. They're here only as hints or reminders. If you are unsure
|
11
|
+
# consult the online docs. You have been warned.
|
12
|
+
#
|
13
|
+
# Configuration and logfile names: If the filenames you specify for many
|
14
|
+
# of the server's control files begin with "/" (or "drive:/" for Win32), the
|
15
|
+
# server will use that explicit path. If the filenames do *not* begin
|
16
|
+
# with "/", the value of ServerRoot is prepended -- so "logs/access_log"
|
17
|
+
# with ServerRoot set to "/usr/local/apache2" will be interpreted by the
|
18
|
+
# server as "/usr/local/apache2/logs/access_log", whereas "/logs/access_log"
|
19
|
+
# will be interpreted as '/logs/access_log'.
|
20
|
+
|
21
|
+
#
|
22
|
+
# ServerRoot: The top of the directory tree under which the server's
|
23
|
+
# configuration, error, and log files are kept.
|
24
|
+
#
|
25
|
+
# Do not add a slash at the end of the directory path. If you point
|
26
|
+
# ServerRoot at a non-local disk, be sure to specify a local disk on the
|
27
|
+
# Mutex directive, if file-based mutexes are used. If you wish to share the
|
28
|
+
# same ServerRoot for multiple httpd daemons, you will need to change at
|
29
|
+
# least PidFile.
|
30
|
+
#
|
31
|
+
ServerRoot "/usr/local/apache2"
|
32
|
+
|
33
|
+
#
|
34
|
+
# Mutex: Allows you to set the mutex mechanism and mutex file directory
|
35
|
+
# for individual mutexes, or change the global defaults
|
36
|
+
#
|
37
|
+
# Uncomment and change the directory if mutexes are file-based and the default
|
38
|
+
# mutex file directory is not on a local disk or is not appropriate for some
|
39
|
+
# other reason.
|
40
|
+
#
|
41
|
+
# Mutex default:logs
|
42
|
+
|
43
|
+
#
|
44
|
+
# Listen: Allows you to bind Apache to specific IP addresses and/or
|
45
|
+
# ports, instead of the default. See also the <VirtualHost>
|
46
|
+
# directive.
|
47
|
+
#
|
48
|
+
# Change this to Listen on specific IP addresses as shown below to
|
49
|
+
# prevent Apache from glomming onto all bound IP addresses.
|
50
|
+
#
|
51
|
+
#Listen 12.34.56.78:80
|
52
|
+
Listen 80
|
53
|
+
|
54
|
+
#
|
55
|
+
# Dynamic Shared Object (DSO) Support
|
56
|
+
#
|
57
|
+
# To be able to use the functionality of a module which was built as a DSO you
|
58
|
+
# have to place corresponding `LoadModule' lines at this location so the
|
59
|
+
# directives contained in it are actually available _before_ they are used.
|
60
|
+
# Statically compiled modules (those listed by `httpd -l') do not need
|
61
|
+
# to be loaded here.
|
62
|
+
#
|
63
|
+
# Example:
|
64
|
+
# LoadModule foo_module modules/mod_foo.so
|
65
|
+
#
|
66
|
+
LoadModule mpm_event_module modules/mod_mpm_event.so
|
67
|
+
#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
|
68
|
+
#LoadModule mpm_worker_module modules/mod_mpm_worker.so
|
69
|
+
LoadModule authn_file_module modules/mod_authn_file.so
|
70
|
+
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
|
71
|
+
#LoadModule authn_anon_module modules/mod_authn_anon.so
|
72
|
+
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
|
73
|
+
#LoadModule authn_socache_module modules/mod_authn_socache.so
|
74
|
+
LoadModule authn_core_module modules/mod_authn_core.so
|
75
|
+
LoadModule authz_host_module modules/mod_authz_host.so
|
76
|
+
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
|
77
|
+
LoadModule authz_user_module modules/mod_authz_user.so
|
78
|
+
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
|
79
|
+
#LoadModule authz_owner_module modules/mod_authz_owner.so
|
80
|
+
#LoadModule authz_dbd_module modules/mod_authz_dbd.so
|
81
|
+
LoadModule authz_core_module modules/mod_authz_core.so
|
82
|
+
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
|
83
|
+
#LoadModule authnz_fcgi_module modules/mod_authnz_fcgi.so
|
84
|
+
LoadModule access_compat_module modules/mod_access_compat.so
|
85
|
+
LoadModule auth_basic_module modules/mod_auth_basic.so
|
86
|
+
#LoadModule auth_form_module modules/mod_auth_form.so
|
87
|
+
#LoadModule auth_digest_module modules/mod_auth_digest.so
|
88
|
+
#LoadModule allowmethods_module modules/mod_allowmethods.so
|
89
|
+
#LoadModule isapi_module modules/mod_isapi.so
|
90
|
+
#LoadModule file_cache_module modules/mod_file_cache.so
|
91
|
+
#LoadModule cache_module modules/mod_cache.so
|
92
|
+
#LoadModule cache_disk_module modules/mod_cache_disk.so
|
93
|
+
#LoadModule cache_socache_module modules/mod_cache_socache.so
|
94
|
+
#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
|
95
|
+
#LoadModule socache_dbm_module modules/mod_socache_dbm.so
|
96
|
+
#LoadModule socache_memcache_module modules/mod_socache_memcache.so
|
97
|
+
#LoadModule socache_redis_module modules/mod_socache_redis.so
|
98
|
+
#LoadModule watchdog_module modules/mod_watchdog.so
|
99
|
+
#LoadModule macro_module modules/mod_macro.so
|
100
|
+
#LoadModule dbd_module modules/mod_dbd.so
|
101
|
+
#LoadModule bucketeer_module modules/mod_bucketeer.so
|
102
|
+
#LoadModule dumpio_module modules/mod_dumpio.so
|
103
|
+
#LoadModule echo_module modules/mod_echo.so
|
104
|
+
#LoadModule example_hooks_module modules/mod_example_hooks.so
|
105
|
+
#LoadModule case_filter_module modules/mod_case_filter.so
|
106
|
+
#LoadModule case_filter_in_module modules/mod_case_filter_in.so
|
107
|
+
#LoadModule example_ipc_module modules/mod_example_ipc.so
|
108
|
+
#LoadModule buffer_module modules/mod_buffer.so
|
109
|
+
#LoadModule data_module modules/mod_data.so
|
110
|
+
#LoadModule ratelimit_module modules/mod_ratelimit.so
|
111
|
+
LoadModule reqtimeout_module modules/mod_reqtimeout.so
|
112
|
+
#LoadModule ext_filter_module modules/mod_ext_filter.so
|
113
|
+
#LoadModule request_module modules/mod_request.so
|
114
|
+
#LoadModule include_module modules/mod_include.so
|
115
|
+
LoadModule filter_module modules/mod_filter.so
|
116
|
+
#LoadModule reflector_module modules/mod_reflector.so
|
117
|
+
#LoadModule substitute_module modules/mod_substitute.so
|
118
|
+
#LoadModule sed_module modules/mod_sed.so
|
119
|
+
#LoadModule charset_lite_module modules/mod_charset_lite.so
|
120
|
+
#LoadModule deflate_module modules/mod_deflate.so
|
121
|
+
#LoadModule xml2enc_module modules/mod_xml2enc.so
|
122
|
+
#LoadModule proxy_html_module modules/mod_proxy_html.so
|
123
|
+
#LoadModule brotli_module modules/mod_brotli.so
|
124
|
+
LoadModule mime_module modules/mod_mime.so
|
125
|
+
#LoadModule ldap_module modules/mod_ldap.so
|
126
|
+
LoadModule log_config_module modules/mod_log_config.so
|
127
|
+
#LoadModule log_debug_module modules/mod_log_debug.so
|
128
|
+
#LoadModule log_forensic_module modules/mod_log_forensic.so
|
129
|
+
#LoadModule logio_module modules/mod_logio.so
|
130
|
+
#LoadModule lua_module modules/mod_lua.so
|
131
|
+
LoadModule env_module modules/mod_env.so
|
132
|
+
#LoadModule mime_magic_module modules/mod_mime_magic.so
|
133
|
+
#LoadModule cern_meta_module modules/mod_cern_meta.so
|
134
|
+
#LoadModule expires_module modules/mod_expires.so
|
135
|
+
LoadModule headers_module modules/mod_headers.so
|
136
|
+
#LoadModule ident_module modules/mod_ident.so
|
137
|
+
#LoadModule usertrack_module modules/mod_usertrack.so
|
138
|
+
#LoadModule unique_id_module modules/mod_unique_id.so
|
139
|
+
LoadModule setenvif_module modules/mod_setenvif.so
|
140
|
+
LoadModule version_module modules/mod_version.so
|
141
|
+
#LoadModule remoteip_module modules/mod_remoteip.so
|
142
|
+
#LoadModule proxy_module modules/mod_proxy.so
|
143
|
+
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
|
144
|
+
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
|
145
|
+
#LoadModule proxy_http_module modules/mod_proxy_http.so
|
146
|
+
#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
|
147
|
+
#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
|
148
|
+
#LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so
|
149
|
+
#LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so
|
150
|
+
#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
|
151
|
+
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
|
152
|
+
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
|
153
|
+
#LoadModule proxy_express_module modules/mod_proxy_express.so
|
154
|
+
#LoadModule proxy_hcheck_module modules/mod_proxy_hcheck.so
|
155
|
+
#LoadModule session_module modules/mod_session.so
|
156
|
+
#LoadModule session_cookie_module modules/mod_session_cookie.so
|
157
|
+
#LoadModule session_crypto_module modules/mod_session_crypto.so
|
158
|
+
#LoadModule session_dbd_module modules/mod_session_dbd.so
|
159
|
+
#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
|
160
|
+
#LoadModule slotmem_plain_module modules/mod_slotmem_plain.so
|
161
|
+
#LoadModule ssl_module modules/mod_ssl.so
|
162
|
+
#LoadModule optional_hook_export_module modules/mod_optional_hook_export.so
|
163
|
+
#LoadModule optional_hook_import_module modules/mod_optional_hook_import.so
|
164
|
+
#LoadModule optional_fn_import_module modules/mod_optional_fn_import.so
|
165
|
+
#LoadModule optional_fn_export_module modules/mod_optional_fn_export.so
|
166
|
+
#LoadModule dialup_module modules/mod_dialup.so
|
167
|
+
#LoadModule http2_module modules/mod_http2.so
|
168
|
+
#LoadModule proxy_http2_module modules/mod_proxy_http2.so
|
169
|
+
#LoadModule md_module modules/mod_md.so
|
170
|
+
#LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
|
171
|
+
#LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
|
172
|
+
#LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
|
173
|
+
#LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
|
174
|
+
LoadModule unixd_module modules/mod_unixd.so
|
175
|
+
#LoadModule heartbeat_module modules/mod_heartbeat.so
|
176
|
+
#LoadModule heartmonitor_module modules/mod_heartmonitor.so
|
177
|
+
#LoadModule dav_module modules/mod_dav.so
|
178
|
+
LoadModule status_module modules/mod_status.so
|
179
|
+
LoadModule autoindex_module modules/mod_autoindex.so
|
180
|
+
#LoadModule asis_module modules/mod_asis.so
|
181
|
+
#LoadModule info_module modules/mod_info.so
|
182
|
+
#LoadModule suexec_module modules/mod_suexec.so
|
183
|
+
<IfModule !mpm_prefork_module>
|
184
|
+
#LoadModule cgid_module modules/mod_cgid.so
|
185
|
+
</IfModule>
|
186
|
+
<IfModule mpm_prefork_module>
|
187
|
+
#LoadModule cgi_module modules/mod_cgi.so
|
188
|
+
</IfModule>
|
189
|
+
#LoadModule dav_fs_module modules/mod_dav_fs.so
|
190
|
+
#LoadModule dav_lock_module modules/mod_dav_lock.so
|
191
|
+
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
|
192
|
+
#LoadModule negotiation_module modules/mod_negotiation.so
|
193
|
+
LoadModule dir_module modules/mod_dir.so
|
194
|
+
#LoadModule imagemap_module modules/mod_imagemap.so
|
195
|
+
#LoadModule actions_module modules/mod_actions.so
|
196
|
+
#LoadModule speling_module modules/mod_speling.so
|
197
|
+
#LoadModule userdir_module modules/mod_userdir.so
|
198
|
+
LoadModule alias_module modules/mod_alias.so
|
199
|
+
LoadModule rewrite_module modules/mod_rewrite.so
|
200
|
+
|
201
|
+
<IfModule unixd_module>
|
202
|
+
#
|
203
|
+
# If you wish httpd to run as a different user or group, you must run
|
204
|
+
# httpd as root initially and it will switch.
|
205
|
+
#
|
206
|
+
# User/Group: The name (or #number) of the user/group to run httpd as.
|
207
|
+
# It is usually good practice to create a dedicated user and group for
|
208
|
+
# running httpd, as with most system services.
|
209
|
+
#
|
210
|
+
User daemon
|
211
|
+
Group daemon
|
212
|
+
|
213
|
+
</IfModule>
|
214
|
+
|
215
|
+
# 'Main' server configuration
|
216
|
+
#
|
217
|
+
# The directives in this section set up the values used by the 'main'
|
218
|
+
# server, which responds to any requests that aren't handled by a
|
219
|
+
# <VirtualHost> definition. These values also provide defaults for
|
220
|
+
# any <VirtualHost> containers you may define later in the file.
|
221
|
+
#
|
222
|
+
# All of these directives may appear inside <VirtualHost> containers,
|
223
|
+
# in which case these default settings will be overridden for the
|
224
|
+
# virtual host being defined.
|
225
|
+
#
|
226
|
+
|
227
|
+
#
|
228
|
+
# ServerAdmin: Your address, where problems with the server should be
|
229
|
+
# e-mailed. This address appears on some server-generated pages, such
|
230
|
+
# as error documents. e.g. admin@your-domain.com
|
231
|
+
#
|
232
|
+
ServerAdmin you@example.com
|
233
|
+
|
234
|
+
#
|
235
|
+
# ServerName gives the name and port that the server uses to identify itself.
|
236
|
+
# This can often be determined automatically, but we recommend you specify
|
237
|
+
# it explicitly to prevent problems during startup.
|
238
|
+
#
|
239
|
+
# If your host doesn't have a registered DNS name, enter its IP address here.
|
240
|
+
#
|
241
|
+
ServerName http://web:80
|
242
|
+
|
243
|
+
#
|
244
|
+
# Deny access to the entirety of your server's filesystem. You must
|
245
|
+
# explicitly permit access to web content directories in other
|
246
|
+
# <Directory> blocks below.
|
247
|
+
#
|
248
|
+
<Directory />
|
249
|
+
AllowOverride none
|
250
|
+
Require all denied
|
251
|
+
</Directory>
|
252
|
+
|
253
|
+
#
|
254
|
+
# Note that from this point forward you must specifically allow
|
255
|
+
# particular features to be enabled - so if something's not working as
|
256
|
+
# you might expect, make sure that you have specifically enabled it
|
257
|
+
# below.
|
258
|
+
#
|
259
|
+
|
260
|
+
#
|
261
|
+
# DocumentRoot: The directory out of which you will serve your
|
262
|
+
# documents. By default, all requests are taken from this directory, but
|
263
|
+
# symbolic links and aliases may be used to point to other locations.
|
264
|
+
#
|
265
|
+
DocumentRoot "/usr/local/apache2/htdocs"
|
266
|
+
<Directory "/usr/local/apache2/htdocs">
|
267
|
+
#
|
268
|
+
# Possible values for the Options directive are "None", "All",
|
269
|
+
# or any combination of:
|
270
|
+
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
|
271
|
+
#
|
272
|
+
# Note that "MultiViews" must be named *explicitly* --- "Options All"
|
273
|
+
# doesn't give it to you.
|
274
|
+
#
|
275
|
+
# The Options directive is both complicated and important. Please see
|
276
|
+
# http://httpd.apache.org/docs/2.4/mod/core.html#options
|
277
|
+
# for more information.
|
278
|
+
#
|
279
|
+
Options Indexes FollowSymLinks
|
280
|
+
|
281
|
+
#
|
282
|
+
# AllowOverride controls what directives may be placed in .htaccess files.
|
283
|
+
# It can be "All", "None", or any combination of the keywords:
|
284
|
+
# AllowOverride FileInfo AuthConfig Limit
|
285
|
+
#
|
286
|
+
AllowOverride None
|
287
|
+
|
288
|
+
#
|
289
|
+
# Controls who can get stuff from this server.
|
290
|
+
#
|
291
|
+
Require all granted
|
292
|
+
</Directory>
|
293
|
+
|
294
|
+
#
|
295
|
+
# DirectoryIndex: sets the file that Apache will serve if a directory
|
296
|
+
# is requested.
|
297
|
+
#
|
298
|
+
<IfModule dir_module>
|
299
|
+
DirectoryIndex index.html
|
300
|
+
</IfModule>
|
301
|
+
|
302
|
+
#
|
303
|
+
# The following lines prevent .htaccess and .htpasswd files from being
|
304
|
+
# viewed by Web clients.
|
305
|
+
#
|
306
|
+
<Files ".ht*">
|
307
|
+
Require all denied
|
308
|
+
</Files>
|
309
|
+
RewriteEngine On
|
310
|
+
RewriteRule ^/?.+$ - [R=200]
|
311
|
+
#RewriteRule ^/?.+$ / [L,R]
|
312
|
+
#RewriteRule ^/?.+$ / [R,L]
|
313
|
+
|
314
|
+
#
|
315
|
+
# ErrorLog: The location of the error log file.
|
316
|
+
# If you do not specify an ErrorLog directive within a <VirtualHost>
|
317
|
+
# container, error messages relating to that virtual host will be
|
318
|
+
# logged here. If you *do* define an error logfile for a <VirtualHost>
|
319
|
+
# container, that host's errors will be logged there and not here.
|
320
|
+
#
|
321
|
+
ErrorLog /proc/self/fd/2
|
322
|
+
|
323
|
+
#
|
324
|
+
# LogLevel: Control the number of messages logged to the error_log.
|
325
|
+
# Possible values include: debug, info, notice, warn, error, crit,
|
326
|
+
# alert, emerg.
|
327
|
+
#
|
328
|
+
LogLevel warn
|
329
|
+
|
330
|
+
<IfModule log_config_module>
|
331
|
+
#
|
332
|
+
# The following directives define some format nicknames for use with
|
333
|
+
# a CustomLog directive (see below).
|
334
|
+
#
|
335
|
+
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
|
336
|
+
LogFormat "%h %l %u %t \"%r\" %>s %b" common
|
337
|
+
|
338
|
+
<IfModule logio_module>
|
339
|
+
# You need to enable mod_logio.c to use %I and %O
|
340
|
+
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
|
341
|
+
</IfModule>
|
342
|
+
|
343
|
+
#
|
344
|
+
# The location and format of the access logfile (Common Logfile Format).
|
345
|
+
# If you do not define any access logfiles within a <VirtualHost>
|
346
|
+
# container, they will be logged here. Contrariwise, if you *do*
|
347
|
+
# define per-<VirtualHost> access logfiles, transactions will be
|
348
|
+
# logged therein and *not* in this file.
|
349
|
+
#
|
350
|
+
CustomLog /proc/self/fd/1 common
|
351
|
+
|
352
|
+
#
|
353
|
+
# If you prefer a logfile with access, agent, and referer information
|
354
|
+
# (Combined Logfile Format) you can use the following directive.
|
355
|
+
#
|
356
|
+
#CustomLog "logs/access_log" combined
|
357
|
+
</IfModule>
|
358
|
+
|
359
|
+
<IfModule alias_module>
|
360
|
+
#
|
361
|
+
# Redirect: Allows you to tell clients about documents that used to
|
362
|
+
# exist in your server's namespace, but do not anymore. The client
|
363
|
+
# will make a new request for the document at its new location.
|
364
|
+
# Example:
|
365
|
+
# Redirect permanent /foo http://www.example.com/bar
|
366
|
+
|
367
|
+
#
|
368
|
+
# Alias: Maps web paths into filesystem paths and is used to
|
369
|
+
# access content that does not live under the DocumentRoot.
|
370
|
+
# Example:
|
371
|
+
# Alias /webpath /full/filesystem/path
|
372
|
+
#
|
373
|
+
# If you include a trailing / on /webpath then the server will
|
374
|
+
# require it to be present in the URL. You will also likely
|
375
|
+
# need to provide a <Directory> section to allow access to
|
376
|
+
# the filesystem path.
|
377
|
+
|
378
|
+
#
|
379
|
+
# ScriptAlias: This controls which directories contain server scripts.
|
380
|
+
# ScriptAliases are essentially the same as Aliases, except that
|
381
|
+
# documents in the target directory are treated as applications and
|
382
|
+
# run by the server when requested rather than as documents sent to the
|
383
|
+
# client. The same rules about trailing "/" apply to ScriptAlias
|
384
|
+
# directives as to Alias.
|
385
|
+
#
|
386
|
+
ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"
|
387
|
+
|
388
|
+
</IfModule>
|
389
|
+
|
390
|
+
<IfModule cgid_module>
|
391
|
+
#
|
392
|
+
# ScriptSock: On threaded servers, designate the path to the UNIX
|
393
|
+
# socket used to communicate with the CGI daemon of mod_cgid.
|
394
|
+
#
|
395
|
+
#Scriptsock cgisock
|
396
|
+
</IfModule>
|
397
|
+
|
398
|
+
#
|
399
|
+
# "/usr/local/apache2/cgi-bin" should be changed to whatever your ScriptAliased
|
400
|
+
# CGI directory exists, if you have that configured.
|
401
|
+
#
|
402
|
+
<Directory "/usr/local/apache2/cgi-bin">
|
403
|
+
AllowOverride None
|
404
|
+
Options None
|
405
|
+
Require all granted
|
406
|
+
</Directory>
|
407
|
+
|
408
|
+
<IfModule headers_module>
|
409
|
+
#
|
410
|
+
# Avoid passing HTTP_PROXY environment to CGI's on this or any proxied
|
411
|
+
# backend servers which have lingering "httpoxy" defects.
|
412
|
+
# 'Proxy' request header is undefined by the IETF, not listed by IANA
|
413
|
+
#
|
414
|
+
RequestHeader unset Proxy early
|
415
|
+
</IfModule>
|
416
|
+
|
417
|
+
<IfModule mime_module>
|
418
|
+
#
|
419
|
+
# TypesConfig points to the file containing the list of mappings from
|
420
|
+
# filename extension to MIME-type.
|
421
|
+
#
|
422
|
+
TypesConfig conf/mime.types
|
423
|
+
|
424
|
+
#
|
425
|
+
# AddType allows you to add to or override the MIME configuration
|
426
|
+
# file specified in TypesConfig for specific file types.
|
427
|
+
#
|
428
|
+
#AddType application/x-gzip .tgz
|
429
|
+
#
|
430
|
+
# AddEncoding allows you to have certain browsers uncompress
|
431
|
+
# information on the fly. Note: Not all browsers support this.
|
432
|
+
#
|
433
|
+
#AddEncoding x-compress .Z
|
434
|
+
#AddEncoding x-gzip .gz .tgz
|
435
|
+
#
|
436
|
+
# If the AddEncoding directives above are commented-out, then you
|
437
|
+
# probably should define those extensions to indicate media types:
|
438
|
+
#
|
439
|
+
AddType application/x-compress .Z
|
440
|
+
AddType application/x-gzip .gz .tgz
|
441
|
+
|
442
|
+
#
|
443
|
+
# AddHandler allows you to map certain file extensions to "handlers":
|
444
|
+
# actions unrelated to filetype. These can be either built into the server
|
445
|
+
# or added with the Action directive (see below)
|
446
|
+
#
|
447
|
+
# To use CGI scripts outside of ScriptAliased directories:
|
448
|
+
# (You will also need to add "ExecCGI" to the "Options" directive.)
|
449
|
+
#
|
450
|
+
#AddHandler cgi-script .cgi
|
451
|
+
|
452
|
+
# For type maps (negotiated resources):
|
453
|
+
#AddHandler type-map var
|
454
|
+
|
455
|
+
#
|
456
|
+
# Filters allow you to process content before it is sent to the client.
|
457
|
+
#
|
458
|
+
# To parse .shtml files for server-side includes (SSI):
|
459
|
+
# (You will also need to add "Includes" to the "Options" directive.)
|
460
|
+
#
|
461
|
+
#AddType text/html .shtml
|
462
|
+
#AddOutputFilter INCLUDES .shtml
|
463
|
+
</IfModule>
|
464
|
+
|
465
|
+
#
|
466
|
+
# The mod_mime_magic module allows the server to use various hints from the
|
467
|
+
# contents of the file itself to determine its type. The MIMEMagicFile
|
468
|
+
# directive tells the module where the hint definitions are located.
|
469
|
+
#
|
470
|
+
#MIMEMagicFile conf/magic
|
471
|
+
|
472
|
+
#
|
473
|
+
# Customizable error responses come in three flavors:
|
474
|
+
# 1) plain text 2) local redirects 3) external redirects
|
475
|
+
#
|
476
|
+
# Some examples:
|
477
|
+
#ErrorDocument 500 "The server made a boo boo."
|
478
|
+
#ErrorDocument 404 /missing.html
|
479
|
+
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
|
480
|
+
#ErrorDocument 402 http://www.example.com/subscription_info.html
|
481
|
+
ErrorDocument 200 "The API request accepted."
|
482
|
+
#
|
483
|
+
|
484
|
+
#
|
485
|
+
# MaxRanges: Maximum number of Ranges in a request before
|
486
|
+
# returning the entire resource, or one of the special
|
487
|
+
# values 'default', 'none' or 'unlimited'.
|
488
|
+
# Default setting is to accept 200 Ranges.
|
489
|
+
#MaxRanges unlimited
|
490
|
+
|
491
|
+
#
|
492
|
+
# EnableMMAP and EnableSendfile: On systems that support it,
|
493
|
+
# memory-mapping or the sendfile syscall may be used to deliver
|
494
|
+
# files. This usually improves server performance, but must
|
495
|
+
# be turned off when serving from networked-mounted
|
496
|
+
# filesystems or if support for these functions is otherwise
|
497
|
+
# broken on your system.
|
498
|
+
# Defaults: EnableMMAP On, EnableSendfile Off
|
499
|
+
#
|
500
|
+
#EnableMMAP off
|
501
|
+
#EnableSendfile on
|
502
|
+
|
503
|
+
# Supplemental configuration
|
504
|
+
#
|
505
|
+
# The configuration files in the conf/extra/ directory can be
|
506
|
+
# included to add extra features or to modify the default configuration of
|
507
|
+
# the server, or you may simply copy their contents here and change as
|
508
|
+
# necessary.
|
509
|
+
|
510
|
+
# Server-pool management (MPM specific)
|
511
|
+
#Include conf/extra/httpd-mpm.conf
|
512
|
+
|
513
|
+
# Multi-language error messages
|
514
|
+
#Include conf/extra/httpd-multilang-errordoc.conf
|
515
|
+
|
516
|
+
# Fancy directory listings
|
517
|
+
#Include conf/extra/httpd-autoindex.conf
|
518
|
+
|
519
|
+
# Language settings
|
520
|
+
#Include conf/extra/httpd-languages.conf
|
521
|
+
|
522
|
+
# User home directories
|
523
|
+
#Include conf/extra/httpd-userdir.conf
|
524
|
+
|
525
|
+
# Real-time info on requests and configuration
|
526
|
+
#Include conf/extra/httpd-info.conf
|
527
|
+
|
528
|
+
# Virtual hosts
|
529
|
+
#Include conf/extra/httpd-vhosts.conf
|
530
|
+
|
531
|
+
# Local access to the Apache HTTP Server Manual
|
532
|
+
#Include conf/extra/httpd-manual.conf
|
533
|
+
|
534
|
+
# Distributed authoring and versioning (WebDAV)
|
535
|
+
#Include conf/extra/httpd-dav.conf
|
536
|
+
|
537
|
+
# Various default settings
|
538
|
+
#Include conf/extra/httpd-default.conf
|
539
|
+
|
540
|
+
# Configure mod_proxy_html to understand HTML4/XHTML1
|
541
|
+
<IfModule proxy_html_module>
|
542
|
+
Include conf/extra/proxy-html.conf
|
543
|
+
</IfModule>
|
544
|
+
|
545
|
+
# Secure (SSL/TLS) connections
|
546
|
+
#Include conf/extra/httpd-ssl.conf
|
547
|
+
#
|
548
|
+
# Note: The following must must be present to support
|
549
|
+
# starting without SSL on platforms with no /dev/random equivalent
|
550
|
+
# but a statically compiled-in mod_ssl.
|
551
|
+
#
|
552
|
+
<IfModule ssl_module>
|
553
|
+
SSLRandomSeed startup builtin
|
554
|
+
SSLRandomSeed connect builtin
|
555
|
+
</IfModule>
|