diff --git a/README.rst b/README.rst
index e9db7a8..d4fe667 100644
--- a/README.rst
+++ b/README.rst
@@ -80,6 +80,11 @@ Installs and enables the mod_perl2 module (Debian and FreeBSD only)
Installs and enables the mod_php5 module
+``apache.mod_cgi``
+---------------------
+
+Enables mod_cgi. (FreeBSD only)
+
``apache.mod_fcgid``
--------------------
@@ -114,7 +119,7 @@ Enables mod_socache_shmcb. (FreeBSD only)
Installs and enables the mod_ssl module (Debian, RedHat and FreeBSD only)
-``mod_suexec``
+``apache.mod_suexec``
---------------------
Enables mod_suexec. (FreeBSD only)
diff --git a/apache/files/FreeBSD/apache-2.4.config.jinja b/apache/files/FreeBSD/apache-2.4.config.jinja
index 35fcabc..d9e1639 100644
--- a/apache/files/FreeBSD/apache-2.4.config.jinja
+++ b/apache/files/FreeBSD/apache-2.4.config.jinja
@@ -358,7 +358,7 @@ LogLevel warn
# client. The same rules about trailing "/" apply to ScriptAlias
# directives as to Alias.
#
- ScriptAlias /cgi-bin/ "/usr/local/www/apache24/cgi-bin/"
+ #ScriptAlias /cgi-bin/ "/usr/local/www/apache24/cgi-bin/"
diff --git a/apache/files/FreeBSD/mod_cgi.conf.jinja b/apache/files/FreeBSD/mod_cgi.conf.jinja
new file mode 100644
index 0000000..3ce6f67
--- /dev/null
+++ b/apache/files/FreeBSD/mod_cgi.conf.jinja
@@ -0,0 +1,8 @@
+{% from "apache/map.jinja" import apache with context %}
+
+
+ LoadModule cgid_module libexec/{{ apache.service }}/mod_cgid.so
+
+
+ LoadModule cgi_module libexec/{{ apache.service }}/mod_cgi.so
+
diff --git a/apache/mod_cgi.sls b/apache/mod_cgi.sls
new file mode 100644
index 0000000..caa2ab0
--- /dev/null
+++ b/apache/mod_cgi.sls
@@ -0,0 +1,18 @@
+{% from "apache/map.jinja" import apache with context %}
+
+include:
+ - apache
+
+{% if grains['os_family']=="FreeBSD" %}
+
+{{ apache.modulesdir }}/040_mod_cgi.conf:
+ file.managed:
+ - source: salt://apache/files/{{ salt['grains.get']('os_family') }}/mod_cgi.conf.jinja
+ - mode: 644
+ - template: jinja
+ - require:
+ - pkg: apache
+ - watch_in:
+ - module: apache-restart
+
+{% endif %}