Статья описывает, как установить OpenPLM сервер в дистрибутиве CentOS
Примечание переводчика: Дистрибутив CentOS доступен в виде дисков с бинарными пакетами только для платных подписчиков, следовательно я не могу попробовать действия статьи.
Требования к установке
- Apache Server version: Apache/2.2.3
- PostgreSQL 8.1.22
- Python 2.6.5
- Django 1.1.4
Примечание 1: Django framework может запускаться и на SQLite 3 и MySQL и с другими веб-серверами. Разработчики приветствуют все нововведения и идеи, пожелания и комментарии оставляйте на сайте разработчиков. Также, Вы можете посетить сайт Django для дополнительной информации: Django websiteПримечание 2: Эта инструкция призвана к удачной установке, но возможно не до конца оптимизирована. Все предложения приветствуются.== 4.2.2.Установка соединений с необходимыми репозиторями ==
- rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
- rpm -Uvh http://download1.rpmfusion.org/free/el/updates/testing/5/i386/rpmfusion-free-release-5-0.1.noarch.rpm
- rpm -Uvh http://download1.rpmfusion.org/nonfree/el/updates/testing/5/i386/rpmfusion-nonfree-release-5-0.1.noarch.rpm
- wget http://www.graphviz.org/graphviz-rhel.repo
- cp /path/to/graphviz-rhel.repo /etc/yum.repo.d/
римечание: Если первые 3 команды не сработали, Вы можете скачать и переместить repo файл самостоятельно, через wget и cp как в последних двух командах.== 4.2.3. Инсталляция необходимых пактов ==
- yum groupinstall ‘Development Tools’
- yum install centos-ds-base-devel gcc swig perl-ExtUtils-PkgConfig
- yum install httpd mod_wsgi
- yum install python26 python26-tools python26-devel python26-imaging
- yum install postgresql-server libpqxx libpqxx-devel
- yum install pyPdf python-pip
- yum install graphviz graphviz-devel
4.2.4. Инсталляция SetupTools из исходников
- wget http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg#md5=bfa92100bd772d5a213eedd356d64086
- sh setuptools-0.6c11-py2.6.egg –install-dir=/usr/lib/python2.6/site-packages/
4.2.5. Установка gadFly/kjbuckkets из исходников
- wget http://sourceforge.net/projects/gadfly/files/gadfly/gadflyZip/gadflyZip.zip
- cd /patch/to/gadflyZip.zip
- unzip gadflyZip.zip
- cd /patch/to/gadflyZip/
- python2.6 setup.py install
- cd kjbuckets
- python2.6 setup.py install
4.2.6. Установка некоторых дополнений к Py
- easy_install-2.6 setuptools
- easy_install-2.6 odfpy
- easy_install-2.6 hashlib
- easy_install-2.6 psycopg2
- easy_install-2.6 pyPdf
4.2.7. Установка pygraphviz из исходников
- wget http://pypi.python.org/packages/source/p/pygraphviz/pygraphviz-1.1rc1.tar.gz#md5=7e709a8bf8d5103b461a5f54a399ef0d
- cd /patch/to/pygraphviz/
- tar -xzvf pygraphviz-1.1rc1.tar
- cd pygraphviz-1.1rc1
- python26 setup.py install
4.2.8. Установка Django из исходников
- wget http://www.djangoproject.com/download/1.1.4/tarball/
- cd /path/to/Django-1.1.4
- tar -xzvf Django-1.1.4.tar.gz
- cd Django-1.1.4
- python2.6 setup.py install
4.2.9. Проверим, чтобы все было в порядке
Для Apache веб-сервера:
root@openplm-demo:~# service httpd status Httpd is running (pid 5315).
Для Python :
root@openplm-demo:~# python2.6 Python 2.6.5 (r265:79063, Feb 28 2011, 21:55:56) [GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
Примечание: нажмите Ctrl-D для выхода из редактора Python
Для Django :
root@openplm-demo:~# python2.6 /usr/bin/django-admin.py --version 1.1.4
4.2.10. Взять исходники OpenPLM, используя Subversion
- yum install subversion
- mkdir /var/django
Все файлы при получении, будут записаны сюда: 1. cd /var/django
- svn co svn://openplm.org/openPLM
Папка ./openPLM создана, и исходники в ней 1. cd /var/django/openPLM
- svn info
Path: . URL: svn://openplm.org/openPLM Repository Root: svn://openplm.org/openPLM Repository UUID: 5b46f505-65de-4892-aab2-a53e26d394e5 Revision: 195 Node Kind: directory Schedule: normal Last Changed Author: pjoulaud Last Changed Rev: 195 Last Changed Date: 2010-08-25 11:29:03 +0200 (mer., 25 août 2010)
4.2.11. Настройка PostgreSQL
Старт PostgreSQL :
- service postgresql start
Проверка на запуск PostgreSQL:
- ps aux|grep postgres
postgres 25961 0.0 0.9 50544 4968 ? S Aug26 0:14 /usr/lib/postgresql/8.4/bin/postgres -D /var/postgres postgres 25963 0.0 1.0 50664 5600 ? Ss Aug26 1:07 postgres: writer process postgres 25964 0.0 0.2 50544 1336 ? Ss Aug26 1:00 postgres: wal writer process postgres 25965 0.0 0.2 50808 1480 ? Ss Aug26 0:28 postgres: autovacuum launcher process postgres 25966 0.0 0.2 14664 1224 ? Ss Aug26 0:24 postgres: stats collector process root 27338 0.0 0.1 3324 804 pts/3 R+ 16:53 0:00 grep --color=auto postgres
Примечание: Если PostgreSQL уже установлен, переходите к след. пунктам.Установка пароля для ‘postgres’ пользователей
(в примере пароль будет ‘MyPassword’ , но Вы можете поменять его на любой другой приемлемый)
- passwd postgres
- mkdir /var/postgres
Все файлы, необходимые для запуска PostgreSQL будут записаны в эту папку
- chown postgres:postgres /var/postgres/
- find / -name initdb
/usr/bin/initdb
- su postgres
- /usr/bin/initdb –encoding=UTF-8 –locale=fr_FR.UTF-8 –pgdata=/var/postgres/
- /usr/bin/postgres -D /var/postgres &
4.2.12. Изменение postgresql аутентификации и политики с последующим перезапуском
- vi /var/lib/pgsql/data/pg_hba.conf
local all postgres ident sameuser local all all md5 host all all 127.0.0.1/32 md5
- psql
postgres=#create database openplm; postgres=#create role django with password 'MyPassword' login; \q
- exit
- service postgresql restart'
4.2.13. Последняя инсталляция
- cd /var/django/openPLM/trunk/openPLM/
Проверка на все модули:
- python2.6 check_modules.py'
All is ok
- ./manage.py syncdb
Примечание: Вы создали суперпользователя для Django, и в этом примере имя ‘MyAdmin’, но Вы можете поменять на любое другое приемлемое.Внимание: Отредактируйте файл‘/var/django/openPLM/trunk/openPLM/settings.py’ и установите правильный пароль(‘MyPassword’) для поля DATABASE_PASSWORDСоздадим папку, в которую будет помещен пакет OpenPLM:
- mkdir /var/openPLM
Установи нужные права на папку:
- chown www-data:www-data /var/openPLM
Изменим права для папки под превью и навигационные схемы:
- chown www-data:www-data /var/django/openPLM/trunk/openPLM/media/thumbnails
- chown www-data:www-data /var/django/openPLM/trunk/openPLM/media/navigate
Активируйте navigate.py правильно :
- :command: `cp plmapp/navigate.py.centos plmapp/navigate.py
Настройка Apache server :
- vi /etc/httpd.d/conf/httpd.conf :
WSGIScriptAlias / /var/django/openPLM/trunk/openPLM/apache/django.wsgi Alias /media /var/django/openPLM/trunk/openPLM/media <Directory /var/django/openPLM/trunk/openPLM/docs> Order deny,allow Allow from all </Directory> <Directory /var/django/openPLM/trunk/openPLM/media> Order deny,allow Allow from all </Directory>
Перезапуск Apache server :
- service httpd restart
Примечание автора: У меня была проблема с WSGI, и мне пришлось создать /var/www/.python-eggs каталог и установить правильные права.== 4.2.14. Первые шаги в openPLM == Откройте броузер и введите
http://your_site_adress/admin/
Здесь your_site_adress дается как пример, Вы должны использовать свой адрес сайтаВведите пароль и имя администратораВы можете добавлять и редактировать пользователей тут Home>Auth>User
И не забудьте исправить в Home>Plmapp>User профили для нужных прав под программы в работе с openPLM:Примечание: Ссылка для большей информации о Django Admin tool.Можно совершать вход в систему:{{{ http://localhost/ }}}