Инсталяция more.groupware под FreeBSD

В данной статье рассмотрен процесс установки открытого средства для совместной работы more.groupware в системепод управлением FreeBSD.

[Igor Danylyak (mes at ukr.net)]

Keywords: php web groupware project From: Igor Danylyak <mes at ukr.net> Newsgroups: email Date: Mon, 26 Apr 2004 14:31:37 +0000 (UTC) Subject: .

Free project server - more.groupware. Инсталляция под FreeBSD.

more.groupware (http://www.moregroupware.org/) - это свободнораспространяемое веб-ориентированное приложение совместной работы, написанное на PHP.

Основные функции more.groupware:

  • управление проектами
  • управление контактами/адресами
  • веб-мейл
  • календарь
  • новости
Для работы more.groupware необходимы следующие компоненты:
  1. Веб-сервер (Apache рекомендуется).
  2. Сервер баз данных (PostgreSQL 7.x).
  3. PHP 4.x с поддержкой XML.
Порядок установки:
  1. Инсталлируем Apache. Почитать о инсталляции можно здесь http://apache.lexa.ru/install.html. Исходники здесь - ftp://ftp.lexa.ru/pub/apache-rus/

    Распаковываем:

        # tar zxvf apache_x.y.z.tar.gz
    
    Конфигурируем, компилируем, ставим:
        # cd apache_x.y.z
        # ./configure --prefix=/<путь>/ --enable-shared=max
        # make
        # make install
    
  2. Инсталляция PostgreSQL. Для компиляции PostgreSQL потребуется GNU make (рекомендуется версия 3.76.1 или выше). Проверяем, установлен ли GNU make / версию:
       # gmake --version
       если не установлен
          # cd /usr/ports/devel/gmake/
          # make
          # make install
          # make clean
    
    Переходим к инсталляции PostgreSQL Берем исходники с одного из указанных здесь http://www.postgresql.org/mirrors-ftp.html серверов.

    Распаковываем

        # tar zxvf postgresql-7.y.z.tar.gz
    
        # cd postgesql-7.y.z
        # ./configure
        # make
        # make install
    
    Скриптом adduser добавляем пользователя postgres.
        # mkdir /usr/local/pgsql/data
        # chown postgres /usr/local/pgsql/data
        # su postgres
        % /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
    
    Редактируем файл /usr/local/pgsql/data/postgresql.conf.
        tcpip_socket = true
        port = 5432
    
        % /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data/ -l  logfile  start
    
    Создаем базу для more.groupware.
        % /usr/local/pgsql/bin/createdb -E <кодировка> mgw
        Пр. (<кодировка> - WIN, KOI8 или др.)
    
    и пользователя
        % /usr/local/pgsql/bin/createuser -A -D -P mgw
    
  3. Следующий шаг - инсталляция PHP как модуля Apache. Скачиваем исходники PHP с http://www.php.net/downloads.php, а также инсталлируем необходимые расширения, поддержку которых необходимо будет включить в PHP, а именно:
          freetype
          curl
          gd
    
    (пр.: curl, gd также можно включить из поставки PHP)

    Проще всего будет сделать это через систему портов, с помощью команд:

        # cd /usr/ports/<имя порта>
        # make install
        # make clean
    
    или packages:
        # cd /<путь к коллекции пакетов>/All/
        # pkg_add <имя файла пакета>
    
    Собираем PHP:
        # tar zxvf  php-4.x.y.tar.gz
        # cd php-4.x.y
        # ./configure  --with-apxs=/<путь к инсталляции Apache>/bin/apxs \
          --with-pgsql \
          --with-curl \
          --with-gd \
          --with-zlib-dir=./ext/zlib/ \
          --with-freetype-dir
    
    (пр.: curl, gd также можно включить из поставки PHP, указав соответствующие директории в параметрах скрипта configure)
        # make
        # make install
        # cp php.ini-recommended /usr/local/lib/php.ini
    
    Добавляем в httpd.conf строку
        AddType application/x-httpd-php .php
    
    Редактируем конфигурационный файл PHP - php.ini. Нижеперечисленные опции должны быть в таком состоянии:
        include_path - должен содержать текущую директорию (include_path = ".")
        session.auto_start = 0
        safe_mode = 0
        magic_quotes_runtime = 0
        file_uploads = 1
        display_errors = 0
        allow_call_time_pass_reference = 1
        register_globals = 0
        magic_quotes_gpc = 0
    
    Директория, указанная в директиве session.save_path (/tmp/phpSIDs по умолчанию) должна существовать и быть доступной на запись для пользователя-владельца процессов apache (nobody по умолчанию).
        # /<путь к инсталляции Apache>/bin/apachectl start
    
    Теперь распаковываем, загруженные с http://moregroupware.sourceforge.net/download.php архивы в корне html-документов apache.
        # tar zxvf moregroupware-core-x.y.z.tar.gz
        # tar zxvf moregroupware-modules-insecure-x.y.z.tar.gz
        # tar zxvf moregroupware-docs-x.y.z.tar.gz
        # tar zxvf moregroupware-scripts-x.y.z.tar.gz
    
        # chown -R nobody:nogroup moregroupware
    
    Заходим браузером http://<хост>/moregroupware/index.php. Далее, руководствуясь подсказками инициализируем more.groupware. Указываем тип сервера баз данных - PostgreSQL, пользователь - mgw, база данных - mgw.

    В английском языке интерфейса используется кодировка iso-8859-1. Ее можно изменить, выполнив следующий запрос к базе more.groupware.

        UPDATE mgw_languages SET charset = 'windows-1251' WHERE langcode = 'en'
    
    для win-пользователей
        UPDATE mgw_languages SET charset = 'koi8-r' WHERE langcode = 'en'
    
    для Unix-пользователей.

    Также имеется возможность добавления нового языка интерфейса. Интернациональные настройки интерфейса хранятся в файлах с именами m.x.lang (m - имя модуля, x - код языка) внутри директории lang каждого модуля.

    Формат файлов прост:

        <имя ключа> = <текст>
    
    После создания файла языка необходимо выполнить следующий запрос к базе more.groupware:
        INSERT INTO mgw_languages (langcode, description, charset, active, lu_user, lu_date) 
    	   VALUES ('<x>', '<описание>', '<кодировка>', '1', '1', NOW())
    
Статья взята с сайта OpenNet.

[ опубликовано 30/04/2003 ]

Igor Danylyak (mes at ukr.net) - Инсталяция more.groupware под FreeBSD   Версия для печати