# Civetweb web server configuration file.
# For detailed description of every option, visit
# https://github.com/civetweb/civetweb/blob/master/docs/UserManual.md
# Lines starting with '#' and empty lines are ignored.
# To make a change, remove leading '#', modify option's value,
# save this file and then restart Civetweb.

document_root .
listening_ports 8080

# cgi_pattern **.cgi$|**.pl$|**.php$
# cgi_environment 
# put_delete_auth_file 
# cgi_interpreter 
# protect_uri 
# authentication_domain mydomain.com
# ssi_pattern **.shtml$|**.shtm$
# throttle 
# access_log_file 
# enable_directory_listing yes
# error_log_file 
# global_auth_file 
# index_files index.html,index.htm,index.cgi,index.shtml,index.php,index.lp
# enable_keep_alive no
# access_control_list 
# extra_mime_types 
# ssl_certificate 
# num_threads 50
# run_as_user 
# url_rewrite_patterns 
# hide_files_patterns 
# request_timeout_ms 30000
