Установка "Школьного портала" на "другой" линукс — различия между версиями

Материал из Школьный портал: справочника
Перейти к: навигация, поиск
 
(не показаны 34 промежуточные версии 2 участников)
Строка 1: Строка 1:
=== Данная статья не завершена! ===
+
Последнее обновление статьи хочется дополнить следующей короткой информацией: "Есть виртуалки, есть docker, так что лучше не мучайтесь, поставьте на поддерживаемый дистрибутив в изоляции. Так вы решите вопрос установки в неродную для пакетов ОС".
  
Установка Школьного портала на AltLinux Школьный сервер 5 описана [http://spcms.ru/download здесь], на Ubuntu server 10.04 LTS [http://todo здесь]. Если вы используете другой дистрибутив, тогда воспользуйтесь '''этой''' инструкцией.
+
Статья остаётся в архивных целях.
 +
 
 +
***
 +
 
 +
Прежде всего, данный вид установки не является рекомендованным, поскольку влечёт за собой множество действий вручную, что для начинающих пользователей сложнее, чем установка из пакета, кроме того обновление является столь же нетривиальной задачей. Рекомендуем сразу ставить из пакета.
 +
 
 +
Пакеты (установка из которых '''намного проще''') уже собраны для некоторых дистрибутивов Linux.
 +
Список поддерживаемых дистрибутивов приведён на странице http://spcms.ru/download
 +
Там же приведены соответствующие инструкции по установке.
 +
 
 +
При острой необходимости установки на неподдерживаемый дистрибутив, свяжитесь с нами, мы рассмотрим сборку пакета для такого дистрибутива. Однако сразу хотим дать информацию к размышлению: что лучше, поставить Портал в поддерживаемый дистрибутив и сразу начать работать или терять время на ожидание сборки? :)
 +
 
 +
=== Новая инструкция ===
 +
 
 +
Возьмите deb-пакет от Ubuntu 10.04 по адресу http://repo.spcms.ru/sp-ubuntu/10.04/
 +
 
 +
Распакуйте:
 +
 
 +
<pre>
 +
ar x schoolportal_5.3-2_i386.deb
 +
</pre>
 +
 
 +
Вы получили два архива: <code>control.tar.gz</code> и <code>data.tar.gz</code>
 +
 
 +
Разложите содержимое <code>data.tar.gz</code> в файловую систему.
 +
 
 +
Извлеките из <code>control.tar.gz</code> файлы <code>control</code> и <code>postinst</code>.
 +
 
 +
Установите зависимости в соответствии с содержимым файла <code>control</code>.
 +
 
 +
Файл <code>postinst</code> — это shell-скрипт, который нужно выполнить.
 +
 
 +
Выполнять его рекомендуется блоками, проверяя, что после каждого действия получился положительный результат.
 +
 
 +
Проще всего устанавливать deb-пакет на дистрибутивы, основанные на Ubuntu и debian.
 +
Остальные дистрибутивы могут отличаться значительно. Это может привести к необходимости самостоятельной сборки зависимостей из-за отсутствия бинарных пакетов в репозиториях сильно отличающихся от Ubuntu дистрибутивов.
 +
 
 +
Те же действия придётся выполнять и при обновлении версии Портала.
 +
Именно поэтому, мы рекомендуем пользователям не ввязываться в нетривиальные приключения, а поставить Портал из пакета в поддерживаемый дистрибутив.
 +
 
 +
