·  English  ·  Русский  ·   ·  ePortal @ www.sourceforge.net  · 
Главное меню

Установка ePortal
:: Ответственность   

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

:: Обратная связь   

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

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

Ваши предложения помогут мне точнее сформулировать процесс установки, улучшить документацию проекта.

Далее по тексту будут встречаться упоминания конкретных версий различных продуктов, например Perl 5.6.1. Это означает, что мною устанавливались и тестировались именно эти версии на момент написания этой статьи. Установку более свежих версий производите на свой страх и риск. Пржде чем писать ругательные письма, что "ничего не работает", попробуйте установить именно то, что я рекомендую.

Процесс установки описан более подробно именно в части Windows. Почему-то вопросов от Linux-пользователей почти не поступает... ;-)

:: Требования к серверу   

Рекомендуемая ОС для сервера ePortal - RedHat Linux 7.3 или ASPLinux 7.3. Возможна работа ePortal под MS Windows 2000/XP, но процесс установки несколько усложняется.

Теоретически ePortal + Apache + MySQL будут работать на любом компьютере со 128 Мб памяти. Наиболее "тяжелым" для исполнения является интерпретатор Perl. Сервер Apache и сервер баз данных MySQL можно установить на разных компьютерах - это немного облегчит ситуацию. Для серьезной нагрузки (несколько сотен пользователей) желательно использовать 2-х процессорный сервер с 1 Gb памяти. Он сможет обрабатывать 5-10 запросов в сек. к сложным страницам с большим количеством вычислений и до 200 запросов в сек. к изображениям и простым страницам.

Новые дистрибутивы Linux содержат в комплекте поставки Apache2, работа с которым затруднена из-за отсутствия некоторых необходимых модулей. Как только это станет возможным, я опишу процесс установки ePortal под Apache2.

:: Клиент - browser   

В качестве клиента интенсивно тестируется и используется Internet Explorer версии 5 и выше. Версия 4, возможно, тоже будет работать. Работа других browser не гарантируется в части JavaScript и поддержки таблиц стилей.

:: Устанавливаем Perl   

Win32: Загружаем и устанавливаем Perl 5.6.1. Версия 5.6.0 не годится из-за существующих в ней ошибок. Устанавливаем как нас и просят в c:\Perl.

Linux: Пользователи Linux скорее всего уже имеют установленный Perl. Убедитесь, что установлена нужная версия: perl -v

:: Устанавливаем MySQL   

MySQL - очень простой и очень быстрый SQL сервер. Может работать практически на всех платформах. Загрузите и установите MySQL версии 3 или 4. Желательно брать версию 4 как более продвинутую в плане возможностей.

По умолчанию MySQL будет "пускать" вас с этого же компьютера, т.е. с адреса 127.0.0.1 под именем root без пароля. Желательно прочитать хотя бы основы безопасности MySQL и создать специального пользователя для ePortal.

Необходимо создать базу данных специально для ePortal:

mysql> create database eportal;
Query OK, 1 row affected (0.00 sec)
mysql> quit;
или так:
   mysqladmin create eportal

:: Устанавливаем Apache   

Для работы необходим Apache версии 1.3. Версия 2 пока не годится. Некоторые проблемы еще не решены (не у меня).

Win32: Версию Apache необходимо выбирать в соответствии с версией mod_perl. Для этого загружаем на диск (сохранить объект как...)mod_perl.ppd и смотрим его содержимое текстовым редактором. Нас будет интересовать всего одна строка:

<ABSTRACT>Embed a Perl interpreter in the Apache/1.3.27 HTTP server</ABSTRACT>

Следовательно нам нужен Apache версии 1.3.27 и никакой другой. Загружаем его с адреса http://archive.apache.org/dist/httpd/binaries/win32/ или смотрим в более старых архивах: http://archive.apache.org/dist/httpd/binaries/win32/old/

При установке следует указать путь C:\. Программа установки создаст каталог C:\Apache и сам сервер будет установлен в него. Можно, конечно, использовать предлагаемый по умолчанию путь C:\Program Files\Apache Group, по тогда в именах файлов и путях появятся пробелы - лишний источник проблем.

:: Устанавливаем ePortal   

Linux:

  Perl Build.PL
  ./Build
  ./Build install

Win32: Проще всего распаковать содержимое архива ePortal-x.xx.tgz в каталог /opt/ePortal. Дополнительные приложения ePortal распаковываются тоже в этот же каталог.

При повторной установке ePortal (при обновлении версии) желательно удалить старое содержимое /opt/ePortal, чтобы не возникало лишних проблем. Все содержимое сайта, его настройки, загруженные файлы хранятся в базе данных.

:: Устанавливаем модули Perl   

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

Linux:

    perl -MCPAN -eshell
    install Bundle::ePortal
Все необходимые пакеты будут загружены с ближайшего зеркала CPAN и установлены в вашей системе.

Win32: Часть модулей можно установить с сайта ActiveState:

  c:\> ppm install Date-Calc
  c:\> ppm install DBI
  c:\> ppm install DBD-mysql
  c:\> ppm install Error
  c:\> ppm install Exception-Class
  c:\> ppm install Image-Size
  c:\> ppm install Text-Wrapper
  c:\> ppm install perl-ldap

