Сегодня я
покажу как установить 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.
возьмем
свежайший дистр. Сейчас это 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. Поэтому,
поставим их сразу.
заклинаю:
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