Папка multisite - собственно система управления сайтами 4Site CMS.
Папка multisite/cgi-bin/windows - измененные скрипты из cgi-bin для совместимости с Windows.
Папка system - системный модуль для управления удаленными сайтами через SOAP.
Папка SQL - SQL-файлы со структурой и содержимым БД demo-сайта и системы управления.
Установка
Настройте Ваш Apache:
Разверните папки demo и multisite в корень сервера (если вы не будете менять названия папок, то demo будет {site_ROOT}, а multisite {multisite_ROOT}). Вы также можете разместить сайт рядом с системой, тогда {site_ROOT} будет совпадать с {multisite_ROOT} и они будут использовать один VirtualHost.
Настройте Apache: conf/httpd.conf (раздел, относящийся к VirtualHosts) (здесь и далее значения в фигурных скобках нужно заменить на свои):
Не забудьте добавить директивы Listen для портов сайта и Multisite настроить возможность обработки SSI-вставок в папке {site_ROOT}/htdocs (включая исполняемые SSI).
Скопируйте папку 4Site из папки system дистрибутива в /usr/local/lib/perl5/site_perl/{your_Perl_version}/SOAP (если Вы устанавливали модули через 'ppm', то такая папка у Вас уже появилась).
Создайте БД для сайта и Multisite (можно отдельные БД, можно одну).
Перейдите в папку SQL дистрибутива и выполните файл multisite.sql в БД системы и demo.sql в БД сайта.
Откройте modules/Settings.pm (в папке скриптов системы) и поправьте в нём настройки Multisite. Все настройки хранятся в хеше %c и переменной $base, нужно изменить значения в кавычках.
my $base = "{multisite_ROOT}";
# нужно прописать ту же директорию, которую вы указали
в настройкахhttpd.conf ({multisite_ROOT})
%c = (
dir => {
cgi => "$base/cgi-bin/",
# реальный путь к директории со скриптами (менять не нужно)
cgi_ref => "/cgi-bin",
# псевдоним директории со скриптами (путь в браузере)
interface => "$cgi/interface/",
# путь к папке шаблонов интерфейса (менять не нужно)
htdocs => "$base/htdocs",
# путь к директории с файлами HTML (менять не нужно)
},
mysql => {
user => "{DB_user}",
# пользователь mysql с широкими правами
pass => "{DB_password}",
# пароль пользователя mysql
database => "{multisite_DB}",
# название БД multisite (если вы не меняли multisite.sql, то multisite)
host => "{DBhost}",
# хост сервера БД (обычно localhost)
},
Откройте sitemodules/Settings.pm (в папке скриптов демо-сайта) и поправьте в нём настройки сайта:
my $base = "{site_ROOT}"; # где находится ваш demo-сайт
в файловой системе сервера ({multisite_ROOT}) (нужно узнать у хостера)
%c = (
dir => {
cgi => "$base/cgi-bin/",
# реальный путь к директории со скриптами (менять не нужно)
cgi_ref => "/cgi-bin",
# псевдоним директории со скриптами (путь в браузере)
pagetemplate => "$base/cgi-bin/pagetemplate/",
# путь к папке шаблонов элементов страниц (менять не нужно)
htdocs => "$base/htdocs",
# путь к директории с файлами HTML (менять не нужно)
gallery => "$base/htdocs/img/gallery",
# путь к папке галереи (для модуля Галерея) (менять не нужно)
gallery_rel => "/img/gallery",
# псевдоним галереи (путь в браузере) (менять не нужно)
},
mysql => {
user => "root",
# пользователь mysql с широкими правами
pass => "",
# пароль пользователя mysql
database => "{site_DB}",
# название БД сайта
host => "{DBhost}",
# хост сервера БД (обычно localhost)
},
soap => {
login => 'test',
# внутрисистемное имя для доступа
к сайту через SOAP (менять не нужно)
passwd => 'test',
# пароль для доступа через SOAP (менять не нужно)
},
Откройте файл ServerAuth.pl сайта из папки {site_ROOT}/pcgi/SOAP. После use strict; вставьте следующую строку: use lib qw({site_ROOT}/pcgi);
В строке ->dispatch_to('') отредактируйте путь к папке SOAP/4Site (должен быть '{Perl_PATH}/site/lib/SOAP/4Site')
Откройте в броузере http://{multisite_address}, введите логин test и такой же пароль, войдите в систему. При ошибках проверьте error_log ({multisite_ROOT}/multisite-error_log).
Нажмите на кнопку «Система» сверху справа.
Зайдите на «Сайты» (меню слева), выберите сайт "Test (Distrib)" и исправьте его данные на фактические.
Откройте в броузере http://{site_IP:port}. При ошибках проверьте error_log ({site_ROOT}/test-error_log).