Вернуться   Форум Пустоты.нет - приятное общение ! > Программирование

Отправка SMS по России и Украине.

.
Ответ
 
Опции темы Опции просмотра
Старый 06.12.2011, 10:00   #1
princess
 
Аватар для Nadi
 
female
Регистрация: 14.08.2009
Адрес: Moscow
Сообщений: 1,243
Провел(а) на форуме:
3 нед 3 д 14 ч
Репутация: 182 Добавить отзыв для Nadi
По умолчанию Вопросы по установке и настройке локального сервера. Apache + PHP + MySql

Вопросы и вопли о помощи размещу чуть ниже
Для начала по порядку.

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

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

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

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

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

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

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

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

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

Папки конкретных двух сайтов:
c:/work/test.ru/
c:/work/bebebe/
Название может быть любое. На этом уровне располагают файлы сайта которые не видны в интернете, например служебные файлы, пароли, логи, статистику сервера и т.д.

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

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

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

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

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

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

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

----------
Что бы не было предупреждения в логах Apache убрать знак комментария "#":
ServerName localhost:80

----------
Для того, что бы можно было использовать файлы .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

----------
Указываем путь файла ошибок в удобное нам место:
ErrorLog "c:/work/_/apache_error.log"

----------
Даем доступ к папке "work" и создаем настройки.
После кода:

<Directory "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

Добавляем:

<Directory "C:/work">
AllowOverride All
Options Indexes FollowSymLinks Includes
Order allow,deny
Allow from all
</Directory>

Indexes - возвращает клиенту листинг каталога, если в нем нет индексных файлов
FollowSymLinks - Позволяет использовать символические ссылки (нужно для работы mod_rewrite)
Includes - Разрешает выполнение SSI директив в файлах

----------
Указываем расширения файлов для 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

----------
Далее изменяем в файле
C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\extra\httpd-vhosts.conf

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

Для этого удаляем старые записи
<virtualhost>
.......
</virtualhost>
и добавляем новые:

<VirtualHost *:80>
DocumentRoot c:/work/test.ru/www
ServerName test.ru
ServerAlias www.test.ru
ErrorLog c:/work/test.ru/error.log
CustomLog c:/work/test.ru/access.log common
</VirtualHost>

<VirtualHost *:80>
DocumentRoot c:/work/bebebe/www
ServerName bebebe
ErrorLog c:/work/bebebe/error.log
CustomLog c:/work/bebebe/access.log common
</VirtualHost>

Добавлено через 1 минуту
-----------------------------------------------------------------
3) Устанавливаем PHP

PHP - это популярный язык программирования применяемый для создания сайтов.

В установке выбираем все модули, кроме этих:
Oracle (10)
PDO - Oracle10g
PDO - Oracle8i\Oracle9i
PDO - SQLite (External Driver)
Pspell
Sybase
т.к. для них нет файлов-билиотек (.dll) и это приведет к ошибке.

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

позволит выполнять код PHP в контейнере <? ... ?>
по умолчанию кодом 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

если надо подкрасить все ошибки красным разкомментируем эти строки:
error_prepend_string = "<font color=#ff0000>"
error_append_string = "</font>"

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

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

Заменяем пути папок для временных файлов, сессий и файла ошибок:
upload_tmp_dir="C:\work\_\php_temp"
session.save_path="C:\work\_\php_session"
error_log="C:\work\_\php-errors.log"

Требуется установка времени сервера иначе 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\
(куда сохранять письма прописано в самом скрипте sendmail.php)


-------
ВНИМАНИЕ:
инсталлятор PHP может не прописывать в файле httpd.conf пути к PHP:

#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir ""
LoadModule php5_module "php5apache2_2.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

дописываем вручную:

#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "C:/Program Files (x86)/PHP"
LoadModule php5_module "C:/Program Files (x86)/PHP/php5apache2_2.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL


-------
ВНИМАНИЕ:
при повторном запуске инсталлятора PHP будет снова изменен файл httpd.conf
причем все старые пути к PHP будут закомментированы знаком #,
а новые не пропишутся (см. выше).
В результате Apache запустится без PHP и при попытке выполнить скрипт PHP
например так: http://test.php/index.php будет предложено скачать файл!
Пропишите в файл httpd.conf пути к PHP (см.выше) и все заработает.
__________________
I love my relationship with my bed. No commitment needed.
We just sleep together every night)))


