Commit 038a9726a38a7f0b0e65054640925bec1db68f43

Authored by Adabriand Furtado
2 parents 35c7698b 650d7147
Exists in master

Merge branch 'master' of git.lavid.ufpb.br:wikilibrasV2

Makefile 0 → 100644
@@ -0,0 +1,79 @@ @@ -0,0 +1,79 @@
  1 +PROJECT_NAME = wikilibras
  2 +VLIBRAS_NAME = vlibras-wiki
  3 +PYBOSSA_CONF = /etc/apache2/sites-available/pybossa.conf
  4 +PROJECT_DIR = $(CURDIR)
  5 +SED_REPLACE_ALL = sed -i "s/$(1)/$(2)/g" "$(3)"
  6 +SED_REPLACE_ALL_PATH = sed -i "s\#$(1)\#$(2)\#g" "$(3)"
  7 +
  8 +ifndef LOCALHOST
  9 + ifndef NETWORK_INTERFACE
  10 + NETWORK_INTERFACE := $(shell ip route | awk '{print $$5; exit}')
  11 + endif
  12 + ifdef NETWORK_INTERFACE
  13 + LOCALHOST := $(shell ip addr list ${NETWORK_INTERFACE} | grep "inet " | cut -d ' ' -f6 | cut -d/ -f1)
  14 + endif
  15 +endif
  16 +
  17 +ifndef LOCALHOST
  18 + LOCALHOST := localhost
  19 +endif
  20 +
  21 +install: uninstall config
  22 + @( \
  23 + virtualenv ./env/; \
  24 + . ./env/bin/activate; \
  25 + pip install -U pip; \
  26 + pip install -U uwsgi; \
  27 + pip install -U ndg-httpsclient; \
  28 + pip install -r requirements.txt; \
  29 + )
  30 +ifdef PYBOSSA_API_KEY
  31 + @ curl "http://${LOCALHOST}/${PROJECT_NAME}-backend/create_project" && echo ""
  32 + @ echo "http://${LOCALHOST}/${PROJECT_NAME}-backend/create_project"
  33 +endif
  34 +
  35 +config:
  36 + @ $(info Using interface: ${NETWORK_INTERFACE})
  37 + @ $(info Using local IP: ${LOCALHOST})
  38 + @ cp settings_local.py.tmpl settings_local.py
  39 + @ $(call SED_REPLACE_ALL_PATH,<path-to-project>,${PROJECT_DIR},settings_local.py)
  40 + @ $(call SED_REPLACE_ALL,localhost,${LOCALHOST},settings_local.py)
  41 +ifdef PYBOSSA_API_KEY
  42 + @ $(call SED_REPLACE_ALL,my-api-key,${PYBOSSA_API_KEY},settings_local.py)
  43 +endif
  44 + @ cp ./contrib/${PROJECT_NAME}.wsgi.tmpl ./contrib/${PROJECT_NAME}.wsgi
  45 + @ $(call SED_REPLACE_ALL_PATH,<path-to-project>,${PROJECT_DIR},./contrib/${PROJECT_NAME}.wsgi)
  46 + @ cp ./contrib/apache/${PROJECT_NAME}.conf.tmpl ./contrib/apache/${PROJECT_NAME}.conf
  47 + @ $(call SED_REPLACE_ALL,ServerName localhost,ServerName ${LOCALHOST},./contrib/apache/${PROJECT_NAME}.conf)
  48 + @ $(call SED_REPLACE_ALL,user1,$$USER,./contrib/apache/${PROJECT_NAME}.conf)
  49 + @ $(call SED_REPLACE_ALL,group1,$$USER,./contrib/apache/${PROJECT_NAME}.conf)
  50 + @ $(call SED_REPLACE_ALL_PATH,<path-to-project>,${PROJECT_DIR},./contrib/apache/${PROJECT_NAME}.conf)
  51 + @ sudo cp -u ${PYBOSSA_CONF} /etc/apache2/sites-available/${VLIBRAS_NAME}.conf
  52 + @ if grep -q "${PROJECT_NAME}" "/etc/apache2/sites-available/${VLIBRAS_NAME}.conf"; \
  53 + then \
  54 + echo "A previous WSGI daemon definition for '${PROJECT_NAME}' in: /etc/apache2/sites-available/${VLIBRAS_NAME}.conf"; \
  55 + else \
  56 + sudo sed -i -e "/Header/,/VirtualHost>/d" /etc/apache2/sites-available/${VLIBRAS_NAME}.conf; \
  57 + sudo sed -n -e '/WSGIDaemonProcess/,/VirtualHost>/p' ./contrib/apache/${PROJECT_NAME}.conf | \
  58 + sudo tee -a /etc/apache2/sites-available/${VLIBRAS_NAME}.conf > /dev/null; \
  59 + fi
  60 + @ sudo a2dissite pybossa.conf
  61 + @ sudo a2ensite ${VLIBRAS_NAME}.conf
  62 + @ sudo apachectl configtest
  63 + @ sudo service apache2 reload
  64 +
  65 +clean:
  66 + @ find . -regextype posix-awk -regex "(.*.log|.*.pyc)" -type f -print -delete
  67 +
  68 +uninstall: clean
  69 + @ rm -rf ./env/
  70 + @ rm -f ./settings_local.py
  71 + @ rm -f ./contrib/${PROJECT_NAME}.wsgi
  72 + @ sudo rm -f /etc/apache2/sites-available/${VLIBRAS_NAME}.conf
  73 + @ sudo rm -f /etc/apache2/sites-enabled/${VLIBRAS_NAME}.conf
  74 +
  75 +run:
  76 + @ ( \
  77 + . ./env/bin/activate; \
  78 + python main.py; \
  79 + )
