<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US"> <head> <title> GmManualServerInstallRu < Gnumed < Foswiki</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta name="robots" content="noindex" /> <link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRss.html" /> <link rel="icon" href="../rsrc/System/ProjectLogos/favicon.ico" type="image/x-icon" /> <link rel="shortcut icon" href="../rsrc/System/ProjectLogos/favicon.ico" type="image/x-icon" /> <link rel="alternate" href="http://wiki.gnumed.de/bin/edit/Gnumed/GmManualServerInstallRu?t=1362919418" type="application/x-wiki" title="edit GmManualServerInstallRu" /> <meta name="description" content="GmManualServerInstallRu" /> <!--[if IE]></base><![endif]--> <style type="text/css" media="all"> @import url('../rsrc/System/SkinTemplates/base.css'); </style> <style type="text/css" media="all"> @import url('../rsrc/System/SkinTemplates/default.css'); </style> <!--[if IE]><style type="text/css" media="screen"> pre { overflow-x:auto; padding-bottom:expression(this.scrollWidth > this.offsetWidth ? 16 : 0); } </style> <![endif]--> <meta name="foswiki.PUBURL" content="http://wiki.gnumed.de/pub" /> <!-- PUBURL --> <meta name="foswiki.PUBURLPATH" content="/pub" /> <!-- PUBURLPATH --> <meta name="foswiki.SCRIPTSUFFIX" content="" /> <!-- SCRIPTSUFFIX --> <meta name="foswiki.SCRIPTURL" content="http://wiki.gnumed.de/bin" /> <!-- SCRIPTURL --> <meta name="foswiki.SCRIPTURLPATH" content="/bin" /> <!-- SCRIPTURLPATH --> <meta name="foswiki.SERVERTIME" content="10%20Mar%202013%20-%2013:43" /> <!-- SERVERTIME --> <meta name="foswiki.SKIN" content="twikinet%2c%20pattern" /> <!-- SKIN --> <meta name="foswiki.SYSTEMWEB" content="System" /> <!-- SYSTEMWEB --> <meta name="foswiki.TOPIC" content="GmManualServerInstallRu" /> <!-- TOPIC --> <meta name="foswiki.USERNAME" content="KarstenHilbert" /> <!-- USERNAME --> <meta name="foswiki.USERSWEB" content="Main" /> <!-- USERSWEB --> <meta name="foswiki.WEB" content="Gnumed" /> <!-- WEB --> <meta name="foswiki.WIKINAME" content="KarstenHilbert" /> <!-- WIKINAME --> <meta name="foswiki.WIKIUSERNAME" content="Main.KarstenHilbert" /> <!-- WIKIUSERNAME --> <meta name="foswiki.NAMEFILTER" content="%5b%5cs%5c*%3f~%5e%5c%24%40%25%60%22'%26%3b%7c%3c%3e%5c%5b%5c%5d%23%5cx00-%5cx1f%5d" /> <!-- NAMEFILTER --><!--JQUERYPLUGIN::FOSWIKI::META--> <script type='text/javascript' src='../rsrc/System/JQueryPlugin/jquery-1.4.3.js'></script><!--JQUERYPLUGIN--> <script type='text/javascript' src='../rsrc/System/JQueryPlugin/plugins/livequery/jquery.livequery.js'></script><!--JQUERYPLUGIN::LIVEQUERY--> <script type='text/javascript' src='../rsrc/System/JQueryPlugin/plugins/foswiki/jquery.foswiki.js'></script><!--JQUERYPLUGIN::FOSWIKI--> <script type='text/javascript' src='../rsrc/System/JSTreeContrib/jquery.jstree.js'></script><!--JQUERYPLUGIN::JSTREE--> </head> <body class=""><div class="foswikiPage"> <a name="PageTop"></a> <p></p> <p></p> <h1><a name="GNUmed"></a> Установка сервера GNUmed </h1> <p></p> В то время, как публичный сервер позволяет основной доступ (хотя медленно) к GNUmed для "первого ощущения", следующие шаги предназначены для обеспечения установки <strong>локальной</strong> базы данных, т.е. на компьютере, на котором вы работаете. Хотя локальная база данных быстрее и надёжнее, чем публичный сервер, она требует некоторых усилий для установки. <p></p> Прежде, чем пытаться установить базу данных GNUmed, нужно будет: <p></p> 1) <a href="ConfigurePostgreSQLRu.html" target="_top">ConfigurePostgreSQL</a> <p></p> 2) Скачать пакет сервера или архив сервера с <a href="http://www.gnumed.de/downloads/server/" target="_top">официального ftp</a>. Во избежание некоторых неуправляемых противоречий предполагается, что файлы должны находиться в /tmp (Себастьян, 1 июля 2010 года) <p></p> Теперь ваша система готова, перейдем к интересным вещам. <p></p> <a name="foswikiTOC"></a><div class="foswikiToc"> <ul> <li> <a href="#GNUmed_63"> Установить новую базу данных GNUmed? </a> <ul> <li> <a href="#root_postgres"> Станьте root или postgres </a> </li> <li> <a href="#A_"> О скрипте загрузчика </a> </li> <li> <a href="#GNUmed"> Уничтожение всех существующих баз данных GNUmed и их данных </a> </li> <li> <a href="#A_40Stable_124_Testing_124_Unstable_41:_deb"> Дебиан (Stable | Testing | Unstable): пакеты deb </a> </li> <li> <a href="#Ubuntu_40hardy_124intrepid_124jaunty_124karmic_41:_deb"> Ubuntu (hardy|intrepid|jaunty|karmic): пакеты deb </a> </li> <li> <a href="#Debian_44_40_42_41buntu_44_Mandriva:"> Debian, (*)buntu, Mandriva: сетевая установка </a> </li> <li> <a href="#Mandriva"> Mandriva </a> </li> <li> <a href="#A_33openSuSE:_rpm"> openSuSE: пакеты rpm </a> </li> <li> <a href="#PCLinuxOS"> PCLinuxOS </a> </li> <li> <a href="#Linux_MacOSX:"> общий Linux и MacOSX: локальная установка </a> </li> <li> <a href="#Windows"> Windows </a> </li> <li> <a href="#A_..."> После начальной загрузки... </a> </li> <li> <a href="#A_AN1"> Устранение сбоев и отдельные заметки </a> </li> <li> <a href="#A_AN2"> Подробности о загрузчике </a> </li></ul> </li></ul> </div> <p></p> <h2><a name="GNUmed_63"></a> Установить новую базу данных GNUmed? </h2> <p></p> Применяйте указанные здесь методы, если еще никогда не устанавливали базу данных GNUmed на своем компьютере, или если полностью уверены, что <strong>любые существующие данные GNUmed</strong> только экспериментальные и могут быть <strong>бесповоротно удалены</strong>. Если нужно сделать <em>обновление</em> базы данных GNUmed <em>без</em> потери данных, сначала скопируйте данные с помощью <a href="GmManualDatabaseBackupRestoreRu.html">Резервного копирования данных и процедур восстановления</a>, и переходите к <a href="GmManualServerUpgradeRu.html" target="_top">GmManualServerUpgrade</a>. <p></p> <h3><a name="root_postgres"></a> Станьте root или postgres </h3> <p></p> Установка базы данных GNUmed обычно выполняется пользователем <code>root</code> или пользователем, который мог бы стать (с использованием <code>su</code>) <code>postgres</code>. Успех скрипта под <code>любым_другим_пользователем</code> возможен, только по-другому, когда <code>любому_другому_пользователю</code> явно предоставлены права доступа. Единственным исключением является вариант "сетевой установки", запущенной обычным пользователем… см. ниже. <p></p> <h3><a name="A_"></a> О скрипте загрузчика </h3> <p></p> Какой бы метод для получения ПО сервера не использовался, необходимо будет запустить сценарий загрузчика. <p></p> При его запуске, он будет <ul> <li> запрашивать пароль для базы данных владельца gm-dbo (если только файлы .conf уже не содержат пароль, даже при пустом) <ul> <li> если этот пароль утерян, его можно переустановить через <ul> <li> пользователя postgres, запускающего команду psql <br> <code>ALTER ROLE "gm-dbo" ENCRYPTED PASSWORD 'a secret string';</code> </li> <li> запуская под root сценарий сервера (июль 2010): <br> server/gm-set_gm-dbo_password <NEW_PASSWORD> </li></ul> </li></ul> </li> <li> этот начальный загрузчик затем будет <ul> <li> начально загружать (устанавливать) основную базу данных <code>v2</code> </li> <li> применять последовательные обновления для получения базы данных до последней версии </li> <li> примечание: этот подход был принят для обеспечения надежного пути обновления к последней базе данных. </li></ul> </li></ul> <p></p> Предупреждения: <ul> <li> использование предподготовленных пакетов (на Дебиан "testing" или новее) установит последний официально выпущенный сервер, узнаваемый по его "версии" базы данных </li> <li> серверы (базы данных), которые можно загрузить из CVS, архивов снимков или сервера "кандидатов релиза", предназначены <strong>только для тестирования</strong> и использоваться в работе <strong>не должны</strong>, так как схема базы данных еще может измениться. Кроме того, в то время, как установка из дерева CVS приведет к последней версии-разработки, остерегайтесь иногда имеющихся в CVS баггов и/или неготовности к запуску. </li></ul> <p></p> Начальный загрузчик зависит от уже установленной минимальной версии Postgres 8.1. Для максимального удовольствия (особенно, при поиске пациентов с диакритическими знаками или умлаутами в их имени) мы рекомендуем запуск на <strong>PostgreSQL 8.3</strong>, включенный в Дебиан "Lenny" и многие другие свежие Линукс'ы, и также доступный для Mac OS, Windows, Unix. По вопросу о Postgres 8.4 смотрите нашу страницу вики <a href="PostgreSQLRu.html" target="_top">PostgreSQL</a>. <p></p> Начальный загрузчик подразумевает, что намеченный компьютер, на котором он будет запускаться: <ul> <li> уже имеет <a href="ConfigurePostgreSQLRu.html" target="_top">ConfigurePostgreSQL</a> </li> <li> запущен сам сервер <a href="PostgreSQLRu.html" target="_top">PostgreSQL</a> </li> <li> любая существующая база данных GNUmed не для эксплуатации (так как повторение сценария уничтожит данные) </li> <li> все существующие клиенты GNUmed регистрируются с любого GNUmed намеченного компьютера </li></ul> <p></p> Подробнее о загрузчике в приложении (см. Подробности о загрузчике). <p></p> <h3><a name="GNUmed_AN1"></a> <em>Уничтожение</em> всех существующих баз данных GNUmed и их данных </h3> <p></p> Вы понимаете это? Точно? Процесс установки будет <strong>стирать (уничтожать) существующие базы данных GNUmed</strong>, вплоть до и включая версию, указанную в загрузчике. <p></p> <h3><a name="A_40Stable_124_Testing_124_Unstable_41:_deb"></a> Дебиан (Stable | Testing | Unstable): пакеты deb </h3> <p></p> По умолчанию, ОС в разработке GNUmed является Дебиан <strong>testing</strong>, так что <strong>stable</strong> и <strong>unstable</strong> должны поддерживаться, при условии установленного с правильной настройкой и работой PostgreSQL. <p></p> Обычно, под <em>root</em> или <em>sudo</em> для анализирования gnumed будет достаточно <br> <code>apt-get -t testing install gnumed-server</code> <br> или, если уже используется дистрибутив Дебиан 'testing', инструмент GUI, подобный 'менеджеру пакетов Synaptic'. <p></p> Пакет сервера перемещает файлы, необходимые для начальной загрузки/обновления баз данных, в /var/lib/gnumed/server/ и также устанавливает некоторые команды и man-страницы: <p></p> <ul> <li> запустите (под <em>root</em> или <em>sudo</em>) системную команду <code>gm-bootstrap_server</code> </li> <li> при желании, уточните <ul> <li> <code>man -k gnumed</code> </li> <li> <code>man gm-bootstrap_server</code> </li> <li> <code>man gm-upgrade_server</code> </li> <li> <code>/usr/share/doc/gnumed-server/README.Debian</code> </li></ul> </li></ul> <p></p> <h3><a name="Ubuntu_40hardy_124intrepid_124jaunty_124karmic_41:_deb"></a> Ubuntu (hardy|intrepid|jaunty|karmic): пакеты deb </h3> <p></p> Пакеты Ubuntu для серверной части GNUmed доступны через персональный пакет команды GNUmed. Для получения пакета 'gnumed-server' необходимо добавить репозиторий ПО "GNUmed PPA" в список исходников. Это достижимо через инструменты, подобные 'Менеджеру пакетов Synaptic'. <p></p> <ul> <li> Строка для ручного добавления отсылает в <a href="https://launchpad.net/~gnumed/+archive/ppa" target="_top">GNUmed team's PPA</a> </li></ul> <p></p> Пакет сервера перемещает файлы, необходимые для начальной загрузки/обновления баз данных, в /var/lib/gnumed/server/ и также устанавливает некоторые команды и man-страницы: <p></p> <ul> <li> запустите (под <em>root</em> или <em>sudo</em>) общесистемную команду <code>gm-bootstrap_server</code> </li> <li> при желании, уточните <ul> <li> <code>man -k gnumed</code> </li> <li> <code>man gm-bootstrap_server</code> </li> <li> <code>man gm-upgrade_server</code> </li> <li> <code>/usr/share/doc/gnumed-server/README.Debian</code> </li></ul> </li></ul> <p></p> <h3><a name="Debian_44_40_42_41buntu_44_Mandriva:"></a> Debian, (*)buntu, Mandriva: сетевая установка </h3> <p></p> <ul> <li> скачайте <a href="http://cvs.savannah.gnu.org/viewvc/gnumed/gnumed/server/bootstrap/net_install-gnumed_server.sh?root=gnumed&view=markup" target="_top">скрипт сетевой установки</a>, загружающий последнюю версию сервера и заботящийся об установке любых пакетов, нужных серверу, по ситуации. </li> <li> убедитесь, что файл является <a href="http://oreilly.com/pub/a/mac/2005/09/09/terminal4.html?page=3" target="_top">исполняемым</a> </li> <li> как <em>обычный пользователь</em> запустите <code>./</code> файл <code>net_install-gnumed_server.sh</code> <ul> <li> в некоторых местах в скрипте нужно предоставлять пароль <em>root</em> </li> <li> может понадобится проверить файл на ошибки до его запуска </li></ul> </li></ul> <p></p> <h3><a name="Mandriva"></a> Mandriva </h3> <p></p> <ul> <li> доступны препакетированные <a href="MandrivaGuideShortRu.html">RPM'ы сервера</a>, благодаря Майклу Сшуетт и florian/doktor5000 </li> <li> несколько <a href="MandrivaLinuxRu.html">больше информации</a> </li></ul> <p></p> <h3><a name="openSuSE:_rpm"></a> openSuSE: пакеты rpm </h3> <p></p> Для установки на сервере GNUmed доступны препакетированные пакеты RPM. <p></p> Либо используйте установщик в 1-клик со <a href="InstallerGuideHomeShortRu.html#opensuseone">страницы загрузки</a>, <p></p> <strong>либо</strong> используйте инструмент GUI, подобный 'Менеджеру пакетов Yast', <strong>либо</strong>, под <em>root</em> или с <em>sudo</em> запустите <code>zypper install gnumed-server</code> <p></p> Пакет сервера перемещает файлы, необходимые для начальной загрузки/обновления баз данных в /usr/lib/gnumed/server/, и также устанавливает некоторые man-страницы и команды: <p></p> <ul> <li> запустите (под <em>root</em> или <em>sudo</em>) общесистемную команду <code>gm-bootstrap_server</code> </li> <li> при желании, уточните <ul> <li> <code>man -k gnumed</code> </li> <li> <code>man gm-bootstrap_server</code> </li> <li> <code>man gm-upgrade_server</code> </li> <li> <code>/usr/share/doc/gnumed-server/README.Debian</code> </li></ul> </li></ul> <p></p> <h3><a name="PCLinuxOS"></a> PCLinuxOS </h3> <p></p> <ul> <li> препакетированные <a href="PCLinuxOSGuideShortRu.html">RPM'ы сервера</a> доступны благодаря Паулю Гринберг </li></ul> <p></p> <h3><a name="Linux_MacOSX:"></a> общий Linux и MacOSX: локальная установка </h3> <p></p> <ul> <li> установите директорию <ul> <li> <code>mkdir gnumed-server</code> </li> <li> <code>cd gnumed-server</code> </li></ul> </li></ul> <p></p> <ul> <li> если нужно установить официальную версию <ul> <li> скачайте <a href="http://www.gnumed.de/downloads/server/GNUmed-server.latest.tgz" target="_top">самую последнюю версию сервера</a> <ul> <li> <code>wget http://www.gnumed.de/downloads/server/GNUmed-server.latest.tgz</code> </li> <li> <code>tar -xvzf GNUmed-server.latest.tgz</code> </li></ul> </li></ul> </li> <li> теперь у вас есть версированный подкаталог, например <em>GNUmed-v9</em> <ul> <li> <ul> <li> <code>cd GNUmed-v9/server/bootstrap/</code> </li></ul> </li></ul> </li></ul> <p></p> <ul> <li> если нужен авангард <ul> <li> проверьте дерево CVS </li> <li> можно использовать <a href="http://www.gnumed.de/~ncq/gnumed/cvs-access/get-gnumed-anon.sh" target="_top">этот скрипт</a> </li></ul> </li></ul> <p></p> <ul> <li> если сервер PostgreSQL прослушивает порт, отличный от 5432: <ul> <li> задайте переменную среды <code>GM_DB_PORT</code> </li></ul> </li></ul> <p></p> <ul> <li> перейдите в <code>server/bootstrap/</code> </li> <li> запустите (как <strong>root</strong> или с <em>sudo</em>) <code>bootstrap-latest.sh</code> <ul> <li> ПРИМЕЧАНИЕ: Mac OS и Ubuntu не поддерживают команду <code>su -c</code>..., без которой, единственное, невозможны процедуры проверки и очистки или, другими словами, некритично </li></ul> </li></ul> <p></p> Необходимо самому позаботиться об установке любых требуемых пакетов. Полный список пакетов можно найти <a href="http://cvs.savannah.gnu.org/viewvc/gnumed/gnumed/server/bootstrap/net_install-gnumed_server.sh?root=gnumed&view=markup" target="_top">здесь</a>, пользователи Mac, желающие просто получить копию Postgres и сервера GNUmed, запущенных локально на их компьютере, могут посмотреть <a href="http://lists.gnu.org/archive/html/gnumed-devel/2008-01/msg00023.html" target="_top">этот пост</a> в списке gnumed-devel. <p></p> <h3><a name="Windows"></a> Windows </h3> <p></p> <ul> <li> см. <a href="DatabaseOnWindowsRu.html">здесь</a> </li></ul> <p></p> <h3><a name="A_..."></a> После начальной загрузки... </h3> <p></p> <ol> <li> Были ли проблемы при попытке начальной загрузки или с пользователями для подключения к базе данных? Вот признаки того, что нужно перепроверить правильность конфигурации postgres в соответствии с <a href="ConfigurePostgreSQLRu.html" target="_top">ConfigurePostgreSQL</a>: <ul> <li> вы надеялись сделать начальную загрузку как любой пользователь системы, кроме <code>root</code> или <code>postgres</code>, и не можете </li> <li> клиентское ПО GNUmed не может подключиться к серверу GNUmed, установленному на вашем локальном компьютере (после начальной загрузки) </li> <li> клиенты не могут подключиться ни с какого компьютера, за исключением собственного </li></ul> </li> <li> Далее, перезагрузите сервер <a href="http://www.postgresql.org/" target="_top">PostgreSQL</a>, чтобы изменения вступили в силу. На Linux/Unix, включая MacOS X методами по порядку важности являются: <ul> <li> <code>/etc/init.d/postgresql-8.3 restart</code> </li> <li> <code>pg_ctlcluster 8.3 main restart</code> </li> <li> или перезагрузите компьютер (думаю, "Windows") </li></ul> </li></ol> <p></p> Отсюда можно перейти к <a href="GmManualStartingGnumedRu.html#LoggingIn">Запуску GNUmed</a>, для чего может потребоваться изменить файл <code>gnumed.conf</code> клиента GNUmed, чтобы дать найти ваш вновь созданный бэкэнд. Самый простой способ это сделать - под <strong>root</strong> - скопировать файл <code>/etc/gnumed/gnumed-client.conf</code> (или для версий клиентов ниже 0.4x, файл <code>/etc/gnumed/gnumed.conf</code>) в <code>/home/userid/.gnumed/</code>. Затем войдите в систему как <strong>пользователь</strong> и запустите GNUmed. <p></p> По умолчанию, загрузчик вставляет заголовок входа в одну из таблиц, предупреждающий пользователей, что база данных, к которой они подключаются <strong>не</strong> является эксплуатационной. Он хранится одной строкой в таблице <code>cfg.db_logon_banner</code> (в этой таблице в любой момент времени может быть только одна строка). Можно просмотреть скриншот, вложенный в <a href="http://lists.gnu.org/archive/html/gnumed-devel/2005-12/msg00263.html" target="_top">это сообщение архива</a>. Для деактивации удалите строку из таблицы или, в качестве альтернативы, замените ее на свой собственный баннер входа. Последнее особенно рекомендуется для тех, кто хотел бы на удаленном сервере не оставлять вопрос о том, к какому серверу базы данных подключен клиент (клиника, госпиталь, на дому и проч.). <p></p> Убедитесь, что удалили тестовые учетные записи (<em>any-doc</em> и т.д.) и, возможно, создали собственный файл(ы) конфигурации клиента, когда переходите к работе. <p></p> <h3><a name="A_AN1"></a> Устранение сбоев и отдельные заметки </h3> <p></p> <ul> <li> если видите сообщение <code>ERROR_STACK_DEPTH exceeded</code> при начальной загрузке <ul> <li> установите <code>lc_messages</code> на <code>'C'</code> в <code>postgresql.conf</code> </li> <li> в последних версиях он устанавливается загрузчиком автоматически </li></ul> </li> <li> подробнее в <a href="PostgreSQLRu.html" target="_top">Устранение проблем PostgreSQL</a> </li></ul> <p></p> <h3><a name="A_AN2"></a> Подробности о загрузчике </h3> <p></p> Этот раздел объясняет, как концептуально работает загрузчик, следовательно, вы сможете получить, как запустить его на вашей ОС. <p></p> Этот процесс идет примерно так: <p></p> <ul> <li> создает основную базу данных v2 </li> <li> импортирует все необходимые таблицы </li> <li> импортирует все необходимые файлы языковых переводов, необходимые для поддержки </li> <li> предоставляет соответствующие права доступа </li> <li> обновляет итерационно основную базу данных v2 для получения последней версии </li></ul> <p></p> На GNU/Linux после того, как установите Postgres и учетные записи базы данных (например, <em>gm-dbo</em>) будут <a href="ConfigurePostgreSQLRu.html">настроены</a>, <em>а</em> программные файлы GNUmed будут <a href="SourcesFromVcsOnGnuLinuxRu.html">установлены из CVS</a> или из <a href="InstallerGuideLinRu.html">снимка архива</a>, все шаги по установке базы данных могут быть обработаны автоматически через сценарий Python <em>bootstrap_gm_db_system.py</em>, находящийся в <em>gnumed/server/bootstrap/</em>. В этом же каталоге предоставляется несколько конфигурационных файлов для начальной загрузки. <p></p> Этот процесс дополнительно упрощен, как описано выше, с использованием предоставленных скриптов. Они сами вызовут скрипт начальной загрузки и обеспечат необходимые опции командной строки путем подобных вызовов: <p></p> <pre> ./bootstrap_gm_db_system.py --conf-file=<a config file> </pre> <p></p> Если нужно вручную настроить их, читайте конфигурационные файлы и исходник скриптов начальной загрузки. Все параметры файла конфигурации описаны в <code>bootstrap-standard.conf.template</code>. <p></p> <a name="TopicEnd"></a> <p></p> <p></p> <p></p> <p></p> </div> </body></html>