После выполнения всех действий можно в адресной строке браузера любого компьютера в локальной сети школы набрать адрес вашего сервера (например, http://192.168.0.1) и войти в портал. По умолчанию существует пользователь с правами администратора:
 +
 
 +
Логин:  admin
 +
Пароль: smenimenya
 +
 
 +
Сразу смените пароль!
 +
 
 +
Для осуществления движения учащихся, понадобится модуль "Алфавитная книга", его можно скачать здесь: [http://spcms.ru/download#abook http://spcms.ru/download#abook].
 +
 
 +
=== Старая инструкция (не рекомендуется) ===
 +
 
 +
Приведённая ниже инструкция предназначена для установки портала на Linux-сервер в общем виде.
 +
 
 +
В данный момент поддерживается установка '''только''' на дистрибутивы, собранные для архитектуры x86. Поддержка x64 в разработке.
  
 
Школьный портал выполнен в виде web-приложения и для его работы на сервере должны быть установлены:
 
Школьный портал выполнен в виде web-приложения и для его работы на сервере должны быть установлены:
* Web-сервер [http://ru.wikipedia.org/wiki/Apache Apache] со включенными модулями:
+
* Web-сервер [http://ru.wikipedia.org/wiki/Apache Apache 2]. Включите следующие модули:
 
**mod_cgi
 
**mod_cgi
 
**mod_rewrite
 
**mod_rewrite
 
**mod_headers
 
**mod_headers
 
**mod_deflate
 
**mod_deflate
* Сервер баз данных [http://ru.wikipedia.org/wiki/Firebird Firebird] версии не ниже 2.0 (допустим как Classic, так и SuperServer);
+
* Сервер баз данных [http://ru.wikipedia.org/wiki/Firebird Firebird] версии 2. или 2.1 (Classic или SuperServer). На версиях до 2.0 портал не работает. На версиях выше 2.1 работа ещё не тестировалась (если заработает, пожалуйста, [http://spcms.ru/contact сообщите нам]).
* Интерпретатор языка [http://ru.wikipedia.org/wiki/Perl Perl] не ниже версии 5.8 и его модули:
+
* Интерпретатор языка [http://ru.wikipedia.org/wiki/Perl Perl] не ниже версии 5.8 и его модули (которые можно либо поставить с помошью пакетного менеджера вашего дистрибутива (рекомендуется), либо скачать с [http://search.cpan.org/ CPAN] и собрать):
 
**CGI
 
**CGI
 
**CGI-Session
 
**CGI-Session
 
**Archive-Zip
 
**Archive-Zip
 
**GD
 
**GD
**GD-Graph**SpeedyCGI
+
**GD-Graph
**ImageMagick
+
**SpeedyCGI
 +
**PerlMagick (и сам ImageMagick)
 
**Mail-Sender
 
**Mail-Sender
 
**Text-Iconv
 
**Text-Iconv
 
**DBD-InterBase
 
**DBD-InterBase
 
**HTML-TagFilter
 
**HTML-TagFilter
(которые можно либо поставить с помошью пакетного менеджера вашего дистрибутива, либо скачать с [http://search.cpan.org/ CPAN]) и собрать;
 
* Библиотека UDF для Firebird [http://todo UDFLib]. Ёе нужно положить в директорию, предназначенную для хранения таких библиотек (это может быть <code>/opt/firebird/UDF/</code>, <code>/usr/lib/firebird/UDF/</code> или другой каталог в зависимости от дистрибутива);
 
  
Создаём директории
+
Настройте Apache и Firebird на автоматический старт при загрузке операционной системы.
 +
 
 +
Создаём директории:
 
<pre>
 
<pre>
mkdir -p /var/www/cgi-bin/sp
+
mkdir -p /var/www/cgi-bin/sp /var/www/html/sp /opt/xxi/data
mkdir -p /var/www/html/sp
+
mkdir -p /opt/xxi/data
+
 
</pre>
 
</pre>
  
Скачиваем [http://todo текущую версию портала] в только что созданную директорию <code>/var/www/cgi-bin/sp/</code>, например, с помощью wget:
+
Скачиваем текущую версию Школьного портала в только что созданную директорию <code>/var/www/cgi-bin/sp/</code>, например, с помощью wget:
 
+
 
<pre>
 
<pre>
wget http://todo -O /var/www/cgi-bin/sp/sp-4.2.tar.bz2
+
cd /var/www/cgi-bin/sp/
 +
wget http://repo.spcms.ru/sp-4.2.tar.bz2
 
</pre>
 
</pre>
  
Распаковываем архив в директории <code>/var/www/cgi-bin/sp/</code>:
+
Распаковываем архив:
 
+
 
<pre>
 
<pre>
cd /var/www/cgi-bin/sp/
 
 
tar xf sp-4.2.tar.bz2
 
tar xf sp-4.2.tar.bz2
 
</pre>
 
</pre>
  
Скачать чистые базы, задаём владельца, группу и права доступа:
+
Копируем базы и библиотеку UDF для Firebird на свои места, задаём владельца, группу и права доступа:
 
+
 
<pre>
 
<pre>
cd /opt/xxi/data
+
mv *.gdb /opt/xxi/data/
wget TODO...
+
 
chown -R firebird:firebird /opt/xxi/data/
 
chown -R firebird:firebird /opt/xxi/data/
 
chmod 660 /opt/xxi/data/*.*
 
chmod 660 /opt/xxi/data/*.*
 
</pre>
 
</pre>
 +
<span style="color:red">ВНИМАНИЕ!</span> Далее вместо <code>/usr/lib/firebird/UDF/</code> укажите путь до папки UDF используемый в вашей системе:
 +
<pre>
 +
UDF_PATH='/usr/lib/firebird/UDF'
  
 +
mv UDFLib.dll $UDF_PATH/
 +
chown firebird:firebird $UDF_PATH/UDFLib.dll
 +
chmod 660 $UDF_PATH/UDFLib.dll
 +
</pre>
 +
 +
Запускаем скрипт setup.pl, который поищет неустановленные модули. Если таковых не обнаружено, то задаст файлам владельца, группу и права доступа:
 
<pre>
 
<pre>
 
cd /var/www/cgi-bin/sp
 
cd /var/www/cgi-bin/sp
 
perl setup.pl
 
perl setup.pl
 
</pre>
 
</pre>
 +
 +
Инициализация базы данных:
 +
<pre>
 +
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
 +
</pre>
 +
 +
Удалим файлы, которые были нужны только для установки портала:
 +
<pre>
 +
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
 +
</pre>
 +
 +
Настроим Apache. Создадим VirtualHost со следующими параметрами. Это минимальный набор директив для работоспособности Портала.
 +
<pre>
 +
<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>
 +
</pre>
 +
 +
Для работы [[ЧПУ]] создадим файл .htaccess:
 +
<pre>
 +
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
 +
</pre>
 +
 +
Теперь можно в адресной строке браузера (например, Mozilla Firefox) любого компьютера в локальной сети школы набрать адрес вашего сервера (например, http://192.168.0.1) и войти в портал. По умолчанию существует пользователь с правами администратора:
 +
 +
Логин:  admin
 +
Пароль: smenimenya
 +
 +
Сразу смените пароль!
 +
 +
Для осуществления движения учащихся, понадобится модуль "Алфавитная книга", его можно скачать здесь: [http://spcms.ru/download#abook http://spcms.ru/download#abook].

Текущая версия на 19:35, 23 апреля 2020

Последнее обновление статьи хочется дополнить следующей короткой информацией: "Есть виртуалки, есть docker, так что лучше не мучайтесь, поставьте на поддерживаемый дистрибутив в изоляции. Так вы решите вопрос установки в неродную для пакетов ОС".

Статья остаётся в архивных целях.

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

Пакеты (установка из которых намного проще) уже собраны для некоторых дистрибутивов 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.