contrib/apache/wikilibras.conf.tmpl
1 <VirtualHost *:80> 1 <VirtualHost *:80>
2 - ServerName localhost 2 + ServerName localhost
3 3
4 WSGIDaemonProcess wikilibras user=user1 group=group1 threads=5 4 WSGIDaemonProcess wikilibras user=user1 group=group1 threads=5
5 WSGIScriptAlias /wikilibras-backend <path-to-project>/contrib/wikilibras.wsgi 5 WSGIScriptAlias /wikilibras-backend <path-to-project>/contrib/wikilibras.wsgi
@@ -19,10 +19,10 @@ @@ -19,10 +19,10 @@
19 Require all granted 19 Require all granted
20 </Directory> 20 </Directory>
21 21
22 - Header set Access-Control-Allow-Origin "*" 22 + Header set Access-Control-Allow-Origin "*"
23 23
24 - ServerAdmin webmaster@localhost 24 + ServerAdmin webmaster@localhost
25 25
26 - ErrorLog ${APACHE_LOG_DIR}/error.log  
27 - CustomLog ${APACHE_LOG_DIR}/access.log combined 26 + ErrorLog ${APACHE_LOG_DIR}/error.log
  27 + CustomLog ${APACHE_LOG_DIR}/access.log combined
28 </VirtualHost> 28 </VirtualHost>
@@ -28,7 +28,14 @@ class Wikilibras: @@ -28,7 +28,14 @@ class Wikilibras:
28 28
29 def __update_project_info(self, project): 29 def __update_project_info(self, project):
30 template = self.env.get_template('index.html') 30 template = self.env.get_template('index.html')
31 - 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'], api_host=self.config['API_HOST'], homepage_url=self.config['HOMEPAGE_URL'], upload_sign_host=self.config['UPLOAD_SIGN_HOST']) 31 + project.info['task_presenter'] = template.render(
  32 + server = self.config['HOST_STATIC_FILES_ENDPOINT'],
  33 + server_backend = self.config['HOST_ENDPOINT'],
  34 + app_shortname = self.config['PYBOSSA_APP_SHORT_NAME'],
  35 + api_host = self.config['API_HOST'],
  36 + homepage_url = self.config['HOMEPAGE_URL'],
  37 + upload_sign_host = self.config['UPLOAD_SIGN_HOST']
  38 + )
32 project.info['thumbnail'] = self.config['HOST_STATIC_FILES_ENDPOINT'] + "/img/thumbnail.png" 39 project.info['thumbnail'] = self.config['HOST_STATIC_FILES_ENDPOINT'] + "/img/thumbnail.png"
33 project.info['sched'] = "incremental" 40 project.info['sched'] = "incremental"
34 project.info['published'] = True 41 project.info['published'] = True