Why won't splunkweb start when I'm running splunk as 'splunk' user instead of root?

Splunk Employee
Splunk Employee

I want to run Splunk as the user 'splunk' instead of the user 'root'.

I am following the instructions at

When I run the command service splunk start, splunkd will start but splunkweb will not, and I cannot figure out why it won't start. I don't see any error messages.

Tags (1)

Splunk Employee
Splunk Employee

Assuming that splunkweb is configured to use the default port 8000, and you did not see anything insightful in the logs that sowings has mentioned, then try test starting up splunkweb with the following commands in $SPLUNK_HOME:

# cd splunk
# . bin/setSplunkEnv
# bin/python lib/python2.7/site-packages/splunk/appserver/mrsparkle/ start

If splunkweb fails to start using this method, you should see errors, otherwise you should only see a blinking cursor.

For example, in this case there was permission issues with the cpdispatch file:

Traceback (most recent call last):
File "lib/python2.7/site-packages/splunk/appserver/mrsparkle/", line 543, in
logger.error('Unable to start splunkweb')
File "/data/splunk/lib/python2.7/logging/", line 1158, in error
self._log(ERROR, msg, args, **kwargs)
File "/data/splunk/lib/python2.7/logging/", line 1249, in _log
record = self.makeRecord(self.namehttp://self.namehttp://self.namehttp://self.namehttp://self.name, level, fn, lno, msg, args, exc_info, func, extra)
File "lib/python2.7/site-packages/splunk/appserver/mrsparkle/", line 60, in makeRecord
from splunk.appserver.mrsparkle.lib.util import get_request_id
File "/data/splunk/lib/python2.7/site-packages/splunk/appserver/mrsparkle/", line 13, in
from lib.decorators import *
File "/data/splunk/lib/python2.7/site-packages/splunk/appserver/mrsparkle/lib/", line 2, in
import cherrypy
File "/data/splunk/lib/python2.7/site-packages/cherrypy/", line 159, in
from cherrypy import _cpdispatch as dispatch
ImportError: cannot import name _cpdispatch

Splunk Employee
Splunk Employee

Have you configured it to use a port < 1024? If you've changed the configuration to be on the standard HTTP (80) or HTTPS (443) port, you'll need super-user privileges to start. Consider also checking the web_service.log or splunkd.log in $SPLUNK_HOME/var/log/splunk directory.

Get Updates on the Splunk Community!

.conf24 | Day 0

Hello Splunk Community! My name is Chris, and I'm based in Canberra, Australia's capital, and I travelled for ...

Enhance Security Visibility with Splunk Enterprise Security 7.1 through Threat ...

(view in My Videos)Struggling with alert fatigue, lack of context, and prioritization around security ...

Troubleshooting the OpenTelemetry Collector

  In this tech talk, you’ll learn how to troubleshoot the OpenTelemetry collector - from checking the ...