Сделать сайт в оффлайне, от и до? Реально!
Титов Олег Титов Олег
🕛 06.11.2004, 18:33
Автор: Титов Олег (oleg@digin.ru)Введение
Что понадобится
Установка и настройка Apache
Ставим Perl
Установка и настройка PHP
Установка MySQL
Когда все поставлено и настроено
Если ничего не работает
Подводим итоги
Введение
Если вы читаете эту статью, значит вам это нужно. Зачем? Не у каждого из нас есть возможность сутками просиживать в сети, не считая во сколько это выливается карману. Не все из нас могут сделать сайт сразу без ошибок и неточностей. А если проект делается "с нуля" и плюс к этому требует использования таких технологий как Perl, PHP, MySQL, SSI? Разработка и отладка в сети займет гигантское количество времени, усилий и денежных затрат. Как этого избежать? Сделать сайт на своей машине, не торопясь, вдумчиво и внимательно все проверяя, исправляя и дополняя. И только потом уже полностью готовый проект залить на сервер и провести тестирование и подгонку под конкретную конфигурацию конкретного хостинга. Заманчиво! Но это еще более заманчиво так как это реально! Итак, приступим к созданию на нашем рабочем компьютере среды, в которой можно создать полнофункциональный вебсайт.
Что понадобится
Первое что необходимо сделать, это обзавестись соответствущим программным обеспечением. Качаем из сети (версии для Windows):
- Вебсервер Apache
- Язык программирования Perl
- Язык программирования PHP
- Базу данных MySQL
Первым желательно скачать сам Apache так как пока докачивается остальное, займемся его установкой и настройкой.
Установка и настройка Apache
Установка самого Apache не должна вызвать у вас каких-то вопросов и сложностей. Сначала вы выбираете директорию, куда устанавливать сам сервер, следом название группы (оставьте как есть), а потом конфигурацию установки - выбирайте Typical. Не спешите сразу запускать сервер - ничего хорошего из этого не выйдет, сначала надо его настроить. Переходим в директорию куда вы ставили Apache, затем в директорию conf внутри этой директории и любым текстовым редактором (лучше всего блокнотом) открываем файл httpd.conf на редактирование. Находим строчку ’#Listen 12.34.56.78:80’ (здесь и далее одинарные кавычки только для четкого определения строки, в файле конфигурации их быть не должно) и заменяем ее на ’Listen 127.0.0.1:80’. Чуть ниже видим строчку ’#BindAddress *’, ее меняем на ’BindAddress 127.0.0.1’. Листаем файл еще ниже и обнаруживаем строку ’ServerAdmin you@your.address’, здесь вместо you@your.address подставляем адрес своей электронной почты. Таким образом эта строка примет например такой вид "ServerAdmin oleg@digin.ru’. Листаем еще немного ниже и видим строку вида ’#ServerName new.host.name’. Вместо нее, поскольку у нас локальная машина, вписываем ’ServerName 127.0.0.1’. А сейчас внимание. Создадим на вашем винчестере например на диске C директорию в которой будет находиться ваш сайт. Назовем ее server. Таким образом путь к вашему локальному серверу будет ’c:/server’. Запомним этот адрес, а лучше куда-нибудь запишем, он нам пригодится. После этого продолжаем конфигурировать Apache. Находим строку начинающуся со слов ’DocumentRoot’, далее в ней идет некий адрес на вашем винчестере. Вместо этого адреса подставляем адрес только-что созданной серверной директории. После этого строка может выглядеть так ’DocumentRoot "c:/server"’. Обратите внимание, что в конце адреса мы не добавляем слэш. Далее находим такой небольшой абзац: ’
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
’ и его полностью заменяем на приблизительно такой: ’
<Directory "c:/server">
Options Indexes FollowSymLinks MultiViews +Includes
AllowOverride None
</Directory>
’, где ’c:/server’ адрес вашей серверной директории. Затем немного ниже видим строчку начинающуюся так ’<Directory’. В этой строке заменяем адрес директории на адрес вашей серверной директории, например ’<Directory "c:/server">’. Далее несколько ниже обнаруживаем строку ’Options Indexes FollowSymLinks MultiViews’, ее заменяем на ’Options Indexes FollowSymLinks MultiViews +Includes’. Далее находим строку ’#AddHandler server-parsed .shtml’ и убираем перед ней значок хэша. Получаем ’AddHandler server-parsed .shtml’. На этом первоначальная конфигурация вебсервера Apache завершена, в том числе мы его настроили и для исполнения SSI директив. Сейчас, когда уже скачались Perl и PHP можно включить поддержку этих двух языков в ваш Apache, но до этого сначала поставим эти языки в систему.
Ставим Perl
Сначала добавим в систему Perl. Если Perl не нужен можно сразу перейти к следующему разделу. Установка самого Perl не вызовет у вас каких-либо затруднений. Только запомните путь к директории в которую вы его устанавливаете. Затем выключите Apache (если он у вас включен) и вновь откройте на редактирование конфигурационный файл Apache. Листаем его в самый верх и начинаем по порядку. Ищем строчку ’#!c:/program files/perl/perl’ и заменяем ее (в случае если ваш Perl вы ставили в ’c:/perl’) на ’#!c:/perl/bin/perl.exe’. Далее находим строку начинающуюся ’ScriptAlias /cgi-bin/’ и меняем в ней путь к cgi-bin директории вашего сервера. Например эта строка будет выглядеть как ’ScriptAlias /cgi-bin/ "c:/server/cgi-bin/"’. Обратите внимание что вам надо создать директорию cgi-bin в вашей серверной директории и что в конце пути здесь добавляется слэш. Еще несколькими строчками ниже видим абзац начинающийся с ’<Directory’, и здесь тоже меняем адрес cgi-bin директории вашего сервера. Эта строка будет выглядеть например так ’<Directory "c:/server/cgi-bin/">’. Еще листаем вниз и находим строчку ’#AddHandler cgi-script .cgi’. Убираем перед ней хэш и она выглядит ’AddHandler cgi-script .cgi’. Все, теперь ваш Apache настроен и для исполнения Perl-скриптов.
Установка и настройка PHP
Те, кто не пользуется PHP могут этот раздел пропустить. Так-же как те, кто не пользуется Perl могли пропустить раздел предыдущий. Итак, устанавливаем PHP. Сама установка PHP происходит элементарно. После скачивания архива распакуйте его например в директорию ’c:/php’. При этом обратите внимание что в архиве может быть запакована корневая директория, в таком случае перепишите в ’c:/php’ не ее саму а ее содержимое. После этого найдите в директории файл php4ts.dll и скопируйте его в директорию ’c:/windows/system’ (или соответственно туда, где у вас находится подобная директория). После этого необходимо вновь поправить конфигурацию Apache. Листаем файл httpd.conf в самый верх и приступаем. Найдите строчку ’# Dynamic Shared Object (DSO) Support’ и после нее добавьте две строки ’LoadModule php4_module c:/php/sapi/php4apache.dll’ (если вы ставили PHP в ’c:/php’) и ’AddModule mod_php4.c’. После этого листаем вниз и находим строчку ’#AddType application/x-httpd-php .php’, убираем здесь хэш и получаем ’AddType application/x-httpd-php .php’ а также строкой ниже добавляем ’AddType application/x-httpd-php .php3’. На этом установка PHP и настройка Apache для него закончены.
Установка MySQL
При установке базы данных MySQL серьезно отнеситесь к выбору логина и пароля для доступа к базе. Эти логин и пароль вы будете использовать для управления вашими данными. Адресом хоста вашей локальной базы будет ’localhost’. При переносе программного обеспечения, работающего с MySQL на вашей локальной машине, в интернет, не забудьте изменить данные доступа на соответствующие вашему хостингу. Apache настраивать для работы с MySQL не требуется.
Когда все поставлено и настроено
Перезагрузите машину. На всякий случай, хуже все равно уже не будет. После перезагрузки пробуем запустить все что мы тут наставили и нанастраивали. Поехали - из кнопки Start запустим Apache. Если все настроено верно то появится и не пропадет консольное окно с текстом вроде этого ’Apache/1.3.14 <Win32> PHP/4.1.3-dev running...’ (в случае если мы ставили также и PHP). Если окошко выскочило и тут-же закрылось - имеет место ошибка конфигурации, но об этом позже. Итак, все запустилось, пишем какой-нибудь простенький html типа ’hello, world’, сохраняем его в ’c:/server’ как index.html и открываем в любом браузере адрес ’http://127.0.0.1’. Все:) Скажу еще что Perl-скрипты надо запускать из ’c:/server/cgi-bin’ набирая в строке запроса что-то типа ’http://127.0.0.1/cgi-bin/test.cgi’, а PHP скрипты и страницы можно запускать откуда угодно из вашей серверной директории. Да, SSI директивы также будут исполняться на вашем сервере, вот только такие файлы награждайте расширением shtml. Когда пишете скрипты, использующие в своей работе MySQL, не забывайте этот самый MySQL запускать. Выключайте Apache не закрывая консольное окно, а выбирая соответствующий пункт из программной группы Apache. И если у вас все с настройкой сервера в порядке, порекомендую вам пользоваться небольшой но потрясающе удобной утилиткой Apache Manager для запуска, перезапуска и выключения сервера. Скачать утилиту можно здесь, скопировать ее нужно в директорию к Apache, а потом просто запустить.
Если ничего не работает
Напишите в форум что и как конкретно не работает - разберемся. Только не надо писать мне на почту - на такие письма я не отвечаю.
Подводим итоги
У нас есть работающий домашний сервер, эдакий интернет в миниатюре. Запускаем Apache, MySQL и любимый текстовой редактор, открываем DOC’и, FAQ’и и прочую литературу и создаем шедевр. А если что-то непонятно - милости просим в форум, там обязательно появится ответ на ваш вопрос. На этом прощаюсь, надеюсь был вам полезен;)