title: Trying to password protect graphite in apache but Internal Service Error
body: <p>I am trying to password protect graphite using apache. Below is the config in the sites-available dir.  Location of the admin password is in /opt/graphite/sec/.mypasswds.  When I restart apache I get a internal service error.  How to I resolve?</p>
  
  <pre><code># This needs to be in your server's config somewhere, probably
  # the main httpd.conf
  # NameVirtualHost *:80
  
  # This line also needs to be in your server's config.
  # LoadModule wsgi_module modules/mod_wsgi.so
  
  # You need to manually edit this file to fit your needs.
  # This configuration assumes the default installation prefix
  # of /opt/graphite/, if you installed graphite somewhere else
  # you will need to change all the occurances of /opt/graphite/
  # in this file to your chosen install location.
  
  
  # XXX You need to set this up!
  # Read http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGISocketPrefix
  WSGISocketPrefix /etc/httpd/wsgi/
  
  &lt;VirtualHost *:80&gt;
          ServerName graphite
          DocumentRoot "/opt/graphite/webapp"
          ErrorLog /opt/graphite/storage/log/webapp/error.log
          CustomLog /opt/graphite/storage/log/webapp/access.log common
  
          # I've found that an equal number of processes &amp; threads tends
          # to show the best performance for Graphite (ymmv).
          WSGIDaemonProcess graphite processes=5 threads=5 display-name='%{GROUP}' inactivity-timeout=120
          WSGIProcessGroup graphite
          WSGIApplicationGroup %{GLOBAL}
          WSGIImportScript /opt/graphite/conf/graphite.wsgi process-group=graphite application-group=%{GLOBAL}
  
          # XXX You will need to create this file! There is a graphite.wsgi.example
          # file in this directory that you can safely use, just copy it to graphite.wgsi
          WSGIScriptAlias / /opt/graphite/conf/graphite.wsgi
  
          Alias /content/ /opt/graphite/webapp/content/
          &lt;Location "/content/"&gt;
                  SetHandler None
          &lt;/Location&gt;
  
          # XXX In order for the django admin site media to work you
          # must change @DJANGO_ROOT@ to be the path to your django
          # installation, which is probably something like:
          # /usr/lib/python2.6/site-packages/django
          Alias /media/ "@DJANGO_ROOT@/contrib/admin/media/"
          &lt;Location "/media/"&gt;
                  SetHandler None
          &lt;/Location&gt;
  
          # The graphite.wsgi file has to be accessible by apache. It won't
          # be visible to clients because of the DocumentRoot though.
          &lt;Directory /opt/graphite/conf/&gt;
                  Order deny,allow
                  Allow from all
          &lt;/Directory&gt;
  
          &lt;Location "/"&gt;
      AuthType Basic
      AuthName "Under Construction"
      AuthUserFile /opt/graphite/sec/.mypasswds
  #    AuthGroupFile /opt/graphite/sec/.mygroups
      Require user admin
  &lt;/Location&gt;
  
  
  &lt;/VirtualHost&gt;
  </code></pre>