http://www.chris-master.narod.ru


Альманах дизайнера

webmaster Крис

Выпуск №5

Подписчиков:  021    

Chris On-Line: Альманах дизайнера :: Архив альманаха :: Гостевая книга :: Авторы альманаха

 

Содержание

1. Новости сайта Chris On-Line ...........................................................................
2. Secrets and lies ...................................................................................................
3. Применение CSS в веб-дизайне .......................................................................
4. Веб-сервер на домашнем PC (настройка Perl и Apache).................................
5. Viewers mail .......................................................................................................

 

Новости сайта
 
  • Подписчиков прибавляется с каждым днем, надёюсь эта рассылка будет популярной. 
  • Хочется поддержать Дмитрия (рассылка Html & Java) и сказать ему, чтобы он не закрывал свои рассылку, она достойна жить!!! И я думаю меня поддержать мои читатели.
  • iMAIL скоро будет распространятся бесплатно с сайта Chris On-Line, в феврале ещё с двух зеркал сайта.
  • Рассылка скоро будет выходить не два раза в неделю, как раньше, а всего лишь раз. Но это зависит от вас.
  • Извините, что сорвался плановый выход в среду, возникли проблемы с носителем, на котором содержался номер. Вопреки всем заявлениям рассылка будет выходить два раза в неделю.

 

 

 Secrets & Lies: Digital security in a Network World. <Максим Оставнов>

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

Книга «Прикладная криптография» Шнайера в течение многих лет является техническим бестселлером и справочником №1 по криптографии для разработчиков программного обеспечения, Шнайер, также, часто выступает с лекциями и статьями на эти темы.

После того как одна из разработок возглавляемой Шнайером фирмы Counterpane Labs. - симметричный шифр Twofish - вышла в финал конкурса на новый американский правительственный стандарт шифрования, его бизнес пошел в гору: на базе Counterpane Labs. создана компания Counterpane Internet Security (www.counter-pane.som), на нее обратили внимание инвесторы, а на Шнайера - «большая» деловая пресса (см., в частности, недавнюю статью в «Forbes»:
www.forbes.com/tool/html/00/jul/0731/feat.htm). Защищенный хостинг сайтов от «новой» Counterpane («старая» Counterpane Labs. занималась только консультированием и исследованиями) произвел такое хорошее впечатление на страховщиков, что LIoyd's предложила ее клиентам эксклюзивные условия страхования.

Оборотной стороной развития Counterpane стало некоторое снижение академической активности ее сотрудников, в том числе самого Шнайера. В частности, к неудовольствию коллег, заморожено на неопределенный срок третье издание «Прикладной криптографии».

Сам факт выхода новой книги Шнайера - «Тайна и ложь: цифровая безопасность в цифровом мире» - стал сюрпризом для большинства коллег, хотя о начале работы над книгой было заявлено еще в 1997 г., а годом
позже мы все ждали ее появления. Основной мотив книги станет для кого-то не меньшим сюрпризом, а для других - реализацией подспудного кошмара практикующих криптографов.

Сам автор так объясняет задержку выхода книги: «Я написал две трети книги, не оставляя читателю ни малейшей надежды. И по ходу дела я понял, что надежды нет и у меня самого. Я дошел до пределов того, на что, - как я думал, - способна технология обеспечения безопасности. Мне пришлось более чем на год спрятать рукопись от самого себя - настолько
грустно мне было над ней работать.

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

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

И вот, представьте себе мое удивление, когда я обнаружил, что мир устроен по-другому.

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

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

В книге, ориентированной больше на деловую, чем на техническую аудиторию, три части. Часть первая («Ландшафт») содержит описание
угроз(включая детальное рассуждение о постоянных и меняющихся с изменением технологий их компонентов и разнице между реактивным и проактивным отношением к угрозам), атак (типологизируемых не по технологическим особенностям, а по мотивации - от криминальных до вполне легальных), типов атакующих (и список этих типов, по Шнайеру, интересен сам по себе: «хакеры», преступники-одиночки, злонамеренные инсайдеры, промышленные шпионы, пресса, организованная преступность, полиция, террористы, национальные разведслужбы, бойцы информационного фронта) и функций безоласности (приватности, многоуровневой безопасности, анонимности, аутентификации, целостности, аудита).

