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 - WSGIDaemonProcessdirective to set the- userand- groupvalues to an appropriate user on your server. In many installations- cloudkittywill be correct.
- Enable the cloudkitty site. On deb-based systems: - # a2ensite cloudkitty # service apache2 reload - On rpm-based systems: - # service httpd reload
