Właściwy sposób instalacji WordPressa i MySQL na Coolify

Wprowadzenie

Omówienie Coolify i jego możliwości

Coolify to platforma open-source, która upraszcza wdrażanie i zarządzanie aplikacjami, bazami danych i innymi usługami. Zaprojektowana z myślą o programistach, oferuje intuicyjny interfejs webowy i wsparcie dla aplikacji kontenerowych dzięki Dockerowi. Niezależnie od tego, czy hostujesz statyczną stronę, wdrażasz złożony backend, czy konfigurujesz aplikację full-stack, Coolify eliminuje wiele ręcznych kroków konfiguracji.

W tym przewodniku wykorzystamy elastyczność Coolify do skonfigurowania WordPressa z osobną bazą danych MySQL. 😁

Dlaczego warto skonfigurować WordPressa i MySQL jako osobne zasoby?

Chociaż Coolify oferuje wygodny zasób „WordPress z MySQL”, wybierzemy inną metodę, tworząc dwa oddzielne zasoby: jeden dla WordPressa i drugi dla MySQL. Takie podejście ma kilka kluczowych zalet.

Po pierwsze, rozdzielenie usług to dobra praktyka w nowoczesnych wdrożeniach. Na przykład można niezależnie aktualizować lub konserwować bazę danych bez wpływu na instancję WordPressa i odwrotnie. Dodatkowo można zainstalować wiele instancji WordPress przy jednej bazie danych.

Po drugie, wybierając samodzielny zasób MySQL, zyskujemy dodatkowe funkcje Coolify, takie jak automatyczne kopie zapasowe, które nie są dostępne w przypadku połączonego zasobu „WordPress z MySQL”. Te kopie zapasowe są kluczowe dla zachowania integralności danych i spokoju ducha w razie nieoczekiwanych problemów.

Co osiągniesz na końcu tego poradnika?

Po ukończeniu tego przewodnika będziesz mieć w pełni funkcjonalną stronę WordPress połączoną z osobną bazą danych MySQL, wdrożoną na Coolify. Dowiesz się również, jak zabezpieczyć swoją witrynę za pomocą HTTPS, uzyskać dostęp do plików WordPressa oraz zarządzać bazą danych za pomocą phpMyAdmin. Taka konfiguracja będzie nie tylko solidna, ale również łatwa do utrzymania i rozbudowy w miarę wzrostu potrzeb.

Setting Up WordPress and MySQL Resources

Zacznijmy od stworzenia nowego projektu. Ja nazwałem swój „tutorial-project”.

Następnie dodajmy dwa zasoby: „WordPress without database” oraz „MySQL”.
Po ich utworzeniu warto zmienić domyślne nazwy na bardziej przyjazne użytkownikowi. Możemy to zrobić, edytując pola „Name” lub „Service Name” w ustawieniach każdego z zasobów.

Teraz uruchommy oba zasoby. Otwórz każdy z nich i kliknij „Start” lub „Deploy”. 🛫

TIP: Gdy oba zasoby staną się zielone, możesz wyświetlić nowo utworzone kontenery Docker za pomocą polecenia:

docker container ls --format "table {{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Names}}"

Na załączonym zrzucie ekranu łatwo zauważysz dwa nowe kontenery dla WordPressa i MySQL. 🐬

Konfigurowanie zasobów

Zapewne myślisz, że teraz po prostu uruchomimy instalator WordPressa i gotowe. Masz rację, ale najpierw musimy połączyć nasze zasoby w tę samą sieć. 🛜

Aby to lepiej wyjaśnić, użyjemy polecenia docker inspect na naszym serwerze Coolify, aby sprawdzić nowe kontenery. Zauważysz, że w sekcji „Networks” nie ma jednej sieci o tej samej nazwie dla obu kontenerów. 📦

Oznacza to, że kontenery nie „widzą się” w sieci, co uniemożliwia kontenerowi WordPress korzystanie z bazy danych MySQL z innego kontenera.

Naprawimy to, zaznaczając opcję „Connect to predefined Network” i wybierając „Restart” w zasobie WordPress. 🔁

Skonfigurujmy domenę dla naszej witryny WordPress. Otwórz zasób WordPressa, a następnie kliknij „Settings” w sekcji „Services”.

Jeśli poprawnie ustawiłeś rekord A w strefie DNS swojej domeny, możesz teraz wpisać swoją domenę w polu „Domains”, np. http://moja-strona.pl,https://moja-strona.pl.
Coolify automatycznie zajmie się przekierowaniami i gdy wykryje ruch przychodzący na dowolny z tych adresów, przekieruje go bezpośrednio do zasobu WordPress. 🛠️

(Nie zapomnij ponownie uruchomić zasobu po zapisaniu zmian.) 🫡

