Launched
paster serve --reload development.ini
The site is available.
The site is available at
http://URL:8080/
Question:
How to make a site accessible at http://URL/
Search Forums
8 posts Started 1 year ago by senty Latest reply from Nathan Wright
Launched
paster serve --reload development.ini
The site is available.
The site is available at
http://URL:8080/
Question:
How to make a site accessible at http://URL/
Configured your development.ini for this? with the URL you will use? and it is valid? ie which responds to IP is installed mediacore?
Detail your best conf ...
The site opens at http://localhost:8080/
How do http://localhost/
# # MediaCore - Pylons development environment configuration # # The %(here)s variable will be replaced with the parent directory of this file # # IMPORTANT NOTE!! Do NOT use this config for any kind of production environ. # Generate a new, production-safe config with this command: # $ paster make-config mediacore production.ini [DEFAULT] # WARNING == If debug is not set to false, you'll get the interactive # debugger on production, which is a huge security hole. debug = true # Dont send error notifications by email when developing. That'd be annoying. #email_to = you@yourdomain.com smtp_server = localhost error_email_from = paste@localhost [server:main] use = egg:Paste#http host = 127.0.0.1 port = 8080 [app:main] # Specify the database for SQLAlchemy to use sqlalchemy.url = mysql://root:123456@localhost/omgtvru?charset=utf8&use_unicode=0 sqlalchemy.echo = False sqlalchemy.pool_recycle = 3600 # Session salts. beaker.session.secret = superdupersecret sa_auth.cookie_secret = superdupersecret # 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 setup_triggers.sql to include 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 = /my_proxied_mediacore # Method to use when servng static media files. # 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 = true app_instance_uuid = {2673572c-6fb8-405e-89ed-00e2d4192faa} 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, routes, mediacore, sqlalchemy, auth [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] [logger_root] level = INFO handlers = console [logger_routes] level = INFO handlers = qualname = routes.middleware # "level = DEBUG" logs the route matched and routing variables. [logger_mediacore] level = INFO handlers = qualname = mediacore [logger_sqlalchemy] level = WARN handlers = qualname = sqlalchemy.engine # "level = INFO" logs SQL queries. # "level = DEBUG" logs SQL queries and results. # "level = WARN" logs neither. (Recommended for production systems.) # A logger for authentication, identification and authorization -- this is # repoze.who and repoze.what: [logger_auth] level = WARN handlers = qualname = auth # 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 = ('/path/to/mediacore_install/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
First off, don't use the development.ini for your production deployment. As the docs state in step 7, you really really want to run:
paster make-config MediaCore deployment.ini
Then customize that.
Set "port = 80" to serve from http://url/
Set port : 80
Starting subprocess with file monitor
Starting server in PID 1272.
Traceback (most recent call last):
File "/var/www/mediacore_env/bin/paster", line 9, in <module>
load_entry_point('PasteScript==1.7.3', 'console_scripts', 'paster')()
File "/var/www/mediacore_env/lib/python2.5/site-packages/PasteScript-1.7.3-py2.5.egg/paste/script/command.py", line 84, in run
invoke(command, command_name, options, args[1:])
File "/var/www/mediacore_env/lib/python2.5/site-packages/PasteScript-1.7.3-py2.5.egg/paste/script/command.py", line 123, in invoke
exit_code = runner.run(args)
File "/var/www/mediacore_env/lib/python2.5/site-packages/PasteScript-1.7.3-py2.5.egg/paste/script/command.py", line 218, in run
result = self.command()
File "/var/www/mediacore_env/lib/python2.5/site-packages/PasteScript-1.7.3-py2.5.egg/paste/script/serve.py", line 303, in command
serve()
File "/var/www/mediacore_env/lib/python2.5/site-packages/PasteScript-1.7.3-py2.5.egg/paste/script/serve.py", line 287, in serve
server(app)
File "/var/www/mediacore_env/lib/python2.5/site-packages/PasteDeploy-1.3.3-py2.5.egg/paste/deploy/loadwsgi.py", line 151, in server_wrapper
**context.local_conf)
File "/var/www/mediacore_env/lib/python2.5/site-packages/PasteDeploy-1.3.3-py2.5.egg/paste/deploy/util/fixtypeerror.py", line 57, in fix_call
val = callable(*args, **kw)
File "/var/www/mediacore_env/lib/python2.5/site-packages/Paste-1.7.4-py2.5.egg/paste/httpserver.py", line 1342, in server_runner
serve(wsgi_app, **kwargs)
File "/var/www/mediacore_env/lib/python2.5/site-packages/Paste-1.7.4-py2.5.egg/paste/httpserver.py", line 1291, in serve
request_queue_size=request_queue_size)
File "/var/www/mediacore_env/lib/python2.5/site-packages/Paste-1.7.4-py2.5.egg/paste/httpserver.py", line 1134, in __init__
request_queue_size=request_queue_size)
File "/var/www/mediacore_env/lib/python2.5/site-packages/Paste-1.7.4-py2.5.egg/paste/httpserver.py", line 1113, in __init__
request_queue_size=request_queue_size)
File "/var/www/mediacore_env/lib/python2.5/site-packages/Paste-1.7.4-py2.5.egg/paste/httpserver.py", line 328, in __init__
HTTPServer.__init__(self, server_address, RequestHandlerClass)
File "/usr/lib/python2.5/SocketServer.py", line 330, in __init__
self.server_bind()
File "/usr/lib/python2.5/BaseHTTPServer.py", line 101, in server_bind
SocketServer.TCPServer.server_bind(self)
File "/usr/lib/python2.5/SocketServer.py", line 341, in server_bind
self.socket.bind(self.server_address)
File "<string>", line 1, in bind
socket.error: (98, 'Address already in use')
This means that Apache or some other web server has control of port 80. Only one server can use port 80 at a time, so assuming you're using Apache you'll want to follow our mod_wsgi or mod_fastcgi setup instructions in the docs.
Thanks, adjusted, it works.
Problem.
Enter.
ln-sf / path / to / mediacore / install / mediacore / public. / my_media / public
The link is created, but you can not go into the folder = MediaCore can not find the CSS.
There's no need to create a symbolic link, Apache can handle that for you more easily. It's best if you remove the link and then make sure you have this somewhere in your Apache conf:
# Create an exception for all static mediacore content
AliasMatch /my_media/(admin/)?(images|scripts|styles)(.*) /path/to/mediacore_install/mediacore/public/$1$2$3
# Create an exception for your custom appearance css and images
Alias /my_media/appearance /path/to/mediacore_install/data/appearance
# Make all the static content accessible
<Directory /path/to/mediacore_install/mediacore/public/*>
Order allow,deny
Allow from all
Options -Indexes
</Directory>
<Directory /path/to/mediacore_install/data/appearance/*>
Order allow,deny
Allow from all
Options -Indexes
</Directory>You must log in to post.