diff --git a/integrations/integration_test.go b/integrations/integration_test.go
index 1cc1eb049..5c0da501d 100644
--- a/integrations/integration_test.go
+++ b/integrations/integration_test.go
@@ -14,6 +14,7 @@ import (
 	"net/http/cookiejar"
 	"net/url"
 	"os"
+	"path"
 	"strings"
 	"testing"
 
@@ -59,14 +60,22 @@ func TestMain(m *testing.M) {
 }
 
 func initIntegrationTest() {
-	if setting.CustomConf = os.Getenv("GITEA_CONF"); setting.CustomConf == "" {
-		fmt.Println("Environment variable $GITEA_CONF not set")
-		os.Exit(1)
-	}
-	if os.Getenv("GITEA_ROOT") == "" {
+	giteaRoot := os.Getenv("GITEA_ROOT")
+	if giteaRoot == "" {
 		fmt.Println("Environment variable $GITEA_ROOT not set")
 		os.Exit(1)
 	}
+	setting.AppPath = path.Join(giteaRoot, "gitea")
+
+	giteaConf := os.Getenv("GITEA_CONF")
+	if giteaConf == "" {
+		fmt.Println("Environment variable $GITEA_CONF not set")
+		os.Exit(1)
+	} else if !path.IsAbs(giteaConf) {
+		setting.CustomConf = path.Join(giteaRoot, giteaConf)
+	} else {
+		setting.CustomConf = giteaConf
+	}
 
 	setting.NewContext()
 	models.LoadConfigs()