Развертывание инсталляции

Итак, есть выделенный или виртуальный сервер под FreeBSD, создан пользователь, к аккаунту которого дан SSH, внутри установлен subversion, Perl, в общем, все, что указано в Требованиях к системе. Приступим, помолясь...

Достать из репозитария инсталлятор

Стучимся по SSH к аккаунту, из-под которого будет работать Contenido. Инсталлятор разворачиваем прямо в корневой директории:

svn co http://contenido.me/repos/Contenido/utf8/install cndinst

или, если по каким-то непонятным причинам вам необходимо поставить koi8-версию:

svn co http://contenido.me/repos/Contenido/koi8/install cndinst

Запускаем инсталлятор

Если репозитарий доступен, в корневой директории возникнет каталог cndinst.

./cndinst/bin/install

Скрипт установки сначала проверит необходимые условия для работы (в первую очередь umask 2), задаст несколько наводящих вопросов:

Enter installation directory (absolute path) [/home/someuser/Contenido]:

(указать полный путь к желаемому месту установки или нажать Enter
для выбора умолчания)

Which is svn executable? [/usr/local/bin/svn]:
Which Contenido repository will be checked out? [http://contenido.me/repos/Contenido/utf8/core]:

(в обоих случаях просто подтвердить выбор установщика)

Contacting repository...    success

Enter server name [your.server.ru]:

Enter HTTP port [0]:

(обязательно указать порт, на котором будет работать локальный Apache)

Select database type: [N]ONE [R]EMOTE [S]INGLE [R]:

(тип базы данных)

Enter backups directory [/spool/backups]:
Enter crosslinks directory [/spool/crosslinks]:
Enter sessions directory [/spool/sessions]:

(это все оставить, как есть)

Summary:
    Installation directory:  /home/someuser/Contenido
    Executable svn:          /usr/local/bin/svn
    Contenido repository:    http://contenido.me/repos/Contenido/utf8/core
    Server name:             your.server.ru
    HTTP port:               10711
    Database type:           REMOTE
    Backups directory:       /spool/backups
    Crosslinks directory:    /spool/crosslinks
    Sessions directory:      /spool/sessions

Is it correct? [y]:

(подтверждаем)

После подтверждения скрипт установки достанет из репозитория исходники для сборки ядра, сформирует config.mk инсталляции и, по завершении, выдаст сообщение:

*****************************************************************
First step of Contenido installation finished.
Now change dir to '/home/autogoda/UTFC'.
Here, you can adjust some build options in 'config.mk' by hands.
After all run 'make install' and hope it will be successfull :)
*****************************************************************

Первая фаза установки завершена. Можно перейти к сборке.

Введенные настройки скрипта установки сохраняются в файле ~/.cndinst/install.conf и могут быть использованы для автозаполнения при установке дополнительных инсталляций. Количество инсталляций, работающих от имени одного пользователя, ограничено только возможностями ОС – каждой инсталляции необходимо указать отдельный путь на диске, по которому она будет жить, и уникальный IP порт, на котором будет отвечать Apache.

Запускаем сборку инсталляции

Переходим в каталог, указанный в процессе работе скрипта установки, и там запускаем команду:

make install

В процессе сборки ядра скрипт отчитывается о состоянии и статусе установки каждого модуля. Например:

##############################################################################
# Found installed module: BSD::Resource
# Version:  1.2903
# Location: /usr/local/lib/perl5/site_perl/5.8.8/mach/BSD/Resource.pm
#
# Skipped version:  1.28
##############################################################################
##############################################################################
#
# WARNING: Skipped
#
##############################################################################
BSD-Resource installed
----------------------------------------
State:   skipped
Date:    Вторник, 19 марта 2013 г. 14:48:56 (MSK)
Name:    BSD-Resource
Version: 1.28
----------------------------------------
port_install done

и в отдельных случаях может потребовать участия пользователя:

##############################################################################
# Found installed module: Image::Info
# Version:  1.28
# Location: /usr/local/lib/perl5/site_perl/5.8.8/Image/Info.pm
#
# Would you like continue to install version: 1.31 ?
##############################################################################
[I]nstall, [S]kip, [C]ancel ?

В подавляющем большинстве случаев достаточно нажать i. Cancel остановит процесс установки:

##############################################################################
#
# ERROR: Cancelled
#
##############################################################################
gmake: *** [/home/autogoda/UTFC/var/ports/db/Image-Info] Ошибка 99
gmake[2]: *** [/home/autogoda/UTFC/var/ports/db/Image-Info] Ошибка 2
gmake[1]: *** [port_install] Ошибка 2
gmake: *** [local_install] Ошибка 1
gmake: *** [install] Ошибка 2
*** Error code 2

Make-ры отдельных модулей тоже могут задавать вопросы, в отношении них действуйте, соответственно настройкам вашего аккаунта и ОС.

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

После установки ядра вы должны получить сообщение:

port_install done
local_install done

Это значит, можно приступать к установке проекта(-ов).

Что делать при возникновении ошибок в процессе установки?

Мы стараемся проверять все добавленные или замененный модули на разных системах, но, понятно, невозможно протестировать систему везде. При возникновении ошибок с зависимостями или с компиляцией того или иного модуля (вопрос не касается apache и mod_perl, которые собираются обязательно локально) первая и главная таблетка – поставить (или попросить сисадмина) нужный модуль глобально.

Ну и – обязательно – воспользуйтесь системой обратной связи и сообщите нам об ошибке.

Напишите нам

Структура директорий инсталляции Contenido 7
SRC versus USR или чем отличается Боевая инсталляция от Девелоперской
Установка под Linux (Ubuntu, CentOS)
Система управляющих команд Contenido 7