W ostatnim kroku musimy utworzyć nową bazę danych dla instancji WordPressa i nadać odpowiednie uprawnienia.

Aby to zrobić, otwórz zasób MySQL na Coolify i zanotuj pola „Root password”, „Normal user” oraz „Normal user password”. Użytkownik „Normal user” będzie użytkownikiem, którego użyjemy w WordPress.

Otwórz linię komend swojego serwera Coolify i wykonaj następujące polecenia:

docker exec -it <MYSQL_CONTAINER_NAME> mysql -uroot -p'<ROOT_PASSWORD>' -e "CREATE DATABASE wordpress;"

docker exec -it <MYSQL_CONTAINER_NAME> mysql -uroot -p'<ROOT_PASSWORD>' -e "GRANT ALL PRIVILEGES ON wordpress.* TO 'mysql'@'%'; FLUSH PRIVILEGES;"

Te polecenia utworzą bazę danych o nazwie wordpress i przyznają użytkownikowi mysql (Normal user) niezbędne uprawnienia do jej używania. 🔑

Teraz w końcu możemy rozpocząć ze standardową instalacją WordPressa 😁

Instalowanie WordPressa

Otwórz wcześniej skonfigurowaną domenę w przeglądarce, a zobaczysz ekran powitalny instalatora WordPress.

Podczas konfiguracji wprowadź mysql jako nazwę użytkownika, odpowiednie hasło oraz wordpress jako nazwę bazy danych. Host bazy danych powinien być nazwą Twojego kontenera MySQL.

I… mamy to! 🚀

Konfigurowanie HTTPS dla bezpiecznego dostępu

Aby wymusić HTTPS na naszej domenie, przejdź do ustawień WordPressa i zmień adres URL witryny na taki z https. 🗝️

Po tej zmianie Twoja strona może przestać działać. Aby to naprawić, uzyskaj dostęp do linii komend i wprowadź następujące polecenia:

docker exec -it <WORDPRESS_CONTAINER_NAME> /bin/bash
apt update && apt install nano
nano wp-config.php

Dodaj $_SERVER['HTTPS']='on'; w odpowiedniej sekcji pliku:

Aby zapisać zmiany, naciśnij CTRL+X, potem Y, a następnie Enter. I to wszystko! 🎉

Zarządzanie plikami WordPress

Czasami możesz potrzebować przesłać, zmodyfikować lub pobrać plik znajdujący się w katalogu Twojej witryny WordPress. W Coolify standardowy dostęp SSH do tych plików nie jest dostępny, więc musimy znaleźć alternatywne rozwiązanie. 📂

Rozwiązaniem jest instalacja wtyczki WordPress „WP File Manager”.

Zarządzanie bazą danych MySQL za pomocą phpMyAdmin

Podobnie jak w przypadku plików, czasami przydaje się wygodny sposób dostępu do bazy danych. Jeśli chcesz użyć phpMyAdmin, po prostu dodaj nowy zasób w Coolify o nazwie „phpMyAdmin”. 🪪

Tak jak wcześniej, wybierz „Connect to predefined Network” i skonfiguruj odpowiednią (i inną) domenę.

Ważne jest jednak, aby pamiętać, że phpMyAdmin wystawiony na internet może być celem nieautoryzowanego dostępu lub botów próbujących zalogować się do Twojej bazy danych.

Jeśli musisz korzystać z tego rozwiązania, upewnij się, że zasób phpMyAdmin jest domyślnie wyłączony i aktywuj go tylko w razie potrzeby. To działanie minimalizuje potencjalne luki bezpieczeństwa i chroni Twoje dane.

Podsumowanie

Postępując zgodnie z tym przewodnikiem, udało Ci się pomyślnie skonfigurować WordPressa z osobną bazą danych MySQL na Coolify. W trakcie konfiguracji wdrożyliśmy HTTPS, umożliwiliśmy łatwe zarządzanie plikami za pomocą WP File Manager oraz skonfigurowaliśmy phpMyAdmin do wygodnego dostępu do bazy danych.

Rozdzielenie WordPressa i MySQL na oddzielne zasoby zwiększa elastyczność i odblokowuje dodatkowe funkcje, takie jak automatyczne kopie zapasowe, co pomaga w zabezpieczeniu danych. Takie podejście jest zgodne z najlepszymi praktykami nowoczesnych wdrożeń, wspierając łatwość utrzymania i długoterminową stabilność.

Teraz, gdy Twoja strona jest gotowa i poprawnie skonfigurowana, możesz skupić się na jej budowaniu i rozwijaniu swojej obecności w sieci. 🎉

PS: Jeśli chcesz skonfigurować kopie zapasowe S3 w swojej instancji Coolify, sprawdź mój inny artykuł ➡️ Jak Skonfigurować Hosting S3 na Własnym Serwerze | hasto

Leave a Comment

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

Scroll to Top