diff --git a/test/integration/tomcat_install/controls/yaml_dump_spec.rb b/test/integration/tomcat_install/controls/yaml_dump_spec.rb
index 7723adda660b4212d269315e2e1612980d2b355c..477fff9bbd810efcc4ca950a0ac3ef5d7e19d32f 100644
--- a/test/integration/tomcat_install/controls/yaml_dump_spec.rb
+++ b/test/integration/tomcat_install/controls/yaml_dump_spec.rb
@@ -17,6 +17,10 @@ control 'Tomcat `map.jinja` YAML dump' do
         service = 'tomcat9'
         user = 'tomcat'
         ver = 9
+        catalina_base = '/var/lib/tomcat9'
+        catalina_home = '/usr/share/tomcat9'
+        catalina_pid = '/var/run/tomcat9.pid'
+        catalina_tmpdir = '/var/cache/tomcat9/temp'
       else
         conf_dir = '/etc/tomcat8'
         group = 'tomcat8'
@@ -26,14 +30,18 @@ control 'Tomcat `map.jinja` YAML dump' do
         service = 'tomcat8'
         user = 'tomcat8'
         ver = 8
+        catalina_base = '/var/lib/tomcat8'
+        catalina_home = '/usr/share/tomcat8'
+        catalina_pid = '/var/run/tomcat8.pid'
+        catalina_tmpdir = '/var/cache/tomcat8/temp'
       end
       <<~YAML_DUMP.chomp
         arch: amd64
         authbind: 'no'
-        catalina_base: /usr/share/tomcat
-        catalina_home: /usr/share/tomcat
-        catalina_pid: /var/run/tomcat.pid
-        catalina_tmpdir: /var/cache/tomcat/temp
+        catalina_base: #{catalina_base}
+        catalina_home: #{catalina_home}
+        catalina_pid: #{catalina_pid}
+        catalina_tmpdir: #{catalina_tmpdir}
         cluster:
           simple: true
         conf_dir: #{conf_dir}
diff --git a/tomcat/config.sls b/tomcat/config.sls
index 743292e7b7415fce0a4ac7d603165a4c42f2f0e9..9193edeb92681db3def1c879d9ecd009b391dfcf 100644
--- a/tomcat/config.sls
+++ b/tomcat/config.sls
@@ -28,6 +28,18 @@ tomcat tomcat_conf:
     - watch_in:
       - service: tomcat package installed and service running
 
+{% if tomcat.catalina_tmpdir|d('') %}
+catalina tmpdir:
+  file.directory:
+    - name: {{ tomcat.catalina_tmpdir }}
+    - user: {{ tomcat.user }}
+    - group: {{ tomcat.group }}
+    - mode: '755'
+    - makedirs: True
+    - require_in:
+      - service: tomcat package installed and service running
+{% endif %}
+
 tomcat 100_server_xml:
   file.accumulated:
     - name: 100_server_xml
diff --git a/tomcat/osfamilymap.yaml b/tomcat/osfamilymap.yaml
index bdec0c6466ab473c54b234d7e26201c6a7cacada..922babadd1fcd0f729f16fb4aa1f3156a857dfdb 100644
--- a/tomcat/osfamilymap.yaml
+++ b/tomcat/osfamilymap.yaml
@@ -15,6 +15,10 @@ Debian:
   user: tomcat8
   group: tomcat8
   java_home: /usr/lib/jvm/default-java
+  catalina_base: /var/lib/tomcat8
+  catalina_home: /usr/share/tomcat8
+  catalina_pid: /var/run/tomcat8.pid
+  catalina_tmpdir: /var/cache/tomcat8/temp
 
 RedHat:
   native_pkg: tomcat-native
diff --git a/tomcat/osfingermap.yaml b/tomcat/osfingermap.yaml
index f1e70a6695d4317092d47cb2c94fb0ac71406bc2..e2ed9fcda94fcbfe616d8a5d0edf7e05d10f50a2 100644
--- a/tomcat/osfingermap.yaml
+++ b/tomcat/osfingermap.yaml
@@ -11,6 +11,10 @@ Debian-10:
   service: tomcat9
   user: tomcat
   group: tomcat
+  catalina_base: /var/lib/tomcat9
+  catalina_home: /usr/share/tomcat9
+  catalina_pid: /var/run/tomcat9.pid
+  catalina_tmpdir: /var/cache/tomcat9/temp
 Debian-9: {}
 Debian-8: {}
 Debian-7: