Ugrás a fő tartalomhoz

DDEV - Docker-alapú Fejlesztői Környezet

A DDEV egy nyílt forráskódú, Docker-alapú lokális fejlesztői eszköz PHP projektekhez, beleértve a WordPress-t is. Gyors, megbízható és könnyen konfigurálható.

Miért DDEV?

  • Docker-alapú - Izolált, reprodukálható környezetek
  • Gyors - Másodpercek alatt induló konténerek
  • Rugalmas - Bármilyen PHP verzió és konfiguráció
  • WordPress-barát - Beépített WP-CLI és Composer támogatás
  • Multisite támogatás - WordPress Multisite is működik
  • Add-on rendszer - Bővíthető funkcionalitás

Telepítés

macOS

# Homebrew-val
brew install ddev/ddev/ddev

# Docker Desktop szükséges
brew install --cask docker

Windows

# Chocolatey-vel
choco install ddev

# Vagy winget-tel
winget install ddev

Linux

# Hivatalos telepítő script
curl -fsSL https://ddev.com/install.sh | bash

WordPress projekt létrehozása

1. Projekt mappa létrehozása

mkdir my-wordpress-site
cd my-wordpress-site

2. DDEV konfiguráció

ddev config --project-type=wordpress

3. WordPress letöltése és indítás

ddev start
ddev wp core download --locale=hu_HU

4. WordPress telepítése

ddev wp core install \
--url='$DDEV_PRIMARY_URL' \
--title='My WordPress Site' \
--admin_user=admin \
--admin_password=admin \
--admin_email=[email protected]

Konfiguráció

A .ddev/config.yaml fájl tartalmazza a projekt beállításait:

name: my-wordpress-site
type: wordpress
docroot: ""
php_version: "8.2"
webserver_type: nginx-fpm
database:
type: mariadb
version: "10.6"
router_http_port: "80"
router_https_port: "443"

PHP verzió váltás

ddev config --php-version=8.3
ddev restart

Elérhető PHP verziók

VerzióStátusz
7.4Támogatott
8.0Támogatott
8.1Támogatott
8.2Ajánlott
8.3Legújabb

Adatbázis típus váltás

# MariaDB-ről MySQL-re
ddev config --database=mysql:8.0
ddev restart

Alapvető parancsok

Projekt kezelés

# Projekt indítása
ddev start

# Projekt leállítása
ddev stop

# Projekt újraindítása
ddev restart

# Projekt törlése (adatokkal együtt)
ddev delete --omit-snapshot

# Projekt állapot
ddev describe

WP-CLI használata

# Bármilyen WP-CLI parancs
ddev wp plugin list
ddev wp theme list
ddev wp user list
ddev wp cache flush

# Importálás/exportálás
ddev wp db export backup.sql
ddev wp db import backup.sql

Composer

# Composer parancsok
ddev composer install
ddev composer require wpackagist-plugin/akismet
ddev composer update

SSH a konténerbe

# Web konténer
ddev ssh

# Adatbázis konténer
ddev ssh -s db

Adatbázis kezelés

phpMyAdmin

# phpMyAdmin indítása
ddev launch -p

Adminer

# Adminer add-on telepítése
ddev get ddev/ddev-adminer

# Adminer indítása
ddev adminer

Közvetlen adatbázis kapcsolat

# MySQL kliens
ddev mysql

# Adatbázis export
ddev export-db > backup.sql

# Adatbázis import
ddev import-db < backup.sql

Adatbázis kapcsolati adatok

Host: db (konténeren belül) / 127.0.0.1 (kívülről)
Port: 3306 (konténeren belül) / ddev describe mutatja (kívülről)
Database: db
Username: db
Password: db

SSL tanúsítványok

DDEV automatikusan kezeli az SSL tanúsítványokat:

# mkcert telepítése (egyszer)
mkcert -install

# Ezután minden projekt HTTPS-en érhető el
# https://my-wordpress-site.ddev.site

Mailhog - Email tesztelés

DDEV beépített Mailhog szolgáltatással rendelkezik:

