Форум - Руководство по Denwer
Вход Регистрация
1) Alligator (11 Июля 2010 в 22:06) [Ж]
Что такое Денвер?
Денвер - набор дистрибутивов и программная оболочка, предназначенный для создания и отладки сайтов на локальной Windows -машине, без подключения к сети Интернет.
Как использовать Денвер?
Прежде всего Вы должны установить его на свой компьютер. Скачать Денвер можно на сайте разработчиков http://denwer.ru. Ссылка на файл будет выслана Вам на e-mail. Процесс установки крайне прост. Следуйте инструкциям, которые Denwer выводит на экран. По-умолчанию, после установки у Вас должен появиться новый виртуальный диск Z, папка WebServers в корне диска C и три ярлыка на рабочем столе: Start Denwer (запускает все компоненты Денвер и создает виртуальный диск, если он еще не создан), Restart Denwer (перезапускает все сервера) и Stop Denwer (останавливает работу всех серверов).
Для добавления нового хоста Вам достаточно добавить в C:/WebServers/home папку с именин Вашего будущего сайта, предположим site.ru. Далее заходим в созданную папку и создаем папку с именем www. Все. Именно в эту директорию Вы и должны помещать Ваши скрипты. Далее Вам следует перезагрузить Денвер, с помощью ярлыка Restart Denwer на рабочем столе. и набрать в браузер имя вашего сайта (то есть имя папки, созданой в директории home - в нашем случаи это site.ru).
Так же часто требуется создание баз данных MySQL. Для этого вам необходимо набрать в браузере http://localhost и под заголовком "Утилиты" найти ссылку "Заведение новых БД и пользователей MySQL". Перейдя по этой ссылке, Вы увидите форму, которую следует заполнить следующим образом:
Пароль администратора MySQL: <оставьте пустым>
Имя базы данных: <имя базы>
Логин пользователя: <имя пользователя>
Пароль: <пароль>
Повтор пароля: <пароль>
И нажмите кнопку "Создать БД и пользователя".
Если Вы все сделали правильно, то должны увидеть надпись "База данных и новый пользователь заведены".
Так же для управления базами данных доступен phpMyAdmin. Ссылку на него Вы можете найти на странице http://localhost, в разделе Утилиты.
1. Установка.
Думаю с установкой проблем не возникнет.
Внимательно читайте все что будет писаться в черном досовском окне.
Внимание!!!!
Пробемы могут возникнуть если вы не имеете прав админимтратора компьютера. Т.е ваша учетная запись не имеет привелегии ставить программы на комп.
2. Как мне создать виртуальный хост?
Идем по пути:
Мой компьютер > Локальный диск (C)(Тот диск куда вы устанавливали denwer, по умолчанию это диск С ) > WebServers (по умолчанию) > home > Вот тут-то мы и создаем папку с тем названием локального сайта который вы хотите иметь. Например создаем папку xwab.ru (это вы будете вводить в адресной строке браузера) > А в ней обязательно папку www. А уже в папку www вы можете ставить скрипты. Перезагрузите denwer, кидайте скрипт в папку www, заходите в браузер вводите название папки (в нашем случае это xwab.ru) и пользуйтесь скриптом.
3. Как мне создать базу данных?
Есть в denwer'e замечательный FAQ адрес к нему просто localhost.
В графе Утилиты есть ссылки. Все самое необходимое.
Кликаем ссылку "Заведение новых БД и пользователей MySQL"
Далее
Пароль администратора MySQL: - не трогаем
Имя базы данных: - собственно имя
Логин пользователя: - собственно логин
Пароль: - собственно пароль
...еще раз: - и проверка пароля (вдруг вы пароль ввели не тот который хотели)
Нажимаем "Создать БД и пользователя"
Все база данных MySQL создана(если конечно она не была занята)
4. Как мне залить таблицу в базу MySQL?
Все по тому же адресу localhost
Нажимаем "phpMyAdmin - администрирование СУБД MySQL"
Слева, в выпадающем списке, выбераем базу которая нам нужна (допустим users)
Перезагружаются фреймы. Далее между ссылками "Структура" и "Экспорт" есть ссылка "SQL"
Нажимаем на нее.
В появившуюся форму, для ввода текста, вводим команды по созданию таблиц.
Или если есть файл с таблицами, то ниже есть форма для импорта из файла. Вам всего лишь надо будет указать где на вашем компьютере лежит файл с таблицами.
Нажать кнопку "Пошел", и все, в обоих случаях, таблицы будут созданы.
2) Alligator (11 Июля 2010 в 22:09) [Ж]
включаем библиотеку mbstring.dll
Для этого нужно найти файл php.ini. Если вы принимали при установке все пути стандартные, то он находиться по адресу С:\WebServers\usr\local\php5 Так и называется – php.ini. Открыть его можно простым блокнотом. И нужно найти там строку ;extension=php_mbstring.dll и убрать перед ней точку с запятой, т.е. раскомментировать. Вот и вся настройка. Основные настройки мы проведем на следующих уроках. Так же на следующих уроках мы научимся обновлять некоторые компоненты Денвера – а точнее phpmyadmin.
Устанавливаем, настраиваем
Устанавливаем Денвер (Для тех, у кого он установлен, данный пункт смело опускается).
Будем считать, что папка, в которую был установлен денвер будет в дальнейшем именоваться, как [Папка Денвера]
Создаем в папку для бинарников SVN (я считаю, что будет лучше, если она будет храниться со всем скарбом джентльменского набора).
Пусть это будет [Папка Денвера]\usr\local\svn.
Распаковываем содержимое архива svn-win32-1.x.x.zip в созданную папку.
Копируем из папки [Папка Денвера]\usr\local\svn\bin файлы mod_dav_svn.so, mod_authz_svn.so в папку модулей Apache ([Папка Денвера]\usr\local\apache\modules) и файлы intl3_svn.dll, libdb44.dll в папку к бинарникам Apache ([Папка Денвера]\usr\local\apache\bin)
Создаем еще одну папку для нашего будущего репозитория.
Пусть это будет [Папка Денвера]\repository.
Добавляем требуемые переменные среды.
PATH=%PATH%; [Папка Денвера]\usr\local\svn\bin
APR_ICONV_PATH= [Папка Денвера]\usr\local\svn\iconv
Создаем репозиторий. В командной строке в папке [Папка Денвера]\repository выполняем следующую команду:
>svnadmin create [Имя репозитория]
Можно создать таким образом несколько различных проектов.
Настраиваем репозиторий для работы в несколько рук или иных конечностей.
Создаем пользователей репозитория.
htpasswd.exe -cm [Папка Денвера]\usr\local\svn\svn-auth [имя пользователя]
htpasswd.exe -m [Папка Денвера]\usr\local\svn\svn-auth [еще одно имя пользователя]

