Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
J-ИРБИС :  ИРБИС Irbis
 
Перенос J-ИРБИС 2.0 версии 2021.1 (PHP 5.2) на хостинг (Делюсь опытом)
Пользователь: zagzag (IP-адрес скрыт)
Дата: 15, December, 2023 10:48

Поставили такую задачу:
В целях повышения безопасности, перенести JIRBIS с локального веб-сервера на хостинг.

Был создан тестовый поддомен и настроен по аналогии с локальным (Apache 2.2 + PHP 5.2). В дальнейшем, попробуем перейти на более новую версию.

Также добавили сертификат Let's Encrypt для работы через HTTPS

Перенесена база данных Joomla

Скопированы файлы

Проброшен порт 6666 с внешнего IP внутрь к серверу ИРБИС

Желательно создать пользователя ИРБИС с ограниченными правами, достаточными только для чтения электронного каталога.

Собственно ниже перечислены файлы, которые пришлось изменить

/public_html/jirbis2/administrator/components/com_irbis/irbis.php
$base_path='/home/o/olcbsru/test_ol_cbs_ru/public_html/jirbis2/com_irbis/'; // полный путь в папке с компонентом com_irbis
require_once(JI_PATH_INCLUDES_LOCAL.'/table_editor.php'); // исправить слеши на прямые
require_once(JI_PATH_INCLUDES_LOCAL.'/ji_table_editor.php'); // исправить слеши на прямые

/public_html/jirbis2/components/com_irbis/includes/broad_search_unit.php
if (!$this->self_net_path) $this->self_net_path = 'https://test.ol-cbs.ru/' . u::get_net_path();

/public_html/jirbis2/components/com_irbis/includes/iserver64.php
private function sfilename(){
//return u::get_temp(true) .'/' .$GLOBALS['_1062064198_'][201]($GLOBALS['_1062064198_'][202]($this->host .$this->port_number .$this->login .$this->password .$this->m_cARM)) .'_' .$this->process_number .'.sav';
return '/home/o/olcbsru/test_ol_cbs_ru/public_html/jirbis2/tmp/' .$GLOBALS['_1062064198_'][201]($GLOBALS['_1062064198_'][202]($this->host .$this->port_number .$this->login .$this->password .$this->m_cARM)) .'_' .$this->process_number .'.sav';
}

