Windows11 + WSL2: Настройка за разработка на WordPress сайтове – най-добрите практики

Windows11 + WSL2: Настройка за разработка на WordPress сайтове – най-добрите практики

Здравейте, колеги! Ако разработвате WordPress уебсайтове под Windows, сигурно сте мечтали за лекотата на Linux-базираната среда, без да се налага да превключвате операционни системи или да използвате тромави виртуални машини.

Днес ще ви разкажа как да настроите мощен, модерен и невероятно ефективен работен процес, използвайки Windows 11 и WSL2. Това не е просто урок за инсталиране, а сбор от най-добрите практики, които съм изградил и усъвършенствал с години.

Защо точно тази комбинация? (И защо не само локален сървър?)

Преди да се потопим в настройките, нека разберем защо Windows 11 + WSL2 е толкова мощна комбинация за разработка на WordPress.

  • WSL2 (Windows Subsystem for Linux версия 2) не е емилатор. Това е реално ядро на Linux, работещо директно върху хардуера ви, но интегрирано перфектно във Windows. Това ви дава пълната мощ и съвместимост на Linux, без натоварванията на традиционна виртуална машина.
  • Пълна съвместимост: Можете да изпълнявате нативни Linux инструменти като vimsshgrepwp-cli и дори Docker, без никакви компромиси.
  • Интеграция с Windows: Достъпвате вашите Linux файлове директно от Проводника на Windows (\\wsl$\) и обратно – можете да редактирате кода си с любимия си редактор (като VS Code) под Windows, докато той се изпълнява в средата на Linux.

Сравнение с "локален сървър" (напр., XAMPP/WAMP):
Стандартните пакети за локален сървър са чудесни за начинаещи, но имат ограничения за професионална разработка. Средата им рядко съвпада напълно с реалния хостинг сървър (който почти винаги е под Linux), което може да доведе до досадни несъответствия ("на моя машина работеше"). С WSL2 вие разработвате в среда, почти идентична на продакшън сървъра ви.


Стъпка 1: Инсталиране и първоначална настройка на WSL2

Преди да започнете, уверете се, че използвате Windows 11 (с най-новите актуализации) и че функцията "Virtualization" е включена в BIOS/UEFI на вашия компютър.

1. Инсталирайте WSL2:
Отворете PowerShell като администратор и изпълнете:

wsl --install

Тази команда автоматично ще инсталира WSL2 със стандартната дистрибуция Ubuntu.

2. Рестартирайте компютъра.

3. След рестарта ще се отвори прозорец на Ubuntu, където ще трябва да зададете потребителско име и парола. Тези идентификационни данни са специфични за вашия WSL инстанс и нямат връзка с вашата Windows парола.

4. Актуализирайте системните пакети:
В терминала на Ubuntu изпълнете:

sudo apt update && sudo apt upgrade -y

Стъпка 2: Създаване на оптимизирана среда за уеб сървър (LEMP стек)

Вместо да инсталираме целия LAMP стек (с Apache), ще използваме LEMP (Nginx, MySQL, PHP), който е по-бърз и ефективен с ресурсите. Ще използваме и systemd за управление на услугите.

1. Инсталирайте основните компоненти:

sudo apt install nginx mysql-server php-fpm php-mysql php-cli php-curl php-zip php-xml php-gd php-mbstring php-json

2. Конфигурирайте MySQL:
Стартирайте защитната скрипта:

sudo mysql_secure_installation

Ще ви пита дали искате да настроите VALIDATE PASSWORD компонента. За локална разработка това не е необходимо, но за продакшън е задължително. След това задайте root парола и отговорете "Y" на всички следващи въпроси за премахване на анонимни потребители, забрана за root вход от разстояние и премахване на тестови бази данни.

3. Конфигурирайте Nginx да работи с PHP:
Създайте нов конфигурационен файл за вашия сайт. Заменете mywordpress.local с желаното от вас локално домейн име.

sudo nano /etc/nginx/sites-available/mywordpress.local

Поставете следната конфигурация:

