summaryrefslogtreecommitdiff
path: root/apache/apache.cf
blob: 1f4143b3fb87fe69c13c07b7653a265e1ebe64f9 (plain)
  1. #! /usr/bin/cfengine -qf
  2. control:
  3. OutputPrefix = ("${cf_prefix}")
  4. actionsequence = ( editfiles shellcommands processes )
  5. AddInstallable = ( apache_reload )
  6. EditfileSize = ( 50000 )
  7. editfiles:
  8. any::
  9. { /etc/apache/httpd.conf
  10. DefineClasses "apache_reload"
  11. #
  12. # ServerAdmin webmaster@$(domain)
  13. #
  14. # (Try to add it _before_ virtual hosts)
  15. #
  16. WarnIfNoLineMatching "^[[:blank:]]*ServerAdmin[[:blank:]].*"
  17. BeginGroupIfNoLineMatching "^[[:blank:]]*ServerAdmin[[:blank:]].*"
  18. BeginGroupIfNoLineMatching "^(### Section 3: Virtual Hosts|#?NameVirtualHost.*|#?VirtualHost.*)$"
  19. Append "ServerAdmin webmaster@$(domain)"
  20. EndGroup
  21. BeginGroupIfNoLineMatching "^[[:blank:]]*ServerAdmin[[:blank:]].*"
  22. LocateLineMatching "^(### Section 3: Virtual Hosts|#?NameVirtualHost.*|#?VirtualHost.*)$"
  23. InsertLine "ServerAdmin webmaster@$(domain)"
  24. EndGroup
  25. EndGroup
  26. LocateLineMatching "^[[:blank:]]*ServerAdmin[[:blank:]].*"
  27. BeginGroupIfNoLineMatching "^[[:blank:]]*ServerAdmin[[:blank:]]*webmaster@$(domain)[[:blank:]]*$"
  28. ReplaceLineWith "ServerAdmin webmaster@$(domain)"
  29. EndGroup
  30. #
  31. # Make space for cfengine hacks
  32. #
  33. # (Try to add it _before_ virtual hosts)
  34. #
  35. ResetSearch "1"
  36. BeginGroupIfNoSuchLine "# BEGIN CFENGINE"
  37. BeginGroupIfNoLineMatching "^(### Section 3: Virtual Hosts|#?NameVirtualHost.*|#?VirtualHost.*)$"
  38. Append ""
  39. Append "# BEGIN CFENGINE"
  40. Append "# END CFENGINE"
  41. EndGroup
  42. BeginGroupIfNoLineMatching "^# BEGIN CFENGINE$"
  43. LocateLineMatching "^(### Section 3: Virtual Hosts|#?NameVirtualHost.*|#?VirtualHost.*)$"
  44. IncrementPointer "-1"
  45. InsertLine ""
  46. InsertLine "# BEGIN CFENGINE"
  47. InsertLine "# END CFENGINE"
  48. InsertLine ""
  49. EndGroup
  50. EndGroup
  51. #
  52. # LoadModule php3_module /usr/lib/apache/1.3/libphp3.so
  53. #
  54. # <IfModule libphp3.c>
  55. # php3_display_errors off
  56. # php3_log_errors on
  57. # AddType application/x-httpd-php3 .php3
  58. # AddType application/x-httpd-php3-source .phps
  59. # </IfModule>
  60. #
  61. BeginGroupIfFileExists "/usr/lib/apache/1.3/libphp3.so"
  62. ResetSearch "1"
  63. # bug! UnCommentLinesMatching "^#[[:blank:]]*LoadModule[[:blank:]]+php3_module[[:blank:]].*"
  64. LocateLineMatching "^#[[:blank:]]*LoadModule[[:blank:]]+php3_module[[:blank:]]+/usr/lib/apache/1.3/libphp3.so$"
  65. ReplaceLineWith "LoadModule php3_module /usr/lib/apache/1.3/libphp3.so"
  66. CatchAbort
  67. AbortAtLineMatching "^# END CFENGINE$"
  68. LocateLineMatching "^# BEGIN CFENGINE$"
  69. BeginGroupIfNoSuchLine "<IfModule libphp3.c>"
  70. InsertLine "<IfModule libphp3.c>"
  71. InsertLine "</IfModule>"
  72. EndGroup
  73. ResetSearch "1"
  74. LocateLineMatching "^# BEGIN CFENGINE$"
  75. LocateLineMatching "^<IfModule libphp3.c>$"
  76. BeginGroupIfNoLineMatching "[[:blank:]]*php3_display_errors off"
  77. InsertLine " php3_display_errors off"
  78. EndGroup
  79. BeginGroupIfNoLineMatching "[[:blank:]]*php3_log_errors on"
  80. InsertLine " php3_log_errors on"
  81. EndGroup
  82. BeginGroupIfNoLineMatching "[[:blank:]]*AddType application/x-httpd-php3 .php3"
  83. InsertLine " AddType application/x-httpd-php3 .php3"
  84. EndGroup
  85. BeginGroupIfNoLineMatching "[[:blank:]]*AddType application/x-httpd-source .phps"
  86. InsertLine " AddType application/x-httpd-source .phps"
  87. EndGroup
  88. UnsetAbort "^# END CFENGINE$"
  89. EndGroup
  90. #
  91. # LoadModule php4_module /usr/lib/apache/1.3/libphp4.so
  92. #
  93. # <IfModule libphp4.c>
  94. # php_flag display_errors off
  95. # php_flag log_errors on
  96. # AddType application/x-httpd-php .phtml .php .inc .php3
  97. # AddType application/x-httpd-php-source .phps
  98. # </IfModule>
  99. #
  100. BeginGroupIfFileExists "/usr/lib/apache/1.3/libphp4.so"
  101. ResetSearch "1"
  102. # UnCommentLinesMatching "^\#[[:blank:]]*LoadModule[[:blank:]]+php4\_module[[:blank:]].*"
  103. LocateLineMatching "^#[[:blank:]]*LoadModule[[:blank:]]+php4\_module[[:blank:]]+/usr/lib/apache/1.3/libphp4.so$"
  104. ReplaceLineWith "LoadModule php4_module /usr/lib/apache/1.3/libphp4.so"
  105. CatchAbort
  106. AbortAtLineMatching "^# END CFENGINE$"
  107. LocateLineMatching "^# BEGIN CFENGINE$"
  108. BeginGroupIfNoSuchLine "<IfModule libphp4.c>"
  109. InsertLine "<IfModule libphp4.c>"
  110. InsertLine "</IfModule>"
  111. EndGroup
  112. ResetSearch "1"
  113. LocateLineMatching "^# BEGIN CFENGINE$"
  114. LocateLineMatching "^<IfModule libphp4.c>$"
  115. BeginGroupIfNoLineMatching "^.*php_flag[[:blank:]]*display_errors[[:blank:]]*off$"
  116. InsertLine " php_flag display_errors off"
  117. EndGroup
  118. BeginGroupIfNoLineMatching ".*php_flag log_errors on"
  119. InsertLine " php_flag log_errors on"
  120. EndGroup
  121. BeginGroupIfNoLineMatching "[[:blank:]]*AddType application/x-httpd-php .phtml .php .inc .php3"
  122. InsertLine " AddType application/x-httpd-php .phtml .php .inc .php3"
  123. EndGroup
  124. BeginGroupIfNoLineMatching "[[:blank:]]*AddType application/x-httpd-source .phps"
  125. InsertLine " AddType application/x-httpd-source .phps"
  126. EndGroup
  127. UnsetAbort "^# END CFENGINE$"
  128. EndGroup
  129. #
  130. # LoadModule gzip_module /usr/lib/apache/1.3/mod_gzip.so
  131. #
  132. # <IfModule mod_gzip.c>
  133. # mod_gzip_dechunk yes
  134. # mod_gzip_keep_workfiles No
  135. # mod_gzip_temp_dir /tmp
  136. # mod_gzip_minimum_file_size 1002
  137. # mod_gzip_maximum_file_size 0
  138. # mod_gzip_maximum_inmem_size 1000000
  139. # mod_gzip_item_include file "\.htm$"
  140. # mod_gzip_item_include file "\.html$"
  141. # mod_gzip_item_include mime "text/.*"
  142. # mod_gzip_item_include file "\.php$"
  143. # mod_gzip_item_include mime "jserv-servlet"
  144. # mod_gzip_item_include handler "jserv-servlet"
  145. # mod_gzip_item_include mime "application/x-httpd-php.*"
  146. # mod_gzip_item_include mime "httpd/unix-directory"
  147. # mod_gzip_item_exclude file "\.css$"
  148. # mod_gzip_item_exclude file "\.js$"
  149. # mod_gzip_item_exclude file "\.wml$"
  150. # </IfModule>
  151. #
  152. BeginGroupIfFileExists "/usr/lib/apache/1.3/mod_gzip.so"
  153. ResetSearch "1"
  154. # SetCommentStart "#"
  155. # SetCommentEnd ""
  156. # UnCommentLinesMatching "^\#[[:blank:]]*LoadModule[[:blank:]]+gzip_module[[:blank:]].*"
  157. LocateLineMatching "#[[:blank:]]*LoadModule[[:blank:]]+gzip_module[[:blank:]]+/usr/lib/apache/1.3/mod_gzip.so"
  158. # UnCommentNLines "1"
  159. ReplaceLineWith "LoadModule gzip_module /usr/lib/apache/1.3/mod_gzip.so"
  160. CatchAbort
  161. AbortAtLineMatching "^# END CFENGINE$"
  162. LocateLineMatching "^# BEGIN CFENGINE$"
  163. BeginGroupIfNoSuchLine "<IfModule mod_gzip.c>"
  164. InsertLine "<IfModule mod_gzip.c>"
  165. InsertLine "</IfModule>"
  166. EndGroup
  167. ResetSearch "1"
  168. LocateLineMatching "^# BEGIN CFENGINE$"
  169. LocateLineMatching "^<IfModule mod_gzip.c>$"
  170. BeginGroupIfNoLineMatching ' mod_gzip_on yes'
  171. InsertLine ' mod_gzip_on yes'
  172. EndGroup
  173. BeginGroupIfNoLineMatching '[[:blank:]]*mod_gzip_dechunk yes'
  174. InsertLine ' mod_gzip_dechunk yes'
  175. EndGroup
  176. BeginGroupIfNoLineMatching '[[:blank:]]*mod_gzip_keep_workfiles No'
  177. InsertLine ' mod_gzip_keep_workfiles No'
  178. EndGroup
  179. BeginGroupIfNoLineMatching '[[:blank:]]*mod_gzip_temp_dir /tmp'
  180. InsertLine ' mod_gzip_temp_dir /tmp'
  181. EndGroup
  182. BeginGroupIfNoLineMatching '[[:blank:]]*mod_gzip_minimum_file_size 1002'
  183. InsertLine ' mod_gzip_minimum_file_size 1002'
  184. EndGroup
  185. BeginGroupIfNoLineMatching '[[:blank:]]*mod_gzip_maximum_file_size 0'
  186. InsertLine ' mod_gzip_maximum_file_size 0'
  187. EndGroup
  188. BeginGroupIfNoLineMatching '[[:blank:]]*mod_gzip_maximum_inmem_size 1000000'
  189. InsertLine ' mod_gzip_maximum_inmem_size 1000000'
  190. EndGroup
  191. BeginGroupIfNoLineMatching '[[:blank:]]*mod_gzip_item_include file "\\\.htm\$"'
  192. InsertLine ' mod_gzip_item_include file "\.htm$"'
  193. EndGroup
  194. BeginGroupIfNoLineMatching '[[:blank:]]*mod_gzip_item_include file "\\\.html\$"'
  195. InsertLine ' mod_gzip_item_include file "\.html$"'
  196. EndGroup
  197. BeginGroupIfNoLineMatching '[[:blank:]]*mod_gzip_item_include mime "text/\.\*"'
  198. InsertLine ' mod_gzip_item_include mime "text/.*"'
  199. EndGroup
  200. BeginGroupIfNoLineMatching '[[:blank:]]*mod_gzip_item_include file "\\\.php\$"'
  201. InsertLine ' mod_gzip_item_include file "\.php$"'
  202. EndGroup
  203. BeginGroupIfNoLineMatching '[[:blank:]]*mod_gzip_item_include mime "jserv-servlet"'
  204. InsertLine ' mod_gzip_item_include mime "jserv-servlet"'
  205. EndGroup
  206. BeginGroupIfNoLineMatching '[[:blank:]]*mod_gzip_item_include handler "jserv-servlet"'
  207. InsertLine ' mod_gzip_item_include handler "jserv-servlet"'
  208. EndGroup
  209. BeginGroupIfNoLineMatching '[[:blank:]]*mod_gzip_item_include mime "application/x-httpd-php\.\*"'
  210. InsertLine ' mod_gzip_item_include mime "application/x-httpd-php.*"'
  211. EndGroup
  212. BeginGroupIfNoLineMatching '[[:blank:]]*mod_gzip_item_include mime "httpd/unix-directory"'
  213. InsertLine ' mod_gzip_item_include mime "httpd/unix-directory"'
  214. EndGroup
  215. BeginGroupIfNoLineMatching '[[:blank:]]*mod_gzip_item_exclude file "\\\.css\$"'
  216. InsertLine ' mod_gzip_item_exclude file "\.css$"'
  217. EndGroup
  218. BeginGroupIfNoLineMatching '[[:blank:]]*mod_gzip_item_exclude file "\\\.js\$"'
  219. InsertLine ' mod_gzip_item_exclude file "\.js$"'
  220. EndGroup
  221. BeginGroupIfNoLineMatching '[[:blank:]]*mod_gzip_item_exclude file "\\\.wml\$"'
  222. InsertLine ' mod_gzip_item_exclude file "\.wml$"'
  223. EndGroup
  224. UnsetAbort "^# END CFENGINE$"
  225. EndGroup
  226. #
  227. # LoadModule index_rss_module /usr/lib/apache/1.3/mod_index_rss.so
  228. #
  229. # <IfModule mod_index_rss.c>
  230. # IndexRSSEngine On
  231. # </IfModule>
  232. #
  233. BeginGroupIfFileExists "/usr/lib/apache/1.3/mod_index_rss.so"
  234. ResetSearch "1"
  235. # bug! UnCommentLinesMatching "^#[[:blank:]]*LoadModule[[:blank:]]+index_rss_module[[:blank:]].*"
  236. LocateLineMatching "^#[[:blank:]]*LoadModule[[:blank:]]+index_rss_module[[:blank:]]+/usr/lib/apache/1.3/mod_index_rss.so$"
  237. ReplaceLineWith "LoadModule index_rss_module /usr/lib/apache/1.3/mod_index_rss.so"
  238. CatchAbort
  239. AbortAtLineMatching "^# END CFENGINE$"
  240. LocateLineMatching "^# BEGIN CFENGINE$"
  241. BeginGroupIfNoSuchLine "<IfModule mod_index_rss.c>"
  242. InsertLine "<IfModule mod_index_rss.c>"
  243. InsertLine "</IfModule>"
  244. EndGroup
  245. ResetSearch "1"
  246. LocateLineMatching "^# BEGIN CFENGINE$"
  247. LocateLineMatching "^<IfModule mod_index_rss.c>$"
  248. BeginGroupIfNoLineMatching "[[:blank:]]+IndexRSSEngine On"
  249. InsertLine " IndexRSSEngine On"
  250. EndGroup
  251. UnsetAbort "^# END CFENGINE$"
  252. EndGroup
  253. #
  254. # LoadModule pam_auth_module /usr/lib/apache/1.3/mod_auth_pam.so
  255. #
  256. # <IfModule mod_auth_pam.c>
  257. # <Location />
  258. # AuthPAM_Enabled Off
  259. # </Location>
  260. # </IfModule>
  261. #
  262. BeginGroupIfFileExists "/usr/lib/apache/1.3/mod_auth_pam.so"
  263. ResetSearch "1"
  264. # bug! UnCommentLinesMatching "^#[[:blank:]]*LoadModule[[:blank:]]+pam_auth_module[[:blank:]].*"
  265. LocateLineMatching "^#[[:blank:]]*LoadModule[[:blank:]]+pam_auth_module[[:blank:]]+/usr/lib/apache/1.3/mod_auth_pam.so$"
  266. ReplaceLineWith "LoadModule pam_auth_module /usr/lib/apache/1.3/mod_auth_pam.so"
  267. CatchAbort
  268. AbortAtLineMatching "^# END CFENGINE$"
  269. LocateLineMatching "^# BEGIN CFENGINE$"
  270. BeginGroupIfNoSuchLine "<IfModule mod_auth_pam.c>"
  271. InsertLine "<IfModule mod_auth_pam.c>"
  272. InsertLine " <Location />"
  273. InsertLine " </Location>"
  274. InsertLine "</IfModule>"
  275. EndGroup
  276. ResetSearch "1"
  277. LocateLineMatching "^# BEGIN CFENGINE$"
  278. LocateLineMatching "^<IfModule mod_auth_pam.c>$"
  279. LocateLineMatching "[[:blank:]]+<Location />"
  280. BeginGroupIfNoLineMatching "[[:blank:]]+AuthPAM_Enabled Off"
  281. InsertLine " AuthPAM_Enabled Off"
  282. EndGroup
  283. UnsetAbort "^# END CFENGINE$"
  284. EndGroup
  285. #
  286. # LoadModule authshadow_module /usr/lib/apache/1.3/mod_auth_shadow.so
  287. #
  288. # <IfModule mod_auth_shadow.c>
  289. # <Location />
  290. # AuthShadow Off
  291. # </Location>
  292. # </IfModule>
  293. #
  294. BeginGroupIfFileExists "/usr/lib/apache/1.3/mod_auth_shadow.so"
  295. ResetSearch "1"
  296. # bug! UnCommentLinesMatching "^#[[:blank:]]*LoadModule[[:blank:]]+authshadow_module[[:blank:]].*"
  297. LocateLineMatching "^#[[:blank:]]*LoadModule[[:blank:]]+authshadow_module[[:blank:]]+/usr/lib/apache/1.3/mod_auth_shadow.so$"
  298. ReplaceLineWith "LoadModule authshadow_module /usr/lib/apache/1.3/mod_auth_shadow.so"
  299. CatchAbort
  300. AbortAtLineMatching "^# END CFENGINE$"
  301. LocateLineMatching "^# BEGIN CFENGINE$"
  302. BeginGroupIfNoSuchLine "<IfModule mod_auth_shadow.c>"
  303. InsertLine "<IfModule mod_auth_shadow.c>"
  304. InsertLine " <Location />"
  305. InsertLine " </Location>"
  306. InsertLine "</IfModule>"
  307. EndGroup
  308. ResetSearch "1"
  309. LocateLineMatching "^# BEGIN CFENGINE$"
  310. LocateLineMatching "^<IfModule mod_auth_shadow.c>$"
  311. LocateLineMatching "[[:blank:]]+<Location />"
  312. BeginGroupIfNoLineMatching "[[:blank:]]+AuthShadow Off"
  313. InsertLine " AuthShadow Off"
  314. EndGroup
  315. UnsetAbort "^# END CFENGINE$"
  316. EndGroup
  317. #
  318. # LoadModule authshadow_module /usr/lib/apache/1.3/mod_xslt.so
  319. #
  320. # <IfModule mod_auth_shadow.c>
  321. # <Location /xslt>
  322. # AddHandler mod_xslt .html
  323. # AddHandler mod_xslt .txt
  324. # </Location>
  325. # </IfModule>
  326. #
  327. BeginGroupIfFileExists "/usr/lib/apache/1.3/mod_auth_shadow.so"
  328. ResetSearch "1"
  329. # bug! UnCommentLinesMatching "^#[[:blank:]]*LoadModule[[:blank:]]+authshadow_module[[:blank:]].*"
  330. LocateLineMatching "^#[[:blank:]]*LoadModule[[:blank:]]+authshadow_module[[:blank:]]+/usr/lib/apache/1.3/mod_auth_shadow.so$"
  331. ReplaceLineWith "LoadModule authshadow_module /usr/lib/apache/1.3/mod_auth_shadow.so"
  332. CatchAbort
  333. AbortAtLineMatching "^# END CFENGINE$"
  334. LocateLineMatching "^# BEGIN CFENGINE$"
  335. BeginGroupIfNoSuchLine "<IfModule mod_auth_shadow.c>"
  336. InsertLine "<IfModule mod_auth_shadow.c>"
  337. InsertLine " <Location />"
  338. InsertLine " </Location>"
  339. InsertLine "</IfModule>"
  340. EndGroup
  341. ResetSearch "1"
  342. LocateLineMatching "^# BEGIN CFENGINE$"
  343. LocateLineMatching "^<IfModule mod_auth_shadow.c>$"
  344. LocateLineMatching "[[:blank:]]+<Location />"
  345. BeginGroupIfNoLineMatching "[[:blank:]]+AuthShadow Off"
  346. InsertLine " AuthShadow Off"
  347. EndGroup
  348. UnsetAbort "^# END CFENGINE$"
  349. EndGroup
  350. }
  351. processes:
  352. "apache" restart "/etc/init.d/apache restart"
  353. shellcommands:
  354. apache_reload::
  355. "/etc/init.d/apache force-reload"