Во второй части обсуждаются технологии: криптографические примитивы, контекст их применения (протоколы и их «вписывание» в конкретную ситуацию), технологии традиционной компьютерной безопасности (контроль доступа, модели безопасности, использование надежных платформ, сублиминальные каналы, критерии оценки), идентификация и аутентификация (включая применение паролей, биометрик, «электронных ключей» и протоколов аутентификации), особенности сетевых технологий (приемы работы с модульным и мобильным кодом и специфические вопросы безопасности WWW и других технологий Internet, применения межсетевых экранов и виртуальных частных сетей), надежность программного и аппаратного обеспечения, использование цифровых сертификатов и свидетельств (включая проблемы с традиционными инфраструктурами сертификации открытых ключей) и человеческий фактор.

И, наконец, третья часть (я бы рекомендовал основной массе менеджеров, бегло просмотрев предшествующий материал, сосредоточиться именно на ее проработке, возвращаясь при необходимости к «ландшафту» и технологиям»)
раскрывает сдвиг парадигмы компьютерной безопасности, выносимой Шнайером на суд бизнесов-потребителей информационных технологий. Она называется «Стратегии», и в ней представлен систематический анализ уязвимости систем и сетей, моделирования угроз и оценки рисков, организационные аспекты безопасности, методов тестирования и верификации технологий.

«Я обсуждаю «процесс безопасности»: то, в чем состоят угрозы, кто является их носителями и как выжить в этом мире. Книга изменит ваш взгляд на компьютерную безопасность. Я очень горжусь ею», - пишет Шнайер, и я могу только кивнуть: да, изменит. Шнайер написал «этапный» труд, подытоживающий целую эпоху в развитии гражданской криптографии, и очень ценным является то, что эта книга адресована прежде всего менеджерам бизнесов, активно осваивающих Internet как новую деловую среду.

Я бы рекомендовал немедленно перевести и издать книгу достаточным тиражом. 

Высказать своё мнение о статье

 

 Применение CSS в веб-дизайне
В продолжении статьи о шрифтах, прошлого выпуска, я решил выложить здесь статью о применение библиотек стилей (CSS). Читайте.

Основным понятием CSS является стиль -- т. е. набор правил оформления и форматирования, который может быть применен к различным элементам страницы. В стандартном HTML для присвоения какому-либо элементу определенных свойств (таких, как цвет, размер, положение на странице и т. п.) приходилось каждый раз описывать эти свойства, даже если на одной страничке должны располагаться 10 или 110 таких элементов, ничуть не отличающихся один от другого. Вы должны были десять или сто десять раз вставить один и тот же кусок HTML╜кода в страничку, увеличивая размер файла и время загрузки на компьютер просматривающего ее пользователя.

CSS действует другим, более удобным и экономичным способом. Для присвоения какому-либо элементу определенных характеристик вы должны один раз описать этот элемент и определить это описание как стиль, а в дальнейшем просто указывать, что элемент, который вы хотите оформить соответствующим образом, должен принять свойства стиля, описанного вами. Удобно, не правда ли?

Более того, вы можете сохранить описание стиля не в тексте вашей странички, а в отдельном файле -- это позволит использовать описание стиля на любом количестве Web╜страниц. Потрясающе удобно. И еще одно, связанное с этим, преимущество -- возможность изменить оформление любого количества страниц, исправив лишь описание стиля в одном (отдельном) файле.

Кроме того, CSS позволяет работать со шрифтовым оформлением страниц на гораздо более высоком уровне, чем стандартный HTML, избегая излишнего утяжеления страниц графикой.

Давайте рассмотрим, как мы можем воплотить столь замечательные возможности в жизнь.

Практическое освоение CSS

Как вам уже известно, информация о стилях может располагаться либо в отдельном файле, либо непосредственно в коде Web-странички. Расположение описания стилей в отдельном файле имеет смысл в случае, если вы планируете применять эти стили к большему, чем одна, количеству страниц. Для этого нужно создать обычный текстовый файл, описать с помощью языка CSS необходимые стили, разместить этот файл на Web-сервере, а в коде Web-страниц, которые будут использовать стили из этого файла, нужно будет сделать ссылку на него. Делается это с помощью тега <LINK>, располагающегося внутри тега <BODY> ваших страниц:

<LINK REL=STYLESHEET TYPE="text/css" HREF="URL">

