Сервер для школ::Журнал СА4.2005
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6126
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6837
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4120
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 2971
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3776
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3784
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6273
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3129
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3427
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7242
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10612
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12331
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13964
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9094
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7049
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5356
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4587
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3397
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3123
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3376
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 2996
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Сервер для школ

Архив номеров / 2005 / Выпуск №4 (29) / Сервер для школ

Рубрика: Карьера/Образование /  Образование

Сергей Яремчук СЕРГЕЙ ЯРЕМЧУК, фрилансер. Автор более 800 статей и шести книг. С «СА» с первого номера. Интересы: сетевые технологии, защита информации, свободные ОС

Сервер для школ

Сегодня как никогда велик интерес к использованию свободного ПО в учебных заведениях. Если к применению GNU/Linux, как признанного флагмана движения Open Source, на настольных системах предстоит еще пройти долгий путь, то на серверах положение не так плачевно. Энтузиасты уже давно используют преимущества свободного ПО, остается только подобрать необходимые приложения, чтобы решить возникшие задачи.

OpenAdministrationforSchools – OpenAdmin (http://richtech.ca/openadmin/index.html) представляет собой свободный Open Source-проект, предназначенный для решения задач по автоматизации учета, сбора и вывода информации, адаптированный для применения в школах и других, в том числе и высших учебных заведениях. Вся собранная информация сохраняется в базе данных, доступ к которой осуществляется при помощи веб-сервера, поэтому OpenAdmin не диктует особых требований к клиентскому ПО. Во избежание проблем с безопасностью для выдачи информации различным группам пользователей используются раздельные виртуальные веб-узлы. Так, каждая школа имеет по умолчанию три веб-узла. Все они защищены паролем. Кроме того, учителя используют индивидуальный пароль на преподавательском сайте, а устанавливаемые для удобства работы cookies имеют короткий период действия по умолчанию. Для доступа к данным на родительском и студенческом сайтах также используются индивидуальные логин и пароль. Отдельный виртуальный сайт может использоваться для вывода информации третьим лицам, что позволяет избежать делегирования прав. При этом если преподаватели ведут отдельные курсы со своими программами, для их учета используется отдельный сайт (iep). В дальнейшем планируется полная поддержка https, но пока этим заниматься придется самому. Распространяется OpenAdmin по лицензии GNU GPL.

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

Итак, в настоящее время OpenAdmin позволяет хранить и выводить по запросу следующую информацию:

  • Student Demographics – все необходимые сведения об учащихся, причем можно занести не только стандартные паспортные, контактные данные и сведения о родителях, но и при необходимости этническую, религиозную, медицинскую и другую информацию, а также организовать поиск, отбор, предварительный анализ и вывод фактически по каждому пункту.
  • Attendance System – сюда заносятся данные о посещаемости, а точнее отсутствии учащихся на занятиях. Позволяет отследить посещаемость ученика не только по дням, но и по занятиям и конкретным темам. По результатам можно вывести разнообразные отчеты, включающие в том числе и информацию по различным группам, получить сведения о студентах, хорошо посещающих занятия, или наоборот, вывести список заядлых прогульщиков.
  • Discipline – простой дисциплинарный модуль, поможет контролировать дисциплину учащихся. Записи можно вводить без ограничения объема, при потребности удалять, плюс для удобства учета можно создать до шести категорий нарушений. Как результат можно вывести все проделки, совершенные отдельными учащимися, в школе в целом, статистику в течение определенного периода, что позволит выявить специфические виды проблем.
  • Gradebook – функция, доступная только с сайта преподавателей и позволяет выставлять оценки по предметам и тестам. Кроме ведения общей статистики, автоматически вычисляется средний бал успеваемости, который затем может быть выведен на родительском сайте.
  • Report Card System – гибкая система генерации отчетов с выводом до 20 сообщений в теме при неограниченном количестве тем, кроме web может выводиться в файл формата PDF, что очень удобно при распечатывании.
  • Parent Viewing – скрипты, позволяющие родителям просматривать результаты успеваемости, посещаемости и поведение своих чад.

Кроме того, имеются специальные модули экспорта/импорта, позволяющие легко переносить данные учащихся, например при их переходе в другую школу. Вполне естественно, что никто не запрещает добавить или, наоборот, удалить лишние компоненты и записи, изменить значение и положение полей, создать дополнительные отчеты и прочее.

Установка сервера OpenAdmin

Сервер OpenAdmin полностью построен на основе свободных компонентов. Все применяемые скрипты написаны на Perl, для хранения информации используется база данных MySQL. В качестве веб-сервера может быть использован любой продукт, поддерживающий виртуальные узлы. Разработчиками рекомендуется Apache. Кроме этого, необходимо наличие LibXML2 (http://www.xmlsoft.org), OpenSSL (http://www.openssl.org), TeX и нескольких модулей Perl. В большинстве дистрибутивов GNU/Linux все эти компоненты, как правило, уже имеются. Если же в качестве сервера используется Windows, то придется позаботиться об их инсталляции.

Перед тем как начать установку – общая информация о структуре веб-сервера. Каждая школа по умолчанию имеет три отдельных веб-узла. Один предназначен для общего управления содержанием, т.е. администрирования, второй предназначен для преподавателей и третий – для учащихся и их родителей. Все эти сайты находятся в архиве каталога school в соответствующих папках. Скрипты и сайт администрирования – в admin и cgi, преподавательский сайт – в tadmin и tcgi, родительский – в padmin и pcgi. При этом на одном веб-сервере можно одновременно разместить сайты нескольких школ, настройки этих серверов находятся в разных каталогах со структурой, описанной выше. Два сайта sis (Student Information System) и iep предназначены для специального (централизованного) доступа ко всем информационным ресурсам. Так как все эти сайты находятся на одном сервере, то необходимо обеспечить разрешение имен, прописав все узлы в файле /etc/hosts (что безопаснее) или в настройках DNS-сервера.

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

# mkdir /schools

# cd /schools

# cp /tmp/openadmin-1.70.tar.gz

# tar xvzf openadmin-1.70.tar.gz

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

# mkdir 4school

# cp -r /schools/school /schools/4schoo

Смотрим в файле веб-сервера Apache httpd.conf в строках User и Group, от имени какого пользователя он работает, и устанавливаем его владельцем вновь созданных каталогов:

# chown -R apache:apache /schools

А для каталогов cgi устанавливаем права доступа в 755:

# chmod 755  /schools/4school/cgi

При необходимости можно установить логотип учебного заведения, заменив файл logo.gif и logotn.gif в подкаталоге admin/images. Теперь можно приступить к созданию необходимой базы данных.

# mysql -u root myschool –p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or g.

Your MySQL connection id is 11 to server version: 3.23.58

 

Type "help;" or "h" for help. Type "c" to clear the buffer.

Назначаем необходимые привилегии, чтобы не работать от имени администратора.

mysql>  grant all on myschool.* to school@localhost identified by "schoolpasswd";

Query OK, 0 rows affected (0.01 sec)

mysql>  quit

И при помощи файла blank.sql, содержащего необходимые команды, создаем таблицы в нашей базе данных.

# mysql -p -u school myschool < /schools/utility/blank.sql

Если будет использована SIS, то в целях безопасности необходимо создать отдельного пользователя, обладающего правами только на выборку данных из таблиц школ (select). Специальный ресурс iep имеет свою структуру таблиц базы данных, для создания которых используются файлы iepdata.sql и iepstruct.sql.

Теперь об Apache. В конце файла httpd.conf имеется секция «Virtual Hosts», в которой даны примеры и краткие комментарии по настройке виртуальных веб-узлов. Фактически для минимальной настройки необходимо будет создать три одинаковых секции, отличающиеся параметрами Document Root, ServerName и ScriptAlias. Для учительского и администраторского сайта, кроме того, создаются разделы, ограничивающие доступ.

### Проверьте наличие этих строк

AddTypetext/html .shtml

AddHandler server-parsed .shtml

### Section 3: Virtual Hosts

NameVirtualHost schools

### Администраторский сайт

<VirtualHost schools>

    ServerAdmin grinder@ua.fm

    DocumentRoot /schools/4school/admin

    ServerName admin.schools.com

    ErrorLog logs/schools.error_log

   CustomLog logs/schools.access_log common

 ScriptAlias /cgi-bin "/schools/4school/cgi"

</VirtualHost>

### Ограничиваем доступ

<Directory ”/schools/4school/admin”>

Authtype Basic

Authname Admin

AuthUserFile /usr/local/apache/private/admin4school

Options +Includes

<Limit GET POST>

require valid-user

</Limit>

</Directory>

<Directory ”/schools/4school/cgi”>

Authtype Basic

Authname Admin

AuthUserFile /usr/local/apache/private/admin4school

<Limit GET POST>

require valid-user

</Limit>

</Directory>

</VirtualHost>

### Учительский сайт

<VirtualHost schools>

    ServerAdmin grinder@ua.fm

    DocumentRoot /schools/4school/tadmin

    ServerName teacher.schools.com

    ErrorLog logs/schools.error_log

   CustomLog logs/schools.access_log common

 ScriptAlias /cgi-bin "/schools/4school/tcgi"

</VirtualHost>

### Ограничиваем доступ

<Directory ”/schools/4school/tadmin”>

Authtype Basic

Authname teacher

AuthUserFile /usr/local/apache/private/teacher4school

Options +Includes

<Limit GET POST>

require valid-user

</Limit>

</Directory>

<Directory ”/schools/4school/tcgi”>

Authtype Basic

Authname Admin

AuthUserFile /usr/local/apache/private/admin4school

<Limit GET POST>

require valid-user

</Limit>

</Directory>

</VirtualHost>

### Родительско-студенческий сайт

<VirtualHost schools>

    ServerAdmin grinder@ua.fm

    DocumentRoot /schools/4school/padmin

    ServerName parent.schools.com

    ErrorLog logs/schools.error_log

   CustomLog logs/schools.access_log common

 ScriptAlias /cgi-bin "/schools/4school/pcgi"

</VirtualHost>

Теперь проверяем правильность новых настроек.

# apachectl configtest

Syntax OK

Создаем пароли для каждого пользователя.

# htpasswd /usr/local/apache/private/teacher4school physicist

Перезапускаем веб-сервер.

# /etc/init.d/httpd restart

Останавливается httpd:            [  ОК  ]

Запускается httpd:            [  ОК  ]

И наконец, последний этап. В подкаталогах cgi и tcgi имеются файлы admin.conf, в которых необходимо изменить параметры для доступа к базе данных, расположение каталогов администраторского и учительского серверов, местонахождение утилиты pdflatex и почтовый адрес администратора, который будет выводиться в случае ошибок. В дальнейшем для упрощения настроек планируется использовать один такой файл, расположенный в /etc. При внимательном подходе к чтению на данном этапе все три сервера должны работать. Единственная проблема, с которой вы можете столкнуться, – это занесение в базу данных больших объемов информации. Регистрация одного-двух десятков учеников – терпима, но если их число превышает несколько сотен, то этот процесс превратится в настоящий кошмар. Для удобства рекомендуется воспользоваться скриптом studentupload.pl, который находится в подкаталоге utility. Этот скрипт считывает файл в формате CSV (Comma Separated Values) и заносит все сведения в базу данных. По умолчанию сценарий считывает 40 параметров и перед началом использования его необходимо подправить под свои требования. При работе скрипт не обновляет файл cgi/entry/studentnumber, в котором хранятся номера следующей записи, поэтому, чтобы не получились записи с одинаковыми порядковыми номерами, цифру в нем необходимо подправить самому. Если все же это произошло, то в решении проблемы могут помочь скрипты dupcheck.pl и sentry2.pl.

Несмотря на то что OpenAdmin ориентирован в первую очередь на применение в учебных заведениях, его наработки вполне можно использовать и в своих проектах, связанных с учетом большого количества персонала. Например, в библиотеках, дополнительно создав отдельную таблицу с книгами и используя поля оценок, контролировать для выданную литературу. Впрочем, вариантов много. По крайней мере, есть от чего оттолкнуться при возникновении такой задачи. Это довольно полезный инструмент, позволяющий избежать большого количества рутинной ручной работы.

Рисунок 1

Рисунок 2

Рисунок 3


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru