Narzędzie które ułatwia pracę z docker – warden, instalacja wordpressa
W tym artykule przedstawię jak w łatwy sposób zainstalować WordPress z docker przy pomocy narzędzia warden. Narzędzie to ułatwia nam pracę przy tworzeniu środowiska naszego projektu przygotowując wiele rzeczy za nas. Dlatego ktoś kto nie zna dobrze dockera bez problemu może przygotować środowisko pod dany projekt przy pomocy CLI warden.
Narzędzie to występuje tylko na systemy Linux oraz macOS, niestety nie jest wspierane na Windows.
Aby zapoznać się z tematem dockera przeczytaj nasz poprzedni artykuł – Instalacja WordPress i Docker z własną lokalną domeną
Instalujemy CLI warden w systemie Linux Ubuntu
Będziemy pracować na systemie Linux Ubuntu 20.04.1 LTS. Najpierw musimy przygotować nasz system i zainstalować odpowiednie paczki z dockerem i warden.
Instalacja docker
Do instalacji dockera użyj komendy:
1 | sudo snap install docker |
Instalacja warden
Instalacje warden możemy przeprowadzić za pomocą Homebrew lub sklonować z repozytorium.
Homebrew:
1 2 | brew install davidalger/warden/warden warden svc up |
Git:
1 2 3 4 5 6 | sudo mkdir /opt/warden sudo chown $(whoami) /opt/warden git clone -b master https://github.com/davidalger/warden.git /opt/warden echo 'export PATH="/opt/warden/bin:$PATH"' >> ~/.bashrc PATH="/opt/warden/bin:$PATH" warden svc up |
Tworzymy projekt WordPress przy pomocy warden i docker
Tworzymy folder o nazwie example i przechodzimy do niego.
1 2 | mkdir example cd example/ |
Wewnątrz folderu startujemy warden i ustalamy nasz plik .env za pomocą komend:
1 2 | warden svc up warden env-init |
Po env-init musimy wpisać nazwę naszego projektu: example, a następnie typ projektu: wordpress.
Kompilujemy nasze środowisko za pomocą funkcji:
1 | warden env up -d --build |
Aby móc prawidłowo korzystać ze strony trzeba dodać certyfikat za pomocą:
1 | warden sign-certificate example.test |
Teraz możemy przejść do SSH naszego projektu example.test
1 | warden shell |
Gdy jesteśmy już w shell’u naszej strony pobieramy najnowszą wersję WordPress i wypakowujemy a następnie usuwamy paczkę:
1 2 3 4 5 | wget http://wordpress.org/latest.tar.gz tar xfz latest.tar.gz mv wordpress/* ./ rmdir ./wordpress/ rm -f latest.tar.gz |
Dodajemy naszą stronę do pliku /etc/hosts
Na koniec aby móc połączyć się przez przeglądarkę z naszą stroną potrzebujemy dodać naszą stronę do pliku hosts. Przechodzimy do głównego folderu naszego systemu i wpisujemy:
1 | sudo nano /etc/hosts |
Wewnątrz pliku dodajemy nową linię:
1 | 127.0.0.1 example.test |
Teraz możemy się połączyć z naszą stroną: https://example.test
Otrzymaliśmy widok konfiguracji WordPress
Instalacja WordPress
Przechodzimy do instalacji WordPressa. Będziemy potrzebować danych do połączenia się z bazą danych i hostem. Znajdują się one w pliku .env w folderze naszego projektu – example. Przechodzimy do folderu projektu i wpisujemy:
1 | nano .env |
Znajdują się tam wartości:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | WARDEN_ENV_NAME=example WARDEN_ENV_TYPE=wordpress WARDEN_WEB_ROOT=/ TRAEFIK_DOMAIN=example.test TRAEFIK_SUBDOMAIN=app MARIADB_VERSION=10.4 NODE_VERSION=10 PHP_VERSION=7.4 WARDEN_DB=1 WARDEN_REDIS=0 APP_ENV=local APP_DEBUG=true DB_CONNECTION=mysql DB_HOST=db DB_PORT=3306 DB_DATABASE=wordpress DB_USERNAME=wordpress DB_PASSWORD=wordpress |
Mamy tutaj nazwę naszej bazy, użytkownika i hasło pod wartościami DB_DATABASE, DB_USERNAME, DB_PASSWORD.
Potrzebna nam jest jeszcze nazwa hosta. W tym celu wpisujemy komendę w naszą konsolę:
1 | docker ps |
Otrzymujemy listę naszych aktywnych kontenerów. Nazwa hosta będzie związana z silnikiem mariadb:
1 | 78582457150a wardenenv/mariadb:10.4 "docker-entrypoint.s…" 22 minutes ago Up 22 minutes 3306/tcp example_db_1 |
W naszym przypadku jest to example_db_1.
W konfiguracji naszego WordPressa wpisujemy odpowiednio dane naszego projektu.
Przechodzimy dalej. Dodajemy nazwę projektu, nazwę i hasło użytkownika. Gotowe, otrzymaliśmy projekt WordPress przy użyciu dockera i narzędzia warden.
Podsumowanie
Przy pomocy CLI warden stworzyliśmy projekt WordPress z użyciem dockera. Przygotowanie środowiska jest bardzo proste i szybkie, ponadto przy pomocy wardena możemy uruchomić kilka kontenerów z różnymi projektami WordPress i będą działać lokalnie jednocześnie nie kolidując ze sobą. Warden jest to dosyć mało znane narzędzie w przypadku dockera ale bardzo skuteczne i przyspieszające proces tworzenia środowiska projektu.
Zapraszam do przeczytania innych naszych artykułów – Przydatne artykuły.