Последний раз редактировалось Nadi; 06.12.2011 в 10:00. Причина: Автообьединение сообщений
Nadi вне форума   Ответить с цитированием

Интересные новости (не создавайте темы из этих новостей!!!)

Бесплатные знакомства в России, Украине.

Покупаешь? Возвращай Кэшбэк за покупки.

Старый 06.12.2011, 10:10   #2
princess
 
Аватар для Nadi
 
female
Регистрация: 14.08.2009
Адрес: Moscow
Сообщений: 1,243
Провел(а) на форуме:
3 нед 3 д 14 ч
Репутация: 182 Добавить отзыв для Nadi
По умолчанию Re: Вопросы по установке и настройке локального сервера. Apache + PHP + MySql

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

ImageMagick - программа для работы с изображениями. Схожа со стандартной библиотекой PHP GD2, но более профессиональная и главное выдает картинки с лучшим качеством, что заметно не вооруженным глазом (после обработки GD2 картинки слегка мутноваты и это не лечится).

После установки самой программы, копируем в папку с модулями, модуль для ImageMagick
C:/Program Files (x86)/PHP/ext/php_imagick_dyn-Q16.dll
В конце php.ini добавляем строчку подключения модуля:
extension=php_imagick_dyn-Q16.dll
Может требовать перезагрузки компьютера (перезагрузим позже)


-----------------------------------------------------------------
5) Устанавливаем 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.


-----------------------------------------------------------------
6) Настройка Windows

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

127.0.0.1 localhost
127.0.0.1 test.ru
127.0.0.1 www.test.ru
127.0.0.1 bebebe

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

Добавлено через 48 секунд
-----------------------------------------------------------------
7) Перезапуск Apache

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

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


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

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

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

Добавлено через 8 минут
Теперь вопросы! Это капец... оно отказывается работать! меня преследуют ошибки!

Самая актуальная:


Скайп я не только убрала, но и вообще уничтожила. Пытаюсь через командную строку узнать, что блокирует 80 порт - пусто!

Уже весь инет перелопатила и все форумы специализированные - бесполезно!
Чувствую скоро сдамся и Денвер поставлю!

Может кто в курсе, как это настроить?
__________________
I love my relationship with my bed. No commitment needed.
We just sleep together every night)))


Последний раз редактировалось Nadi; 06.12.2011 в 10:11. Причина: Автообьединение сообщений
Nadi вне форума   Ответить с цитированием

Старый 06.12.2011, 10:31   #3
Постоянный
 
Аватар для Rock'n'roll
 
male
Регистрация: 05.02.2009
Адрес: Москва
Сообщений: 1,313
Провел(а) на форуме:
1 нед 1 д 12 ч
Репутация: 40 Добавить отзыв для Rock'n'roll
По умолчанию Re: Вопросы по установке и настройке локального сервера. Apache + PHP + MySql

Так что не работает?
МОжешь попробовать прислать httpd.conf от апача... посмотрю, может что дельное подскажу
Схема какая-то заумная... я как-то по-другому делал...
В последний раз вообще Денвер ставил и не парился
__________________
Научиться учиться мне бы, научиться бы мне молиться... (c)А. Бутузов
Rock'n'roll вне форума   Ответить с цитированием

Старый 06.12.2011, 10:35   #4
princess
 
Аватар для Nadi
 
female
Регистрация: 14.08.2009
Адрес: Moscow
Сообщений: 1,243
Провел(а) на форуме:
3 нед 3 д 14 ч
Репутация: 182 Добавить отзыв для Nadi
По умолчанию Re: Вопросы по установке и настройке локального сервера. Apache + PHP + MySql

апач не запускается и выдается такое сообщение, как на картинке выше!


пасибки!!!! вечером пришлю! а то я с нетбука сейчас!
просто буду прыгать от счастья, если ты мне починишь)
__________________
I love my relationship with my bed. No commitment needed.
We just sleep together every night)))

Nadi вне форума   Ответить с цитированием

Старый 06.12.2011, 11:03   #5
Постоянный
 
Аватар для Rock'n'roll
 
