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

Материал из Школьный портал: справочника
Перейти к: навигация, поиск
Строка 74: Строка 74:
 
rm -vf ./update_xxi.pl
 
rm -vf ./update_xxi.pl
 
rm -vf ./sp.sql
 
rm -vf ./sp.sql
 +
</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>
 
</pre>
  
 
Готово.
 
Готово.

Версия 11:15, 15 декабря 2010

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

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

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

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

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

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

Готово.