Загружаем

#git clone https://github.com/mitshel/sopds.git

Установка SOPDS

#apt install python3-django python3-pillow python3-apscheduler python3-django-picklefield python3-lxml python3-python-telegram-bot git

Для работы с БД Mysql в разных системах может потребоваться установка дополнительных пакетов:

#sudo apt-get install python3-mysqldb

Далее необходимо сначала в БД MySQL создать базу данных "sopds" и пользователя с необходимыми правами, например следующим образом:

#mysql -uroot -p mysql  
mysql > create database if not exists sopds default charset=utf8;  
mysql > CREATE USER 'sopds'@'localhost' identified by 'sopds';
mysql > GRANT ALL PRIVILEGES ON *.* TO 'sopds'@'localhost';
mysql > FLUSH PRIVILEGES;
mysql > quit;

Далее в конфигурационном файде нужно закомментировать строки подключения к БД sqlite и соответсвенно раскомментировать строки подключения к БД Mysql:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'sopds',
        'HOST': 'localhost',
        'USER': 'sopds',
        'PASSWORD' : 'sopds',
        'OPTIONS' : {
            'init_command': "SET default_storage_engine=MyISAM;\
                             SET sql_mode='';"
        }
    }
}


# DATABASES = {
#    'default': {
#        'ENGINE': 'django.db.backends.sqlite3',
#        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
#    }         
#}  

Производим инициализацию базы данных и заполнение начальными данными (жанры)

#python3 manage.py migrate
#python3 manage.py sopds_util clear

Cоздаем суперпользователя

#python3 manage.py createsuperuser


Настраиваем путь к Вашему каталогу с книгами и при необходимости переключаем язык интерфейса на русский

#python3 manage.py sopds_util setconf SOPDS_ROOT_LIB '/home/lib'
#python3 manage.py sopds_util setconf SOPDS_LANGUAGE ru-RU

Запускаем SCANNER сервер.

#python3 manage.py sopds_scanner scan --verbose

Подключаем модуль Apache2

#apt-get install libapache2-mod-wsgi-py3

/etc/apache2/site-available/sopds.conf

<VirtualHost *:80>
   ServerAdmin webmaster@localhost
   ServerName opds.site.com
   ErrorLog /var/log/apache2/sopds_error.log

   WSGIScriptAlias / /opt/sopds/sopds/wsgi.py
   WSGIDaemonProcess sopds processes=2 threads=15 python-path=/opt/sopds
   WSGIProcessGroup sopds
   WSGIScriptReloading On
   WSGIPassAuthorization On


   <Directory "/opt/sopds/sopds/">
      Require all granted
   </Directory>

   <Directory "/opt/sopds/static/">
      Require all granted
   </Directory>

   Alias   /static    "/opt/sopds/static"
</VirtualHost>

 

Проверяем:

http://opds.site.com

Добавить комментарий