Hi Mediacore Staff, Helpers
I own a server; already installed CentOS 5.6 + Kloxo Panel + Python 2.6 + Setuptools + Virtualenv + Apache 2.2 & mod_wsgi
I own a domain ,but I would like to setup Mediacore on subdomain like http://subdomain.site.com
After many attempts I installed successfully Mediacore on Server, but I could not understand with those options on Deployment.ini and httpd.conf, I tried many ways nothing goes online :( I need your help to figure that out for configuring those 2 files for getting online My Mediacore with Apache 2.2 & mod_wsgi for a subdomain; I attached my log files for analyzing and for being helped by you:
PS: I checked entire FAQ and Forum nothing is explained at this point :(
This is my httpd.conf for this http://subdomain.site.com :
=======================================================================
<VirtualHost \
my.server.ip.200:80\
192.168.122.1:80\
>
servername subdomain.site.com
ServerAlias http://www.subdomain.site.com
DocumentRoot /home/site/subdomain.site.com/
DirectoryIndex index.php index.html index.shtml index.htm default.htm Default.aspx Default.asp index.pl
ScriptAlias /awstats/ /home/kloxo/httpd/awstats/wwwroot/cgi-bin/
<IfModule suexec.c>
SuexecUserGroup site site
</IfModule>
<IfModule mod_suphp.c>
AddType application/x-httpd-php .php
RemoveHandler .php
<FilesMatch "\.php$" >
SetHandler x-httpd-php
</FilesMatch>
<Location />
suPHP_AddHandler x-httpd-php
</Location>
SuPhp_UserGroup site site
</IfModule>
Redirect /stats http://subdomain.site.com/awstats/awstats.pl
Redirect /stats/ http://subdomain.site.com/awstats/awstats.pl
Alias /__kloxo /home/site/kloxoscript
Redirect /webmail http://webmail.subdomain.site.com
Redirect /kloxononssl http://cp.subdomain.site.com:7777
Redirect /kloxo https://cp.subdomain.site.com:7777
<Directory /home/httpd/subdomain.site.com/kloxoscript>
AllowOverride All
</Directory>
ScriptAlias /cgi-bin/ /home/site/subdomain.site.com//cgi-bin/
CustomLog /home/httpd/subdomain.site.com/stats/subdomain.site.com-custom_log combined
ErrorLog /home/httpd/subdomain.site.com/stats/subdomain.site.com-error_log
<Directory /home/site/subdomain.site.com/>
AllowOverride All
</Directory>
<Location />
Options +Includes +FollowSymlinks
</Location>
<Directory /home/httpd/subdomain.site.com/webstats>
AllowOverride All
</Directory>
<Location /stats>
Options +Indexes
</Location>
<IfModule mod_suphp.c>
suPHP_Configpath /home/httpd/subdomain.site.com
</IfModule>
<Location />
<IfModule sapi_apache2.c>
php_admin_value open_basedir "/home/httpd/subdomain.site.com/httpdocs:/home/httpd/subdomain.site.com/subdomain.site.com:/home/site/:/tmp:/usr/share/pear:/var/lib/php/session/:/home/kloxo/httpd/script"
</IfModule>
<IfModule mod_php5.c>
php_admin_value open_basedir "/home/httpd/subdomain.site.com/httpdocs:/home/httpd/subdomain.site.com/subdomain.site.com:/home/site/:/tmp:/usr/share/pear:/var/lib/php/session/:/home/kloxo/httpd/script"
</IfModule>
</Location>
</VirtualHost>
<IfModule mod_ssl.c>
#### ssl virtualhost per ip
<VirtualHost \
my.server.ip.200:443\
192.168.122.1:443\
>
servername subdomain.site.com
ServerAlias http://www.subdomain.site.com
DocumentRoot /home/site/subdomain.site.com/
DirectoryIndex index.php index.html index.shtml index.htm default.htm Default.aspx Default.asp index.pl
ScriptAlias /awstats/ /home/kloxo/httpd/awstats/wwwroot/cgi-bin/
<IfModule suexec.c>
SuexecUserGroup site site
</IfModule>
<IfModule mod_suphp.c>
AddType application/x-httpd-php .php
RemoveHandler .php
<FilesMatch "\.php$" >
SetHandler x-httpd-php
</FilesMatch>
<Location />
suPHP_AddHandler x-httpd-php
</Location>
SuPhp_UserGroup site site
</IfModule>
Redirect /stats http://subdomain.site.com/awstats/awstats.pl
Redirect /stats/ http://subdomain.site.com/awstats/awstats.pl
Alias /__kloxo /home/site/kloxoscript
Redirect /webmail http://webmail.subdomain.site.com
Redirect /kloxononssl http://cp.subdomain.site.com:7777
Redirect /kloxo https://cp.subdomain.site.com:7777
<Directory /home/httpd/subdomain.site.com/kloxoscript>
AllowOverride All
</Directory>
ScriptAlias /cgi-bin/ /home/site/subdomain.site.com//cgi-bin/
<Directory /home/site/subdomain.site.com/>
AllowOverride All
</Directory>
<Location />
Options +Includes +FollowSymlinks
</Location>
<Directory /home/httpd/subdomain.site.com/webstats>
AllowOverride All
</Directory>
<Location /stats>
Options +Indexes
</Location>
SSLEngine On
SSLCertificateFile /home/kloxo/httpd/ssl/eth0___localhost.crt
SSLCertificateKeyFile /home/kloxo/httpd/ssl/eth0___localhost.key
SSLCACertificatefile /home/kloxo/httpd/ssl/eth0___localhost.ca
<IfModule mod_suphp.c>
suPHP_Configpath /home/httpd/subdomain.site.com
</IfModule>
<Location />
<IfModule sapi_apache2.c>
php_admin_value open_basedir "/home/httpd/subdomain.site.com/httpdocs:/home/httpd/subdomain.site.com/subdomain.site.com:/home/site/:/tmp:/usr/share/pear:/var/lib/php/session/:/home/kloxo/httpd/script"
</IfModule>
<IfModule mod_php5.c>
php_admin_value open_basedir "/home/httpd/subdomain.site.com/httpdocs:/home/httpd/subdomain.site.com/subdomain.site.com:/home/site/:/tmp:/usr/share/pear:/var/lib/php/session/:/home/kloxo/httpd/script"
</IfModule>
</Location>
</VirtualHost>
#### ssl virtualhost per ip end
</IfModule>
LoadModule wsgi_module /usr/lib/httpd/modules/python26-mod_wsgi.so
# You can tweak the WSGIDaemonProcess directive for performance, but this
# will work for now.
# Relevant doc pages:
# http://code.google.com/p/modwsgi/wiki/ProcessesAndThreading
# http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIDaemonProcess
# Hint: pay attention to issues surrounding worker-mpm and prefork-mpm.
WSGIDaemonProcess mcore \
threads=10 \
display-name=%{GROUP} \
python-path=home/site/subdomain.site.com/old/mediacore_env/lib/python2.5/site-packages \
python-eggs=home/site/subdomain.site.com/old/data/python-egg-cache
WSGIProcessGroup mcore
# Intercept all requests to /my_media/* and pass them to mediacore.wsgi
WSGIScriptAlias /my_media home/site/subdomain.site.com/old/deployment-scripts/mod_wsgi/mediacore.wsgi
# Make the url accessible (just in case it's not already)
<Location "/">
Allow from all
</Location>
# Make the wsgi script accessible
<Directory home/site/subdomain.site.com/old/deployment-scripts/mod_wsgi>
Allow from all
</Directory>
# Create an exception for media and podcast image from your data directory
AliasMatch /my_media/images/(media|podcasts)(.*) home/site/subdomain.site.com/old/data/images/$1$2
# Create an exception for all static mediacore content
AliasMatch /my_media/(admin/)?(images|scripts|styles)(.*) home/site/subdomain.site.com/old/mediacore/public/$1$2$3
# Create an exception for your custom appearance css and images
Alias /my_media/appearance home/site/subdomain.site.com/old/data/appearance
# Make all the static content accessible
<Directory home/site/subdomain.site.com/old/mediacore/public/*>
Order allow,deny
Allow from all
Options -Indexes
</Directory>
=====================================================================
END===== END=======END===== END=======END===== END=======END===== END
This is my Deployment.ini for this http://subdomain.site.com :
=======================================================================
#
# MediaCore - Pylons configuration
#
# The %(here)s variable will be replaced with the parent directory of this file
#
[DEFAULT]
#email_to = info@site.com
smtp_server = localhost
error_email_from = info@site.com
[server:main]
use = subdomain.site.com
host = 192.168.122.1
port = 80
[app:main]
# Specify the database for SQLAlchemy to use
sqlalchemy.url = mysql://site_user:passwordsitedb@localhost/site_db?charset=utf8&use_unicode=0
sqlalchemy.echo = False
sqlalchemy.pool_recycle = 3600
# Session salts.
beaker.session.secret = YbPWW+mYsl4oP07THcSxpm9Aw
sa_auth.cookie_secret = YbPWW+mYsl4oP07THcSxpm9Aw
# Specify an optional prefix for table names.
# Use this if you want to put mediacore in the same database as another app.
# XXX: If you use this setting and you want to enable search, you'll have to
# manually edit the table names in setup_triggers.sql to use this prefix.
# e.g. if you want your tables to be named like 'mcore_media', you should set:
# db_table_prefix = mcore
# mod_proxy settings (untested)
# Use this if you are hosting mediacore behind a proxy.
# e.g. If hosting mediacore via mod_proxy at the URL
# yoursite.com/my_proxied_mediacore/, such that all requests are passed
# through to a Paste server at localhost:8080/, you should set:
# proxy_prefix = /
# Method to use when servng static media files. On of:
# apache_xsendfile - requires Apache 2.x and mod_xsendfile
# nginx_redirect - requires nginx - *not yet implemented*
# default - uses environ['wsgi.file_wrapper'] if it's provided by the server,
# otherwise a pure-python file iterator returns the file in chunks
file_serve_method = default
# Enable automatic gzip compresson for all html/css/js/json responses.
# Keep this enabled unless you're serving MediaCore via Apache and you
# are able to enable gzip there instead.
enable_gzip = true
# Data paths (your server user must be able to write to these paths!)
cache_dir = %(here)s/data
image_dir = %(here)s/data/images
media_dir = %(here)s/data/media
# Files can be moved to a trash-like folder instead of being deleted
# permanently from the filesystem. Uncomment the line below to enable this:
#deleted_files_dir = %(here)s/data/deleted
# If you'd like to fine-tune the individual locations of the cache data dirs
# for the Cache data, or the Session saves, un-comment the desired settings
# here:
#beaker.cache.data_dir = %(here)s/data/cache
#beaker.session.data_dir = %(here)s/data/sessions
# Specify the layout template name to wrap core mediacore output in
layout_template = layout
# Defines an external genshi template to wrap the output (including layout) in
external_template = false
external_template_name = external
external_template_url = http://some/valid_genshi_template.html
external_template_timeout = 600
# Misc app instance settings
use = egg:MediaCore
full_stack = true
static_files = false
app_instance_uuid = {8bdb902d-f39d-45a1-bf51-0f1d56b8c05f}
beaker.session.key = mediacore
# WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT*
# Debug mode will enable the interactive debugging tool, allowing ANYONE to
# execute malicious code after an exception is raised.
set debug = false
# Logging configuration
# Add additional loggers, handlers, formatters here
# Uses python's logging config file format
# http://docs.python.org/lib/logging-config-fileformat.html
[loggers]
keys = root
[handlers]
keys = console, wsgierrors
# To enable a mediacore-specific logfile, see the [handler_logfile] setting
# below, and add 'logfile' to the list of keys, like so
# keys = console, wsgierrors, logfile
[formatters]
keys = generic
# If you create additional loggers, add them as a key to [loggers]
# see development.ini for examples
[logger_root]
level = INFO
handlers = console
# If you create additional handlers, add them as a key to [handlers]
[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = NOTSET
formatter = generic
[handler_wsgierrors]
# Handler for logging to the WSGI error handler (eg. apache's error log)
class = pylons.log.WSGIErrorsHandler
args = ()
level = NOTSET
format = generic
[handler_logfile]
# Handler for logging to a dedicated logfile. To use this, see the [handlers]
# section above; ensure the logfile you name is writeable by your server user.
class = FileHandler
args = ('/home/tico/v.site.com/old/data/deployment.log','a')
level = NOTSET
formatter = generic
# If you create additional formatters, add them as a key to [formatters]
[formatter_generic]
format = %(asctime)s,%(msecs)03d %(levelname)-5.5s [%(name)s] [%(threadName)s] %(message)s
datefmt = %H:%M:%S
=====================================================================
END===== END=======END===== END=======END===== END=======END===== END