Kontener WordPress i strefa czasowa
Wirtualizacja i kontneryzacja są zdecydowanie technikami zmieniającymi sposób w jaki budujemy swoje usługi. O ile kiedyś przygotowanie np. własnej (nawet) statycznej strony www wymagało przygotowania serwera, później zainstalowania i skonfigurowania oprogramowania (nie wspominając, że najpierw w pocie czoła składało się coś na kształt peceta hmm… serwerowego) o tyle obecnie cały proces znacznie się skrócił bo dostajemy gotowe moduły do uruchomienia czy to w środowiskach wirtualizacyjnych, czy to na platformie dla kontenerów.
Oczywiście nie ma rozwiązań doskonałych i nawet coś tak łatwego w utrzymaniu jak kontenery ma swoje ułomności. Jedną z nich, dosyć często występującą, jest brak obsługi strefy czasowej w przypadku bardzo popularnego systemu CMS jakim jest WordPress. Jest to zadziwiające, że w przypadku oficjalnego obrazu dostępnego w serwisie Docker Hub nie pomyślano o tym. Być może nie jest to wada, która będzie uciążliwa od pierwszych minut funkcjonowania naszej strony ale szybko ujawni się jeśli włączymy np. dwustopniową autoryzację podczas logowania do panelu administracyjnego. Poniżej opisuję krótko jak naprawić tą niedogodność.
W internecie można znaleźć dużo porad na ten temat jednak tak naprawdę tylko jedna z nich sprawdziła się w moim przypadku. Dotyczy ona konfiguracji w oparciu o plik YAML dla konfiguracji Docker Compose. Przy korzystaniu z Portainera, czyli narzędzia, które zdecydowanie mogę polecić nie tylko początkującym, jest to w zasadzie najprostsza droga dla budowania całkiem skomplikowanych konfiguracji.
Rozwiązanie w całości opiera się na dopisaniu kliku linijek tekstu we wspomnianym pliku konfiguracyjnym:
services: service_name: volumes: - "/etc/timezone:/etc/timezone:ro" - "/etc/localtime:/etc/localtime:ro"
Jeśli zapewnimy prawidłową konfigurację systemu hosta kontenerów – mam na myśli strefę czasową – to praktycznie kontener WordPress skopiuje te ustawienia do swojego obrazu. Tylko tyle i aż tyle. Zatem do roboty!
MG
Tagi: konteryzacja, Linux, WordPress