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

Материал из Школьный портал: справочника
Перейти к: навигация, поиск

Данная статья не завершена!

Установка Школьного портала на AltLinux Школьный сервер 5 описана здесь, на Ubuntu server 10.04 LTS — здесь. Если вы используете другой дистрибутив, тогда воспользуйтесь этой инструкцией.

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

  • Web-сервер Apache. Включите следующие модули:
    • 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
    • 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

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

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

Настроим 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

Готово.