Установка "Школьного портала" на "другой" линукс

Материал из School Portal Wiki
Перейти к: навигация, поиск

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

Пакеты (установка из которых намного проще) уже собраны для некоторых дистрибутивов Linux. Список поддерживаемых дистрибутивов приведён на странице http://spcms.ru/download Там же приведены соответствующие инструкции по установке.

При острой необходимости установки на неподдерживаемый дистрибутив, свяжитесь с нами, мы рассмотрим сборку пакета для такого дистрибутива. Однако сразу хотим дать информацию к размышлению: что лучше, поставить Портал в поддерживаемый дистрибутив и сразу начать работать или терять время на ожидание сборки? :)

Новая инструкция

Возьмите deb-пакет от Ubuntu 10.04 по адресу http://repo.spcms.ru/sp-ubuntu/10.04/

Распакуйте:

ar x schoolportal_5.3-2_i386.deb

Вы получили два архива: control.tar.gz и data.tar.gz

Разложите содержимое data.tar.gz в файловую систему.

Извлеките из control.tar.gz файлы control и postinst.

Установите зависимости в соответствии с содержимым файла control.

Файл postinst — это shell-скрипт, который нужно выполнить.

Выполнять его рекомендуется блоками, проверяя, что после каждого действия получился положительный результат.

Проще всего устанавливать deb-пакет на дистрибутивы, основанные на Ubuntu и debian. Остальные дистрибутивы могут отличаться значительно. Это может привести к необходимости самостоятельной сборки зависимостей из-за отсутствия бинарных пакетов в репозиториях сильно отличающихся от Ubuntu дистрибутивов.

Те же действия придётся выполнять и при обновлении версии Портала. Именно поэтому, мы рекомендуем пользователям не ввязываться в нетривиальные приключения, а поставить Портал из пакета в поддерживаемый дистрибутив.

После выполнения всех действий можно в адресной строке браузера любого компьютера в локальной сети школы набрать адрес вашего сервера (например, http://192.168.0.1) и войти в портал. По умолчанию существует пользователь с правами администратора:

Логин: admin Пароль: smenimenya

Сразу смените пароль!

Для осуществления движения учащихся, понадобится модуль "Алфавитная книга", его можно скачать здесь: http://spcms.ru/download#abook.

Старая инструкция (не рекомендуется)

Приведённая ниже инструкция предназначена для установки портала на Linux-сервер в общем виде.

В данный момент поддерживается установка только на дистрибутивы, собранные для архитектуры x86. Поддержка x64 в разработке.

Школьный портал выполнен в виде web-приложения и для его работы на сервере должны быть установлены:

  • Web-сервер Apache 2. Включите следующие модули:
    • mod_cgi
    • mod_rewrite
    • mod_headers
    • mod_deflate
  • Сервер баз данных Firebird версии 2. или 2.1 (Classic или SuperServer). На версиях до 2.0 портал не работает. На версиях выше 2.1 работа ещё не тестировалась (если заработает, пожалуйста, сообщите нам).
  • Интерпретатор языка Perl не ниже версии 5.8 и его модули (которые можно либо поставить с помошью пакетного менеджера вашего дистрибутива (рекомендуется), либо скачать с CPAN и собрать):
    • CGI
    • CGI-Session
    • Archive-Zip
    • GD
    • GD-Graph
    • SpeedyCGI
    • PerlMagick (и сам ImageMagick)
    • Mail-Sender
    • Text-Iconv
    • DBD-InterBase
    • HTML-TagFilter

Настройте Apache и Firebird на автоматический старт при загрузке операционной системы.

Создаём директории:

mkdir -p /var/www/cgi-bin/sp /var/www/html/sp /opt/xxi/data

Скачиваем текущую версию Школьного портала в только что созданную директорию /var/www/cgi-bin/sp/, например, с помощью wget:

cd /var/www/cgi-bin/sp/
wget http://repo.spcms.ru/sp-4.2.tar.bz2

Распаковываем архив:

tar xf sp-4.2.tar.bz2

Копируем базы и библиотеку UDF для Firebird на свои места, задаём владельца, группу и права доступа:

mv *.gdb /opt/xxi/data/
chown -R firebird:firebird /opt/xxi/data/
chmod 660 /opt/xxi/data/*.*

ВНИМАНИЕ! Далее вместо /usr/lib/firebird/UDF/ укажите путь до папки UDF используемый в вашей системе:

UDF_PATH='/usr/lib/firebird/UDF'

mv UDFLib.dll $UDF_PATH/
chown firebird:firebird $UDF_PATH/UDFLib.dll
chmod 660 $UDF_PATH/UDFLib.dll

Запускаем скрипт setup.pl, который поищет неустановленные модули. Если таковых не обнаружено, то задаст файлам владельца, группу и права доступа:

cd /var/www/cgi-bin/sp
perl setup.pl

Инициализация базы данных:

perl update_xxi.pl sp.conf sp.sql
SP_ROOT_HTPASSWD=$(pwgen --secure 64 1)
perl sp_add_admin.pl root $SP_ROOT_HTPASSWD --silent
perl sp_add_admin.pl admin smenimenya --silent

Удалим файлы, которые были нужны только для установки портала:

rm -vf ./setup.pl
rm -vf ./sp_add_admin.pl
rm -vf ./update_xxi.pl
rm -vf ./sp.sql
rm -vf ./sp-4.2.tar.bz2

Настроим Apache. Создадим VirtualHost со следующими параметрами. Это минимальный набор директив для работоспособности Портала.

<VirtualHost *>

	AddHandler cgi-script .cgi .pl
	
	DocumentRoot /var/www/html
	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /var/www/html>
		Options -Indexes FollowSymLinks MultiViews
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>

	ScriptAlias /cgi-bin/ /var/www/cgi-bin/
	<Directory "/var/www/cgi-bin">
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
	</Directory>

</VirtualHost>

Для работы ЧПУ создадим файл .htaccess:

echo 'RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /cgi-bin/sp/cms/cms.pl?$1
RewriteRule ^$ /cgi-bin/sp/cms/cms.pl' >> /var/www/html/.htaccess

Теперь можно в адресной строке браузера (например, Mozilla Firefox) любого компьютера в локальной сети школы набрать адрес вашего сервера (например, http://192.168.0.1) и войти в портал. По умолчанию существует пользователь с правами администратора:

Логин: admin Пароль: smenimenya

Сразу смените пароль!

Для осуществления движения учащихся, понадобится модуль "Алфавитная книга", его можно скачать здесь: http://spcms.ru/download#abook.