Установка локального сервера на Windows
17:19, 16.08.2022
Для розгортання робочого оточення вам обов'язково потрібно встановити локальний сервер на 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; } }
Звичайно, всі прописані вище параметри необхідно адаптувати відповідно до вашого проекту.
Як налаштувати 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 і підготувати його до роботи над проектом. Дякуємо за увагу!