XG-LAMP
Материал из Xgu.ru
Построение приложений с Web-интерфейсом на базе OpenSource-систем, таких как:
- Операционной системы Linux (или FreeBSD)
- Web-сервера Apache
- СУБД MySQL
- Языков программирования PHP/Perl/Python
Курс посвящён изучению вопросов совместного использования этих продуктов. В нем также рассматриваются другие программы и технологии, которые могут быть полезны ....
Курс находится на стадии разработки. Первое чтение курса запланировано на сентябрь 2006 года.
Содержание |
[править] Список рассматриваемых тем
[править] Общее:
- Обзор
[править] Linux/FreeBSD:
- Тонкая настройка операционной системы для работы с MySQL
- Тонкая настройка операционной системы для работы с Apache
[править] Apache:
- первоначальная поверхностная настройка
- запускаем web-сервер (первый сексуальный опыт:)
- создание виртуальных хостов, переадресация тощо...
Лабораторная работа "создание статической страницы + соответствующие настройки сервера, виртуальные хосты"
- разрешения, табу (чего не стоит позволять окружающим)
Лабораторная работа "виртуальные хосты и разрешения, или запрещаем все, что можем, а то, что не можем - прячем :)"
- настройка журналов событий
- История и хронография или о том, как вести log
- Анализ log'ов
Лабораторная работа "ведение и анализ log'ов или история о том "кто сидел на моем стуле? Кто лежал на моей кровати и кто сьел всю мою КАШУ...""
- Соответствующие изменения связанные с использованием перечисленных средств
- настройка CGI и все что с этим связанно
- настройка Embedded Perl
- настройка mod_Perl
- настройка Mason
- настройка mod_python
- настройка PHP
- настройка mod_PHP
- данные темы будут отражены в лабораторных работах, названных ниже.
- вопросы безопасности (более детально)
- Apache-SSL
- mod_SSL
Лабораторная работа "работа с SSL"
[править] MySQL:
- примеры построения и оптимизации "больших" БД.
- Структура и возможности MySQL
- Типы таблиц и транзакции
- Вставка, удаление и обновление данных
- Запросы MySQL
лабораторная работа "первое поверхностное знакомство с MySQL"
- Администрирование MySQL
- Управление правами пользователей
- Защита MySQL
лабораторная работа "Общие проблемы защиты и система привилегий доступа MySQL"
- Конфигурация БД
- Резервирование и восстановление данных
лабораторная работа "Предотвращение повреждений и ремонтно-восстановительные работы"
- Репликация баз данных
лабораторная работа "репликация в МySQL"
- Оптимизация MySQL
лабораторная работа "оптимизация MySQL"
[править] PHP:
- Обзор языка PHP
лабораторная работа "PHP-script, с чего стоит начать..."
- работа с БД MySQL
лабораторная работа "работа с таблицей БД"
- примеры построения проектов
лабораторная работа "для чего нам все это нужно... ( о том, как работает более сложный проект)"
- Модуль Apache mod_php
лабораторная работа "как работает mod_PHP...?"
- PHP c поддержкой SSL
лабораторная работа "и еще раз SSL"
[править] Perl:
- Обзор языка Perl
- Интерпретатор Perl
- работа с БД MySQL
Лабораторная работа "первый опыт работы с perl, создание и заполнение БД"
- Использование Perl-скриптов с помощью CGI
лабораторная работа "создание cgi силами Perl"
- Модуль Apache mod_perl
лабораторная работа "создание cgi силами mod_Perl" (сравнение быстродействия)
- что же такое Embedded Perl...? (Emb_perl и Mason настройка и использование)
лабораторная работа "работа с Emb_perl"
[править] Python:
- Обзор языка Python
- Инетпретатор Python
- работа с БД MySQL
лабораторная работа "создание cgi-script'а силами python"
- Модуль Apache mod_python
лабораторная работа "создание cgi-script'а силами mod_python"
[править] На каждый элемент отводится времени:
- Linux/FreeBSD - 10% - 4 часа
- Apache - 15% - 6 часов
- MySQL - 30% - 12 часов
- PHP - 25% - 6 часов
- Perl - 10% - 8 часов
- Python - 10% - 4 часа
структурная схема связей (очень приблизительная) [схема [1]]
[править] Лабораторные работы
- Apache. создание статической страницы + соответствующие настройки сервера, виртуальные хосты"
- Apache. Организация виртуальных хостов на Web-сервере Apache
- Apache. Журналы web-сервера Apache. Анализ журналов Web-сервера с помощью программ Webalizer и AWStats
- Apache. Построение защищённого Web-сервера. Особенности использования протокола HTTPS при доступе к Web-серверу.
- MySQL. "первое поверхностное знакомство с MySQL"
- MySQL. "Общие проблемы защиты и система привилегий доступа MySQL"
- MySQL. "Предотвращение повреждений и ремонтно-восстановительные работы"
- MySQL. "репликация в МySQL"
- MySQL. "оптимизация MySQL"
- PHP. "PHP-script, с чего стоит начать..."
- PHP. "работа с таблицей БД"
- PHP. "для чего нам все это нужно... ( о том, как работает более сложный проект)"
- PHP. "как работает mod_PHP...?"
- PHP. "и еще раз SSL"
- Perl. "первый опыт работы с perl, создание и заполнение БД"
- Perl. "создание cgi силами Perl"
- Perl. "создание cgi силами mod_Perl" (сравнение быстродействия)
- Perl. "работа с Emb_perl"
- Python. "создание cgi-script'а силами python"
- Python. "создание cgi-script'а силами mod_python"
Ещё интересные вопросы для рассмотрения:
- Развёртывание готовых проектов (в особенности, если они написаны с ошибками - неверные пути, неверные адреса и т.п.)
- Безопасность web-приложений
[править] Пособие
Пособие содержит теоретические сведения по курсу и детальное описание всех лабораторных работ.
Электронная версия пособия: XG-LAMP/Пособие
[править] Начальная подготовка слушателей
- Базовые знания об аппаратном обеспечении
- Базовые навыки программирования
- Знание английского языка достаточное для чтения технической документации (желательно)
- Знание операционной системы Linux или FreeBSD на уровне курсов NT-LAdm + NT-LNet или NT-BSDAdm + NT-BSDNet
[править] Продолжительность курса
Продолжительность курса 40 часов.
Занятия проводятся полный день, ежедневно, в соответствии с расписанием.
[править] Программное обеспечение
Основное программное обеспечение:
- Web-сервер Apache
- PHP
- Perl
- Python
- MySQL
Вспомогательное программное обеспечение:
[править] Дополнительная информация
[править] Книги
- Professional LAMP: Linux, Apache, MySQL and PHP5 Web Development; WIley; 2006; ISBN-10: 0-7645-9723-X
- Open Source Web Development with LAMP: Using Linux, Apache, MySQL, Perl, and PHP by James Lee and Brent Ware; Addison Wesley; 2002; ISBN: 0-201-77061-X
[править] Интернет-ресурсы
Инсталляция связки LAMP:
- Building a LAMP Server
- Build Web Interface to Database - LAMP Linux Apache MySQL PHP
- LAMPS - Tutorial : Unter Linux Apache, Mysql, PHP und SSL installieren (на нем.)
Linux:
Apache:
MySQL:
PHP:
- PHP tutorial (на разных языках)
- The PHP manual (на разных языках)
[править] Тренинги
Linux:
Apache:
MySQL:
PHP:
[править] Сертификация
- Linux Proffessional Institute
- BSD Cerification
- MySQL Certifications - Certified MySQL Developer, Certified MySQL DBA
- Zend PHP Certification - Zend Certified Engineer
- CIW Certification - Certified Internet Webmaster
Сертификация специалистов по Web-серверу Apache в настоящее время отсутствует