Приветствую Вас Гость | RSS Вторник, 22.05.2012, 12:42 PM
Интернет магазин китайской электроники
            null    null    null   
Страница 1 из 11
Форум AleksVip.Ru » Общение » Создаём сервер у себя на компе » Установка локального сервера на windows XP (x32)
Установка локального сервера на windows XP (x32)
AleksVip™Дата: Суббота, 04.12.2010, 10:35 AM | Сообщение # 1
admin
Группа: Друзья
Сообщений: 633
Статус: Offline
Как сделать домашний хостинг за 10 минут с нуля,
т.е. установка локального сервера.
Apache + PHP + MySql + windows 7 и XP

На локальном сервере можно учиться делать сайты, запускать готовые "движки" сайтов, проводить любые эксперименты, тестировать скрипты, web-интерфейсы и т.д.
Ниже инструкция, файлы и видео как все сделать.

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

Файлы обновлены 2010.08.13

Инcтрукция и тестовые PHP скрипты: Скачать .ZIP (24кб)
MD5: f123d464a1f790e0b527aa3255329912

Все программы: Скачать .ZIP (82мб)
MD5: 66079d815e08fee1044acd8e2562f5c5
В архиве:

Текстовые редакторы\
HeidiSQL_5.1_Setup.exe
httpd-2.2.16-win32-x86-openssl-0.9.8o.msi
mysql-essential-5.1.49-win32.msi
php-5.3.3-Win32-VC6-x86.msi
phpMyAdmin-3.3.5-all-languages.zip

Установка локального сервера на windows 7 (x64)
Альтернатива денвера (denwer) и альтернатива XAMPP.
Скачать .MP4 800x600 (16мб)
Смотреть видео ON-LINE:

[player]http://www.sysbox.ru/download/windowsxp.mp4[/player]

Все программы бесплатны и скачаны с официальных сайтов:

http://httpd.apache.org/download.cgi
http://windows.php.net/download/ (скачиваем "installer", только "VC6 x86 Thread Safe". VC9 - устанавливать нельзя)
http://www.mysql.com/downloads/mysql/ (essential - означает "необходимый минимум")
или http://www.mysql.ru/download/

программы для работы с базой данных MySql:

http://www.heidisql.com/download.php
http://www.devart.com/ru/dbforge/
http://www.phpmyadmin.net/home_page/downloads.php

текстовые редакторы:

http://www.pspad.com/ru/
http://notepad-plus.sourceforge.net/ru/site.htm

Принцип работы сервера:

Сервер - это компьютер на котором лежат файлы сайта. На нем запущена и постоянно работает специальная программа Apache. Если через браузер обратиться к этому серверу (послать запрос на 80 порт), Apache выдаст обратно HTML и графические файлы лежащие на сервере в определенной папке. Браузер получив обратно эту информацию сформирует из них на экране привычную нам страницу сайта.
Это принцип.

Для надежности и большей совместимости реальные сервера у хостинговых компаний обычно делают на связках Unix + Apache (самая распространенная в мире связка) или на Windows Server 200X + Internet Information Server (IIS). Для экспериментов и тестирования сайтов, нам вполне подойдет Windows 7, Vista или XP + Apache.

Ниже рассказывается как создать локальный сервер (не видимый в интернете) для тестирования сайтов, скриптов и т.д. Настроить видимость в интернете, т.е. сделать свой реальный хостинг можно, но это опасно из за вирусов, спамеров и хулиганов которые могут посещать Ваши сайты.

1) Cоздаем папки

c:/work/site.ru/www/
c:/work/site2.ru/www/
(желательно сразу залить туда предлагаемые PHP файлы, для тестирования хостинга)

Это папки для двух сайтов и их адреса мы будем указывать в настройках Apache. Сайтов может быть много. Папки нужно создавать заранее. Если хотя бы одна папка или подпапка указанная в настройках Apache физически не существует, то Apache не запустится.

c:/work/ - общая папка для всех виртуальных сайтов.
Название может быть любое, не обязательно work.
Место положение любое, не обязательно диск c:

c:/work/site.ru/ - папка конкретного сайта.
Название может быть любое. Здесь, лишь для удобства восприятия, название папки = названию домена. На этом уровне располагают файлы сайта которые не видны в интернете, например служебные файлы, пароли, логи, статистику сервера и т.д.

c:/work/site.ru/www/ - видна в интернете.
Здесь размещаются непосредственно файлы сайта (картинки, HTML, файлы для скачивания и т.д.) Грубо говоря, если в браузере набрать site.ru, то будет "видно" содержимое именно этой папки. Поэтому в браузере невозможно набрать полный путь до выше стоящей папки c:/work/site.ru/ и из за этого она не видна в интернете. Разумеется c:/work/ то же не видна и диск c:/ то же. smile

папка
c:/work/sendmail/
не обязательна. Нужна для работы "заглушки" отправки e-mail.

