Installing the API behind mod_wsgi¶
Cloudkitty comes with a few example files for configuring the API
service to run behind Apache with mod_wsgi
.
app.wsgi¶
The file cloudkitty/api/app.wsgi
sets up the V1 API WSGI
application. The file needs to be copied to /var/www/cloudkitty/
,
and should not need to be modified.
etc/apache2/cloudkitty¶
The etc/apache2/cloudkitty
file contains example settings that
work with a copy of cloudkitty installed via devstack.
# Copyright (c) 2013 New Dream Network, LLC (DreamHost)
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
# This is an example Apache2 configuration file for using the
# cloudkitty API through mod_wsgi.
# Note: If you are using a Debian-based system then the paths
# "/var/log/httpd" and "/var/run/httpd" will use "apache2" instead
# of "httpd".
#
# The number of processes and threads is an example only and should
# be adjusted according to local requirements.
Listen 8889
<VirtualHost *:8889>
WSGIDaemonProcess cloudkitty-api processes=2 threads=10 user=SOMEUSER display-name=%{GROUP}
WSGIProcessGroup cloudkitty-api
WSGIScriptAlias / /var/www/cloudkitty/app.wsgi
WSGIApplicationGroup %{GLOBAL}
<IfVersion >= 2.4>
ErrorLogFormat "%{cu}t %M"
</IfVersion>
ErrorLog /var/log/httpd/cloudkitty_error.log
CustomLog /var/log/httpd/cloudkitty_access.log combined
</VirtualHost>
WSGISocketPrefix /var/run/httpd
On deb-based systems copy or symlink the file to
/etc/apache2/sites-available
. For rpm-based systems the file will go in/etc/httpd/conf.d
.Modify the
WSGIDaemonProcess
directive to set theuser
andgroup
values to an appropriate user on your server. In many installationscloudkitty
will be correct.Enable the cloudkitty site. On deb-based systems:
# a2ensite cloudkitty # service apache2 reload
On rpm-based systems:
# service httpd reload