Skip to content

Gelion91/web_file_sharing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

web_file_sharing ====

Файлхостинг с функцией хэширования.

Приложение было написано с использованием микрофреймворка Flask. Приложение в первую очередь нацелено на использование в Ru сегменте, по этой причине все комментарии и описание на Русском языке.

Для запуска проекта на вашем компьютере вам понадобится Python3.6+.

Установка на локальном сервере. ----

Создайте виртуальное окружение и активируйте его. После установите все необходимые зависимости:

pip install -r requirements.txt

Создайте в корне проекта файл config.py:

#CSRF
import os
SECRET_KEY = 'Введите сложный набор символов который будет служить ключем защищающим от атак CSRF.'

basedir = os.path.abspath(os.path.dirname(__file__))
PATH = os.path.join(basedir, 'имя директории в которой будут храниться файлы')

Запуск ----

python3 wsgi.py

Деплой ----

Разверните сервер на хостинг провайдере и создайте нового юзера с правами администратора.

adduser <имя юзера>

Добавляем пользователя в группу sudo

usermod -aG sudo <имя юзера>

Готово. Теперь необходимо зайти под созданным пользователем. Приступаем к настройке.

Установите git.

sudo apt-get install git

Клонируйте туда репозиторий.

git clone https://github.com/Gelion91/web_file_sharing.git

Скачайте модуль python3-venv и создайте виртуальное окружение в папке с проектом.

sudo apt-get update
sudo apt-get install python3-venv
python3 -m venv env

И активируйте его.

source env/bin/activate

Установите все необходимые зависимости.

pip install -r requirements.txt

После этого необходимо установить nginx

sudo apt-get install nginx

Меняем конфигурацию nginx в файле default

sudo nano /etc/nginx/site-enabled/default

В "location" добавляем запись

proxy_pass http://127.0.0.1:5000;

После изменения необходимо перезагрузить nginx

sudo service nginx reload

Устанавливаем supervisor

sudo apt-get install supervisor

Убеждаемся, что виртуальное окружение все еще активировано и устанавливаем gunicorn

pip install gunicorn

Переходим к настройке supervisor, для этого создаем файл кофигурации нашего приложения.

sudo nano /etc/supervisor/conf.d/flask.conf

И там создаем необходимую конфигурацию для его запуска.

[program=flask]
command=/home/<имя юзера>/web_file_sharing/env/bin/gunicorn wsgi:app -b 127.0.0.1:5000 -w 3
directory=/home/<имя юзера>/web_file_sharing/
user=<имя юзера>

Сохраняем.

Заходим в панель управления supervisor

sudo supervisorctl
reread
update
status - Смотрим запущено ли наше приложение. Если работает - ок, если нет вводим еще одну команду.
start flask

Готово. Можете выйти из терминала и проверить.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published