/public_html/jirbis2/components/com_irbis/includes/u.php
public static function get_temp($static=false){
if (!$static){
$sp='/home/o/olcbsru/test_ol_cbs_ru/public_html/jirbis2/tmp/'; //ini_get('session.save_path');
if (is_writable( $sp ) && strpos($sp,'.')===false)
return self::sla($sp);
}

/public_html/jirbis2/components/com_irbis/jirbis_configuration.php
'irb64_arm' => 'R',
'irb64_host' => '...', // внешний IP ирбис сервера, с проброшенным 6666 портом
'irb64_port' => '6666',
'irb64_user' => 'jirbis',
'irb64_password' => '...',
'mysql_host' => 'localhost', // БД на хостинге
'mysql_user' => '...', // пользователь БД
'mysql_password' => '...',
'mysql_database' => '...',
'covers_download_enable' => 0, // обязательно, т.к. не разобрались с подгрузкой обложек из гугла
'covers_grid_req' => '(<.>DP=20231201<.>[...]<.>DP=20231231<.>)*((<.>U=84$<.>))', // первичный запрос для главного экрана "новые поступления за декабрь 2023"
'ji_path_htdocs_local' => '/home/o/olcbsru/test_ol_cbs_ru/public_html',

/public_html/jirbis2/components/com_irbis/jirbis_constants.php
define('JI_FILE_DEFAULT_COVER_GRID_IMAGE_NAME','no_cover.jpg'); // no_cover_grid.png
define('JI_PATH_AUTO_REQUESTS_LOCALHOST','https://test.ol-cbs.ru'.((isset($_SERVER['SERVER_PORT']) and $_SERVER['SERVER_PORT']!=80 ) ? ':'.$_SERVER['SERVER_PORT'] : ''));
define('JI_PATH_CMS_DISTR_LOCAL','/test_ol_cbs_ru/public_html/jirbis2');
define('JI_PATH_UPDATE_HOST_NET','https://icorp.elnit.org/jirbis2/'.JI_DIR_COMPONENT);

/public_html/jirbis2/templates/jtouchscreen/config/default.config.json
http: заменяем на https:

/public_html/jirbis2/templates/jtouchscreen/lib/framework/helper.api.php
public function URLtemplate() {
return JURI::base(true) . "/templates/" . $this->API->template;
}

/public_html/jirbis2/.htaccess
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ [url]https://[/url]%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

/public_html/jirbis2/configuration.php
public $host = 'localhost'; // mysql server
public $user = '...'; // mysql user
public $password = '...'; // mysql password
public $db = '...'; // mysql base
public $log_path = '/home/o/olcbsru/test_ol_cbs_ru/public_html/jirbis2/logs';
public $tmp_path = '/home/o/olcbsru/test_ol_cbs_ru/public_html/jirbis2/tmp';

Обратите внимание: пути нужно указывать абсолютные (/home/o/olcbsru/test_ol_cbs_ru/). Хостинг может вам их не отображать, смотрите через phpinfo();

Полное тестирование функций не проводилось.
Предложения и критика приветствуются.




Редактировано 3 раз. Последний раз 16.12.2023 14:35 пользователем Кирилл Соколинский (СЗТУ).

Re: Перенос JIRBIS на хостинг (Делюсь опытом)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 16, December, 2023 14:34

Вы проделали большую работу. Cпасибо, что написали о ней столь подробный отчет. Один момент ( с default.config.json) был для меня новым.

Но почему Вы оперируете старой версией на старой программной платформе?! Ведь сейчас в J-ИРБИС 2.0 уже официально реализована поддержка *NIX. Аналогичные исправления уже сделаны в базовой поставке!

В нашем сообществе очень немного людей, которые могут решать такие задачи. Поэтому грустно, что Вам приходится тратить силы на работу с устаревшей версией...

Интересно каким каналом связан TCP/IP сервер и хостинг? Вас устраивает скорость работы поиска?



PS
> 'covers_download_enable' => 0, // обязательно, т.к. не разобрались с подгрузкой обложек из гугла

Да, к сожалению, Google прекратил поддержку API, которым пользовался J-ИРБИС 2.0 для выгрузки обложек. С одной стороны интеграция с внешними системами -- это огромные возможности, с другой стороны -- неприятные сюрпризы.



Редактировано 2 раз. Последний раз 16.12.2023 15:15 пользователем Кирилл Соколинский (СЗТУ).

Re: Перенос JIRBIS на хостинг (Делюсь опытом)
Пользователь: zagzag (IP-адрес скрыт)
Дата: 19, December, 2023 17:06

Пришлось адаптировать устаревшую версию, т.к. поддержку не продлевали.

Не знаю какая скорость у хостинга, но выделенка у провайдера для нашего сервера около 100 Мбит. Скорость работы каталога вполне устраивает.

Вообще есть задумка сделать свой небольшой каталог в качестве плагина к сайту. Не вижу смысла держать Joomla 2.5, если нам требуется только новинки и упрощенный поиск. Основной сайт планируем перенести на современную Joomla.

Класс PHP для работы с сервером ИРБИС64 уже есть, но буду его доводить до ума в следующем году.

Re: Перенос JIRBIS на хостинг (Делюсь опытом)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 24, December, 2023 02:09

zagzag написал(а):
-------------------------------------------------------
> Вообще есть задумка сделать свой небольшой каталог
> в качестве плагина к сайту.

Вашей библиотеке будет интересно познакомиться со всеми новинками последних лет.

> Не вижу смысла держать
> Joomla 2.5, если нам требуется только новинки и
> упрощенный поиск. Основной сайт планируем
> перенести на современную Joomla.

Думаю, у нас есть почва для взаимовыгодного сотрудничества. До Нового года у всех аврал, а после праздников был бы рад обсудить возможные направления совместной работы голосом.



Редактировано 2 раз. Последний раз 25.12.2023 21:20 пользователем Кирилл Соколинский (СЗТУ).



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.