summaryrefslogtreecommitdiff
path: root/apache/apache-ssl.cf
blob: 86f2f8ac2cb976aaec1d81481e94eb65916e3a08 (plain)
  1. #! /usr/bin/cfengine -qvf
  2. control:
  3. OutputPrefix = ("${cf_prefix}")
  4. actionsequence = ( editfiles shellcommands processes )
  5. AddInstallable = ( apache_ssl_reload )
  6. EditfileSize = ( 50000 )
  7. editfiles:
  8. any::
  9. { /etc/apache-ssl/httpd.conf
  10. DefineClasses "apache_ssl_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 xslt_module /usr/lib/apache/1.3/mod_xslt.so
  319. #
  320. # <IfModule mod_xslt.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_xslt.so"
  328. ResetSearch "1"
  329. # bug! UnCommentLinesMatching "^#[[:blank:]]*LoadModule[[:blank:]]+xslt_module[[:blank:]].*"
  330. LocateLineMatching "^#[[:blank:]]*LoadModule[[:blank:]]+xslt_module[[:blank:]]+/usr/lib/apache/1.3/mod_xslt.so$"
  331. ReplaceLineWith "LoadModule xslt_module /usr/lib/apache/1.3/mod_xslt.so"
  332. CatchAbort
  333. AbortAtLineMatching "^# END CFENGINE$"
  334. LocateLineMatching "^# BEGIN CFENGINE$"
  335. BeginGroupIfNoSuchLine "<IfModule mod_xslt.c>"
  336. InsertLine "<IfModule mod_xslt.c>"
  337. InsertLine " <Location /xslt>"
  338. InsertLine " </Location>"
  339. InsertLine "</IfModule>"
  340. EndGroup
  341. ResetSearch "1"
  342. LocateLineMatching "^# BEGIN CFENGINE$"
  343. LocateLineMatching "^<IfModule mod_xslt.c>$"
  344. LocateLineMatching "[[:blank:]]+<Location /xslt>"
  345. BeginGroupIfNoLineMatching "[[:blank:]]+AddHandler mod_xslt .html"
  346. InsertLine " AddHandler mod_xslt .html"
  347. InsertLine " AddHandler mod_xslt .txt"
  348. EndGroup
  349. UnsetAbort "^# END CFENGINE$"
  350. EndGroup
  351. #
  352. # SSLCACertificatePath /etc/ssl/certs
  353. # SSLCACertificateFile /etc/ssl/certs/cacert.pem
  354. # SSLCertificateFile apache.pem
  355. # SSLCertificateKeyFile apache.pem
  356. #
  357. ResetSearch "1"
  358. HashCommentLinesMatching "SSLCACertificatePath*"
  359. CatchAbort
  360. BeginGroupIfFileExists "/etc/ssl/certs/cacert.pem"
  361. ResetSearch "1"
  362. HashCommentLinesMatching "SSLCACertificatePath*"
  363. CatchAbort
  364. ResetSearch "1"
  365. HashCommentLinesMatching "SSLCACertificateFile*"
  366. CatchAbort
  367. AbortAtLineMatching "^# END CFENGINE$"
  368. LocateLineMatching "^# BEGIN CFENGINE$"
  369. BeginGroupIfNoSuchLine "SSLCACertificatePath /etc/ssl/certs"
  370. InsertLine "SSLCACertificatePath /etc/ssl/certs"
  371. InsertLine "SSLCACertificateFile /etc/ssl/certs/cacert.pem"
  372. EndGroup
  373. ResetSearch "1"
  374. UnsetAbort "^# END CFENGINE$"
  375. EndGroup
  376. BeginGroupIfFileExists "/etc/ssl/certs/apache.pem"
  377. ResetSearch "1"
  378. HashCommentLinesMatching "SSLCertificateFile*"
  379. CatchAbort
  380. AbortAtLineMatching "^# END CFENGINE$"
  381. LocateLineMatching "^# BEGIN CFENGINE$"
  382. BeginGroupIfNoSuchLine "SSLCertificateFile apache.pem"
  383. InsertLine "SSLCertificateFile apache.pem"
  384. EndGroup
  385. ResetSearch "1"
  386. UnsetAbort "^# END CFENGINE$"
  387. EndGroup
  388. BeginGroupIfFileExists "/etc/ssl/private/apache.pem"
  389. ResetSearch "1"
  390. HashCommentLinesMatching "SSLCertificateKeyFile*"
  391. CatchAbort
  392. AbortAtLineMatching "^# END CFENGINE$"
  393. LocateLineMatching "^# BEGIN CFENGINE$"
  394. BeginGroupIfNoSuchLine "SSLCertificateKeyFile apache.pem"
  395. InsertLine "SSLCertificateKeyFile apache.pem"
  396. EndGroup
  397. ResetSearch "1"
  398. UnsetAbort "^# END CFENGINE$"
  399. EndGroup
  400. }
  401. processes:
  402. "apache_ssl" restart "/etc/init.d/apache-ssl restart"
  403. shellcommands:
  404. apache_reload::
  405. "/etc/init.d/apache-ssl force-reload"