server {
    listen 80;
    server_name mywordpress.local;
    root /var/www/mywordpress.local;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Забележка: Версията на PHP (тук 8.2) може да се различава. Проверете с php -v и коригирате пътя в fastcgi_pass.

Активирайте сайта като създадете симлинк:

sudo ln -s /etc/nginx/sites-available/mywordpress.local /etc/nginx/sites-enabled/

4. Стартирайте услугите и ги настройте да се пускат автоматично:

sudo systemctl enable nginx mysql php8.2-fpm
sudo systemctl start nginx mysql php8.2-fpm

Стъпка 3: Настройка на хостване в Windows и достъп до сайта

За да достъпвате вашия сайт чрез mywordpress.local в браузъра на Windows, трябва да редактирате файла hosts.

1. Редактирайте hosts файла на Windows:
Отворете Notepad като администратор, отворете файла C:\Windows\System32\drivers\etc\hosts и добавете следния ред:

127.0.0.1 mywordpress.local

2. Създайте директорията за вашия проект:
В терминала на WSL:

sudo mkdir -p /var/www/mywordpress.local
sudo chown -R $USER:$USER /var/www/mywordpress.local

Така давате права на вашия потребител върху папката.

Сега, ако отворите http://mywordpress.local в браузъра си под Windows, трябва да видите грешка 403 или 404 (която е нормална, тъй като все още няма файлове в папката). Това доказва, че Nginx работи правилно и зарежда сайта от WSL.


Стъпка 4: Инсталиране на WordPress и WP-CLI

Тук идва най-сладката част. Ще инсталираме WordPress изцяло от командния ред с помощта на WP-CLI – незаменим инструмент за всеки сериозен WordPress разработчик.

1. Инсталирайте WP-CLI:
Изтеглете и направете изпълним файла:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

Проверете дали работи: wp --info.

2. Създайте база данни за WordPress:
Влезте в MySQL:

sudo mysql -u root -p

Създайте база данни и потребител:

CREATE DATABASE wordpress_local;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'strong_password_123';
GRANT ALL PRIVILEGES ON wordpress_local.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

3. Инсталирайте WordPress с WP-CLI:
Навигирайте до папката на вашия сайт и изпълнете командите:

cd /var/www/mywordpress.local
wp core download --locale=bg_BG
wp config create --dbname=wordpress_local --dbuser=wp_user --dbpass=strong_password_123 --locale=bg_BG
wp core install --url=mywordpress.local --title="Моят Сайт" --admin_user=admin --admin_password=strong_admin_password_123 [email protected]

И това е! Вече можете да отворите http://mywordpress.local/wp-admin и да влезете в административния панел с предоставените идентификационни данни.


Стъпка 5: Най-добрите практики за ежедневна работа

1. Редактиране на код: Използвайте VS Code с разширението "WSL"
Инсталирайте разширението "Remote – WSL" за VS Code. След това от WSL терминала, в папката на вашия проект, просто изпълнете code .. Това ще отвори VS Code, който ще се свърже директно с вашата WSL среда. Можете да редактирате файловете си, да инсталирате добавки и да използвате дебъгер, сякаш работите напълно под Linux.

2. Управление на проекти: Организирайте вашите файлове
Създайте структура от папки в /var/www/ за всеки ваш проект (напр., /var/www/client1-site.local/var/www/my-blog.local). Повторете стъпките за конфигуриране на Nginx и hosts файла за всеки нов проект.

3. Резервни копия и миграции
Използвайте WP-CLI за бързо експорт на бази данни:

wp db export backup.sql

И за импорт:

wp db import backup.sql
wp search-replace 'old-domain.local' 'new-domain.local' --all-tables

Командата search-replace е неоценима при мигриране на сайтове между различни домейни.

4. Интеграция с Git
Инициализирайте Git хранилище в папката на вашия проект:

cd /var/www/mywordpress.local
git init
git add .
git commit -m "Initial commit"

Това ви позволява да следвате промените и да си сътрудничите ефективно с екип.


Бонус: Интеграция с Docker (по избор, но силно препоръчително)

Ако искате да вземете нещата на следващо ниво, можете да инсталирате Docker Desktop за Windows и да го настроите да работи с WSL2. Това ви позволява да стартирате цели среди (например различни версии на PHP и бази данни) в контейнери. Това е идеално за тестване на съвместимост или за работа по множество проекти с различни изисквания едновременно.


Заключение

Настройването на WordPress среда за разработка с помощта на Windows 11 и WSL2 не е просто удобно – то фундаментално променя начина, по който работите. Вие получавате най-доброто от двата свята: мощта и стандартите на Linux за бекенд и богатия избор от приложения и хардуерна съвместимост на Windows за фронтенд.

След като преминете през тази настройка веднъж, ще имате шаблонна система, с която можете да създавате нови локални сайтове за минути, а не за часове. Това е моят основен работен процес и не мога да си представя да се връщам назад към старите методи.

Надявам се това ръководство да ви е било полезно! Ако имате въпроси или собствени трикове, споделете ги в коментарите – общността се гради именно чрез споделяне на знания. Кодирайте щастливо

Федя Серафиев

Федя Серафиев

Федя Серафиев e собственик на уебсайта urocibg.eu. Той намира удовлетворение в това да помага на хората да решават и най-сложните технически проблеми. Сегашната му цел е да пише лесни за следване статии, така че подобни проблеми изобщо да не възникват.

Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:

Подобни статии