Loading README.md +34 −12 Original line number Diff line number Diff line Loading @@ -74,8 +74,8 @@ #### 2. Настройка базы данных MySQL (опционально, но очень желательно для увеличения производительности). 2.1 Для работы с большим количеством книг, очень желательно не использовать sqlite, а настроить для работы БД MySQL. MySQL по сравнению с sqlite работает гораздо быстрее, например скорость сканирования книг при использованиии MySQL увеличится приблизительно в ПЯТЬ!!! раз. MySQL по сравнению с sqlite работает гораздо быстрее. Кроме того SQLite - однопользователская БД, т.е. во время сканирования доступ к БД будет невозможен. UBUNTU: для работы с БД Mysql в UBUNTU потребовалось установить доп пакет: Loading @@ -99,9 +99,14 @@ UBUNTU: для работы с БД Mysql в UBUNTU потребовалось 'NAME': 'sopds', 'HOST': 'localhost', 'USER': 'sopds', 'PASSWORD' : 'sopds' 'PASSWORD' : 'sopds', 'OPTIONS' : { 'init_command': "SET default_storage_engine=MyISAM;\ SET sql_mode='';" } } } # DATABASES = { # 'default': { Loading @@ -110,12 +115,29 @@ UBUNTU: для работы с БД Mysql в UBUNTU потребовалось # } #} 2.4 Далее необходимо для инициализации и заполнения вновь созданной БД заново выполнить пункты 1.4 - 1.9 данной инструкции 2.4 Использование InnoDB вместо MyISAM. Указанная конфигурация MySQL использует в качестве движка БД MyISAM. Однако возможно использовать более современный движок InnoDB. Он несколько быстрее и поддерживает транзакции, что положительно скажется на целостности БД. Но иногда на устаревших версиях MySQL (например MariaDB 5.5) с ним возникают проблемы из-за ограничений на максимальную длину индексов. Тем не менее если у Вас современная версия MySQL, то в настройках БД Mysql Вместо указанных параметров OPTIONS просто используйте следующие: 'OPTIONS' : { 'init_command': """SET default_storage_engine=INNODB; \ SET sql_mode='STRICT_TRANS_TABLES'; \ SET NAMES UTF8; \ SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED """ } 2.5 Далее необходимо для инициализации и заполнения вновь созданной БД заново выполнить пункты 1.4 - 1.9 данной инструкции Однако, если Вы уже ранее запустили HTTP/OPDS сервер и SCANNER сервер, то потребуется сначала остановить их: python3 manage.py sopds_server stop python3 manage.py sopds_scanner stop #### 3. Настройка конвертации fb2 в EPUB или MOBI (опционально, можно не настраивать) 3.1 Конвертер fb2-to-epub http://code.google.com/p/fb2-to-epub-converter/ Loading sopds/settings.py +9 −17 Original line number Diff line number Diff line Loading @@ -25,16 +25,9 @@ SECRET_KEY = 'm4l1c#nq6*zs!c3ri4dg4(54_7bvrl5uintni6p20tijlaxv!x' # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True # Конфигурация для ведения разработки на разных хостах # убрать при окончании разработки import socket HOSTNAME=socket.gethostname().upper() ALLOWED_HOSTS = ['*'] # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', Loading Loading @@ -92,11 +85,8 @@ WSGI_APPLICATION = 'sopds.wsgi.application' # 'USER': 'sopds', # 'PASSWORD' : 'sopds', # 'OPTIONS' : { # 'init_command': """SET default_storage_engine=INNODB; \ # SET sql_mode='STRICT_TRANS_TABLES'; \ # SET NAMES UTF8; \ # SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED # """ # 'init_command': "SET default_storage_engine=MyISAM;\ # SET sql_mode='';" # } # } #} Loading Loading @@ -129,8 +119,8 @@ AUTH_PASSWORD_VALIDATORS = [ # Internationalization # https://docs.djangoproject.com/en/1.9/topics/i18n/ #LANGUAGE_CODE = 'en-US' LANGUAGE_CODE = 'ru-RU' LANGUAGE_CODE = 'en-US' #LANGUAGE_CODE = 'ru-RU' TIME_ZONE = 'Europe/Moscow' USE_I18N = True Loading @@ -142,9 +132,11 @@ USE_TZ = True STATIC_URL = '/static/' STATIC_ROOT = 'static' #SOPDS_ROOT_LIB = 'D:\\tmp\\flibusta\\' # # SIMPLE OPDS SETTINGS # SOPDS_ROOT_LIB = 'W:\\_Downloads\\_Lib.rus.ec - Официальная\\lib.rus.ec\\' #SOPDS_ROOT_LIB = 'Z:\\КНИГИ\\TEST\\' #SOPDS_ROOT_LIB = '/mnt/SATA1TB-1/КНИГИ/BOOKS/' #SOPDS_ROOT_LIB = '/mnt/nfs/КНИГИ/BOOKS/' Loading @@ -157,5 +149,5 @@ SOPDS_SCAN_SHED_HOUR ='0,12' #SOPDS_FB2TOEPUB = os.path.join(BASE_DIR,'convert/fb2toepub/unix_dist/fb2toepub') #SOPDS_FB2TOEPUB = os.path.join(BASE_DIR,'convert/fb2conv/fb2epub') #SOPDS_FB2TOMOBI = os.path.join(BASE_DIR,'convert/fb2conv/fb2mobi') SOPDS_FB2TOEPUB = os.path.join(BASE_DIR, 'convert\\fb2epub\\fb2epub.cmd' if sys.platform =='win32' else 'convert/fb2epub/fb2epub' ) #SOPDS_FB2TOEPUB = os.path.join(BASE_DIR, 'convert\\fb2epub\\fb2epub.cmd' if sys.platform =='win32' else 'convert/fb2epub/fb2epub' ) Loading
README.md +34 −12 Original line number Diff line number Diff line Loading @@ -74,8 +74,8 @@ #### 2. Настройка базы данных MySQL (опционально, но очень желательно для увеличения производительности). 2.1 Для работы с большим количеством книг, очень желательно не использовать sqlite, а настроить для работы БД MySQL. MySQL по сравнению с sqlite работает гораздо быстрее, например скорость сканирования книг при использованиии MySQL увеличится приблизительно в ПЯТЬ!!! раз. MySQL по сравнению с sqlite работает гораздо быстрее. Кроме того SQLite - однопользователская БД, т.е. во время сканирования доступ к БД будет невозможен. UBUNTU: для работы с БД Mysql в UBUNTU потребовалось установить доп пакет: Loading @@ -99,9 +99,14 @@ UBUNTU: для работы с БД Mysql в UBUNTU потребовалось 'NAME': 'sopds', 'HOST': 'localhost', 'USER': 'sopds', 'PASSWORD' : 'sopds' 'PASSWORD' : 'sopds', 'OPTIONS' : { 'init_command': "SET default_storage_engine=MyISAM;\ SET sql_mode='';" } } } # DATABASES = { # 'default': { Loading @@ -110,12 +115,29 @@ UBUNTU: для работы с БД Mysql в UBUNTU потребовалось # } #} 2.4 Далее необходимо для инициализации и заполнения вновь созданной БД заново выполнить пункты 1.4 - 1.9 данной инструкции 2.4 Использование InnoDB вместо MyISAM. Указанная конфигурация MySQL использует в качестве движка БД MyISAM. Однако возможно использовать более современный движок InnoDB. Он несколько быстрее и поддерживает транзакции, что положительно скажется на целостности БД. Но иногда на устаревших версиях MySQL (например MariaDB 5.5) с ним возникают проблемы из-за ограничений на максимальную длину индексов. Тем не менее если у Вас современная версия MySQL, то в настройках БД Mysql Вместо указанных параметров OPTIONS просто используйте следующие: 'OPTIONS' : { 'init_command': """SET default_storage_engine=INNODB; \ SET sql_mode='STRICT_TRANS_TABLES'; \ SET NAMES UTF8; \ SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED """ } 2.5 Далее необходимо для инициализации и заполнения вновь созданной БД заново выполнить пункты 1.4 - 1.9 данной инструкции Однако, если Вы уже ранее запустили HTTP/OPDS сервер и SCANNER сервер, то потребуется сначала остановить их: python3 manage.py sopds_server stop python3 manage.py sopds_scanner stop #### 3. Настройка конвертации fb2 в EPUB или MOBI (опционально, можно не настраивать) 3.1 Конвертер fb2-to-epub http://code.google.com/p/fb2-to-epub-converter/ Loading
sopds/settings.py +9 −17 Original line number Diff line number Diff line Loading @@ -25,16 +25,9 @@ SECRET_KEY = 'm4l1c#nq6*zs!c3ri4dg4(54_7bvrl5uintni6p20tijlaxv!x' # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True # Конфигурация для ведения разработки на разных хостах # убрать при окончании разработки import socket HOSTNAME=socket.gethostname().upper() ALLOWED_HOSTS = ['*'] # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', Loading Loading @@ -92,11 +85,8 @@ WSGI_APPLICATION = 'sopds.wsgi.application' # 'USER': 'sopds', # 'PASSWORD' : 'sopds', # 'OPTIONS' : { # 'init_command': """SET default_storage_engine=INNODB; \ # SET sql_mode='STRICT_TRANS_TABLES'; \ # SET NAMES UTF8; \ # SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED # """ # 'init_command': "SET default_storage_engine=MyISAM;\ # SET sql_mode='';" # } # } #} Loading Loading @@ -129,8 +119,8 @@ AUTH_PASSWORD_VALIDATORS = [ # Internationalization # https://docs.djangoproject.com/en/1.9/topics/i18n/ #LANGUAGE_CODE = 'en-US' LANGUAGE_CODE = 'ru-RU' LANGUAGE_CODE = 'en-US' #LANGUAGE_CODE = 'ru-RU' TIME_ZONE = 'Europe/Moscow' USE_I18N = True Loading @@ -142,9 +132,11 @@ USE_TZ = True STATIC_URL = '/static/' STATIC_ROOT = 'static' #SOPDS_ROOT_LIB = 'D:\\tmp\\flibusta\\' # # SIMPLE OPDS SETTINGS # SOPDS_ROOT_LIB = 'W:\\_Downloads\\_Lib.rus.ec - Официальная\\lib.rus.ec\\' #SOPDS_ROOT_LIB = 'Z:\\КНИГИ\\TEST\\' #SOPDS_ROOT_LIB = '/mnt/SATA1TB-1/КНИГИ/BOOKS/' #SOPDS_ROOT_LIB = '/mnt/nfs/КНИГИ/BOOKS/' Loading @@ -157,5 +149,5 @@ SOPDS_SCAN_SHED_HOUR ='0,12' #SOPDS_FB2TOEPUB = os.path.join(BASE_DIR,'convert/fb2toepub/unix_dist/fb2toepub') #SOPDS_FB2TOEPUB = os.path.join(BASE_DIR,'convert/fb2conv/fb2epub') #SOPDS_FB2TOMOBI = os.path.join(BASE_DIR,'convert/fb2conv/fb2mobi') SOPDS_FB2TOEPUB = os.path.join(BASE_DIR, 'convert\\fb2epub\\fb2epub.cmd' if sys.platform =='win32' else 'convert/fb2epub/fb2epub' ) #SOPDS_FB2TOEPUB = os.path.join(BASE_DIR, 'convert\\fb2epub\\fb2epub.cmd' if sys.platform =='win32' else 'convert/fb2epub/fb2epub' )