Установка "Школьного портала" на "другой" линукс — различия между версиями
(не показано 29 промежуточных версии 2 участников) | |||
Строка 1: | Строка 1: | ||
− | + | Последнее обновление статьи хочется дополнить следующей короткой информацией: "Есть виртуалки, есть docker, так что лучше не мучайтесь, поставьте на поддерживаемый дистрибутив в изоляции. Так вы решите вопрос установки в неродную для пакетов ОС". | |
− | + | Статья остаётся в архивных целях. | |
+ | |||
+ | *** | ||
+ | |||
+ | Прежде всего, данный вид установки не является рекомендованным, поскольку влечёт за собой множество действий вручную, что для начинающих пользователей сложнее, чем установка из пакета, кроме того обновление является столь же нетривиальной задачей. Рекомендуем сразу ставить из пакета. | ||
+ | |||
+ | Пакеты (установка из которых '''намного проще''') уже собраны для некоторых дистрибутивов 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] версии | + | * Сервер баз данных [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 | ||
Строка 17: | Строка 70: | ||
**GD-Graph | **GD-Graph | ||
**SpeedyCGI | **SpeedyCGI | ||
− | **ImageMagick | + | **PerlMagick (и сам ImageMagick) |
**Mail-Sender | **Mail-Sender | ||
**Text-Iconv | **Text-Iconv | ||
**DBD-InterBase | **DBD-InterBase | ||
**HTML-TagFilter | **HTML-TagFilter | ||
− | |||
− | Создаём директории | + | Настройте Apache и Firebird на автоматический старт при загрузке операционной системы. |
+ | |||
+ | Создаём директории: | ||
<pre> | <pre> | ||
mkdir -p /var/www/cgi-bin/sp /var/www/html/sp /opt/xxi/data | mkdir -p /var/www/cgi-bin/sp /var/www/html/sp /opt/xxi/data | ||
</pre> | </pre> | ||
− | Скачиваем | + | Скачиваем текущую версию Школьного портала в только что созданную директорию <code>/var/www/cgi-bin/sp/</code>, например, с помощью wget: |
<pre> | <pre> | ||
cd /var/www/cgi-bin/sp/ | cd /var/www/cgi-bin/sp/ | ||
Строка 40: | Строка 94: | ||
</pre> | </pre> | ||
− | + | Копируем базы и библиотеку UDF для Firebird на свои места, задаём владельца, группу и права доступа: | |
<pre> | <pre> | ||
mv *.gdb /opt/xxi/data/ | mv *.gdb /opt/xxi/data/ | ||
Строка 46: | Строка 100: | ||
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> | <pre> | ||
− | |||
UDF_PATH='/usr/lib/firebird/UDF' | UDF_PATH='/usr/lib/firebird/UDF' | ||
Строка 55: | Строка 109: | ||
</pre> | </pre> | ||
− | Запускаем скрипт, который поищет неустановленные модули. Если таковых не обнаружено, то задаст файлам владельца, группу и права доступа: | + | Запускаем скрипт setup.pl, который поищет неустановленные модули. Если таковых не обнаружено, то задаст файлам владельца, группу и права доступа: |
<pre> | <pre> | ||
cd /var/www/cgi-bin/sp | cd /var/www/cgi-bin/sp | ||
Строка 69: | Строка 123: | ||
</pre> | </pre> | ||
− | + | Удалим файлы, которые были нужны только для установки портала: | |
<pre> | <pre> | ||
rm -vf ./setup.pl | rm -vf ./setup.pl | ||
Строка 75: | Строка 129: | ||
rm -vf ./update_xxi.pl | rm -vf ./update_xxi.pl | ||
rm -vf ./sp.sql | rm -vf ./sp.sql | ||
+ | rm -vf ./sp-4.2.tar.bz2 | ||
</pre> | </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.