2) Устанавливаем Apache

Apache - это программа, которая принимает запросы от браузера (Internet Explorer, FireFox, Opera ...) и выдает ему обратно HTML, картинки, результаты работы скриптов и т.д. (выдает страницы сайта). Запущена она один раз и работает постоянно. Значок запущенной программы будет внизу, справа экрана.

Настройки Apache в файле:
c://Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf
Для применения изменений в этом файле нужно перезагружать Apache.

----------
Чтобы Apache принимал запросы только с локального компьютера, указываем его неизменный IP адрес и порт: 127.0.0.1:80
Т.е. скачать или запустить что-то на вашем хостинге можете только Вы и только с локального компьютера но при этом Ваши PHP программы могут скачивать что-то из интернета.

Заменяем
Listen 80
на
Listen 127.0.0.1:80

----------
Модуль mod_rewrite.so нужен для реализации человеку понятных адресов (ЧПУ)
Применяется для создания ссылок на страницы вида: site.ru/news/2010/03/
Убрать знак комментария "#":
LoadModule rewrite_module modules/mod_rewrite.so

----------
Для того, что бы можно было использовать файлы .htaccess
После кода:

# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit

Изменяем
AllowOverride None
на
AllowOverride All

----------
При указании в адресной строке браузера папки на сервере, сервер автоматически будет искать и запускать указанные здесь файлы

Заменяем
DirectoryIndex index.html
на
DirectoryIndex index.html index.htm index.php

----------
Даем доступ к папке "work"
После кода:


AllowOverride None
Options None
Order allow,deny
Allow from all

Добавляем:


AllowOverride All
Options Indexes Includes
Order allow,deny
Allow from all

----------
Указываем расширения файлов для SSI
После кода :

# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options" directive.)

Вставить:

AddType text/html .shtml .html. .htm
AddOutputFilter INCLUDES .shtml .html .htm

----------
Присоединение к основному конфигурационному файлу, файл httpd-vhosts.conf
Тогда при запуске Apache прочитает оба файла.
Убрать знак комментария "#":
Include conf/extra/httpd-vhosts.conf

----------
Даем понять Apache, что:
Есть виртуальный хост, т.е. сайт.
Его файлы лежат здесь "DocumentRoot"
Показывать именно этот сайт если запрашивают домен "ServerName" или "ServerAlias"
Логи писать сюда "ErrorLog" и сюда "access.log"

Для этого в файле:
C:\Program Files\Apache Software Foundation\Apache2.2\conf\extra\httpd-vhosts.conf
удаляем старые записи .......
и добавляем новые:


DocumentRoot c:/work/site.ru/www
ServerName site.ru
ServerAlias www.site.ru
ErrorLog c:/work/site.ru/error.log
CustomLog c:/work/site.ru/access.log common


DocumentRoot c:/work/site2.ru/www
ServerName site2.ru
ServerAlias www.site2.ru
ErrorLog c:/work/site2.ru/error.log
CustomLog c:/work/site2.ru/access.log common

3) Устанавливаем PHP

PHP - это популярный язык программирования применяемый для создания сайтов.
При установке обязателен модуль: MySQL, т.к. без него PHP не сможет подключаться к базе данных mysql.
Обычно нужны еще эти модули:
Mcrypt - для шифрования
GD2 - для работы с изображениями
Multi-Byte String - для работы со строками в многобайтовых кодировках (например utf-8)

Настройки PHP в файле:
C:\Program Files\PHP\php.ini

позволит выполнять код PHP в контейнере
по умолчанию кодом PHP считается все в контейнере
short_open_tag = On

максимальное время выполнения программы в секундах
(на реальных хостингах обычно 30)
max_execution_time = 3600

максимальное время получения данных (например загрузки файла) в секундах
(на реальных хостингах обычно 60)
max_input_time = 3600

максимальный объем памяти который может занять Ваш PHP скрипт
(на реальных хостингах обычно 32М)
memory_limit = 256M

выводить на экран ошибки PHP
(на реальных хостингах всегда OFF в целях безопасности)
display_errors = On

выводить на экран ошибки в момент запуска PHP
display_startup_errors = On

максимальный объем, который можно передать PHP скрипту методом POST
(на реальных хостингах обычно 4М)
post_max_size = 1000M

максимальный объем файла, который можно передать PHP скрипту
(на реальных хостингах обычно 2М)
upload_max_filesize = 1000M

Требуется установка времени сервера иначе PHP постоянно будет выдавать предупреждения
изменяем
;date.timezone =
например, на
date.timezone ='Europe/Moscow'

Что бы работала "заглушка" для отправки e-mail после строки
;sendmail_path =
добавляем
sendmail_path = php.exe c:/work/sendmail/sendmail.php
тогда при выполнении функции PHP - mail(); письмо будет сохранено в виде файла в папке
c:/work/sendmail/

