From a200caaf17f2dd76718936bb9c442c5e212fb524 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Kami=C5=84ski?= Date: Mon, 31 Jan 2022 18:08:02 +0100 Subject: [PATCH 1/3] Zaktualizuj 'README.md' --- README.md | 71 +++++++++---------------------------------------------- 1 file changed, 11 insertions(+), 60 deletions(-) diff --git a/README.md b/README.md index 202853344..7c6894376 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ ![MultiUserOpenRefine](MUOR/static/images/logo.svg) +## Description MultiUserOpenRefine is an extension to open-source tool that, in addition to all the features described below, allows creating user accounts, each providing private workspace and leaving the convenience of running the basic OpenRefine @@ -9,68 +10,18 @@ tool on a remote server. Project is being developed at Adam Mickiewicz University in PoznaƄ by students. -# OpenRefine +## Components +- Docker +- uWSGI +- NGINX +- Python with packages from requirements.txt -[![DOI](https://zenodo.org/badge/6220644.svg)](https://zenodo.org/badge/latestdoi/6220644) -[![Join the chat at https://gitter.im/OpenRefine/OpenRefine](https://badges.gitter.im/OpenRefine/OpenRefine.svg)](https://gitter.im/OpenRefine/OpenRefine) ![Java CI](https://github.com/OpenRefine/OpenRefine/workflows/Java%20CI/badge.svg) [![Coverage Status](https://coveralls.io/repos/github/OpenRefine/OpenRefine/badge.svg?branch=master)](https://coveralls.io/github/OpenRefine/OpenRefine?branch=master) [![Translation progress](https://hosted.weblate.org/widgets/openrefine/-/svg-badge.svg)](https://hosted.weblate.org/engage/openrefine/?utm_source=widget) [![Total alerts](https://img.shields.io/lgtm/alerts/g/OpenRefine/OpenRefine.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/OpenRefine/OpenRefine/alerts/) +## How to run -OpenRefine is a Java-based power tool that allows you to load data, understand it, -clean it up, reconcile it, and augment it with data coming from -the web. All from a web browser and the comfort and privacy of your own computer. +1. Build docker image of OR (with privided script) +2. Set up NGINX with config from MUOR/configs/ +3. Start uWSGI with .ini from MUOR/configs +4. Set up server from MUOR folder -[](http://openrefine.org) -## Download -* [OpenRefine Releases](https://github.com/OpenRefine/OpenRefine/releases) - -## Snapshot releases - -Latest development version, packaged for: -* [Linux](https://oss.sonatype.org/service/local/artifact/maven/content?r=snapshots&g=org.openrefine&a=openrefine&v=3.6-SNAPSHOT&c=linux&p=tar.gz) -* [Windows](https://oss.sonatype.org/service/local/artifact/maven/content?r=snapshots&g=org.openrefine&a=openrefine&v=3.6-SNAPSHOT&c=mac&p=dmg) -* [MacOS](https://oss.sonatype.org/service/local/artifact/maven/content?r=snapshots&g=org.openrefine&a=openrefine&v=3.6-SNAPSHOT&c=win&p=zip) - -## Run from source - -If you have cloned this repository to your computer, you can run OpenRefine with: - -* `./refine` on Mac OS and Linux -* `refine.bat` on Windows - -This requires [JDK 8](https://jdk.java.net) and [Apache Maven](https://maven.apache.org/). - -## Documentation and Videos - -* [User Manual](https://docs.openrefine.org) -* [FAQ](https://github.com/OpenRefine/OpenRefine/wiki/FAQ) -* [Official Website and tutorial videos](http://openrefine.org) - -## Contributing to the project - -* [Developers Guide & Architecture](https://github.com/OpenRefine/OpenRefine/wiki/Documentation-For-Developers) -* [Contributing Guide](https://github.com/OpenRefine/OpenRefine/blob/master/CONTRIBUTING.md) -* [Project Governance](https://github.com/OpenRefine/OpenRefine/blob/master/GOVERNANCE.md) - -## Contact us - -* [Mailing List](https://groups.google.com/forum/#!forum/openrefine) -* [Twitter](http://www.twitter.com/openrefine) -* [Gitter](https://gitter.im/OpenRefine/OpenRefine) -* [Matrix (bridged from Gitter)](https://matrix.to/#/#OpenRefine_OpenRefine:gitter.im) - -## Licensing and legal issues - -OpenRefine is open source software and is licensed under the BSD license -located in the [LICENSE.txt](LICENSE.txt). See the folder `licenses` for information on open source -libraries that OpenRefine depends on. - -## Credits - -This software was created by Metaweb Technologies, Inc. and originally written -and conceived by David Huynh . Metaweb Technologies, Inc. -was acquired by Google, Inc. in July 2010 and the product was renamed Google Refine. -In October 2012, it was renamed OpenRefine as it transitioned to a -community-supported product. - -See [AUTHORS.md](./AUTHORS.md) for the list of OpenRefine contributors and [CONTRIBUTING.md](./CONTRIBUTING.md) for instructions on how to contribute yourself. From 5a1ba3754d517945712b7f881c5edd0b753e2297 Mon Sep 17 00:00:00 2001 From: prance Date: Mon, 31 Jan 2022 19:08:54 +0100 Subject: [PATCH 2/3] prolong session to 60 minutes --- MUOR/MUOR/settings.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MUOR/MUOR/settings.py b/MUOR/MUOR/settings.py index 05a6b4219..5065e003e 100644 --- a/MUOR/MUOR/settings.py +++ b/MUOR/MUOR/settings.py @@ -142,7 +142,7 @@ AVAILABLE_PORTS_RANGE = (6000, 7000) DOCKER_IMAGE = 'openrefine:latest' SESSION_EXPIRE_AT_BROWSER_CLOSE = True -SESSION_COOKIE_AGE = 1 * 60 +SESSION_COOKIE_AGE = 60 * 60 CELERY_BROKER_URL = 'redis+socket:///var/run/redis/redis-server.sock' CELERY_TIMEZONE = "Europe/Warsaw" From 173accd866d3d82bea8d68dbe6442e356ba76bd4 Mon Sep 17 00:00:00 2001 From: prance Date: Mon, 31 Jan 2022 19:11:11 +0100 Subject: [PATCH 3/3] remove unnecessary todos and comments --- MUOR/MUOR/configs/muor.conf | 28 +++---------------- .../configs/muor_after_location_block.conf | 5 +--- .../configs/muor_before_location_block.conf | 25 +++-------------- 3 files changed, 9 insertions(+), 49 deletions(-) diff --git a/MUOR/MUOR/configs/muor.conf b/MUOR/MUOR/configs/muor.conf index bc1c74884..4b1d858d9 100644 --- a/MUOR/MUOR/configs/muor.conf +++ b/MUOR/MUOR/configs/muor.conf @@ -5,8 +5,6 @@ map $http_upgrade $connection_upgrade { upstream django { server localhost:8080; -# server unix:///home/randomsec/RandomSec/uwsgi-file/muor.sock; - } @@ -20,25 +18,14 @@ server { return 404; } -# configuration of the server server { - # the port your site will be served on listen 443 ssl http2 reuseport; - # the domain name it will serve for server_name randomsec.projektstudencki.pl charset utf-8; # max upload size client_max_body_size 75M; # adjust to taste -# location /static { -# alias /path/to/static; #TODO add path -# expires 30d; -# access_log off; -# add_header Pragma public; -# add_header Cache-Control "public"; -# } - error_page 502 /loader.html; location = /loader.html { @@ -46,7 +33,7 @@ server { } location /static/ { - alias /home/randomsec/RandomSec/MUOR/staticfiles/; # your Django project's static files - amend as required + alias /home/randomsec/RandomSec/MUOR/staticfiles/; expires 2d; access_log off; add_header Pragma public; @@ -54,20 +41,14 @@ server { } location /logout/ { -# uwsgi_pass django; -# include /etc/nginx/uwsgi_params; - proxy_pass http://django; # TODO prolly change that to uwsgi_pass + proxy_pass http://django; } - # Finally, send all non-media requests to the Django server. location / { - proxy_pass http://django; # TODO prolly change that to uwsgi_pass + proxy_pass http://django; if ($cookie_sessionid = ""){ - proxy_pass http://django; # TODO prolly change that to uwsgi_pass -# uwsgi_pass django; -# include /etc/nginx/uwsgi_params; - + proxy_pass http://django; } } @@ -77,6 +58,5 @@ server { include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot - # add_header Strict-Transport-Security max-age=31536000; } \ No newline at end of file diff --git a/MUOR/MUOR/configs/muor_after_location_block.conf b/MUOR/MUOR/configs/muor_after_location_block.conf index 5cb053f1f..3a86af766 100644 --- a/MUOR/MUOR/configs/muor_after_location_block.conf +++ b/MUOR/MUOR/configs/muor_after_location_block.conf @@ -1,8 +1,6 @@ if ($cookie_sessionid = ""){ - proxy_pass http://django; # TODO prolly change that to uwsgi_pass -# uwsgi_pass django; -# include /etc/nginx/uwsgi_params; + proxy_pass http://django; } } @@ -11,6 +9,5 @@ include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot - # add_header Strict-Transport-Security max-age=31536000; } \ No newline at end of file diff --git a/MUOR/MUOR/configs/muor_before_location_block.conf b/MUOR/MUOR/configs/muor_before_location_block.conf index a05bf65f8..5acda5d3c 100644 --- a/MUOR/MUOR/configs/muor_before_location_block.conf +++ b/MUOR/MUOR/configs/muor_before_location_block.conf @@ -1,16 +1,13 @@ - - map $http_upgrade $connection_upgrade { default upgrade; '' close; } upstream django { -# server unix:///home/randomsec/RandomSec/uwsgi-file/muor.sock; server localhost:8080; - } + server { if ($host = randomsec.projektstudencki.pl) { return 301 https://$host$request_uri; @@ -21,25 +18,14 @@ server { return 404; } -# configuration of the server server { - # the port your site will be served on listen 443 ssl http2 reuseport; - # the domain name it will serve for server_name randomsec.projektstudencki.pl charset utf-8; # max upload size client_max_body_size 75M; # adjust to taste -# location /static { -# alias /path/to/static; #TODO add path -# expires 30d; -# access_log off; -# add_header Pragma public; -# add_header Cache-Control "public"; -# } - error_page 502 /loader.html; location = /loader.html { @@ -47,7 +33,7 @@ server { } location /static/ { - alias /home/randomsec/RandomSec/MUOR/staticfiles/; # your Django project's static files - amend as required + alias /home/randomsec/RandomSec/MUOR/staticfiles/; expires 2d; access_log off; add_header Pragma public; @@ -55,12 +41,9 @@ server { } location /logout/ { -# uwsgi_pass django; -# include /etc/nginx/uwsgi_params; - proxy_pass http://django; # TODO prolly change that to uwsgi_pass + proxy_pass http://django; } - # Finally, send all non-media requests to the Django server. location / { - proxy_pass http://django; # TODO prolly change that to uwsgi_pass + proxy_pass http://django;