Nie chcesz konfigurować samodzielnie?

Skorzystaj z naszych gotowych rozwiązań hostingowych:

NetCloud24 – hosting, na którym możesz polegać!

Wprowadzenie

Ten przewodnik pokaże Ci, jak szybko wdrożyć WordPressa w środowisku Docker z automatyczną konfiguracją Ansible i darmowymi certyfikatami SSL od Let’s Encrypt. Całość zajmie mniej niż 30 minut!

Wymagania wstępne

  • Serwer z Ubuntu 20.04/22.04 lub Debian 10/11
  • Minimalnie 2GB RAM (4GB zalecane dla środowisk produkcyjnych)
  • 20GB wolnego miejsca na dysku
  • Domena wskazująca na IP serwera
Uwaga: Wszystkie komendy należy wykonywać jako użytkownik z uprawnieniami sudo.

Krok 1: Instalacja Dockera i Docker Compose

Zaczynamy od instalacji wymaganych narzędzi:

# Aktualizacja systemu
sudo apt update && sudo apt upgrade -y

# Instalacja wymaganych pakietów
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

# Dodanie oficjalnego repozytorium Dockera
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Instalacja Dockera i Docker Compose
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# Weryfikacja instalacji
docker --version
docker compose version

Krok 2: Przygotowanie pliku docker-compose.yml

Tworzymy plik konfiguracyjny dla WordPressa:

# Tworzymy katalog projektu
mkdir wordpress && cd wordpress

# Tworzymy plik docker-compose.yml
nano docker-compose.yml

Wklej następującą konfigurację (zmień example.com na swoją domenę):

# docker-compose.yml
version: '3.8'

services:
  db:
    image: mariadb:10.6
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: twoje_mocne_haslo
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    volumes:
      - wordpress_data:/var/www/html
    ports:
      - "80:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress

  certbot:
    image: certbot/certbot
    volumes:
      - wordpress_data:/var/www/html
      - certbot_etc:/etc/letsencrypt
    command: certonly --webroot --webroot-path=/var/www/html --email twój@email.com --agree-tos --no-eff-email -d example.com -d www.example.com

volumes:
  db_data:
  wordpress_data:
  certbot_etc:

Potrzebujesz wydajnego hostingu pod Docker?

Nasze serwery VPS są zoptymalizowane pod konteneryzację!

  • SSD NVMe dla maksymalnej wydajności
  • Gotowe obrazy z Docker i Docker Compose
  • 24/7 wsparcie techniczne

Krok 3: Uruchomienie WordPressa

Wystarczy jedna komenda:

docker compose up -d

Po kilku minutach WordPress będzie dostępny pod adresem http://twoja-domena.com

Krok 4: Automatyzacja z Ansible

Stwórzmy playbook Ansible do zarządzania konfiguracją:

# Instalacja Ansible
sudo apt install -y ansible

# Tworzymy plik playbook
nano wordpress.yml

Dodaj następującą konfigurację:

# wordpress.yml
---
- hosts: all
  become: yes
  tasks:
    - name: Install required packages
      apt:
        name: "{{ item }}"
        state: present
        update_cache: yes
      loop:
        - docker-ce
        - docker-ce-cli
        - containerd.io
        - docker-compose-plugin

    - name: Ensure Docker is running and enabled
      service:
        name: docker
        state: started
        enabled: yes

    - name: Create WordPress directory
      file:
        path: /opt/wordpress
        state: directory
        mode: '0755'

    - name: Copy docker-compose.yml
      copy:
        src: files/docker-compose.yml
        dest: /opt/wordpress/docker-compose.yml
        mode: '0644'

    - name: Start WordPress containers
      community.docker.docker_compose:
        project_src: /opt/wordpress
        state: present

Krok 5: Konfiguracja HTTPS z Let’s Encrypt

Zaktualizuj plik docker-compose.yml:

nano docker-compose.yml

Dodaj usługę reverse proxy (Nginx) przed WordPressem:

# Fragment do dodania do docker-compose.yml
  nginx:
    image: nginx:latest
    depends_on:
      - wordpress
      - certbot
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - wordpress_data:/var/www/html
      - ./nginx.conf:/etc/nginx/conf.d/default.conf
      - certbot_etc:/etc/letsencrypt
    restart: always

Wolisz gotowe rozwiązanie?

Nasze serwery dedykowane Windows oferują:

  • Automatyczne wdrożenie WordPressa
  • Zintegrowane certyfikaty SSL
  • Codzienne kopie zapasowe

Krok 6: Finalna konfiguracja

Uruchom ponownie kontenery:

docker compose down
docker compose up -d

Twoja strona WordPress jest teraz dostępna pod bezpiecznym protokołem HTTPS!

Podsumowanie

W tym przewodniku pokazaliśmy jak:

  • Zainstalować WordPressa w Dockerze
  • Zautomatyzować proces za pomocą Ansible
  • Dodać darmowe certyfikaty SSL
  • Skonfigurować Nginx jako reverse proxy
Porada: Regularnie aktualizuj kontenery Dockera komendą docker compose pull && docker compose up -d

Gotowe na własny WordPress?

Wybierz idealne rozwiązanie hostingowe:

Odwiedź netcloud24.com i wybierz idealny hosting dla siebie!

 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *