Установка локального сервера на 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 і підготувати його до роботи над проектом. Дякуємо за увагу!