4) Устанавливаем MySQL

MySQL - это база данных. Т.к. далеко не всю информацию удобно хранить в файлах, наличие базы данных очень часто является необходимостью. При установке обязательно поставьте галочку Include Bin Directory in Windows PATH иначе PHP не сможет найти нужные ему файлы mysql.

(в тестовых файлах PHP, с сайта sysbox.ru, для подключения к базе данных указаны
логин: root
пароль: root
изменить их можно в файле config.php)

Кодировки MySQL это отдельный рассказ, т.к. нюансов множество.
При установке MySQL желательно указать именно UTF-8 (инсталлятор так и рекомендует сделать). Это универсальная, многобайтовая кодировка.

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

character_set_client = кодировка данных отправляемых от PHP
character_set_connection = кодировка, в которую преобразуется информация пришедшая от PHP, перед выполнением запроса на сервере
character_set_results = кодировка данных отправляемых к PHP
collation_connection = кодировка в которой производится сопоставление в базе данных. Используется для сортировки и выборки.

В помощь: если база данных в UTF-8, а на сайте работаете в кодировке windows-1251, то после подключения к базе данных надо выполнить запрос:
SET NAMES cp1251
который равносилен этим трём:
SET character_set_client = cp1251
SET character_set_results = cp1251
SET character_set_connection = cp1251

Настройки MySQL лежат в файле:
c:\Program Files (x86)\MySQL\MySQL Server 5.1\my.ini

Если сам MySQL использует UTF-8 по умолчанию, то лезть в файл настроек как правило не нужно и все проблемы с кодировками можно решить с помощью MySQL менеджера (например программы HeidiSQL) и запросов SQL.


5) Настройка Windows

Что бы при наборе в браузере определенных сайтов браузер искал их не в интернете, а на локальном компьютере,
в файл:
C:\WINDOWS\system32\drivers\etc\host
добавляем:

127.0.0.1 localhost
127.0.0.1 site.ru
127.0.0.1 www.site.ru
127.0.0.1 site2.ru
127.0.0.1 www.site2.ru

Запись "127.0.0.1 localhost" нужна для того, что бы можно было подключаться к MySQL из PHP указывая не IP адрес 127.0.0.1, а зарезервированное имя "localhost". Так правильнее и "localhost" часто используется на реальных хостингах.

6) Перезапуск Apache

Для Windows7 и Vista:
Остановить и снова запустить Apache.

Для Windows XP:
Сразу перезапустить Apache не получится. Вместо этого надо обязательно перезагрузить компьютер.
(перезагрузка закрепляет значения, автоматически сделанные Apache, PHP и MySQL, в переменной Windows - PATH)

Настройка программы phpMyAdmin

Настройка программы phpMyAdmin
phpMyAdmin - это программа для администрирования базы данных MySQL.
Написана на языке PHP, работает через браузер.
Примечательна тем, что на большинстве реальных хостингах она установлена и рекомендуется для работы с базой данных.

Распаковываем все файлы в какую-нибудь папку на сайте, например в "c:/work/site.ru/www/pma/"
В корне переименовать файл
config.sample.inc.php
в
config.inc.php
и редактируем всего одну строчку (надо указать любой код, например "xxx"):
$cfg['blowfish_secret']='xxx';
После чего запускаем phpMyAdmin, набрав в браузере:
site.ru/pma
Вводим логин и пароль которые указывали при установке MySQL

Остальные настройки менять НЕ нужно и по умолчанию они должны содержать:
$cfg['Servers'][$i]['verbose'] = '';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['nopassword'] = true;

Если в файле
C:\WINDOWS\system32\drivers\etc\hosts
нет строчки
127.0.0.1 localhost
то phpMyAdmin может не работать "зависать" и выдавать ошибки, например:
#2002 - Сервер не отвечает (либо сокет локального MySQL-сервера некорректно настроен)
Эти зависания можно вылечить изменив в настройке phpMyAdmin:
$cfg['Servers'][$i]['host'] = 'localhost';
на
$cfg['Servers'][$i]['host'] = '127.0.0.1';
но правильнее внести строчку
127.0.0.1 localhost
в файл hosts, т.к. на реальных хостингах, в скриптах PHP при подключении к MySQL указывается именно "localhost", а не конкретные IP адресю

Весь материал взят с сайта http://www.sysbox.ru



<a href="http://ringtonclub.ru/"><b>Бесплатные рингтоны для мобилы</b></a>
 
Форум AleksVip.Ru » Общение » Создаём сервер у себя на компе » Установка локального сервера на windows XP (x32)
Страница 1 из 11
Поиск:

Design by СвЕт ЗлОй © 2012 | Создать сайт бесплатно | Все для uCoz и Photoshop
Rambler's Top100 SB-MONEY.RU - рейтинг сайтов электронной коммерции и заработка для вебмастеров
Создать сайт бесплатно