Установка локального сервера на Windows

Установка локального сервера на Windows

14:37, 16.08.2022

Содержание статьи
arrow

  • Как установить PuTTY
  • Установка GIT
  • Denwer
  • Memcached
  • Настройка веб-сервера Nginx
  • Как настроить Apache
  • Как настроить автозапуск Denwer вместе с Nginx
  • Как настроить MongoDB

Для развертывания рабочего окружения вам обязательно потребуется установить локальный сервер на Windows – как правило, такая связка включает два элемента:

  • GIT (распределенная система управления версиями);
  • локальный сервер (MySQL, Apache, mongodb, Memcached, nginx, PHP).

В нашем случае для наглядности будем последовательно устанавливать PuTTY, GIT, джентльменский набор Denwer (Apache, MySQL, PHP), Nginx , а также Memcached и MongoDB. Всё это нужно для полноценного развертывания локального сервера.

Как установить PuTTY

Этот клиент обеспечит нам возможность удаленного и безопасного доступа к проекту через протокол SSH или Telnet. Вам нужно лишь перейти на официальный сайт разработчика, загрузить инсталлятор и установить всё стандартным способом. Никаких сложностей не возникнет. С настройкой разбираться придется самостоятельно, так как это не основная тема нашей статьи.

Установка GIT

Опять же, идем на официальный сайт TortoiseGit, выбираем подходящую версию релиза, скачиваем и устанавливаем. Мы рекомендуем именно TortoiseGit, так как он более стабилен и надежен с точки зрения разработки.

Denwer

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

Для установки нужно загрузить базовый комплект Denwer, а также дополнительные модули PHP5. Здесь важно подчеркнуть, что придется пройти регистрацию, и только тогда вы сможете получить ссылку на скачивание программного обеспечения на свой email.

Memcached

Об этой системе кэширования объектов мы уже рассказывали подробно в отдельной статье, так что надолго здесь задерживаться не будем. Для установки вам потребуется скачать архив с файлом в формате binaries, а затем распаковать его в директорию \usr\local\memcached.

Чтобы Memcached запускался вместе с Denwer, придется написать небольшой скрипт с командами запуска. Для этого в директории \denwer\scripts\init.d\ создайте файл с названием memcached.pl, откройте его в режиме редактирования и пропишите такие строки:

#!perl -w
package Starters::Memcached;
BEGIN { unshift @INC, "../lib"; }
 
use StartManager;
 
my $basedir = '/usr/local/memcached/';
chdir($basedir);
 
StartManager::action
  $ARGV[0],
  start => sub {
    ###
    ### START.
    ###
        print "Starting memcached\n";
        system("memcached.exe -d");
        print "  Started!\n";
  },
  stop => sub {
    ###
    ### STOP.
    ###
        print "Stopping memcached\n";
        system("TASKKILL /F /IM memcached.exe");
        print "  Stopped!\n";
  };
 

return 1 if caller;

Остается дело за малым – нужно создать ссылку на этот скрипт в трех разных директориях, чтобы при запуске Denwer автоматически выполнялся init.d/memcached.pl. Для этого в текстовом редакторе нужно написать:

init.d/memcached

Файл называем 40_memcached и сохраняем в трех разных папках:

  • \denwer\scripts\main\start
  • \denwer\scripts\main\stop
  • \denwer\scripts\main\restart

После этого откройте текстовый скрипт index.php и добавьте в него три строчки:

$memcache = new Memcache;
$memcache->connect('127.0.0.1', 11211);
echo ‘Memcache ver: ’ . $memcache->getVersion();

Проверить, работает ли всё так, как задумано, можно путем перезапуска Denwer.

Настройка веб-сервера Nginx

Во время установки локального сервера на Windows не обойтись без веб-сервера – в нашем случае это Nginx. Вам нужно всего лишь перейти на официальный сайт разработчика, загрузить версию для Windows и распаковать файлы в директорию \usr\local\nginx.

Следующий шаг – настроить под ваш тестовый сайт виртуальный хост. Откройте \usr\local\nginx\conf\nginx.conf в режиме редактирования и добавьте строки:

 	server {
          listen 127.0.0.1:80;
          server_name www.test.local test.local;
 
          if ($host = 'test.local'){
              rewrite ^/(.*)$ http://www.test.local$1 permanent;
          }
 
          location ~* \.(jpeg|jpg|gif|png|css|js|pdf|txt|tar)$ {
              root Z:\home\/test.local\www;
          }
          location / {
              ssi on;
             
              proxy_pass http://127.0.0.1:8080/;
              proxy_set_header X-REQUEST_URI $request_uri;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-for $remote_addr;
              proxy_set_header Host $host;
              proxy_connect_timeout 60;
              proxy_send_timeout 90;
              proxy_read_timeout 90;
              proxy_redirect off;
              proxy_set_header Connection close;
              proxy_pass_header Content-Type;
              proxy_pass_header Content-Disposition;
              proxy_pass_header Content-Length;
 
              root Z:\home\/test.local\www;
          }

  	}

Естественно, все прописанные выше параметры необходимо адаптировать в соответствии с вашим проектом.

Установка локального сервера на windows

Как настроить Apache

Параметры работы Apache по умолчанию зачастую не подходят для работы – в частности, установленный «из коробки» порт 80 обычно рекомендуется менять. Либо из соображений безопасности, либо в том случае, если на этом порту работает другой веб-сервер – например, тот же Nginx. В общем, двигаемся в настройки Apache и меняем шаблон для виртуального хоста с целью назначить ему другой порт.

Открываем в режиме редактирования файл \usr\local\apache\conf\httpd.conf и ищем такие строки:

