На этой странице мы отвечаем на вопросы, связанные с установкой и администрированием портала.

Как открыть доступ к интранет-порталу из интернета

Это может пригодиться, например, если нужно подключить удаленные офисы к интранет-порталу, а между офисами нет единой сети, или для организации удаленной работы некоторым сотрудникам.

Программа устанавливается на компьютере в организации в одном из офисов. Компания арендует внешний ip-адрес у своего провайдера интернета, и подключает компьютер к интернету, присвоив ему этот статический ip-адрес. Если сеть защищена брандмауером, компьютер должен находиться в демилитаризованной зоне. Порт 80 (или 8080, если используется он) должен быть открыт. Внешние пользователи получают доступ по адресу http://внешний-ip/. Можно с помощью DNS-сервера дать какое нибудь имя компьютеру.

Как сделать так, чтобы портал, установленный в Windows, автоматически включался при загрузке компьютера

Существует три пути, чтобы это сделать.

Наиболее простой (хотя и наименее правильный) — это настроить планировщик задач. Войдите в папку, в которую установлен портал, и запустите скрипт autostart.bat.

Либо откройте планировщик задач (Панель Управления → Система и безопасность → Администрирование → Расписание выполнения задач ) и создайте новую задачу (результат будет таким же).

Второй способ — установить серверы Tomcat и Postgresql как службы Windows.

Чтобы установить Postgresql как службу Windows, необходимо воспользоваться консольной командой pg_ctl register, находясь в директории pgsql\bin.

Чтобы установить Tomcat как службу Windows, необходимо воспользоваться консольной командой service install, находясь в директории tomcat\bin.

Третий (самый правильный, но и самый трудоемкий) — установить серверы Postgresql и Tomcat как службы Windows, а также JDK, воспользовавшись программами установки этих программ. Затем отконфигурировать серверы, установить драйвер postgresql, затем установить портал.

Как найти папку, в которую программа установки загрузила интранет-портал

Программа установки загружает портал в Домашнюю папку запустившего ее пользователя.

Как удалить портал с компьютера в среде Windows

Запустите программу uninst.exe, расположенную в папке EXXO.

Ярлык также расположен: Пуск → Все программы → EXXO → Uninstall.

ВНИМАНИЕ: запуск программы uninst.exe удалит также все данные, хранящиеся в портале. Так что, перед удалением портала рекомендуется сохранить данные.

Каков порядок применения обновлений

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

Распакуйте архив, скопируйте все файлы с расширением war.

Остановите портал или сервер Tomcat.

Зайдите в папку Tomcat/webapps и удалите папки EXXO, FILES, WELLCOME, START, ROOT а также одноименные файлы с расширением war. Вставьте файлы из пакета обновления.

Запустите сервер.

ВНИМАНИЕ: перед каждым обновлением настоятельно рекомендуется делать бэкап базы данных.

Создание базы данных и пользователя в PostgreSQL на консоли.

Если по каким-то причинам вы не хотите проделать эти операции при помощи pgAdmin, вам ничего другого не остается, как открыть консольное приложение.

В Linux, чтобы создать нового пользователя, набираем:

sudo -u postgres createuser exxo -P

и на вопрос

Shall the new role be a superuser? (y/n)

отвечаем y.

а в ответ на вопрос

Enter password for new role:

заводим необходимый пароль.

Создаем базу данных:

sudo -u postgres createdb EXXO -E UTF8

В Windows, чтобы создать нового пользователя, заходим в директорию, где хранятся исполняемые файлы PostgreSQL (что-то вроде: C:\Program Files\PostgreSQL\9.2\bin) и набираем:

createuser -U postgres exxo -P

и на вопрос

Shall the new role be a superuser? (y/n)

отвечаем y.

а в ответ на вопрос

Enter password for new role:

заводим необходимый пароль.

Создаем базу данных (находясь в той же директории):

createdb -U postgres EXXO -E UTF8

Установка PostgreSQL

Windows

Скачиваем последнюю версию программы отсюда

Запускаем. Программа установки запросит, куда установить программу, а также директорию, где будут храниться данные. Если нет особых пожеланий, лучше оставить, как есть. Затем она запросит пароль суперпользователя баз данных (postgres). Далее программа установки запросит порт TCP/IP для PostgreSQL. Оставим его, как есть. Далее, программа предложить выбрать локальные установки. Чтобы кодировка была UTF8 (ВАЖНО!), нужно выбрать локаль по умолчанию: "by default". Далее программа установит базу данных и в конце предложит установить дополнительные компоненты, что делать не обязательно.

