I get "It works!", which is a standard default page for Debian Apache I think. As far as apache errors I have not seen any errors. The only time I see errors is when starting Freeswitch.
Here are my configuration files, the only parts not real are "myserver" and "PASSWORD" :
/usr/local/freeswitch/conf/autoload_configs/xml_curl.conf.xml ,
/etc/apache2/sites-available/wikipbx
???????????????????????????????????????????????????????????????????????????
<configuration name="xml_curl.conf" description="cURL XML Gateway">
<bindings>
<binding name="example">
<!— The url to a gateway cgi that can generate xml similar to
what's in this file only on-the-fly (leave it commented if you dont
need it) >
<! one or more |-delim of configuration|directory|dialplan >
<param name="gateway-url" value="http://wikipbx.myserver.net/xml_dialplan" bindings="configuration,dialplan,directory"/>
<! set this to provide authentication credentials to the server >
<!<param name="gateway-credentials" value="muser:mypass"/>>
<!<param name="auth-scheme" value="basic"/>—>
<!— optional: this will enable the CA root certificate check by libcurl to
verify that the certificate was issued by a major Certificate Authority.
note: default value is disabled. only enable if you want this! >
<!<param name="enable-cacert-check" value="true"/>>
<! optional: verify that the server is actually the one listed in the cert >
<! <param name="enable-ssl-verifyhost" value="true"/> —>
<!— optional: these options can be used to specify custom SSL certificates
to use for HTTPS communications. Either use both options or neither.
Specify your public key with 'ssl-cert-path' and the private key with
'ssl-key-path'. If your private key has a password, specify it with
'ssl-key-password'. >
<! <param name="ssl-cert-path" value="$${base_dir}/conf/certs/public_key.pem"/> >
<! <param name="ssl-key-path" value="$${base_dir}/conf/certs/private_key.pem"/> >
<! <param name="ssl-key-password" value="MyPrivateKeyPassword"/> >
<! optional timeout >
<! <param name="timeout" value="10"/> —>
<!— optional: use a custom CA certificate in PEM format to verify the peer
with. This is useful if you are acting as your own certificate authority.
note: only makes sense if used in combination with "enable-cacert-check." >
<! <param name="ssl-cacert-file" value="$${base_dir}/conf/certs/cacert.pem"/> —>
<!— optional: specify the SSL version to force HTTPS to use. Valid options are
"SSLv3" and "TLSv1". Otherwise libcurl will auto-negotiate the version. >
<! <param name="ssl-version" value="TLSv1"/> —>
<!— optional: enables cookies and stores them in the specified file. >
<! <param name="cookie-file" value="/tmp/cookie-mod_xml_curl.txt"/> —>
<!— one or more of these imply you want to pick the exact variables that are transmitted >
<!<param name="enable-post-var" value="Unique-ID"/>—>
</binding>
</bindings>
</configuration>
**
WSGIPythonPath /usr/src/wikipbx-0.8:/usr/src/django:/usr/src/freeswitch/libs/esl/python
<VirtualHost *:80>
ServerAdmin ten.revresym.xbpikiw|retsambew#ten.revresym.xbpikiw|retsambew
WSGIScriptAlias / /usr/src/wikipbx-0.8/wikipbx.wsgi
ServerName wikipbx.myserver.net
ErrorLog /var/log/apache2/wikipbx.myserver.net-error.log
CustomLog /var/log/apache2/wikipbx.myserver.net.log common
</VirtualHost>
**
INSTRUCTIONS
- 1. Change DATABASE_USER
- 2. Change DATABASE_PASSWORD
- 3. Customize FREESWITCH_URL_PORT
import os
- settings.py lives in the wikipbx subdir, eg, the "source" directory
- (/usr/src/wikipbx/wikipbx)
INSTALL_SRC = os.path.dirname(file)
- the parent of the source directory is the installation root, eg, the
- dir the user checked out to (eg, /usr/src/wikipbx)
INSTALL_ROOT = os.path.split(INSTALL_SRC)[0]
DEBUG = True
TEMPLATE_DEBUG = DEBUG
ADMINS = (
# ('Your Name', 'moc.niamod|liame_ruoy#moc.niamod|liame_ruoy'),
)
MANAGERS = ADMINS
DATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'.
DATABASE_NAME = 'wikipbx' # Or path to database file if using sqlite3.
DATABASE_USER = 'wikipbxuser' # Not used with sqlite3.
DATABASE_PASSWORD = 'PASSWORD' # Not used with sqlite3.
DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
- Local time zone for this installation. Choices can be found here:
- http://www.postgresql.org/docs/8.1/static/datetime-keywords.html#DATETIME-TIMEZONE-SET-TABLE
- although not all variations may be possible on all operating systems.
- If running in a Windows environment this must be set to the same as your
- system time zone.
TIME_ZONE = 'UTC'
- Language code for this installation. All choices can be found here:
- http://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodes
- http://blogs.law.harvard.edu/tech/stories/storyReader$15
LANGUAGE_CODE = 'en-us'
SITE_ID = 1
- If you set this to False, Django will make some optimizations so as not
- to load the internationalization machinery.
USE_I18N = True
- Absolute path to the directory that holds media.
- Example: "/home/media/media.lawrence.com/"
- Example: "http://media.lawrence.com"
MEDIA_URL = ''
- URL prefix for admin media — CSS, JavaScript and images. Make sure to use a
- trailing slash.
- Examples: "http://foo.com/media/", "/media/".
ADMIN_MEDIA_PREFIX = '/media/'
- Make this unique, and don't share it with anybody.
SECRET_KEY = '_#5%!uu1rgn9qu80ewht&8y96lqu2_r9s09*g(94$smx#xc*!o'
- List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.load_template_source',
'django.template.loaders.app_directories.load_template_source',
- 'django.template.loaders.eggs.load_template_source',
)
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.doc.XViewMiddleware',
)
ROOT_URLCONF = 'wikipbx.urls'
TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
os.path.join(INSTALL_SRC, "/usr/src/wikipbx-0.8/wikipbx/wikipbxweb/templates"),
os.path.join(INSTALL_SRC, "/usr/src/wikipbx-0.8/wikipbx/freeswitchxml"),
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'wikipbx.wikipbxweb',
)
TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.auth',
'wikipbx.wikipbxweb.context_processors.global_processor',
)
AUTH_PROFILE_MODULE = 'wikipbxweb.UserProfile'
STATIC_TTS_ENGINE = "cepstral"
- you must manually create directories and subdirectories, eg:
- mkdir -p /var/log/wikipbx/cdr/err
- and set permissions according to user freeswitch process will run under
LOG_DIR_ROOT = "/var/log/wikipbx"
CDR_LOG_DIR = os.path.join(LOG_DIR_ROOT, "cdr")
CDR_ERR_LOG_DIR = os.path.join(LOG_DIR_ROOT, "cdr", "err")
- should the entire raw cdr xml be saved in the db? (uses lots of db
- space but useful when the extracted fields aren't enough information)
CDR_SAVE_XML = False
- the url (including port if non-default) where freeswitch can contact
- the wikipbx server for things like posting XML_CDR records.
- this value completely depends on how you have your webserver
- setup. Can be ip or hostname, depends on webserver
FREESWITCH_URL_PORT = "http://wikipbx.myserver.net"
???????????????????????????????????????????????????????????????????????????
When I type :echo $PYTHONPATH
here is what I get back
:/usr/src/wikipbx-0.8:/usr/src/freeswitch/scripts/python:/usr/local/lib/python2.5/site-packages
wikipbx:/usr/src/wikipbx-0.8/wikipbx#
I'm hoping someone might see an obvious error somewhere in the config files.