Устанавливаем Denwer
В наш стремительный век всепоглощающего Интернета многие уже успели получить определенный опыт в создании сайтов. Многим другим еще предстоит столкнуться с этим видом творчества. Естественно, оптимальный набор программных инструментов может быть разным для каждого отдельного случая, в зависимости от уровня знаний разработчика и предъявляемых требований к создаваемому сайту. Тем не менее, существует ряд популярных универсальных инструментов. Проверенные временем и завоевавшие доверие общества, они могут быть рекомендованы в большинстве ситуаций.
Разработку любого сайта лучше производить на локальной машине, ведь будущим посетителям вряд ли понравится наблюдать за вашими пробами и ошибками в режиме on-line, да и с точки зрения безопасности более правильным решением будет запрет публичного доступа к сайту до его полной готовности. Для локальной разработки вам понадобится развернуть на своей машине виртуальный сервер, установить и настроить на нем необходимое программное обеспечение и т.д. Совсем недавно мой коллега Евгений Кучук на страницах КГ описывал установку и настройку виртуального сервера в виде отдельных компонентов. То – путь для профи, а для любителей, не желающих сильно заморачиваться деталями, существуют готовые программные пакеты, содержащие все необходимые компоненты и, в то же время, не требующие глубоких познаний для их установки и настройки.
Одним из таких пакетов является бесплатный набор Denwer. Аббревиатура Denwer (Д.Н.В.Р.) расшифровывается как “Джентльменский набор веб- разработчика”. Этот набор инструментов просто незаменим для новичков, решивших заняться сайтостроением. Он включает в себя автоматически устанавливаемые дистрибутивы HTTP-сервера Apache, препроцессора PHP, системы управления базами данных MySQL, интерпретатора Perl и другие важные составляющие. Безусловно, Denwer не является единственным или уникальным в своем роде продуктом, но по простоте установки и настройки с ним вряд ли сейчас что-либо может тягаться. Единственным ощутимым минусом является поддержка исключительно операционных систем Windows. Однако если учесть, что большинство новичков используют именно ее, этот недостаток не сильно сократит число потенциальных пользователей.
К основным преимуществам пакета Denwer следует отнести:
V весьма скромный размер дистрибутива: сейчас он “весит” всего 5,5 Мб;
V полную автономность установленного пакета: все настройки хранит в своей папке, не лезет в реестр, не требует деинсталляции, может быть перенесен на другой компьютер простым копированием файлов;
V популярность пакета: в Сети вы быстро найдете ответ практически на любой ваш вопрос по проекту Denver.
Будем считать, что вы уже заинтригованы и решили установить это чудо на своей машине. Скачать последнюю версию дистрибутива можно на официальном сайте проекта по адресу: http://www.denwer.ru/. На момент написания статьи последней версией все еще является Denwer 3 (Denwer3_Base_2008-01- 13_a2.2.4_p5.2.4_m5.0.45_pma2.6.1.exe). Для получения индивидуальной ссылки на дистрибутив вам придется ввести адрес вашей электронной почты. Письмо со ссылкой для загрузки дистрибутива обычно приходит практически мгновенно. На некоторых почтовых серверах автоматически создаваемые письма считаются спамом, так что иногда стоит проверить папку со спамом.
Запускаем скачанный инсталлятор, подтверждаем наше желание установки базового пакета нажатием кнопки «ДА». Далее необходимо следовать инструкциям интерактивной установки, во время которой можно изменить путь размещения файлов пакета и указать букву виртуального диска для удобного доступа к виртуальному серверу из вашего файлового менеджера. Установщик весьма прост и аскетичен, он не имеет собственного оконного интерфейса и весь “интерактив” происходит в окне командного интерпретатора. Но не стоит пугаться сего действа: вопросов там ничтожно мало, а если сомневаетесь с ответом – просто жмите клавишу ввода, соглашаясь на значение по умолчанию.
По окончании установки откроется окно браузера с сообщением об успешной установке. Окно можно закрыть, но лучше проделать описанные в нем действия, чтобы убедиться в работоспособности Denwer-а. На рабочем столе вы обнаружите три новых ярлыка (если, конечно, вы не отказались от их создания при установке): Start, Stop и Restart Denwer – соответственно для запуска, остановки и перезапуска. Теперь вы можете запустить Denwer с рабочего стола (ярлык Start Denwer) или запустить файл Run.exe в папке программы (по умолчанию - C:\WebServers\denwer\). После запуска Denwer в трее появятся два значка: эмулятор почтового сервера и собственно сам сервер. В открываемых левым кликом по значку окошках можно просматривать логи важных событий.
Запустите Denwer и проверьте его работоспособность. Для этого введите в адресной строке браузера http://localhost/denwer/ или просто localhost. Если по данному адресу отобразится страничка «Ура, заработало!», значит, у вас все в порядке, и вы можете, ознакомившись с интересующей информацией на страничке, следовать дальше. Если же вы имеете «чистый лист», значит, вам придется еще немного потрудиться. Некоторые антивирусы и фаерволы, не знакомые с Denwerом, могут его блокировать. В случае такой неприятности вам придется самостоятельно разрешить исходящие соединения серверу (обычно он устанавливается по адресу: C:\WEBSERVERS\USR\LOCAL\APACHE\BIN\HTTPD.EXE) по протоколу TCP на 80 (HTTP) и 443 (HTTPS) порты. Если вы используете Skype, то вам следует либо зайти в нем в меню: Инструменты->Настройки->Дополнительно->Соединение и снять галочку «Использовать порты 80 и 443 в качестве входящих альтернативных», либо каждый раз выключать Skype на время запуска или перезапуска Denwer.
Теперь вы уже можете приступать к созданию своего виртуального сайта. Зайдите через обычный проводник в папку «home» на созданном Denwer-ом виртуальном диске. В ней создайте папку с именем основного домена вашего будущего сайта, например: «mysite.by». Это имя будет являться и адресом основного домена. В этой папке следует создать папку c именем «www», в которой будут размещаться файлы и папки основного домена. Здесь же можно создать папки с именами доменов третьего уровня (поддоменов или субдоменов), если они у вас будут. Для наглядности в папке «home» уже присутствует папка «test1.ru». В ней, в папке «www» находится индексный файл основного домена, а в папке «subdomain» – индексный файл субдомена. Создавая новый сайт, очень удобно просто создать копию папки «test1.ru» и дать ей другое имя. А создавая новый поддомен – копировать папку «subdomain». Тогда вы точно не запутаетесь, что где должно лежать. Главное, не забудьте перезапустить Denwer, чтобы созданный вами домен стал доступен из браузера!
При создании простого html-сайта вполне можно было бы обойтись и без виртуализации. Необходимость в виртуальном сервере, PHP и MySQL возникает при разработке динамического проекта, построенного на скриптах и использующего базу данных. Давно у всех на слуху WordPress, Drupal, Joomla и другие замечательные системы управления содержимым. Разработку и доработку сайта на основе таких CMS удобно производить на локальной машине с установленным Denwer. Файлы сайта помещают в папку «www» соответствующего домена. Причем имя домена на локальной машине рекомендуется устанавливать отличное от имени будущего сайта, чтобы потом иметь возможность одновременно открывать и сайт на локальной машине, и сайт в Сети. Можно просто убрать точку из имени или заменить имя корневого домена «ru» или «com» на какое-нибудь свое, например, «mysite.by» можно в денвере назвать «mysiteby» или «mysite.off».
Большинство современных сайтов используют базы данных. База данных может быть создана входящей в пакет Denwer утилитой создания баз данных и пользователей (http://localhost/denwer/Tools/addmuser/index.php). Введите желаемое имя базы и логин пользователя, используя только буквы латинского алфавита, цифры и знак подчеркивания; введите пароль и подтверждение пароля – здесь любые буквы и любые символы. Имя базы, логин и пароль понадобятся вам при первичной настройке движка вашего сайта. В Wordpress эти данные вводятся в файл wp-config.php вместо соответствующих значений «putyourdbnamehere», «usernamehere» и «yourpasswordhere» соответственно; а в Dupal – прописываются в файле settings.php в виде 'mysql://пользователь:пароль@localhost/имябазы'; по аналогии настраиваются и другие системы.
Еще одна замечательная утилита – phpMyAdmin (http://localhost/Tools/phpmyadmin/index.php). Она позволяет не только редактировать таблицы и значения, но также производить импорт и экспорт баз данных. Эти функции пригодятся вам при переносе сайта с виртуального на реальный хостинг и обратно. Для импорта используйте кнопку «Окно запроса» (вторая кнопка в левой колонке phpMyAdmin с надписью «SQL» на иконке), для экспорта базы – выберите базу в выпадающем списке левой колонки и воспользуйтесь закладкой «Экспорт» в основном окне phpMyAdmin.
Стандартные настройки PHP рассчитаны на мощный компьютер или на нетребовательный к ресурсам сайт, и по мере использования виртуального сервера у вас, скорее всего, возникнет необходимость изменения дефолтных значений. Давайте рассмотрим самые востребованные опции файла php.ini из каталога \usr\local\php5\. Просматривать и редактировать файл настроек следует в стандартном блокноте или аналогичной программе, не вставляющей в файл скрытых спецсимволов, как это делают Wordpad и Word.
Параметр max_execution_time ограничивает максимальное время исполнения скрипта в секундах. По умолчанию значение этого параметра равняется 30 секундам. Этого иногда может и хватить, но я рекомендую изменить это значение хотя бы на 90, а еще лучше – 120 и более.
max_input_time ограничивает время на обработку входящих данных. Стандартных 60 секунд обычно вполне хватает. Вряд ли в формах вашего сайта будет столь много полей, что скрипт не успеет их обработать за минуту. Однако если вы видите, что при обработке вводимых данных сайт вылетает через минуту с «белым экраном», можно попробовать увеличить и это значение.
memory_limit – максимальный объем оперативной памяти, который разрешается использовать одному скрипту. Конечно, при комплексной обработке очень больших изображений или другой подобной нагрузке, скрипту может не хватить и стандартных 128 мегабайт. Но в случае с этим параметром желательно не вылезать за дефолтное ограничение без веских на то причин – на реальном хостинге данное ограничение может оказаться еще меньшим. Если же вы уверены, что на вашем будущем хостинге с оперативкой проблем не будет, а скрипты вашего сайта жадны до этого дела, то можно увеличивать количество мегабайт на скрипт хоть до 1024 M, хоть выше.
post_max_size – максимальный размер передаваемых данных. По умолчанию равен 8 мегабайтам. Данный параметр всегда должен быть хотя бы в два раза больше параметра upload_max_filesize, но меньше memory_limit, иначе могут возникать ошибки.
upload_max_filesize ограничивает максимальный объем загружаемых файлов. Стандартных 2 мегабайт может быть достаточно, если вы не собираетесь разрешить пользователям загрузку файлов свыше 2 мегабайт. Однако даже при таких условиях, помните, что это же ограничение накладывается на размер импортируемой базы данных. Базы современных CMS почти всегда имеют гораздо больший размер, поэтому, скорее всего, вам придется выставить хотя бы: upload_max_filesize = 32M, post_max_size = 64M, memory_limit = 128M. В случае необходимости загрузки еще больших файлов старайтесь увеличивать эти 3 параметра пропорционально. Хотя это правило, конечно, в большей степени относится к реальному хосту, где присутствует большая вероятность одновременной загрузки файлов несколькими пользователями.
Ну вот и все. Теперь вы можете спокойно устанавливать на виртуальный сервер желаемую CMS или даже пробовать свои силы в написании собственного движка. Фреймворкеров забыл? Ну, ребята, не с вашим уровнем такие статьи читать, извиняйте ;).
Сергей BarMentaLisk Васильев, q@sa-sec.org
Разработку любого сайта лучше производить на локальной машине, ведь будущим посетителям вряд ли понравится наблюдать за вашими пробами и ошибками в режиме on-line, да и с точки зрения безопасности более правильным решением будет запрет публичного доступа к сайту до его полной готовности. Для локальной разработки вам понадобится развернуть на своей машине виртуальный сервер, установить и настроить на нем необходимое программное обеспечение и т.д. Совсем недавно мой коллега Евгений Кучук на страницах КГ описывал установку и настройку виртуального сервера в виде отдельных компонентов. То – путь для профи, а для любителей, не желающих сильно заморачиваться деталями, существуют готовые программные пакеты, содержащие все необходимые компоненты и, в то же время, не требующие глубоких познаний для их установки и настройки.
Одним из таких пакетов является бесплатный набор Denwer. Аббревиатура Denwer (Д.Н.В.Р.) расшифровывается как “Джентльменский набор веб- разработчика”. Этот набор инструментов просто незаменим для новичков, решивших заняться сайтостроением. Он включает в себя автоматически устанавливаемые дистрибутивы HTTP-сервера Apache, препроцессора PHP, системы управления базами данных MySQL, интерпретатора Perl и другие важные составляющие. Безусловно, Denwer не является единственным или уникальным в своем роде продуктом, но по простоте установки и настройки с ним вряд ли сейчас что-либо может тягаться. Единственным ощутимым минусом является поддержка исключительно операционных систем Windows. Однако если учесть, что большинство новичков используют именно ее, этот недостаток не сильно сократит число потенциальных пользователей.
К основным преимуществам пакета Denwer следует отнести:
V весьма скромный размер дистрибутива: сейчас он “весит” всего 5,5 Мб;
V полную автономность установленного пакета: все настройки хранит в своей папке, не лезет в реестр, не требует деинсталляции, может быть перенесен на другой компьютер простым копированием файлов;
V популярность пакета: в Сети вы быстро найдете ответ практически на любой ваш вопрос по проекту Denver.
Будем считать, что вы уже заинтригованы и решили установить это чудо на своей машине. Скачать последнюю версию дистрибутива можно на официальном сайте проекта по адресу: http://www.denwer.ru/. На момент написания статьи последней версией все еще является Denwer 3 (Denwer3_Base_2008-01- 13_a2.2.4_p5.2.4_m5.0.45_pma2.6.1.exe). Для получения индивидуальной ссылки на дистрибутив вам придется ввести адрес вашей электронной почты. Письмо со ссылкой для загрузки дистрибутива обычно приходит практически мгновенно. На некоторых почтовых серверах автоматически создаваемые письма считаются спамом, так что иногда стоит проверить папку со спамом.
Запускаем скачанный инсталлятор, подтверждаем наше желание установки базового пакета нажатием кнопки «ДА». Далее необходимо следовать инструкциям интерактивной установки, во время которой можно изменить путь размещения файлов пакета и указать букву виртуального диска для удобного доступа к виртуальному серверу из вашего файлового менеджера. Установщик весьма прост и аскетичен, он не имеет собственного оконного интерфейса и весь “интерактив” происходит в окне командного интерпретатора. Но не стоит пугаться сего действа: вопросов там ничтожно мало, а если сомневаетесь с ответом – просто жмите клавишу ввода, соглашаясь на значение по умолчанию.
По окончании установки откроется окно браузера с сообщением об успешной установке. Окно можно закрыть, но лучше проделать описанные в нем действия, чтобы убедиться в работоспособности Denwer-а. На рабочем столе вы обнаружите три новых ярлыка (если, конечно, вы не отказались от их создания при установке): Start, Stop и Restart Denwer – соответственно для запуска, остановки и перезапуска. Теперь вы можете запустить Denwer с рабочего стола (ярлык Start Denwer) или запустить файл Run.exe в папке программы (по умолчанию - C:\WebServers\denwer\). После запуска Denwer в трее появятся два значка: эмулятор почтового сервера и собственно сам сервер. В открываемых левым кликом по значку окошках можно просматривать логи важных событий.
Запустите Denwer и проверьте его работоспособность. Для этого введите в адресной строке браузера http://localhost/denwer/ или просто localhost. Если по данному адресу отобразится страничка «Ура, заработало!», значит, у вас все в порядке, и вы можете, ознакомившись с интересующей информацией на страничке, следовать дальше. Если же вы имеете «чистый лист», значит, вам придется еще немного потрудиться. Некоторые антивирусы и фаерволы, не знакомые с Denwerом, могут его блокировать. В случае такой неприятности вам придется самостоятельно разрешить исходящие соединения серверу (обычно он устанавливается по адресу: C:\WEBSERVERS\USR\LOCAL\APACHE\BIN\HTTPD.EXE) по протоколу TCP на 80 (HTTP) и 443 (HTTPS) порты. Если вы используете Skype, то вам следует либо зайти в нем в меню: Инструменты->Настройки->Дополнительно->Соединение и снять галочку «Использовать порты 80 и 443 в качестве входящих альтернативных», либо каждый раз выключать Skype на время запуска или перезапуска Denwer.
Теперь вы уже можете приступать к созданию своего виртуального сайта. Зайдите через обычный проводник в папку «home» на созданном Denwer-ом виртуальном диске. В ней создайте папку с именем основного домена вашего будущего сайта, например: «mysite.by». Это имя будет являться и адресом основного домена. В этой папке следует создать папку c именем «www», в которой будут размещаться файлы и папки основного домена. Здесь же можно создать папки с именами доменов третьего уровня (поддоменов или субдоменов), если они у вас будут. Для наглядности в папке «home» уже присутствует папка «test1.ru». В ней, в папке «www» находится индексный файл основного домена, а в папке «subdomain» – индексный файл субдомена. Создавая новый сайт, очень удобно просто создать копию папки «test1.ru» и дать ей другое имя. А создавая новый поддомен – копировать папку «subdomain». Тогда вы точно не запутаетесь, что где должно лежать. Главное, не забудьте перезапустить Denwer, чтобы созданный вами домен стал доступен из браузера!
При создании простого html-сайта вполне можно было бы обойтись и без виртуализации. Необходимость в виртуальном сервере, PHP и MySQL возникает при разработке динамического проекта, построенного на скриптах и использующего базу данных. Давно у всех на слуху WordPress, Drupal, Joomla и другие замечательные системы управления содержимым. Разработку и доработку сайта на основе таких CMS удобно производить на локальной машине с установленным Denwer. Файлы сайта помещают в папку «www» соответствующего домена. Причем имя домена на локальной машине рекомендуется устанавливать отличное от имени будущего сайта, чтобы потом иметь возможность одновременно открывать и сайт на локальной машине, и сайт в Сети. Можно просто убрать точку из имени или заменить имя корневого домена «ru» или «com» на какое-нибудь свое, например, «mysite.by» можно в денвере назвать «mysiteby» или «mysite.off».
Большинство современных сайтов используют базы данных. База данных может быть создана входящей в пакет Denwer утилитой создания баз данных и пользователей (http://localhost/denwer/Tools/addmuser/index.php). Введите желаемое имя базы и логин пользователя, используя только буквы латинского алфавита, цифры и знак подчеркивания; введите пароль и подтверждение пароля – здесь любые буквы и любые символы. Имя базы, логин и пароль понадобятся вам при первичной настройке движка вашего сайта. В Wordpress эти данные вводятся в файл wp-config.php вместо соответствующих значений «putyourdbnamehere», «usernamehere» и «yourpasswordhere» соответственно; а в Dupal – прописываются в файле settings.php в виде 'mysql://пользователь:пароль@localhost/имябазы'; по аналогии настраиваются и другие системы.
Еще одна замечательная утилита – phpMyAdmin (http://localhost/Tools/phpmyadmin/index.php). Она позволяет не только редактировать таблицы и значения, но также производить импорт и экспорт баз данных. Эти функции пригодятся вам при переносе сайта с виртуального на реальный хостинг и обратно. Для импорта используйте кнопку «Окно запроса» (вторая кнопка в левой колонке phpMyAdmin с надписью «SQL» на иконке), для экспорта базы – выберите базу в выпадающем списке левой колонки и воспользуйтесь закладкой «Экспорт» в основном окне phpMyAdmin.
Стандартные настройки PHP рассчитаны на мощный компьютер или на нетребовательный к ресурсам сайт, и по мере использования виртуального сервера у вас, скорее всего, возникнет необходимость изменения дефолтных значений. Давайте рассмотрим самые востребованные опции файла php.ini из каталога \usr\local\php5\. Просматривать и редактировать файл настроек следует в стандартном блокноте или аналогичной программе, не вставляющей в файл скрытых спецсимволов, как это делают Wordpad и Word.
Параметр max_execution_time ограничивает максимальное время исполнения скрипта в секундах. По умолчанию значение этого параметра равняется 30 секундам. Этого иногда может и хватить, но я рекомендую изменить это значение хотя бы на 90, а еще лучше – 120 и более.
max_input_time ограничивает время на обработку входящих данных. Стандартных 60 секунд обычно вполне хватает. Вряд ли в формах вашего сайта будет столь много полей, что скрипт не успеет их обработать за минуту. Однако если вы видите, что при обработке вводимых данных сайт вылетает через минуту с «белым экраном», можно попробовать увеличить и это значение.
memory_limit – максимальный объем оперативной памяти, который разрешается использовать одному скрипту. Конечно, при комплексной обработке очень больших изображений или другой подобной нагрузке, скрипту может не хватить и стандартных 128 мегабайт. Но в случае с этим параметром желательно не вылезать за дефолтное ограничение без веских на то причин – на реальном хостинге данное ограничение может оказаться еще меньшим. Если же вы уверены, что на вашем будущем хостинге с оперативкой проблем не будет, а скрипты вашего сайта жадны до этого дела, то можно увеличивать количество мегабайт на скрипт хоть до 1024 M, хоть выше.
post_max_size – максимальный размер передаваемых данных. По умолчанию равен 8 мегабайтам. Данный параметр всегда должен быть хотя бы в два раза больше параметра upload_max_filesize, но меньше memory_limit, иначе могут возникать ошибки.
upload_max_filesize ограничивает максимальный объем загружаемых файлов. Стандартных 2 мегабайт может быть достаточно, если вы не собираетесь разрешить пользователям загрузку файлов свыше 2 мегабайт. Однако даже при таких условиях, помните, что это же ограничение накладывается на размер импортируемой базы данных. Базы современных CMS почти всегда имеют гораздо больший размер, поэтому, скорее всего, вам придется выставить хотя бы: upload_max_filesize = 32M, post_max_size = 64M, memory_limit = 128M. В случае необходимости загрузки еще больших файлов старайтесь увеличивать эти 3 параметра пропорционально. Хотя это правило, конечно, в большей степени относится к реальному хосту, где присутствует большая вероятность одновременной загрузки файлов несколькими пользователями.
Ну вот и все. Теперь вы можете спокойно устанавливать на виртуальный сервер желаемую CMS или даже пробовать свои силы в написании собственного движка. Фреймворкеров забыл? Ну, ребята, не с вашим уровнем такие статьи читать, извиняйте ;).
Сергей BarMentaLisk Васильев, q@sa-sec.org
Компьютерная газета. Статья была опубликована в номере 41 за 2009 год в рубрике soft