Linux (Ubuntu

Войдите в Центр приложений Ubuntu. Наберите в поисковом окошке postgresql. В появившемся списке выберите сначала базу данных (object-relational SQL database) postgresql, а затем pgAdmin III.

Конфигурация PostgreSQL для работы с приложением Интранет-портал EXXO.ru.

Для нормального функционирования даже Демо-версии, необходимо правильно сконфигурировать PostgreSQL. Файл, который подлежит редактированию, называется postgresql.conf. Несмотря на расширение, это обычный текстовый файл и его можно редактировать в любом доступном текстовом редакторе (MS Word - не текстовый редактор).

В Windows файл может лежать по следующему пути: C:\Program Files\PostgreSQL\9.2\data\postgresql.conf. Откройте файл в программе Notepad, например.

В Ubuntu файл может лежать по следующему пути: p /etc/postgresql/9.2/main/postgresql.conf. Поскольку файл, скорее всего, будет защищен от записи, его нужно будет открыть от имени суперпользователя:

sudo kate /etc/postgresql/9.2/main/postgresql.conf

Большинство параметров в этом файле закомментированы (перед ними стоит значок #). Чтобы включить параметр, этот значок надо удалить. Ниже перечислены те параметры, которые необходимы для бесперебойной работы Демо-версии даже на самом плохом компьютере:

listen_addresses = 'localhost' - Этот параметр показывает, какие хосты должен слушать сервер базы данных. Поскольку нам нужен только localhost, мы это и отмечаем.

max_connections = 40 - максимальное количество соединений, которые сервер будет пытаться обработать одновременно. Значение по умолчанию 100, но если вы тестируете программу на настольном компьютере, то его лучше уменьшить.

superuser_reserved_connections = 35 - максимальное количество соединений, одновременно обслуживаемых от суперпользователя. Поскольку все запросы к базе данных у нас будут поступать от суперпользователя exxo, то его нужно сделать приблизительно равным предыдущему значению (чуть-чуть меньше).

shared_buffers = 16MB - это тот объем памяти, который будет выделятся под работу сервера базы данных. Для тестирования Демо-версии такого объема вполне достаточно, но впоследствии этот параметр нужно будет увеличить.

max_prepared_transactions = 20 - максимальное количество pretared statements, обрабатываемых сервером одновременно.

logging_collector = on - в принципе, для тестирования Демо-версии, этот параметр можно и не включать (он показывает, что нужно писать логи ошибок), но лучше это сделать сразу.

default_text_search_config = 'pg_catalog.russian' - очень важный параметр, отвечающий за функцию поиска. Его значение должно быть именно таким.

Данные параметры подходят исключительно для Демо-версии, чтобы вы могли ознакомится с возможностями Интранет-портала EXXO.ru. Окончательная конфигурация сервера зависит от множества факторов: объема оперативной памяти, скорости процессора, количества конечных пользователей, интенсивности использования некоторых функций программы (например, сохранения файлов) и т.д.

Вот некоторые советы, которые можно использовать при настройке PostgreSQL:

  • shared_buffers = 1/8 памяти (RAM) или больше (но не более 1/4). В любом случае, желательно, чтобы размер оперативной памяти компьютера был не ниже 2ГБ. Также лучше освободить компьютер от выполнения других операций.
  • work_mem в 1/20 RAM;
  • maintenance_work_mem в 1/4 RAM;
  • max_fsm_relations в планируемое кол–во таблиц в базах * 1.5;
  • max_fsm_pages в max_fsm_relations * 2000;
  • fsync = true;
  • wal_sync_method = fdatasync;
  • commit_delay = от 10 до 100 ;
  • commit_siblings = от 5 до 10;
  • effective_cache_size = 0.9 от значения cached, которое показывает free;
  • random_page_cost = 2 для быстрых cpu, 4 для медленных;
  • cpu_tuple_cost = 0.001 для быстрых cpu, 0.01 для медленных;
  • cpu_index_tuple_cost = 0.0005 для быстрых cpu, 0.005 для медленных;
  • autovacuum = on;
  • autovacuum_vacuum_threshold = 1800;
  • autovacuum_analyze_threshold = 900;
  • max_connections, и, соответственно, superuser_reserved_connections подбирается опытным путем и сильно зависит от количества пользователей и интенсивности их пользования программой.

У кого настроен pgAdmin, тот может воспользоваться им для редактирования конфигурационных файлов.

ВНИМАНИЕ: чтобы изменения конфигурации вступили в силу, сервер базы данных необходимо перегрузить!

Как перенести данные с одного сервера PostgreSQL на другой

Такая операция может потребоваться, например, в следующих случаях:

  • Перенос базы данных с одного компьютера на другой;
  • Обновление сервера PostgreSQL.

Допустим, нам нужно обновить PostgreSQL c с версии 9.1 до 9.2.

Был установлен новый сервер базы данных, настроены все конфигурационные файлы. Теперь необходимо перенести данные интранет-портала.

  1. Открываем конфигурационные файлы pg_hba.conf в обеих серверах и временно разрешаем доступ для наших операций:
    host  all  all  ::1/128  trust
  2. Запускаем старый сервер;
  3. Открываем консоль и заходим с нее в папку bin старого сервера PostgreSQL;
  4. Выполняем команду pg_dumpall -U exxo > dumpfile
    В папке bin создался файл дампа базы данных dumpfile;
  5. В новую базу переносим конфиги и создаем пользователя exxo с правами суперпользователя и соответствующим паролем, и базу EXXO, принадлежащую exxo в кодировке UTF8;
  6. Копируем dumpfile в папку bin новой базы данных;
  7. Открываем консоль и заходим с нее в папку bin нового сервера PostgreSQL;
  8. Выполняем команду: psql -f dumpfile -U exxo -d EXXO
  9. Удаляем dumpfile и восстанавливаем pg_hba.conf;

Как перенести данные Postgresql с одного диска на другой

Допустим, принято решение, что данные будут храниться на съемном жестком диске (F:), а не на диске компьютера.

Порядок действий:

  1. Делаем на диске F папку Data.
  2. Переносим из папки data (в ней по умолчанию хранятся все данные) все в новую папку Data.
  3. Редактируем скрипт start-postgres.bat:

    Заменяем строку:

    set PGDATA=%PGHOME%\data

    на:

    set PGDATA=F:\Data

  4. Запускаем портал. Если все работает, можно очистить папку data (она уже не нужна).

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