На этой странице мы отвечаем на вопросы, связанные с установкой и администрированием портала.
Как открыть доступ к интранет-порталу из интернета
Это может пригодиться, например, если нужно подключить удаленные офисы к интранет-порталу, а между офисами нет единой сети, или для организации удаленной работы некоторым сотрудникам.
Программа устанавливается на компьютере в организации в одном из офисов. Компания арендует внешний 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.
Был установлен новый сервер базы данных, настроены все конфигурационные файлы. Теперь необходимо перенести данные интранет-портала.
- Открываем конфигурационные файлы pg_hba.conf в обеих серверах и временно разрешаем доступ для наших операций:
host all all ::1/128 trust - Запускаем старый сервер;
- Открываем консоль и заходим с нее в папку bin старого сервера PostgreSQL;
- Выполняем команду pg_dumpall -U exxo > dumpfile
В папке bin создался файл дампа базы данных dumpfile; - В новую базу переносим конфиги и создаем пользователя exxo с правами суперпользователя и соответствующим паролем, и базу EXXO, принадлежащую exxo в кодировке UTF8;
- Копируем dumpfile в папку bin новой базы данных;
- Открываем консоль и заходим с нее в папку bin нового сервера PostgreSQL;
- Выполняем команду: psql -f dumpfile -U exxo -d EXXO
- Удаляем dumpfile и восстанавливаем pg_hba.conf;
Как перенести данные Postgresql с одного диска на другой
Допустим, принято решение, что данные будут храниться на съемном жестком диске (F:), а не на диске компьютера.
Порядок действий:
- Делаем на диске F папку Data.
- Переносим из папки data (в ней по умолчанию хранятся все данные) все в новую папку Data.
- Редактируем скрипт start-postgres.bat:
Заменяем строку:
set PGDATA=%PGHOME%\data
на:
set PGDATA=F:\Data
- Запускаем портал. Если все работает, можно очистить папку data (она уже не нужна).
Перед проведением всех этих операций рекомендуется сделать бэкап базы данных.