- Docker - https://docs.docker.com/get-started/#download-and-install-docker
- Node - https://nodejs.org/en/download/
- Yarn (opcjonalnie) - https://classic.yarnpkg.com/en/docs/install/#mac-stable
W celu poprawnej synchronizacji plików pomeidzy konetnerem dockera oraz plikami templatki nalezy w Opcjach dockera ustawić opcję Use gRPC FUSE for file sharing jako aktywną
Przejdź do pliku etc/hosts w systemie Mac/Linux
Na końcu pliku dopisz 2 line:
127.0.0.1 my-project.local
::1 my-project.localdodanie tych dwóch lini do pliku hosts ma na celu kierować wybraną domenę my-project.local na lokalną maszynę, w tym przypadku kontener w dockerze
W glównym folderze stworzenie nowego pliku .env, kopiując przykładowy .env.example
cp .env.example .envPrzykładowa konfiguracja najistotniejszych zmiennych
COMPOSE_PROJECT_NAME=project_name
DOMAIN=my-project.local
...
WORDPRESS_TITLE="My project title"
WORDPRESS_THEME_NAME="my-project"
WORDPRESS_ADMIN_EMAIL="moj-email@mohi.to"
...
GULP_PROXY=http://my-project.localpamiętaj aby wartości GULP_PROXY oraz DOMAIN zgadzały sie z wymyśloną nazwą domeny, w tym przykładzie jest to my-project.local
Ponizsza komenda poprzez 7 kroków, pobierze odpowiednie obrazy dockera, zainstaluje wordpressa według konfiguracji podanej w pliku .env, zainstaluje wybrane pluginy oraz uruchomi podstawowy szablon
sh installPrzejdź do folderu plików żródłowych
cd srcZainstaluj pakiety
npm install
// lub
yarn installUruchom gulpa
gulp watch
// lub
yarn startNa podstawie założonej z początku domeny my-project.local, powstają nam poszczególne adresy na których możemy pracować
- Wordpress - http://my-project.local
- Wordpress - Admin - http://my-project.local/wp-admin
- Browsersync - http://locahost:3000
- Adminer - http://my-project.local/_adminer
- phpMyAdmin - http://my-project.local/_pma
Dostęp do bazy danych
- Serwer bazy danych: database
- Użytkownik bazy danych: root
- Hasło z bazy danych: password
- Nazwa bazy danych: wordpress
Użycie WP-CLI do zmiany adresów w bazie danych
docker-compose run --rm wpcli search-replace 'some-old-domain.pl' 'some-new-domain.pl' --all-tables- pluginy premium w folderze
pluginsw archiwum.zip - wszytstkie inne pluginy dostępne w repozytorium pluginów wordpress wylistowane w pliku
plugins.txtlub dodane w plikucomposer.jsonjako repozytorium wpackagist (https://wpackagist.org/)- przykładowo W3 Total Cache https://pl.wordpress.org/plugins/w3-total-cache/
- plugins.txt:
w3-total-cache
- composer.json:
{ ... "require": { "php": "^7.1", ... "wpackagist-plugin/w3-total-cache":"2.1.1" } }
- przykładowo W3 Total Cache https://pl.wordpress.org/plugins/w3-total-cache/
- docker
- config (pliki konfiguracyjne dla nginx oraz php)
- volumes (pliki wordpressa wp-content + wp-config.php)
- logs (logi apache oraz nginx)
- plugins (pluginy premium do wordpressa)
- src (pliki żródłowe)
- styles (style SCSS)
- scripts (skrypty JS)
- theme (katalog szablonu wordpress)
- controllers (pliki szablonów stron)
- includes (pliki zawierające dodatkowe funkcjonalności szablonu)
- styles (zminifikowane pliki styli)
- scripts (zminifikowane pliki skryptów JS)
- vendor (dodatkowe biblioteki, instalacja z poziomu composera)
- views (pliki widoków .twig)