Итак, есть выделенный или виртуальный сервер под 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, которые собираются обязательно локально) первая и главная таблетка – поставить (или попросить сисадмина) нужный модуль глобально.
Ну и – обязательно – воспользуйтесь системой обратной связи и сообщите нам об ошибке.