#Listen $&{ip:-127.0.0.1}:$&{port:-6080}
#NameVirtualHost $&{ip:-127.0.0.1}:$&{port:-6080}
#<VirtualHost $&{ip:-127.0.0.1}:$&{port:-6080}>
#  DocumentRootMatch "/home/(?!cgi-)(.*)^1/(?!cgi$|cgi-)(.*)"
#  DocumentRootMatch "/home/(?!cgi-)(.*)/public_html^1"
#  DocumentRootMatch "/home/(?!cgi-)(.*)/public^1"
#  DocumentRootMatch "/home/(?!cgi-)(.*)^1/html/(.*)"
#  DocumentRootMatch "/home/(?!cgi-)(.*)^1/domains/(?!cgi$|cgi-)(.*)"
#  DocumentRootMatch "/var/www/html/(?!cgi-)~(.*)^1/(?!cgi$|cgi-)(.*)"
#  DocumentRoot "$&" 
#  ServerName "%&/-www"
#  ServerAlias "%&/-www" "%&/-www/www" $&{host:-}
#
#  $&{directives:-}
#
#  ScriptAlias /cgi/ "$^1/cgi/"
#  ScriptAlias /cgi-bin/ "$^1/cgi-bin/"
#  AllowEncodedSlashes on

#</VirtualHost>

Здесь вместо 6080 можете указать любой другой удобный порт.

Как настроить автозапуск Denwer вместе с Nginx

Переходим в директорию \denwer\scripts\init.d\, здесь нужно создать файл nginx.pl. Его содержимое должно выглядеть следующим образом:

#!perl -w
package Starters::Nginx;
BEGIN { unshift @INC, "../lib"; }
 
use StartManager;
 
my $basedir = '/usr/local/nginx/';
chdir($basedir);
 
StartManager::action
  $ARGV[0],
  start => sub {
	###
	### START.
	###
    	print "Starting Nginx\n";
        system("start nginx.exe");
    	print "  Started!\n";
  },
  stop => sub {
	###
	### STOP.
	###
    	print "Stopping Nginx\n";
        system("nginx.exe -s stop");
    	print "  Stopped!\n";
  };
 

return 1 if caller;

Сохраняем изменения и движемся далее. Теперь открываем текстовый редактор, в нем пишем «init.d/nginx» без кавычек, а затем сохраняем под именем 50_memcached в трех разных директориях:

  • \denwer\scripts\main\start
  • \denwer\scripts\main\stop
  • \denwer\scripts\main\restart

Чтобы проверить работу скриптов, перезагрузите Denwer – если CSS подключается, всё сделано корректно.

Как настроить MongoDB

Эту документо-ориентированную систему часто используют на локальных серверах, так как в ней понятная структура объекта и присутствуют расширенные возможности запросов. Кроме того, БД удобно масштабировать, что порой экономит очень много времени. Скачать её можно с официального сайта разработчиков.

Перед установкой MongoDB потребуется загрузить PHP драйвер – перейдите на github и найдите файл php_mongo.dll. После скачивания закиньте его в директорию \usr\local\php5\ext\. Подключить расширение можно в файле php.ini, добавив строчку:

extension=php_mongo.dll

Теперь приступаем непосредственно к установке – загрузите архив с инсталлятором и распакуйте его содержимое по адресу \usr\local\mongodb. Здесь же сразу создаем еще две папки с названиями db и logs.

Далее следует установка службы:

> cd C:\WebServers\usr\local\mongodb\bin\
> mongod.exe --install --dbpath=C:\WebServers\usr\local\mongodb\db\ --logpath=C:\WebServers\usr\local\mongodb\logs\

Остается настроить автозапуск MongoDB вместе с Denwer. Для этого переходим по пути \denwer\scripts\init.d\ и здесь создаем файл с названием mongod.pl. Внутрь закидываем небольшой скрипт:

#!perl -w
package Starters::mongoDB;
BEGIN { unshift @INC, "../lib"; }
 
use StartManager;
 
StartManager::action
  $ARGV[0],
  start => sub {
	###
	### START.
	###
        print "Starting mongoDB\n";
        system("net start mongoDB");
        print "  Started!\n";
  },
  stop => sub {
	###
	### STOP.
	###
        print "Stopping mongoDB\n";
        system("net stop mongoDB");
   	 print "  Stopped!\n";
  };

 
return 1 if caller;

Теперь по аналогии с предыдущими шагами открываем текстовый редактор, внутрь прописываем:

init.d/mongod

Называем файл «60_mongod» и сохраняем в трех директориях:

  • \denwer\scripts\main\start
  • \denwer\scripts\main\stop
  • \denwer\scripts\main\restart

После этого рекомендуем посетить официальный сайт разработчиков MongoDB и выбрать себе админку по душе – у всех людей разные вкусы относительно интерфейсов, поэтому никаких универсальных рекомендаций давать не будем.

Наконец, добавим, что вместо PuTTY вы можете использовать KiTTY, а связку Denwer можно заменить программной средой Open Server – она тоже создана с прицелом на веб-разработчиков и отлично работает под управлением Windows. Надеемся, наш материал помог вам разобраться, как установить локальный сервер на Windows и подготовить его к работе над проектом. Спасибо за внимание!

views 5m, 31s
views 2
Поделиться

Была ли эта статья полезной для вас?

Популярные предложения VPS

Другие статьи на эту тему

cookie

Принять файлы cookie и политику конфиденциальности?

Мы используем файлы cookie, чтобы обеспечить вам наилучший опыт работы на нашем сайте. Если вы продолжите работу без изменения настроек, мы будем считать, что вы согласны получать все файлы cookie на сайте HostZealot.