Настраиваем права доступа.
Создаем файлик [Папка Денвера]\usr\local\svn\svn-acl
Будем считать, что у нас созданы пользователи (п. 7.1.) user1, user2, user3, user4 и проекты project1 и project2. Первые 2 пользователя работают в команде над первым, закрытым проектом, остальные - над открытым для просмотра вторым проектом.
#---- svn-acl ----
#Группы доступа.
[groups]
team1 = user1, user2
team2 = user3, user4
# доступ только для первой группы – RW (чтение, запись)
[project1:/]
@team1 = rw
#доступ для второй группы – RW (чтение, запись) и для всех остальных – R (чтение)
[project2:/]
@team2 = rw
*=r
#--------
Создаем файл конфигурации для APACHE2
[Папка Денвера]\usr\local\svn\subversion.conf
#---- subversion.conf ----
# модули для работы SVN
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
# Наш репозиторий одного из проектов будет располагаться по адресу
# http://localhost/svn1, второй - http://localhost/svn2.
# Для удаленных хостов данные репозитории будут доступны по IP адресу хоста,
# на которой запущен #denwer (http://192.168.0.1/svn1)
#
DAV svn
SVNListParentPath on
SVNPath [Папка Денвера]/svn/project1
AuthType Basic
AuthName "Subversion repository"
AuthUserFile [Папка Денвера]/usr/local/svn/svn-auth
Require valid-user
AuthzSVNAccessFile [Папка Денвера] /usr/local/svn/svn-acl
DAV svn
SVNListParentPath on
SVNPath [Папка Денвера]/svn/project2
AuthType Basic
AuthName "Subversion repository"
AuthUserFile [Папка Денвера]/usr/local/svn/svn-auth
Require valid-user
AuthzSVNAccessFile [Папка Денвера] /usr/local/svn/svn-acl
#-----------
Добавляем конфигурацию в Apache, в конце файла httpd.conf дописываем строчку:
Include ../../svn/subversion.conf
Запускаем денвер и пробуем зайти по адресу http://localhost/svn1
Вуа-ля!
3) Alligator (11 Июля 2010 в 22:15) [Ж]
Доступ к Денверу из локальной сети или Интернета
Можно ли настроить систему, чтобы сайты, расположенные на локальном компьютере, были доступны всем пользователям локальной сети, к которой я подключен, или же даже из Интернета?..
Проекты, заведенные в Денвере, по умолчанию не доступны из локальной сети. Это достигается благодаря тому, что все виртуальные хосты имеют IP-адрес 127.0.0.1, всегда обозначающий "текущая локальная машина".
Тем не менее, все же существует возможность назначить тому или иному виртуальному хосту "внешний" IP-адрес, доступный из вашей локальной сети или даже Интернета (если компьютер имеет постоянный IP-адрес в Интернете).
Помните: Денвер - это инструмент разработчика, а не средство хостинга. Несмотря на то, что проекты в Денвере можно открыть для всеобщего доступа, мы категорически не рекомендуем это делать. Дело тут в безопасности: Денвер, как правило, запускается с правами Администратора, а значит, скрипты, запущенные под его управлением, могут делать на машине все, что угодно. Малейшая "дыра" в безопасности скрипта откроет хакеру доступ к вашей машине.
Авторы Денвера не несут ответственности за любые разрушения, причиненные хакерами тем, кто открыл Денвер наружу и по неосторожности допустил в своих скриптах уязвимость в безопасности.
Определение вашего IP-адреса
Для начала следует узнать, какой IP-адрес назначен вам в локальной сети или Интернете. Проще всего это сделать, открыв Командную строку Windows и набрав там:
ipconfig
Вы увидите что-то типа следующего:
Настройка протокола IP для Windows
WiFi - Ethernet адаптер:
DNS-суффикс этого подключения . . :
IP-адрес . . . . . . . . . . . . : 192.168.0.49
Маска подсети . . . . . . . . . . : 255.255.255.0
Основной шлюз . . . . . . . . . . : 192.168.0.1
В данном случае внешний IP-адрес машины в локальной сети — 192.168.0.49. В списке могут быть перечислены сразу несколько сетевых интерфейсов (если ваш компьютер оборудован несколькими сетевыми картами или беспроводными устройствами). В этом случае вам нужно определить, какой из интерфейсов является внешним, доступным из локальной сети. (IP-адреса, начинающиеся с 192.168 или 10, зарезервированы только для доступа из локальной сети, но не из Интернета. Т.е. они являются "приватными".)
Убедитесь, что ваш IP-адрес является статическим, т.е. не меняется при следующем включении машины или перезагрузке. Если IP-адрес выдается динамически, то не существует простого способа, позволяющего подключить к нему Денвер.
Настройка межсетевого экрана (брандмауэра, фаервола) Windows
В большинстве Windows-систем встроенный (либо установленный вами вручную) межсетевой экран или антивирус блокируют подключения с внешних машин к текущей. Это сделано по соображениям безопасности. Конечно, в случае, если вы открываете сайт наружу, эту блокировку следует отключить, в противном случае сайт никто не увидит.
Наша цель — разрешить Windows подключения к порту 80 (протокол HTTP) вашего IP-адреса 192.168.0.49, на котором будет "висеть" Apache. Приведем инструкции, как это сделать в Windows XP:
Откройте Пуск — Панель управления, выберите Брандмауэр Windows.
Перейдите на вкладку Исключения.
Нажмите кнопку Добавить порт, в поле Имя введите ваш IP-адрес, а в поле Номер порта укажите 80.
Если вы устанавливали свой собственный брандмауэр или антивирус, то, конечно, вам придется обратиться к их документации.
Простой способ открытия сайта наружу
Предположим, ваш IP-адрес равен 192.168.0.49, как в примере выше. Самый простой способ заставить Денвер открывать по адресу http://192.168.0.49 определенный сайт — это расположить документы сайта в директории:
/home/192.168.0.49/www
Да, имя директории содержит точки! Не забудьте также перезапустить Денвер.
Более того: если ваш провайдер выдал вам не только IP-адрес, но также и связанное с ним доменное имя, то сайт будет сразу же доступен по этому доменному имени. В случае статического IP-адреса домен выдается почти всегда, вам лишь нужно узнать его у провайдера. Например, если ваше доменное имя равно abcd.ints.ru (провайдер Корвет-Телеком НЭКСТ), то сайт будет доступен по адресу http://abcd.ints.ru.
Другой способ назначения IP-адреса сайту
Если у вас уже имеется виртуальный хост в Денвере и вы не хотите переименовывать его директорию документов, то вы можете назначить сайту свой собственный IP-адрес и сделать его доступным снаружи. Предположим, что ваш хост хранится в директории /home/mysupersite/www. Чтобы назначить ему IP-адрес 192.168.0.49, необходимо создать файл /home/mysupersite/.htaccess и добавить в него строчки:
## Файл /home/mysupersite/.htaccess
## Укажите здесь ваш внешний IP-адрес, а не 192.168.0.49!
# dnwr_ip 192.168.0.49
Кстати, вы можете узнать, какие еще существуют директивы, заглянув в файл /home/custom/.htaccess.
Перезапустите Денвер. Проверьте, что по адресу http://192.168.0.49 (вместо 192.168.0.49, конечно, нужно подставить ваш собственный IP-адрес) открывается ваш сайт /home/mysupersite/www.
Предупреждение службы безопасности
Напомним еще раз, что Денвер — это не законченный и надежный Web-сервер, это — всего лишь инструмент, позволяющий отлаживать (тестировать) сайты, «не выходя из дома». Любая попытка использовать его в других целях может быть небезопасна.
Вообще, настроить можно все, что угодно, другое дело — нужно ли это. Помните, что открытый для окружающего мира Web-сервер представляет потенциальную уязвимость в защите вашей машины. Например, злоумышленник может проникнуть через не до конца отлаженный скрипт. Т.к. Денвер запускается с правами Администратора (то есть, с максимальными правами в системе), то любой скрипт, даже самый маленький, может делать все, что ему заблагорассудится. Давайте предположим, что вы написали вроде бы безобидный скрипт test.pl, который делает следующее:
#!/usr/bin/perl -w
use CGI::WebIn;
use CGI::WebOut;
Header("Content-type: text/plain");
open(F, $IN) or die "Could not open\n";
while(<F>) { print }
Программа, казалось бы, просто печатает содержимое файла, указанного в параметре fname. Например, http://localhost/cgi/test.pl?fname=test.pl напечатает исходный код программы. Однако нетрудно заметить, что вызов open в таком виде небезопасен. Например, зайдя по адресу /cgi/test.pl?fname=|dеl+/s/q+c:\windows, в программе будет выполнено:
open(F, "|dеl /s/q c:\\windows") or ...
Это приведет к немедленному уничтожению всей директории Windows!
Возможно, вы скажете, что localhost — на то и localhost, чтобы работать лишь с текущей машины. Если вы открыли доступ наружу по инструкции, приведенной выше, то все именно так. Тем не менее, в случае неправильной настройки Apache можно проникнуть на localhost и извне (если сервер открыт). Это делается очень просто:
C:/> telnet server.ru 80
GET /cgi/test.pl?fname=|dеl+/s/q+c:\windows HTTP/1.1
Host: localhost
здесь нужно просто нажать Enter
Вывод: если у вас нет значительного опыта в администрировании серверов, установка Web-сервера, доступного извне, может быть опасной. Это особенно относится к счастливым обладателям выделенных каналов в Интернет. Одно неверное движение, и однажды утром вы проснетесь с только что отформатированным жестким диском (в лучшем случае).
4) Alligator (11 Июля 2010 в 22:22) [Ж]
Denwer. FAQ.
Q: Зачем мне нужен denwer?
A: Вы не сможете прямо запустить php скрипты, к тому же, чтобы скрипты были доступны для Ваших друзей(точнее результат его действия, подробнее попозже).
Q: Как мне запустить свой сервер?
A: После установки запустить файл /etc/run.exe
Q: Как мне зайти на сервер?
A: Список доступных сайтов, работающих на Вашем компьютере Вы можете посмотреть в:
1. папке /home сборки denwer'a.
2. IE -> <a href="http://localhost/Tools/sitelist/index.php" target="_blank">http://localhost/Tools/sitelist/index.php</a> (данный адрес у ВСЕХ будет одинаковый)
3. %windir%/system32/drivers/hosts
Q: Какие ещё приложения помогут разработчику?
A: список утилит на след. странице: [Только зарегистрированные пользователи могут видеть ссылки. Регистрация!]
Q: Что такое phpMyAdmin ?
A: визуальная оболочка к mysql базе denwer'a
Q: Зачем нужна база данных и где она хранит свои данные?
A: Нужна для хранения информации/результатов работы Вашего сайта. Базы хранятся в папке /usr/local/mysql4/data
Q: Как мне получить доступ к консоли mysql ?
A: Зайти в phpMyAdmin или запустить /usr/local/mysql4/bin/mysql.exe -u root (по-умолчанию)
Q: Как сделать сайт доступным для моих друзей?
A: Остановите denwer(/etc/stop.exe) , откройте /home, создайте папку с Вашим ip, создайте внути папку www и положите туда свои скрипты, запустите denwer и делитесь Вашим ip с друзьями.
Q: Чем php скрипты лучше html?
A: Оффтоп, но всё же - динамические страницы, использование базы данных и файлов для хранения информации и многое другое.
Q:Как мне перенести сайт без потери данных на другой сервер?
A: Скопировать папку со скриптами, сделать dump базы(phpmysqadmin - выбираем нашу базу - Экспорт - Сжатие в zip - Пошел). Это будет полный backup. Что завести скрипты на новой машине надо: положить скрипты в папку скиптов сервера - создать новую базу в phpmyadmin - импорт - выбираем файл sql, который сжат в zip - Пошел.
Q: Какие сайты на моём компьютере доступны для других компов?
A: Только сайт с вашим ip,если он существует. Все остальные(test1.ru, test2.ru, custom, localhost) доступны только для Вас.
Q: У меня backup базы на 100 Мб, не могу залить его через phpmyadmin. Как быть?
A: Открываем /usr/local/mysql5/bin запускаем файл mysql.exe c параметром -u root. Вот вам консоль mysql. Залить можно следующим образом:
PHP код:
create database test1; //если нет базы
use test1; //выбираем базу
source < /путь/до/файла
Q: Как создать sub домен для существующего.
A: В папке /home/имя домена создается папка с именем sub домена.
Пример: для test1.ru надо sub домен sss.test1.ru. Необходимо создать папку содержимое sub домена будет в папке /home/test1.ru/sss
»Смайлы
»Правила
»Скачать тему в txt
«Общие вопрсы
«Сайтостроение
«Форум