Первые два параметра этого тега являются зарезервированными именами, требующимися для того, чтобы сообщить броузеру, что на этой страничке будет использоваться CSS. Третий параметр -- HREF= ╚URL╩ -- указывает на файл, который содержит описания стилей. Этот параметр должен содержать либо относительный путь к файлу -- в случае, если он находится на том же сервере, что и документ, из которого к нему обращаются -- или полный URL (╚http://...╩) в случае, если файл стилей находится на другом сервере.

Второй вариант, при котором описание стилей располагается в коде Web╜странички, внутри тега <BODY>, в теге <STYLE type="text/css">... </STYLE>. В этом случае вы можете использовать эти стили для элементов, располагающихся в пределах странички. Параметр type="text/css" является обязательным и служит для указания броузеру использовать CSS.

И третий вариант, когда описание стиля располагается непосредственно внутри тега элемента, который вы описываете. Это делается с помощью параметра STYLE, используемого при применении CSS с большинством стандартных тегов HTML. Этот метод нежелателен, и понятно почему: он приводит к потере одного из основных преимуществ CSS -- возможности отделения информации от описания оформления информации. Впрочем, если необходимо описать лишь один элемент, этот вариант расположения описания стилей также вполне применим.

Давайте рассмотрим механизм, с помощью которого стили присваиваются элементам Web╜страниц. Самый простой случай присвоения какому-либо элементу определенного стиля выглядит так:

НАЗВАНИЕ_ЭЛЕМЕНТА {свойство: значение;},

Где НАЗВАНИЕ_ЭЛЕМЕНТА -- имя HTML╜тега (H1, P, TD, A и т. д.), а параметры в фигурных скобках -- список свойств элемента и присвоенных им значений. Более подробно команды языка CSS мы рассмотрим чуть позже.

Пример:

H1 {font-size: 30pt; color: blue;}

В этом примере всем заголовкам на странице, оформленным тегом Н1, присваивается размер шрифта 30 пунктов и синий цвет.

Также элементы страниц, созданные с использованием CSS, используют механизм наследования: т. е. если вы располагаете изображение внутри тега <P>...</P>, оформленного с помощью CSS, с отступами, так, чтобы параграф занимал только определенную часть ширины страницы, изображение также унаследует значения отступов, указанные для этого параграфа.

CSS реализует возможность присваивать стили не всем одинаковым элементам страницы, а избирательно -- для этого используется параметр CLASS = "имя класса" или идентификатор ID=╚имя элемента╩, присваивающиеся любому элементу страницы. Рассмотрим эти возможности подробнее.

Параметр CLASS применяется в случае, если необходимо создать одинаковый стиль для нескольких, но не всех элементов страницы (одинаковых или разных).

Пример:

 .b-с {font-weight: bold; text-align: center}
-- описание стиля для класса b-с

Все элементы класса b-с будут отображаться жирным шрифтом с выравниванием по центру страницы (или ячейки таблицы).

 <P CLASS="b-с">Текст параграфа</P>
-- параграфу присвоен стиль класса b-с.
<TD CLASS="b-c">текст</TD>
-- ячейке таблицы присвоен стиль класса b-c.

Содержащийся в ячейке текст будет отображаться согласно описанию класса.

Таким образом, вы можете присвоить описанный стиль любым текстовым элементам страниц. Обратите внимание, что при написании названия классов необходимо соблюдать регистр символов, согласно тому, как вы назвали класс в описании стиля!

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

Свойства элементов,
управляемых с помощью CSS

В настоящее время язык CSS насчитывает довольно большое количество свойств элементов HTML, которыми он может управлять. Но из-за того, что этот стандарт еще очень молод, в полном объеме его пока не поддерживают наиболее популярные броузеры (Netscape Navigator и Microsoft Internet Explorer). Последние версии этих броузеров могут работать с довольно большим количеством команд CSS, а вот 3-и версии или совсем не поддерживают его (Netscape Navigator 3), или поддерживают, но лишь частично (Microsoft IE 3). Более того, поскольку разработчики из этих компаний никак не могут договориться между собой, последние версии броузеров поддерживают неодинаковый набор свойств CSS. Все это делает малоприемлемым использование CSS в полном объеме, так как, при использовании CSS для форматирования элементов страницы и просмотре ее с помощью броузера версии ниже 4╜й, есть большая вероятность увидеть нечто такое, что вам не понравится. Поэтому будет разумнее воздержаться от использования CSS для форматирования основной структуры страниц до всеобщего перехода на последние версии броузеров. В то же время, применяя "безопасные", т. е. совместимые с максимальным количеством броузеров элементы CSS, вы можете сильно облегчить себе жизнь и сделать ваши Web-странички более привлекательными в плане шрифтового оформления, а пользователи, путешествующие по Internet с помощью устаревших броузеров, просто этого не увидят, но также они не увидят и тех кошмаров, которые появляются при использовании CSS для верстки страниц.

СВОЙСТВА ШРИФТА

font-family Используется для указания шрифта или шрифтового семейства, которым будет отображаться элемент.
P {font-family: Times New Roman, sans-serif;}
font-weight Определяет степень жирности шрифта с помощью трех параметров: lighter, bold, bolder
B {font-weight: bolder;}
font-size Устанавливает размер шрифта. Параметр может указываться как в относительной (проценты), так и абсолютной величине (пункты, пикселы, сантиметры)
H1 {font-size: 200%;}
H2 {font-size: 150px;}
H3 {font-size: 400pt;}
font-size Устанавливает размер шрифта. Параметр может указываться как в относительной (проценты), так и абсолютной величине (пункты, пикселы, сантиметры)
H1 {font-size: 200%;}
H2 {font-size: 150px;}
H3 {font-size: 400pt;}

ЦВЕТ ЭЛЕМЕНТА И ЦВЕТ ФОНА

color Определяет цвет элемента
I {color: yellow;}
background-color Устанавливает цвет фона для элемента -- именно для элемента, а не для странички. Обратите внимание, что броузеры отображают это свойство по-разному: Microsoft IE отводит под фон элемента всю доступную ширину страницы, а Netscape Navigator -- лишь ширину, занимаемую этим элементом. Посмотрите пример (рис. 3, 4 ), вот его исходный код:

<HTML>
<HEAD>
<TITLE>Пример использования CSS</TITLE>

<STYLE type="text/css">
H1 {font-size: 300%;}
</STYLE>
</HEAD>

<BODY bgcolor=white>
<center><BR>
<H1 style="background-color: teal; color: white;">Cascading</H1>
<H1 style="background-color: navy; color: yellow;">Style</H1>
<H1 style="background-color: gold; color: brown;">Sheets</H1>
</BODY>
</HTML>

В этом примере в разделе <STYLE> всем элементам <Н1> на этой страничке был установлен размер 300 % от нормы. Затем каждому из элементов <H1> были присвоены собственные значения цвета фона и цвета символов.

СВОЙСТВА ТЕКСТА

text-decoration Устанавливает эффекты оформления шрифта, такие, как подчеркивание или зачеркнутый текст

H4 {text-decoration: underline;}
A {text-decoration: none;}
.wrong {text-decoration: line-through;}
text-align Определяет выравнивание элемента.
P {text-align: justify}
H1 {text-align: center}
text-indent Устанавливает отступ первой строки текста. Чаще всего используется для создания параграфов с табулированной первой строкой.
P {text-indent: 50pt;}
line-height Управляет интервалами между строками текста.
P {line-height: 50 %}

СВОЙСТВА ГРАНИЦ

margin-left Устанавливают значения отступов вокруг элемента.
IMG { margin-right: 20pt}
P { margin-left: 2cm}
margin-right
margin-right
margin-top
Устанавливают значения отступов вокруг элемента.
IMG { margin-right: 20pt}
P { margin-left: 2cm}

ЕДИНИЦЫ ИЗМЕРЕНИЯ

px Пикселы
cm Сантиметры
mm Миллиметры
pt Пункты (типограф.)
% Проценты

Итак, перейдем к изучению безопасных элементов CSS. Описание свойств элементов в CSS состоит из названия свойства с последующим присвоением ему определенного значения. Название свойства и его значение разделены двоеточием.

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

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

Есть еще одна небольшая, но очень полезная хитрость -- это способ скрыть от устаревших броузеров описания стилей, располагающихся в теге <STYLE>, внутри раздела<HEAD>. Поскольку броузер был написан несколько лет назад, когда никакого CSS еще и в планах не было, он просто не поймет, что это такое написано внутри <STYLE>┘</STYLE>, и выдаст все описания стилей на страничку, как обычный текст. Для того чтобы предотвратить это, необходимо заключить описания стилей в тег комментариев. Делается это очень просто.

<HEAD>
<STYLE type="text/css">
<!--
описания стилей
--Ж>
</STYLE>
</HEAD>
где
<!-- -- тег, открывающий комментарий, а
╜╜> -- закрывающий.

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

Еще один из интересных вариантов применения CSS скрывается за, казалось бы, простой возможностью: вы можете указывать значения отступов вокруг объектов, как отрицательные величины! Это позволяет накладывать один слой текста на другой и получать весьма интересные и привлекательные результаты.

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

Создадим новый html-файл и составим описание стилей для трех объектов:

<HEAD>
<STYLE type="text/css">
BODY {font-family: Verdana; font-size: 70pt; font-weight: bold;}
.z1 { color: silver; margin-top: 100px; margin-left: 70px;}
.z2 {color: navy; margin-top: -118px; margin-left: 68px;}
</STYLE>
</HEAD>

В этом описании мы присвоили <BODY> (впрочем, это мог быть практически любой другой тег) размер, шрифт и начертание -- в таком стиле будут отображаться все элементы страницы. Это было сделано лишь ради стремления уменьшить размер файла странички, вместо этого можно было описать эти параметры дважды: для каждого из классов z. Далее мы описываем два стиля, которые отличаются цветом и размером отступов вокруг них: нижний слой описывается стилем z1, а верхний -- z2. Используя отрицательные значения отступов и подбирая нужное значение, мы добиваемся того, что верхний слой как бы наползает на предыдущий...

<BODY bgcolor=white>
<DIV class="z1">EC-NET</DIV>
<DIV class="z2">EC-NET</DIV>
</BODY>

Откроем наш любимый Web-редактор Notepad и создадим файл с будущим названием styles.css (название файла может быть любым). Опишем в этом файле стиль параграфа <P>, который будет использоваться на всех страничках нашего сайта:

P {
font-family: Times New Roman, serif;
color: #000000;
margin-left: 15%;
margin-right: 15%;
margin-top: 1pt;
margin-bottom: 1pt;
text-indent: 1cm;
text-align: justify;
}

Внутри описания стиля для удобства форматирования вы можете использовать любое количество пробелов и переносов строк -- при чтении стиля броузер просто отбросит все лишние пробелы.

В этом стиле мы задали, что параграфы <P> на всех страничках, которые используют это описание, будут отображаться шрифтом Times New Roman или в случае, если этот шрифт на машине не установлен, другим шрифтом, но из этого семейства (serif). Цвет шрифта мы установили черный, выравнивание -- полное (по обеим сторонам).

Также мы установили для параграфа ряд значений отступов. Это было сделано со следующей целью: по умолчанию параграф в HTML отображается равным практически 95 % страницы и с интервалами между параграфами, равными 180 % межстрочного интервала. Читать такие параграфы не очень удобно, так как интервалы между ними слишком велики, а ширина параграфа слишком большая. Посмотрите на журнал, который вы сейчас держите в руках: текст сверстан в колонки для того, чтобы его было удобнее читать. В стиле параграфа, который мы создали, установлены боковые отступы в 15 % ширины окна и вертикальные отступы в 1 пункт -- так текст статьи будет гораздо читабельнее.

Давайте так же создадим стиль для заголовков статей:

H2 {
font-family: Verdana, Arial Cyr, Arial;
font-weight: bold;
font-size: 14pt;
color: black;
margin-left: 20%;
margin-top: 1cm;
text-align: left;
}

Все заголовки наших страниц, оформленные тегом <H2>, будут отображаться жирным шрифтом Verdana или, если этот шрифт не установлен, шрифтом Arial. Размер заголовка мы установим равным 14 пунктам, цвет черный, отступ слева равен 20 % ширины страницы, а отступ сверху -- 1 см. Заголовок будет выравниваться относительно левого края страницы.

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

Для того чтобы ╚привязать╩ созданные нами стили к нашим страничкам, во все html-файлы в разделе <HEAD> мы должны поместить строку со ссылкой на файл стилей и с указанием об использовании CSS:

<LINK REL=STYLESHEET TYPE="text/css" HREF="styles.css">

Поскольку файл со стилями будет находиться в том же каталоге сервера, что и остальные странички, параметр HREF="URL" в нашем случае будет просто именем нашего файла стилей (styles.css).

Высказать своё мнение о статье

 

 реклама реклама реклама реклама реклама реклама

реклама реклама реклама реклама реклама реклама

 

 Веб-сервер на домашнем PC <Алексей Владимиров>

В этой статье речь пойдет о том, как правильно имитировать unix-сервер на отдельно взятом ПК c Windows95/98 без подключения к сети. Настройка "настоящего" веб-сервера потребует от вас прочтения более серьезной документации.

Какая польза от имитации Интернета, думаю, долго объяснять не придется. Подавляющее большинство любителей (в лучшем смысле) веб-мастеринга вынуждены иметь две копии собственного сайта: одну на сервере провайдера, другую на локальном компьютере. Но если на сайте используются cgi-скрипты, серверные включения (SSI) и прочие атрибуты серьезного веб-проекта, то сделать работоспособную копию на домашнем компьютере без установленной программы-сервера просто невозможно.

Что мы будем устанавливать

Как известно, самый распространенный веб-сервер - это Apache. Именно его мы и будем настраивать на своем ПК с Windows98. (Кстати, более 90% веб-мастеров, принявших участие в опросе на нашем сайте, отдает предпочтение именно этому серверу.)

Дистрибутив Apache Web Server 1.3.9 for Win32 можно загрузить непосредственно с www.apache.org. Версия для Windows, как обычно, самая тяжелая - около 3 Мб (точно не вспомню).

Кроме того, нам понадобится интерпретатор языка Perl версии 5.x для Win32. (См. www.perl.com ) Архив занимает ровно столько места, чтобы не помещаться 1 дискетку √ около 1,5 Мб.

И то и другое распространяется совершенно бесплатно.

При необходимости, можно установить интерпретатор серверных скриптов PHP 3 для Win32 и СУБД mySQL для Win32.

Пошаговая инструкция

Шаг 0.

Для начала нужно убедится, что в настройках сети (Панель управления - Сеть) установлен протокол IP. Если таковой отсутствует, потребуется его добавить из дистрибутива Windows вместе с контроллером удаленного доступа. (Я вполне допускаю, что ваш домашний компьютер никогда не был подключен к Интернету.)

Шаг 1. С чистого листа.

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

Создаем виртуальный диск, например, с символичным именем "X". Делается это очень просто: создаем на диске С:\ пустую папку (c:\export) и в файле autuexec.bat вписываем команду:

subst x: c:\export

(Юниксоиды должны оценить ироничность этой строчки.)

После перезагрузки машины у вас появится новенький чистый диск Х.

Теперь сделаем такие директории:

  • x:\home\sidorov - ваша домашняя директория на сервере (здесь и далее нужно изменять в зависимости от конкретного случая)
  • x:\home\sidorov\myproject - директория вашего виртуального сервера, доступная в Сети по адресу вроде www.MyProject.ru
  • x:\usr\local\bin - для программ, работающих на сервере
  • x:\cgi-bin √ директория для cgi-скриптов, общих для всех виртуальных хостов.

 

Шаг 2. Устанавливаем Apache.

Скачиваем самораспаковывающийся архив Apache Web Server 1.3.9 for Win32.

Запускаем инсталляцию. Указываем директорию для установки: x:\usr\local\apache

Готово. Перезапускаем компьютер.

 

Шаг 3. Настраиваем сервер

Самый ответственный момент - настройка Apache. Открываем файл x:\usr\local\apache\conf\httpd.conf в текстовом редакторе типа "Блокнот". Это главный конфигурационный файл сервера.

Сразу же подчеркну: настройки в файле httpd.conf имеют глобальный характер и распространяются на виртуальные хосты. При этом каждый виртуальный хост может иметь собственные настройки. Далее подразумевается, что MyProvider.ru √ это сервер вашего провайдера, а MyProject.ru √ ваш собственный виртуальный хост, находящийся на сервере провайдера.

Итак, какие же строки можно или нужно изменить.

  • ServerRoot "f:/usr/local/apache"
    окружение "главного", т. е. НЕвиртуального сервера. Можно оставить как есть.
  • Port 80
    менять не надо, но обратите внимание, что одновременно могут работать два и более серверов на разных портах. Может пригодится, если вы помимо Apache захотите использовать другой сервер, например, Microsoft PersonalWebServer
  • ServerAdmin webmaster@MyProvider.ru
    адрес администратора главного сервера, который выводится посетителю сайта в случае возникновения ошибок на сервере. Хранится в серверной переменной $SERVER_ADMIN.
  • ServerName MyProvider.Ru
    просто название сервера. Ни на что особо не влияет. В данном случае сервер будет подписыватьcя как Apache/1.3.9 Server at MyProvider.Ru Port 80. Каждый виртуальный сервер может иметь собственное имя, в нашем случае будет MyProject.Ru (см. ниже).
  • DocumentRoot "x:/usr/local/apache/htdocs"
    директория html-страниц основного сервера. Можно оставить как есть. Тогда зайдя по адресу http://localhost или http://127.0.0.1 вы увидите документ x:/usr/local/apache/htdocs index.html и сможете ознакомиться с документацией по Apache.
    Директорию, в которой хранятся ваши страницы на сервере провайдера (как и др. параметры сайта), можно узнать с помощью SSI-директивы
    <!--#printenv -->
  • <Directory />
    Options All
    AllowOverride All
    </Directory>


    так можно установить опции для корневой директории (соответственно и для всех поддиректорий). Не будем себя-то ограничивать в правах.
  • ScriptAlias /cgi-bin/ "x:/cgi-bin/"

    <Directory "x:/cgi-bin">
    AllowOverride All
    Options ExecCGI
    </Directory>


    общая директория для cgi-скриптов (доступна для всех виртуальных хостов)
  • UserDir "f:/home"
    директория пользователей. См. шаг 1.
  • DirectoryIndex index.html index.htm index.shtml index.phtml default.htm
    главная страница по-умолчанию должна будет иметь какое-то из этих имен.
  • AccessFileName .htaccess
    в файлах .htaccess (первый символ -- точка) можно устанавливать персональные опции для для тех директорий, в которых они находятся.
  • AddHandler cgi-script .pl .cgi .bat .exe
    файлы с этими расширениями будут считаться cgi-скриптами
  • AddType text/html html shtml htm shtml shtm sht phtml
    файлы с этими расширениями будут считаться гипертекстовыми документами
  • AddHandler server-parsed .shtml .shtm .sht
    файлы с этими расширениями будут проверяться на наличие SSI-директив.

Всё это были общие настройки сервера. Убедиться в его работоспособности можно, открыв браузер и набрав в адресной строке http://localhost/

Шаг 4. Создаем виртуальные хосты.

Теперь приступаем к непосредственному "оформлению" вашего сайта. В файле httpd.conf описываем новый виртуальный сервер.

<VirtualHost 127.0.0.2>
# IP-адрес 127.0.0.1 уже занят "провайдером", поэтому используем 127.0.0.2

ServerName MyProject.ru
# Имя вашего сайта √ должно соответствовать реальному

ServerAdmin webmaster@myproject.ru
# e-mail админа сайта , т. е. ваш

DocumentRoot "x:/home/sidorov/myproject"
# Директория вашего сайта, доступная из сети по адресу http:// MyProject.ru

ScriptAlias /cgi-bin/ "x:/home/sidorov/cgi-bin/"
# Путь к собственной директории для cgi-скриптов,
# имеющей URL http://MyProject.ru/cgi-bin/
# Как видите, cgi-bin может находиться где угодно.

ErrorLog x:/home/sidorov/MyProject_error.log
# К этому файлу вы будете не раз обращаться при тестировании скриптов...

CustomLog x:/home/sidorov/MyProject_access.log common

# Кладезь статистики

</VirtualHost>

Готово. Теперь можете выкладывать файлы вашего сайта в директорию x:/home/sidorov/myproject и просматривать их по URL http://127.0.0.2/.

Шаг 5. Обманываем браузер

Довольно часто в cgi-скриптах используются полные URL файлов. Чтобы использовать при локальном тестировании скриптов настоящее имя сервера а не дурацкое http://127.0.0.2, нужно проделать следующее.
Создаем текстовый файл hosts в директории Windows. Пишем в нем такую строчку:
127.0.0.2 myproject.ru # далее идет комментарий

Правило: на одну строчку √ один адрес; между IP-адресом и именем сайта √пробел; за символом "#" следует комментарий.

После перезапуска браузера ваш сайт будет доступен по адресу http://MyProject.ru (если включен Apache).

Обратите внимание, что при реальном подключении к Интернету для доступа к настоящему серверу с именем MyProject.ru нужно закомментировать или удалить соответствующую запись в файле hosts.

Шаг 6. Установка Perl

Скорее всего, дистрибутив Perl 5 будет у вас в виде одного исполняемого файла. Запустите его и в качестве пути для установки ОБЯЗАТЕЛЬНО укажите директорию идентичную той, в которой Perl установлен на сервере вашего провайдера. Это избавит вас от необходимости корректировать в каждом скрипте путь к интерпретатору (указываемый в первой строчке).

Например, если на сервере путь к Перлу имеет вид /usr/local/bin/perl, нужно указать путь для инсталяции x:\usr\local\
Тогда первой строчкой любого скрипта должна идти строка
#!/usr/local/bin/perl

Для проверки работоспособности транслятора создайте простейший скрипт, выводящий все серверные переменные:

#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
while (($key, $val) = each %ENV) {
print "$key = $val<BR>\n";
}

Сохраните файл под именем x:\home\sidorov\cgi-bin\printenv.pl и обратитесь к нему через браузер (http://myproject.ru/cgi-bin/printenv.pl). Если вы все сделали правильно, то увидите список переменных.

Особенности межплатформенных скриптов

При отладке на домашнем ПК с Windows Perl-скриптов, которые в дальнейшем будут использованы на Unix-сервере, нужно знать основные различия платформ и некоторые особенности Perl for Win32

  1. Как известно формат конца строки в DOS/Windows отличается от принятого в Unix. Т. к. в Windows он обозначается двумя символами, то при просмотре в Unix текстовых файлов, написанных в Windows второй символ (возврат каретки) становится видимым (^M). Чтобы скрипт работал в Unix, в нем должен быть использован соответствующий формат конца строк.
    Скрипты, имеющие юникс-образный конец строк выполняются под Windows без проблем, однако, для их комфортного редактирования потребуется текстовый редактор, поддерживающий оба формата (лучший вариант √ UltraEdit 6.0 √ www.ultraedit.com )
  2. В Unix используется прямой ("/"), а не обратный ("\") слэш. Поэтому в скриптах при обозначении путей к файлам следует использовать именно прямые слэши. Perl for Win32 их понимает.
  3. Perl for Win32 в отличие от аналога для Unix, требует, чтобы пути к файлам указывались полностью, а не относительно. При этом название диска можно опускать, начиная путь к файлу с прямого слэша. Так достигается компромиссное обозначение файлов, понятное обоими интерпретаторам.
    Например:
    open FILE,"/home/spetrov/myproject/index.html";

 

На этом пока и остановимся. Про установку PHP3 и mySQL писать не буду, так как самому мне этого делать не приходилось. Вы можете прочесть об этом на сайтах www.webclub.ru или http://exper.ural.ru. Если же вы знаете тонкости, связанные с настройкой Windows-версий этих программ √ присылайте свои заметки!



 Заканчиваю ещё один выпуск, что странно я не получил ещё пока не одного письма от читателей с комментариями к статьям, странно... Если Вам нравится эта рассылка, то поддержите нашу команду и распишитесь в нашей гостевой книге, свои замечания и предложения направляйте на е-майл chris@mailru.com или chris_team@mailru.com . Если Вы хотите разместить банер в одном из наших выпусков, то просто напишите нам и мы с вами договоримся об условиях.

 
 Viewer mail

  • От: Helen Luchik <minerva1974@altavista.com>
     Very informative. And I have a question. Some Russian programs when I download them, I can't read. Probably I don't have right font for it. I'm not good at fonts, so I'm asking for advice. I have english version of Windows 98.
    • webmaster Крис: Для "Россиян" расшифровываю, проблема заключается в том, что в винде не прут Русские проги.
      Answer: No, problem not with fronts, good programmers include fronts into installation file and do good programms, problem with OS Windows 98, english versions (particularly Windows 98 SE and ME) not support Russian, read how you can install support.
      Ответ: Нет, ошибка не со шрифтами, это ошибка виндовс, она давно известна мне, просто английская версия не поддерживает русские программы, можно попробовать установить дополнительно русскую раскладку (start=>Control panel=>Add delete programms=>Install windows=>languages). Если бы программисты указывали в свойствах шрифта RUSSIAN_CHARSET, а не DEFAULT_CHARSET, то всё было бы круто, но ведь лень :-). Спасибо за комплимент, я стараюсь, чтобы рассылка была именно такой.

 

 

 
Copyrights of Chris web design studio
& webmaster Chris, 2000

iMAIL баннер

 

 

Chris web design studio, 2000  

Hosted by uCoz