Commit 7fa558f8d860929061d5ad5e33067ac1dd605c6d
1 parent
14a87983
Exists in
master
Configuração do servidor para rodar no Apache.
Showing
17 changed files
with
71 additions
and
14 deletions
Show diff stats
@@ -0,0 +1,28 @@ | @@ -0,0 +1,28 @@ | ||
1 | +<VirtualHost *:80> | ||
2 | + ServerName localhost | ||
3 | + | ||
4 | + WSGIDaemonProcess validador user=user1 group=group1 threads=5 | ||
5 | + WSGIScriptAlias /validador-backend <path-to-project>/contrib/validador.wsgi | ||
6 | + | ||
7 | + <Directory <path-to-project>> | ||
8 | + WSGIProcessGroup validador | ||
9 | + WSGIApplicationGroup %{GLOBAL} | ||
10 | + Order deny,allow | ||
11 | + Allow from all | ||
12 | + Require all granted | ||
13 | + </Directory> | ||
14 | + | ||
15 | + Alias /validador <path-to-project>/view | ||
16 | + <Directory <path-to-project>/view> | ||
17 | + Order deny,allow | ||
18 | + Allow from all | ||
19 | + Require all granted | ||
20 | + </Directory> | ||
21 | + | ||
22 | + Header set Access-Control-Allow-Origin "*" | ||
23 | + | ||
24 | + ServerAdmin webmaster@localhost | ||
25 | + | ||
26 | + ErrorLog ${APACHE_LOG_DIR}/error.log | ||
27 | + CustomLog ${APACHE_LOG_DIR}/access.log combined | ||
28 | +</VirtualHost> |
@@ -0,0 +1,11 @@ | @@ -0,0 +1,11 @@ | ||
1 | +# Check the official documentation http://flask.pocoo.org/docs/deploying/mod_wsgi/ | ||
2 | +# Activate the virtual env (we assume that virtualenv is in the env folder) | ||
3 | +activate_this = '<path-to-project>/env/bin/activate_this.py' | ||
4 | +execfile(activate_this, dict(__file__=activate_this)) | ||
5 | +import logging, sys | ||
6 | +sys.stdout = sys.stderr | ||
7 | +logging.basicConfig(stream=sys.stderr) | ||
8 | +sys.path.insert(0,'<path-to-project>') | ||
9 | + | ||
10 | +# Run the web-app | ||
11 | +from main import app as application |
main.py
@@ -7,15 +7,8 @@ import os | @@ -7,15 +7,8 @@ import os | ||
7 | import pyutil | 7 | import pyutil |
8 | 8 | ||
9 | app = Flask(__name__) | 9 | app = Flask(__name__) |
10 | -CORS(app) | ||
11 | controller = None | 10 | controller = None |
12 | 11 | ||
13 | -@app.route("/<path:path>") | ||
14 | -def send_static_files(path): | ||
15 | - root_dir = os.path.abspath(os.path.dirname(__file__)) | ||
16 | - file_dir = os.path.join(root_dir, "view") | ||
17 | - return send_from_directory(file_dir, path) | ||
18 | - | ||
19 | @app.route("/update_project") | 12 | @app.route("/update_project") |
20 | def update_project(): | 13 | def update_project(): |
21 | try: | 14 | try: |
@@ -45,17 +38,34 @@ def read_settings(app): | @@ -45,17 +38,34 @@ def read_settings(app): | ||
45 | config_path = os.path.join(os.path.dirname(here), 'settings_local.py') | 38 | config_path = os.path.join(os.path.dirname(here), 'settings_local.py') |
46 | if os.path.exists(config_path): | 39 | if os.path.exists(config_path): |
47 | app.config.from_pyfile(config_path) | 40 | app.config.from_pyfile(config_path) |
48 | - app.config['HOST_ENDPOINT'] = "http://" + app.config['SERVER_HOST'] + ":" + str(app.config['SERVER_PORT']) | 41 | + |
42 | + if app.config['APACHE_HOST']: | ||
43 | + app.config['HOST_ENDPOINT'] = "http://" + app.config['SERVER_HOST'] + app.config['APACHE_HOST_ENDPOINT'] | ||
44 | + app.config['HOST_STATIC_FILES_ENDPOINT'] = "http://" + app.config['SERVER_HOST'] + app.config['APACHE_STATIC_FILES_ENDPOINT'] | ||
45 | + else: | ||
46 | + app.config['HOST_ENDPOINT'] = "http://" + app.config['SERVER_HOST'] + ":" + str(app.config['SERVER_PORT']) | ||
47 | + app.config['HOST_STATIC_FILES_ENDPOINT'] = app.config['HOST_ENDPOINT'] | ||
49 | 48 | ||
50 | def setup_controller(): | 49 | def setup_controller(): |
51 | global controller | 50 | global controller |
52 | read_settings(app) | 51 | read_settings(app) |
53 | env = Environment(loader=PackageLoader('main', 'view')) | 52 | env = Environment(loader=PackageLoader('main', 'view')) |
54 | controller = Validador(app.config, env) | 53 | controller = Validador(app.config, env) |
54 | + | ||
55 | +def setup_static_files_service(app): | ||
56 | + if not app.config['APACHE_HOST']: | ||
57 | + CORS(app) | ||
58 | + @app.route("/<path:path>") | ||
59 | + def send_static_files(path): | ||
60 | + root_dir = os.path.abspath(os.path.dirname(__file__)) | ||
61 | + file_dir = os.path.join(root_dir, "view") | ||
62 | + return send_from_directory(file_dir, path) | ||
55 | 63 | ||
56 | def run(): | 64 | def run(): |
57 | - setup_controller() | ||
58 | app.run(host=app.config['SERVER_HOST'], port=app.config['SERVER_PORT']) | 65 | app.run(host=app.config['SERVER_HOST'], port=app.config['SERVER_PORT']) |
66 | + | ||
67 | +setup_controller() | ||
68 | +setup_static_files_service(app) | ||
59 | 69 | ||
60 | if __name__ == '__main__': | 70 | if __name__ == '__main__': |
61 | try: | 71 | try: |
settings_local.py.tmpl
1 | # -*- coding: utf-8 -*- | 1 | # -*- coding: utf-8 -*- |
2 | -# Corretor Server Configuration | 2 | +# Validador Server Configuration |
3 | SERVER_HOST = "localhost" | 3 | SERVER_HOST = "localhost" |
4 | SERVER_PORT = 8001 | 4 | SERVER_PORT = 8001 |
5 | AGREEMENT_NUMBER = 3 | 5 | AGREEMENT_NUMBER = 3 |
6 | 6 | ||
7 | +# Apache Configuration | ||
8 | +APACHE_HOST = False | ||
9 | +APACHE_HOST_ENDPOINT = "/validador-backend" | ||
10 | +APACHE_STATIC_FILES_ENDPOINT = "/validador" | ||
11 | + | ||
7 | # PyBossa Configuration | 12 | # PyBossa Configuration |
8 | PYBOSSA_APP_NAME = "Validador de Sinais" | 13 | PYBOSSA_APP_NAME = "Validador de Sinais" |
9 | PYBOSSA_APP_SHORT_NAME = "validador_sinais" | 14 | PYBOSSA_APP_SHORT_NAME = "validador_sinais" |
validador.py
@@ -32,10 +32,11 @@ class Validador: | @@ -32,10 +32,11 @@ class Validador: | ||
32 | 32 | ||
33 | def __update_project_info(self, project): | 33 | def __update_project_info(self, project): |
34 | template = self.env.get_template('template.html') | 34 | template = self.env.get_template('template.html') |
35 | - project.info['task_presenter'] = template.render(server=self.config['HOST_ENDPOINT'], app_shortname=self.config['PYBOSSA_APP_SHORT_NAME']) | 35 | + project.info['task_presenter'] = template.render(server=self.config['HOST_STATIC_FILES_ENDPOINT'], server_backend=self.config['HOST_ENDPOINT'], app_shortname=self.config['PYBOSSA_APP_SHORT_NAME']) |
36 | project.info['thumbnail'] = self.config['HOST_ENDPOINT'] + "/img/thumbnail.png" | 36 | project.info['thumbnail'] = self.config['HOST_ENDPOINT'] + "/img/thumbnail.png" |
37 | project.info['sched'] = "incremental" | 37 | project.info['sched'] = "incremental" |
38 | project.allow_anonymous_contributors = False | 38 | project.allow_anonymous_contributors = False |
39 | + #project.published = True | ||
39 | pbclient.update_project(project) | 40 | pbclient.update_project(project) |
40 | 41 | ||
41 | def create_project(self): | 42 | def create_project(self): |
@@ -2,6 +2,7 @@ | @@ -2,6 +2,7 @@ | ||
2 | 2 | ||
3 | var videos_url = ""; | 3 | var videos_url = ""; |
4 | var base_url = ""; | 4 | var base_url = ""; |
5 | + var server_backend_url = ''; | ||
5 | var current_task_id = -1; | 6 | var current_task_id = -1; |
6 | 7 | ||
7 | function _disableFinishButton() { | 8 | function _disableFinishButton() { |
@@ -162,7 +163,7 @@ | @@ -162,7 +163,7 @@ | ||
162 | $ | 163 | $ |
163 | .ajax({ | 164 | .ajax({ |
164 | type : "POST", | 165 | type : "POST", |
165 | - url : base_url + "/finish_task", | 166 | + url : server_backend_url + "/finish_task", |
166 | data : { | 167 | data : { |
167 | "task_id" : task.id, | 168 | "task_id" : task.id, |
168 | "project_id" : task.project_id, | 169 | "project_id" : task.project_id, |
@@ -235,8 +236,9 @@ | @@ -235,8 +236,9 @@ | ||
235 | } | 236 | } |
236 | 237 | ||
237 | // Public methods | 238 | // Public methods |
238 | - validador.run = function(serverhost, projectname) { | 239 | + validador.run = function(serverhost, serverbackend, projectname) { |
239 | base_url = serverhost; | 240 | base_url = serverhost; |
241 | + server_backend_url = serverbackend; | ||
240 | videos_url = base_url + "/videos/"; | 242 | videos_url = base_url + "/videos/"; |
241 | _run(projectname); | 243 | _run(projectname); |
242 | }; | 244 | }; |
view/template.html
@@ -99,5 +99,5 @@ | @@ -99,5 +99,5 @@ | ||
99 | </div> | 99 | </div> |
100 | 100 | ||
101 | <script type="text/javascript"> | 101 | <script type="text/javascript"> |
102 | - validador.run("{{ server }}", "{{ app_shortname }}"); | 102 | + validador.run("{{ server }}", "{{ server_backend }}", "{{ app_shortname }}"); |
103 | </script> | 103 | </script> |
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type