avatar_Deathless

Как установить и настроить Apache, PHP 5 и Nginx на локальной машине под операционной системой Windo

Автор Deathless, 2011 Сен. 09, 04:31

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ключевые слова [SEO] настройкаphpустановкаwindowsapachenginxлокальная машина

Deathless

Доброго времени суток!

В этой статье мы рассмотрим установку и настройку Apache, PHP 5 и Nginx для использования их на локальной машине под операционной системой Windows.

Скачать необходимые файлы:
Спойлер
- https://httpd.apache.org/download.cgi#apache22
Win32 Binary without crypto (no mod_ssl) (MSI Installer): httpd-2.2.20-win32-x86-no_ssl.msi

- https://windows.php.net/download/
VC6 x86 Thread Safe (2011-Mar-22 13:29:30)
Zip [10.06MB]


- https://nginx.org/ru/download.html
nginx/Windows-1.1.2

- https://www.gknw.net/development/apache/htt.../win32/modules/
mod_rpaf-0.6-2.2.10-w32.zip (Распаковать и закинуть в X:xxxmodules)

- https://multi-up.com/554338
mod_dosevasive22 (Распаковать и закинуть в X:xxxmodules)
[свернуть]

1. Устанавливаем Apache:
https://imageshack.us/g/813/80809293.jpg/

2. Создадим папку php в инсталляционной папке Apache и распакуем туда файлы из скачанного архива PHP.

