Сегодня я
покажу как установить Plone 4.3 на оп.систему
CentOS 6.4.
В Сети есть
достаточно материалов на эту тему, но,
как обычно, на текущий момент эти
материалы несколько потеряли актуальность.
Почему CentOS?
Ну, например, потому, что провайдеры
хостинга VPS очень любят эту ОС. Или
потому, что в ней firewall включен изначально.
Или потому, что для Debian было бы проще,
но мы трудностей не боимся.
Поехали.
Делай раз:
установим CentOS в Virtualbox.
Скачиваем
исошник системы куда-нибудь на хост, да
хоть в папку Desktop:
Создаем
вирмашину с 512 мегабайт оперативки, 2
ядра, диск 80 Гб. Сетевой интерфейс
«bridged». Стартуем виртмашину с загрузкой
из вышеупомянутого исошника, ставим
систему.
По ходу выбираем
«Installation Method: URL» и вписываем
После установки,
свежую систему надо доточить напильником.
su -l yum check-update yum update yum install nano nano /etc/hostname deploy # для моего случая имя машины было «deploy.nhome.net» nano /etc/hosts 127.0.0.1 localhost deploy deploy.nhome.net nano /etc/sysconfig/network HOSTNAME=deploy.nhome.net # адрес брался из DHCP nano /etc/sysconfig/network-scripts/ifcfg-eth0 DHCP_HOSTNAME=”deploy” service network restart # непривилегированный пользователь, для одного из вариантов установки Plone и пр. useradd valik passwd valik yum install dkms gcc make kernel-devel mount /dev/cdrom /mnt pushd /mnt bash VBoxLinuxAdditions.run # видно, что ssh доступен а более нет ничего netstat -tulnpv |
Система
поставлена, обновлена, сеть настроена,
Virtualbox GuestAdditions установлены, можно
подключаться по ssh.
Чтобы
упростить/защитить подключение по ssh,
надо завязаться на ключи.
На своем хосте
(_не_ в гостевой машине!) настраиваю
ключи:
su -l valik ssh-copy-id valik@deploy nano ~/.ssh/config NoHostAuthenticationForLocalhost yes PubkeyAuthentication yes GSSAPIAuthentication no AddressFamily inet # в качестве проверки замонтируем папочку sshfs -o idmap=user -o follow_symlinks valik@deploy:/home/valik /home/valik/t # и законнектимся ssh -v valik@deploy |
Беспарольный
коннект по ssh работает.
На этом первичная
настройка ОС закончена.
Делай два:
поставим Plone.
Со страницы
http://plone.org/products/plone/releases
возьмем
свежайший дистр. Сейчас это 4.3.1
Заходим на
гостевую машину (deploy) и заклинаем:
su -l yum check-update yum update yum install wget su -l valik pushd /tmp wget https://launchpad.net/plone/4.3/4.3.1/+download/Plone-4.3.1r1-UnifiedInstaller.tgz tar zxf Plone-4.3.1r1-UnifiedInstaller.tgz cd Plone-4.3.1r1-UnifiedInstaller less README.TXT |
Внимательно
читаем README.TXT
Помимо разных
деталей, из ридми нам понятно:
1 — какие
библиотеки нужно установить перед
установкой Plone;
2 — установить
Плон можно «от рута» или «от нерута»,
на что это влияет;
3 — установить
Плон можно standalone или ZEO, на что это влияет.
Ну, ZEO вариант
мы сегодня ставить не будем, как нибудь
потом. А рут/не рут разберем сегодня.
Сборка Plone от
имени нерута — пользователя valik:
su -l valik pushd /tmp/Plone-4.3.1r1-UnifiedInstaller ./install.sh --password=12345678 --build-python --static-lxml=yes standalone |
Кто бы мог
подумать — поначалу сборка обрывается
с сообщениями об ошибках, ибо не хватает
библиотек и пакетов :)
Поставим
недостающие пакеты:
su -l yum groupinstall "Development tools" yum install gcc-c++ patch openssl-devel libjpeg-devel libxslt-devel readline-devel make which |
Любопытно, dev
tools требуют 222 Mb в распакованном виде.
Из ридми мы
знаем, что
> Optional wv,
poppler-utils May be installed after Plone install
для индексации
файлов *.doc, *.pdf. Однако, они не совсем
опциональны. Их отсутствие вызывает
ошибки при работе сайта Plone. Поэтому,
поставим их сразу.
Изучив текст
по адресу http://repoforge.org/use/
заклинаю:
su -l yum install poppler-utils wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm rpm -ivh rpmforge-release-0.5.3-1.el6.rf.i686.rpm yum install --enablerepo=rpmforge-extras wv |
Вот теперь
можно повторить сборку Plone и, на этот
раз, она пройдет без сучка и задоринки.
Делай три:
запускай сайт Plone.
su -l valik pushd ~/Plone/zinstance/ bin/plonectl start или bin/instance fg |
Что за нафиг,
в браузере сайта не видать ни по каким
адресам:
А это потому,
что файрволл в CentOS по умолчанию разрешает
только SSH
Открываем порт
tcp 8080 путем использования управлятора
файрволлом:
su -l yum install system-config-firewall-tui system-config-firewall-tui service iptables restart iptables -L |
после чего
сайт открылся. Кнопка «создать сайт
Плон» работает, ZMI работает, все хорошо.
Вся система
занимает сейчас 2.5 гигабайта. Значит,
установка Плона потребовала 1 гигабайт
диска, ибо свежеустановленная CentOS весила
1.5 гигабайта.
Для закрепления
материала установим Plone от рута, как и
положено в production:
su -l valik rm -rf ~/Plone su -l pushd /tmp/Plone-4.3.1r1-UnifiedInstaller ./install.sh --password=12345678 --build-python --static-lxml=yes standalone # запуск sudo -u plone_daemon /usr/local/Plone/zinstance/bin/instance fg # или sudo -u plone_daemon /usr/local/Plone/zinstance/bin/plonectl start |
Обновление
билдаута требует правильной текущей
директории:
su -l pushd /usr/local/Plone/zinstance sudo -u plone_buildout /usr/local/Plone/zinstance/bin/buildout -nv |
Обратите
внимание, запуск службы делается от
имени «plone_daemon» а запуск билдаута от
имени «plone_buildout» – и никак иначе.
В этой статье
мы показали, какие действия надо
предпринять, чтобы на «голую» CentOS 6.4
установить Plone 4.3.
В следующий
раз, если захочется, поглядим как сделать
production сервер на этой основе — как и
какой frontend поставить, как сделать
балансировку с использованием ZEO, как
настроить автозапуск служб, ротацию
логов, резервное копирование, etc.
original post http://vasnake.blogspot.com/2013/07/plone-43-on-centos-64.html
original post http://vasnake.blogspot.com/2013/07/plone-43-on-centos-64.html
Комментариев нет:
Отправить комментарий