male
Регистрация: 05.02.2009
Адрес: Москва
Сообщений: 1,313
Провел(а) на форуме:
1 нед 1 д 12 ч
Репутация: 40 Добавить отзыв для Rock'n'roll
По умолчанию Re: Вопросы по установке и настройке локального сервера. Apache + PHP + MySql

Вот вечером буду дома и посмотрю... тут картинки не показываются)
__________________
Научиться учиться мне бы, научиться бы мне молиться... (c)А. Бутузов
Rock'n'roll вне форума   Ответить с цитированием

Старый 06.12.2011, 19:56   #6
princess
 
Аватар для Nadi
 
female
Регистрация: 14.08.2009
Адрес: Moscow
Сообщений: 1,243
Провел(а) на форуме:
3 нед 3 д 14 ч
Репутация: 182 Добавить отзыв для Nadi
По умолчанию Re: Вопросы по установке и настройке локального сервера. Apache + PHP + MySql

Вот, я на файлообменник выложила!
http://files.mail.ru/291FPK
__________________
I love my relationship with my bed. No commitment needed.
We just sleep together every night)))

Nadi вне форума   Ответить с цитированием

Старый 07.12.2011, 16:30   #7
Постоянный
 
Аватар для Rock'n'roll
 
male
Регистрация: 05.02.2009
Адрес: Москва
Сообщений: 1,313
Провел(а) на форуме:
1 нед 1 д 12 ч
Репутация: 40 Добавить отзыв для Rock'n'roll
По умолчанию Re: Вопросы по установке и настройке локального сервера. Apache + PHP + MySql

DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
у тебя по этому пути сайт лежит?
Я так понимаю, виртуальные хосты ты не настраивала
__________________
Научиться учиться мне бы, научиться бы мне молиться... (c)А. Бутузов
Rock'n'roll вне форума   Ответить с цитированием

Старый 07.12.2011, 20:54   #8
princess
 
Аватар для Nadi
 
female
Регистрация: 14.08.2009
Адрес: Moscow
Сообщений: 1,243
Провел(а) на форуме:
3 нед 3 д 14 ч
Репутация: 182 Добавить отзыв для Nadi
По умолчанию Re: Вопросы по установке и настройке локального сервера. Apache + PHP + MySql

ага, здесь лежит!
видимо не настраивала... а где их настраивают?

Добавлено через 4 часа 18 минут
все! это выше моих сил! все нафиг снесла и поставила Денвер!
работает!!!
__________________
I love my relationship with my bed. No commitment needed.
We just sleep together every night)))


Последний раз редактировалось Nadi; 07.12.2011 в 20:54. Причина: Автообьединение сообщений
Nadi вне форума   Ответить с цитированием

Старый 08.12.2011, 09:18   #9
Постоянный
 
Аватар для Rock'n'roll
 
male
Регистрация: 05.02.2009
Адрес: Москва
Сообщений: 1,313
Провел(а) на форуме:
1 нед 1 д 12 ч
Репутация: 40 Добавить отзыв для Rock'n'roll
По умолчанию Re: Вопросы по установке и настройке локального сервера. Apache + PHP + MySql

ну я так же поступил
__________________
Научиться учиться мне бы, научиться бы мне молиться... (c)А. Бутузов
Rock'n'roll вне форума   Ответить с цитированием

Старый 08.12.2011, 10:08   #10
princess
 
Аватар для Nadi
 
female
Регистрация: 14.08.2009
Адрес: Moscow
Сообщений: 1,243
Провел(а) на форуме:
3 нед 3 д 14 ч
Репутация: 182 Добавить отзыв для Nadi
По умолчанию Re: Вопросы по установке и настройке локального сервера. Apache + PHP + MySql

это жесть.... я столько времени убила на это! из чистого упрямства!
__________________
I love my relationship with my bed. No commitment needed.
We just sleep together every night)))

Nadi вне форума   Ответить с цитированием

Ответ



Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +3, время: 00:56.


© Форум "Пустоты.нет" - общение и знакомства 2006-2024, Мобильный контент
Работает на vBulletin® версия 3.9.15
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Перевод:zCarot. Стиль: vBSkins. Dir

Top100
Страница сгенерирована за 0.27425 секунд с 9 запросами