Однако, большая часть модулей не распространяется ActiveState либо доступна в очень старом виде. Посмотрите здесь: http://theoryx5.uwinnipeg.ca/ppmpackages/ или http://perl.apache.org/dist/win32-bin/ppmpackages/. Устанавливаюься модули достаточно просто:

  c:\> ppm install http://perl.apache.org/dist/win32-bin/ppmpackages/mod_perl.ppd
  c:\> ppm install http://perl.apache.org/dist/win32-bin/ppmpackages/libapreq.ppd
  c:\> ppm install http://theoryx5.uwinnipeg.ca/ppmpackages/HTML-Mason.ppd
  c:\> ppm install http://theoryx5.uwinnipeg.ca/ppmpackages/Mail-Sendmail.ppd
  c:\> ppm install http://theoryx5.uwinnipeg.ca/ppmpackages/Unicode-Map8.ppd

Возможно, я забыл упомянуть здесь какие-либо модули. В этом случае при запуске Apache вы получите ошибку в error.log похожую на Can't locate SomeModule.pm in @INC (@INC contains: c:\opt\ePortal\lib c:/Perl/lib c:/Perl/site/lib .). BEGIN failed--compilation aborted. В этом случае надо обязательно отыскать этот модуль и установить его.

:: Переменные окружения   

Чтобы программные модули ePortal знали, где находится база данных для своего сайта необходимо задать некоторые переменные окружения. Если внутри Apache это можно сделать на уровне каждого отдельного виртуального сайта при помощи PerlSetVar ePortal_dbi_xxx, то для скритов (например, ePortal_cron.pl) это необходимо явно указать в скрипте, откуда производится запуск.

Win32: Используем Панель управления/Система/Дополнительно/Переменные среды/Системные переменные

Linux: Переменные экспортируем (export VAR=xxx) в скриптах запуска Apache или утилит ePortal.

 
  export EPORTAL_DBI_HOST=localhost
  export EPORTAL_DBI_DATABASE=eportal
  export EPORTAL_DBI_USERNAME=root
  export EPORTAL_DBI_PASSWORD=******

PERL5LIB=/opt/ePortal/lib сюда мы скопировали ePortal и все библиотеки

PERL_NO_VALIDATION=1 отключаем режим отладки (Params::Validate). Скорость работы увеличится на 20%.

EPORTAL_DBI_HOST=localhost MySQL сервер
EPORTAL_DBI_DATABASE=eportal база данных
EPORTAL_DBI_USERNAME=root имя пользователя MySQL
EPORTAL_DBI_PASSWORD= и его пароль

:: Настройка Apache   

Настройка сервера Apache сводится к редактированию его конфигурационного файла httpd.conf. Желательно иметь представление о том, как работает Apache и зачем нужны те или иные параметры конфигурации... Для удобства можно загрузить готовый httpd.conf конфигурационный файл и скопировать его в c:\Apache\conf.

:: Первый запуск   

Для самого первого запуска необходимо включить "режим администратора". Любой пользователь, обратившийся к ePortal автоматически наделяется правами администратора. Это необходимо чтобы создать таблицы в базе данных и зарегистрировать хотя бы одного пользователя, который будет администратором. В дальнейшем следует отключить этот режим!

  export EPORTAL_ADMIN_MODE=1
  или 
  PerlSetVar ePortal_admin_mode = 1 для httpd.conf

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

Эту процедуру необходимо обязательно выполнять после установки нового приложения ePortal. Вручную это можно сделать выбрав первый пункт из списка на странице администратора или запросив URL http://localhost/admin/ePortal_database.htm

:: Периодические задания   

Необходимо обеспечить периодический запуск скрипта bin/ePortal-cron.pl каждые 5 минут. Не забудьте про правильные переменные окружения! Если у вас есть несколько сайтов ePortal, то запускайте этот скрипт для каждого сайта каждый раз устанавливая соответствующие переменные окружения.

   perl ePortal-cron.pl

Начиная с версии 4.5 утилита ePortal_cron.pl поддерживает эти параметры подключения к базе данных в командной строке.

  perl ePortal_cron.pl --host=localhost --database=eportal --user=username --password=xxx

Linux: Для пользователей Unix прилагается пример файла crontab: samples/crontab

Win32: Пользователи Windows NT 4 должны самостоятельно изыскать способ периодического запуска скрипта. Windows 2000 предлагает возможность создать "назначенное задание".

:: Обновление версии ePortal   

Перед обновлением версии ePortal необходимо остановить MySQL сервер и скопировать каталог с базой ePortal. Это поможет вам в том случае, если процесс обновления пойдет не так, как надо.

Желательно также сохранить содержимое каталога /opt/ePortal, либо иметь дистрибутив установленной версии ePortal.

Linux: Сохраните каталог /var/lib/mysql/eportal

Win32: Сохраните каталог c:\mysql\data\eportal

Если в новой версии ePortal были произведены изменения в структуре базы данных, то при первом обращении к серверу вы будете автоматически перенаправлены на страницу проверки структуры базы данных.

Удачи!