# Mailhog megnyitása
ddev launch -m

# Minden elküldött email itt jelenik meg
# https://my-wordpress-site.ddev.site:8026

Xdebug beállítása

# Xdebug engedélyezése
ddev xdebug on

# Xdebug letiltása
ddev xdebug off

# Xdebug státusz
ddev xdebug status

VS Code konfiguráció

.vscode/launch.json:

{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"pathMappings": {
"/var/www/html": "${workspaceFolder}"
}
}
]
}

PhpStorm konfiguráció

  1. Preferences > PHP > Servers
  2. Add server: my-wordpress-site.ddev.site
  3. Port: 443, Debugger: Xdebug
  4. Use path mappings: /var/www/html → projekt mappa

Hasznos Add-on-ok

Telepítés

# Add-on telepítése
ddev get <add-on-name>

# Add-on eltávolítása
ddev get --remove <add-on-name>

Népszerű add-on-ok

Add-onParancsFunkció
Redisddev get ddev/ddev-redisObject cache
Elasticsearchddev get ddev/ddev-elasticsearchKeresés
Memcachedddev get ddev/ddev-memcachedCache
Adminerddev get ddev/ddev-adminerDB kezelő
phpMyAdminddev get ddev/ddev-phpmyadminDB kezelő

Redis beállítása WordPress-hez

# Redis add-on
ddev get ddev/ddev-redis
ddev restart

# Redis Object Cache plugin
ddev wp plugin install redis-cache --activate
ddev wp redis enable

Több projekt kezelése

# Összes projekt listázása
ddev list

# Összes projekt leállítása
ddev poweroff

# Adott projekt indítása
ddev start -s my-wordpress-site

Meglévő WordPress importálása

1. Fájlok másolása

mkdir existing-site
cd existing-site
cp -r /path/to/wordpress/* .

2. DDEV konfiguráció

ddev config --project-type=wordpress
ddev start

3. Adatbázis importálása

ddev import-db < database-backup.sql

4. URL-ek frissítése

ddev wp search-replace 'https://old-domain.com' 'https://existing-site.ddev.site'

Egyedi szolgáltatások

docker-compose.*.yaml

Egyedi szolgáltatások a .ddev/ mappában:

.ddev/docker-compose.custom.yaml:

version: '3.6'
services:
web:
environment:
- CUSTOM_VAR=value

Egyedi nginx konfiguráció

.ddev/nginx_full/nginx-site.conf:

server {
# Egyedi nginx beállítások
client_max_body_size 100M;
}

Egyedi PHP beállítások

.ddev/php/custom.ini:

upload_max_filesize = 100M
post_max_size = 100M
memory_limit = 512M
max_execution_time = 300

Hibaelhárítás

Port konfliktus

# Ha a portok foglaltak
ddev config --router-http-port=8080 --router-https-port=8443
ddev restart

Docker problémák

# Docker újraindítása
ddev poweroff
# Indítsd újra a Docker Desktop-ot
ddev start

Lassú fájlrendszer (macOS)

# Mutagen engedélyezése a gyorsabb szinkronizáláshoz
ddev config --mutagen-enabled
ddev restart

Adatbázis problémák

# Adatbázis snapshot
ddev snapshot

# Snapshot visszaállítása
ddev snapshot restore

# Adatbázis újraépítése
ddev delete --omit-snapshot
ddev start
ddev import-db < backup.sql

Hasznos tippek

Gyors megnyitás

# Site megnyitása böngészőben
ddev launch

# Admin megnyitása
ddev launch wp-admin

Alias-ok

Add hozzá a ~/.bashrc vagy ~/.zshrc fájlhoz:

alias dstart="ddev start"
alias dstop="ddev stop"
alias dwp="ddev wp"
alias dcomposer="ddev composer"

Globális konfiguráció

~/.ddev/global_config.yaml:

router_http_port: "80"
router_https_port: "443"
use_letsencrypt: false
letsencrypt_email: ""
internet_detection_timeout_ms: 3000
disable_http2: false
use_docker_compose_from_path: false
table_style: default
simple_formatting: false

Források