3. Открываем в блокноте X:xxxconfhttpd.conf и редактируем его:
Спойлер
Раскомментировать (удалить символ #)
ServerName localhost:80
LoadModule deflate_module modules/mod_deflate.so
LoadModule expires_module modules/mod_expires.so
LoadModule rewrite_module modules/mod_rewrite.so
Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-default.conf
EnableMMAP off
EnableSendfile off
Найти строчку
#LoadModule vhost_alias_module modules/mod_vhost_alias.soПосле неё добавить
PHPIniDir "X:/xxx/php/"
LoadModule php5_module "X:/xxx/php/php5apache2_2_filter.dll"
LoadModule rpaf_module modules/mod_rpaf.so
LoadModule dosevasive22_module modules/mod_dosevasive22.dll
RPAFenable On
RPAFsethostname On
RPAFheader X-Forwarded-For
RPAFproxy_ips 127.0.0.1
<IfModule dosevasive22_module>
DOSPageCount 2
DOSPageInterval 1
DOSBlockingPeriod 10
DOSSiteCount 50
DOSSiteInterval 1
</IfModule>
После строчек
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
Добавить
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
После строчки
EnableSendfile offДобавить
Win32DisableAcceptExНайти
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
Заменить на
<Directory />
Options Indexes Includes FollowSymLinks
AllowOverride All
Allow from all
</Directory>
Найти
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
Заменить на
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
Закомментировать (поставить символ # впереди всех незакомментированных строчек) или удалить
<Directory "X:/xxx/htdocs">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
#  Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important.  Please see
# [url=https://httpd.apache.org/docs/2.2/mod/core.html#options]https://httpd.apache.org/docs/2.2/mod/core.html#options[/url]
# for more information.
#
Options Indexes FollowSymLinks

#
# 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

#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all

</Directory>
[свернуть]

4. Редактируем X:xxxconfextrahttpd-vhosts.conf:
Всё удаляем и вставляем эти строчки
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "X:/xxx/www.сайт.ru/www"
ServerName localhost
ErrorLog "X:/xxx/www.сайт.ru/logs/error.log"
CustomLog "X:/xxx/www.сайт.ru/logs/access.log" common
</VirtualHost>
(Не забудьте создать эти папки)

5. Находим файл X:xxxphpphp.ini-dist и переименовываем его в php.ini.

6. Открываем php.ini в блокноте и редактируем:
Цитата: php.iniprecision = 3
output_buffering = 4096
safe_mode = On
disable_functions = dl, exec, shell_exec, system, passthru, popen, pclose, proc_open, proc_nice, proc_terminate, proc_get_status, proc_close, pfsockopen, leak, apache_child_terminate, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, escapeshellcmd, escapeshellarg, curl_exec,curl_multi_exec,parse_ini_file,show_source, suexec, ini_set, virtual, set_time_limit
expose_php = Off
max_execution_time = 300
register_long_arrays = Off
magic_quotes_gpc = Off
enable_dl = Off
extension_dir = "X:xxxphpext"
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mssql.dll
extension=php_openssl.dll
extension=php_sockets.dll

7. Для корректной работы php модулей, файлы - ntwdblib.dll, libeay32.dll, ssleay32.dll (из папки php), копируем в C:WindowsSystem32 (на 32-битных системах) или в C:WindowsSystem (на 64-битных системах).

8. Создаём папку nginx в папке Apache и распаковываем туда файлы из скаченного архива Nginx.

9. Открываем X:xxxnginxconfnginx.conf и редактируем:
Спойлер
Раскомментировать (удалить символ #)
error_log  logs/error.log;Найти строчку
#gzip  on;После неё добавить
upstream backend {
server 127.0.0.1:[b]PORT[/b];
}
Найти строку
server_name  localhost;Заменить на
server_name  сайт.ru;
client_max_body_size 101M;
Найти
location / {
root  html;
index  index.html index.htm;
}
Заменить на
location ~ /.ht {
deny all;
}
location / {
proxy_pass [url=https://127.0.0.1:]https://127.0.0.1:[/url][b]PORT[/b]/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_connect_timeout 120;
proxy_send_timeout    120;
proxy_read_timeout    180;
}
PORT - вписать свой порт который будет прослушивать Apache (например, 82)
Так же порты надо изменить в httpd.conf и httpd-vhosts.conf
[свернуть]

10. Вначале запускаем Apache, потом Nginx.
Чтобы выключить Nginx, создайте файл Stop.bat с содержимым
@echo off
start X:xxxnginxnginx.exe -s stop
exit

Deathless

Цитата: Paqpka от 2012 Фев. 03, 12:06  Ето как я понел чтобы в appserver Работал допустим DEW Вебсайт ? или чтото нетак я понел ?
Подходит абсолютно под любой сайт для МУ и не только.
Настройки подойдут для всех web-серверов (готовых сборок) основанных на Apache.

Deathless

Цитата: XeViL от 2012 Фев. 09, 14:27  Не заходит на https://www.gknw.net/development/apache/htt.../win32/modules/ и не могу скачать его. В гугле смотрел, нигде нету. Скиньте новую ссылку, пожалуйста.
mod_rpaf-0.6-2.2.10-w32.zip

FeaKyS

- http://www.gknw.net/development/apache/htt.../win32/modules/
mod_rpaf-0.6-2.2.10-w32.zip (Распаковать и закинуть в X:\xxx\modules\)

- http://multi-up.com/554338
mod_dosevasive22 (Распаковать и закинуть в X:\xxx\modules\)

Можно на бесплатный хостинг? или депозит?
Заранее спасибо.

BYTE

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

Barma1ey

Подскажите плз, в чем может быть проблема?

MMW Result:
Loading php_mssql.dll Falied!
Please Enable php_mssql.dll in your php.ini

gucciprado

ЦитироватьPlease Enable php_mssql.dll in your php.ini

php.ini если AppServ C:Windowsphp.ini
Если Xampp C:xamppphpphp.ini

Строчка php_mssql.dll   убрать ; перезапустить веб-сервер.

Barma1ey

Цитата: gucciprado от 2013 Окт. 07, 22:00  php.ini если AppServ C:Windowsphp.ini
Если Xampp C:xamppphpphp.ini

Строчка php_mssql.dll   убрать ; перезапустить веб-сервер.
Оно бы все, конечно, ничего... только мануал читать я умею.
Где находится данный файл (php.ini) я прекрасно знаю. И строчка в нем с наличием "php_mssql.dll" всего одна (extension=php_mssql.dll) и ";" там убрана. Сам файл php_mssql.dll лежит где ему и положено "C:AppServphp6extphp_mssql.dll". Перезапускался как веб-сервер, так и сам комп, однако ничего не помогает...

Может кто-то по умнее найдется и подскажет, что-то такое, чего нет в этой теме, и из-за чего может быть такая проблема? А цитировать вышенаписанное, спасибо, не нужно.

Телега

мб не в том php.ini шаришься. их может быть несколько, и в разных местах.

Barma1ey

Цитата: Телега от 2013 Окт. 09, 22:35  мб не в том php.ini шаришься. их может быть несколько, и в разных местах.

ммм... попробую поиском их все найти. Спасибо за подсказку.

Barma1ey

php.ini один. Лежит в C:\Windows
есть еще php.ini-recomended и php.ini-dist в C:\AppServ\php6, но я так понимаю это не из-за них...

Белый


Barma1ey

Цитата: Белый от 2013 Окт. 20, 20:41  Пиши в скайп помогу.

Жмакнул спасибо за готовность помочь (если это конечно было реальное предложение помочь)  s:)
Осталась одна маааааленькая деталь... гже узнать этот скайп??? В твоем профиле данных нет... а я как-то телепатией не владею...

Белый

Цитата: Barma1ey от 2013 Окт. 26, 15:38  Жмакнул спасибо за готовность помочь (если это конечно было реальное предложение помочь)  s:)
Осталась одна маааааленькая деталь... гже узнать этот скайп??? В твоем профиле данных нет... а я как-то телепатией не владею...
Был в подписе, на днях убрал.  Anonym0451.

rudik

Подскажите в чм проблема?

Warning: session_start() [function.session-start]: open(C:DOCUME~19335~1LOCALS~1Temp1sess_3787af29e64dd6ac10e603edf0e941de, O_RDWR) failed: No such file or directory (2) in C:AppServwwwindex.php on line 3


что нужно настроить

Белый

Цитата: rudik от 2013 Окт. 29, 13:09  Подскажите в чм проблема?

Warning: session_start() [function.session-start]: open(C:DOCUME~19335~1LOCALS~1Temp1sess_3787af29e64dd6ac10e603edf0e941de, O_RDWR) failed: No such file or directory (2) in C:AppServwwwindex.php on line 3


что нужно настроить
приши в index.php  в самом начале где у тебя <?  error_reporting(0);

rudik

Спаибо помогло! Но поставил апп выше версии и она сама исчезла!

Белый

Цитата: rudik от 2013 Окт. 29, 14:21  Спаибо помогло! Но поставил апп выше версии и она сама исчезла!
Спойлер
Это магия  :trollface:
[свернуть]

Dimenty

Ребят помогите поставить DEW. Отпишите в скаип - DimentyMuOnline, работу оплачу.

Похожие темы (5)