diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 281a804a19340af67c0274999ccc2fb0514dff0b..1e0016d3ba66f6af93f5c10cbe68d46cae439524 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -8,13 +8,20 @@ add_subdirectory(box)
 add_subdirectory(connector_c)
 
 if ("${CPACK_GENERATOR}" STREQUAL "RPM")
-	install (FILES ${CMAKE_SOURCE_DIR}/test/box/tarantool.cfg
+	install (FILES ${CMAKE_SOURCE_DIR}/test/share/tarantool.cfg
 		 DESTINATION etc)
 	install (FILES ${CMAKE_SOURCE_DIR}/test/box/00000000000000000001.snap
 		 DESTINATION share/tarantool)
 else()
-	install (FILES ${CMAKE_SOURCE_DIR}/test/box/tarantool.cfg
-		DESTINATION "${CMAKE_SYSCONF_DIR}")
+        if (NOT CPACK_GENERATOR OR "${CPACK_GENERATOR}" STREQUAL "TGZ")
+	    install (FILES ${CMAKE_SOURCE_DIR}/test/share/tarantool_tgz.cfg
+	        DESTINATION "${CMAKE_SYSCONF_DIR}"
+		RENAME "tarantool.cfg")
+	else()
+	    install (FILES ${CMAKE_SOURCE_DIR}/test/share/tarantool.cfg
+	        DESTINATION "${CMAKE_SYSCONF_DIR}")
+        endif()
+
 	install (FILES ${CMAKE_SOURCE_DIR}/test/box/00000000000000000001.snap
 		DESTINATION "${CMAKE_LOCALSTATE_DIR}/lib/tarantool")
 endif()
diff --git a/test/share/tarantool.cfg b/test/share/tarantool.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..dd1f4c5e5f052aa050f8b4d636ae374bf50b2292
--- /dev/null
+++ b/test/share/tarantool.cfg
@@ -0,0 +1,45 @@
+#
+# Limit of memory used to store tuples to 100MB
+# (0.1 GB)
+# This effectively limits the memory, used by
+# Tarantool. However, index and connection memory
+# is stored outside the slab allocator, hence
+# the effective memory usage can be higher (sometimes
+# twice as high).
+slab_alloc_arena = 0.1
+
+#
+# Store the pid in this file. Relative to
+# startup dir.
+pid_file = "box.pid"
+
+#
+# Pipe the logs into the following process.
+logger="cat - >> tarantool.log"
+
+#
+# Read only and read-write port.
+primary_port = 33013
+
+#
+# Read-only port.
+secondary_port = 33014
+
+#
+# The port for administrative commands.
+admin_port = 33015
+
+#
+# Each write ahead log contains this many rows.
+# When the limit is reached, Tarantool closes
+# the WAL and starts a new one.
+rows_per_wal = 50000
+
+#
+# Define a simple space with 1 HASH-based
+# primary key.
+space[0].enabled = 1
+space[0].index[0].type = "HASH"
+space[0].index[0].unique = 1
+space[0].index[0].key_field[0].fieldno = 0
+space[0].index[0].key_field[0].type = "NUM"
diff --git a/test/share/tarantool_tgz.cfg b/test/share/tarantool_tgz.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..4773f7d09dadc371ce3b3fa2a1423cb6008a02f9
--- /dev/null
+++ b/test/share/tarantool_tgz.cfg
@@ -0,0 +1,49 @@
+#
+# Limit of memory used to store tuples to 100MB
+# (0.1 GB)
+# This effectively limits the memory, used by
+# Tarantool. However, index and connection memory
+# is stored outside the slab allocator, hence
+# the effective memory usage can be higher (sometimes
+# twice as high).
+slab_alloc_arena = 0.1
+
+#
+# Store the pid in this file. Relative to
+# startup dir.
+pid_file = "box.pid"
+
+#
+# Pipe the logs into the following process.
+logger="cat - >> tarantool.log"
+
+#
+# Read only and read-write port.
+primary_port = 33013
+
+#
+# Read-only port.
+secondary_port = 33014
+
+#
+# The port for administrative commands.
+admin_port = 33015
+
+#
+# Each write ahead log contains this many rows.
+# When the limit is reached, Tarantool closes
+# the WAL and starts a new one.
+rows_per_wal = 50000
+
+#
+# Define a simple space with 1 HASH-based
+# primary key.
+space[0].enabled = 1
+space[0].index[0].type = "HASH"
+space[0].index[0].unique = 1
+space[0].index[0].key_field[0].fieldno = 0
+space[0].index[0].key_field[0].type = "NUM"
+
+#
+# working directory (daemon will chdir(2) to it)
+work_dir = "var/lib/tarantool"