Jak skonfigurować i zainstalować Strapi do produkcji na Ubuntu 22.04

Wprowadzenie

Strapi to otwarte oprogramowanie typu headless CMS, które zdobywa coraz większą popularność ze względu na swoją adaptacyjność, prostotę użytkowania i rozszerzalne możliwości. Jest to idealne rozwiązanie dla programistów pragnących szybko i sprawnie tworzyć rozbudowane aplikacje webowe. W tym przewodniku omówimy proces instalacji oraz konfiguracji Strapi na serwerze Ubuntu 22.04, przygotowując go do działania w warunkach produkcyjnych.

Wymagania Wstępne

  • Serwer z systemem Ubuntu 22.04 posiadający co najmniej 2 GB pamięci RAM.
  • Użytkownik z uprawnieniami administratora (sudo).
  • Możliwość połączenia się z serwerem poprzez SSH lub terminal.
  • Zainstalowane Node.js w wersji 16 lub wyższej.
  • Zainstalowany menedżer pakietów yarn w wersji 1.22 lub nowszej.

Instalacja Node.js i yarn

Zacznij od zaktualizowania listy pakietów i zainstalowania Node.js za pomocą podanych poleceń:


sudo apt update
sudo apt install nodejs

Aby zweryfikować zainstalowaną wersję Node.js, użyj polecenia:


node -v

Następnie zainstaluj yarn za pomocą następującego polecenia:


sudo npm install --global yarn

Sprawdź wersję zainstalowanego yarn, wykonując:


yarn --version

Instalacja Strapi

Stwórz nowy folder na aplikację Strapi i przejdź do niego:


mkdir strapi-app
cd strapi-app

Zainicjuj nowy projekt Strapi przy pomocy yarn:


yarn create strapi-app my-strapi-app

Przejdź do folderu swojej nowo utworzonej aplikacji:


cd my-strapi-app

Konfiguracja Bazy Danych

Skonfiguruj połączenie z bazą danych MySQL dla Strapi:


strapi config set database.default.connection.connector mysql

Zmień nazwę użytkownika, hasło, nazwę bazy danych i adres hosta na odpowiednie dla Twojego środowiska:


strapi config set database.default.connection.settings.host localhost
strapi config set database.default.connection.settings.port 3306
strapi config set database.default.connection.settings.user mysql_user
strapi config set database.default.connection.settings.password mysql_password
strapi config set database.default.connection.settings.database strapi_db

Ustaw synchronizację tabeli:


strapi config set database.default.connection.options.synchronize true

Zainstaluj wszystkie wymagane zależności:


yarn install

Uruchom Strapi w trybie produkcyjnym:


yarn start

Tworzenie Konta Administratora

Otwórz przeglądarkę i przejdź do adresu http://localhost:1337/admin. Zaloguj się, używając domyślnych danych logowania: „admin” jako nazwy użytkownika i „strapi” jako hasła.

Po zalogowaniu, w menu po lewej stronie, wybierz sekcję „Użytkownicy” i stwórz nowego użytkownika z uprawnieniami „Super Administrator”. Pamiętaj, aby użyć silnego hasła i uniknąć domyślnych danych logowania.

Ustawienie Domeny Aplikacji

W środowisku produkcyjnym Strapi musi znać domenę, pod którą będzie dostępny. Skonfiguruj ją w pliku config/environments/production/index.js, dodając lub modyfikując następujący kod:


module.exports = ({ env }) => ({
  // ...
  host: env('HOST', 'example.com'),
});

Konfiguracja Serwera Proxy (Opcjonalnie)

Jeśli Strapi działa za serwerem proxy, skonfiguruj go w pliku config/middleware.js:


module.exports = ({ env }) => ({
  // ...
  proxy: {
    enabled: true,
    host: env('PROXY_HOST'),
    port: env.int('PROXY_PORT'),
  },
});

Konfiguracja SSL (Opcjonalnie)

Jeśli używasz certyfikatu SSL, dodaj odpowiednią konfigurację w pliku config/environments/production/index.js:


module.exports = ({ env }) => ({
  // ...
  certificate: {
    key: env('SSL_KEY_PATH'),
    cert: env('SSL_CERT_PATH'),
  },
});

Wdrożenie Strapi w Środowisku Produkcyjnym

Po prawidłowej konfiguracji Strapi, możesz przystąpić do wdrożenia aplikacji. Wybierz metodę, która najlepiej odpowiada Twojej infrastrukturze. Popularne opcje to:

  • Docker – Użyj kontenerów Docker do wdrożenia Strapi na platformach takich jak Docker Swarm lub Kubernetes.
  • PM2 – Wykorzystaj PM2, zaawansowany menedżer procesów, do zarządzania działaniem aplikacji.
  • Systemd – Stwórz plik usługi Systemd, który umożliwi uruchamianie Strapi jako usługi systemowej.
  • Ansible – Użyj Ansible do automatyzacji procesu wdrożenia i konfiguracji aplikacji na wielu serwerach.

Podsumowanie

Strapi to efektywne i intuicyjne narzędzie do tworzenia i zarządzania aplikacjami internetowymi. Dzięki swojej elastyczności i bogatej funkcjonalności jest doskonałym wyborem dla programistów, którzy potrzebują szybko wypuszczać na rynek złożone aplikacje. Postępując zgodnie z powyższymi wskazówkami, skutecznie zainstalujesz i skonfigurujesz Strapi na serwerze Ubuntu 22.04, zapewniając mu optymalną wydajność i stabilność w środowisku produkcyjnym.

Najczęściej Zadawane Pytania

1. Jakie są atuty korzystania ze Strapi?

Strapi wyróżnia się elastycznością, prostotą użytkowania, rozbudowanymi możliwościami, obsługą wielu języków oraz personalizowanym panelem administracyjnym.

2. Jak skonfigurować połączenie Strapi z bazą danych MySQL?

Połączenie z bazą danych konfiguruje się w pliku config/environments/production/index.js. Wymagane jest podanie hosta, portu, użytkownika, hasła i nazwy bazy danych.

3. Jak utworzyć użytkownika administracyjnego?

Aby stworzyć użytkownika administracyjnego, przejdź do http://localhost:1337/admin i wybierz opcję utworzenia nowego użytkownika z uprawnieniami „Super Administrator”.

4. Jak skonfigurować domenę dla Strapi?

Domenę aplikacji ustawia się w pliku config/environments/production/index.js, modyfikując właściwość host i ustawiając ją na adres Twojej domeny.

5. Jak skonfigurować serwer proxy?

Konfiguracja serwera proxy znajduje się w pliku config/middleware.js. Włącz opcję proxy i podaj adres hosta oraz port serwera proxy.

6. Jak skonfigurować SSL w Strapi?

Aby skonfigurować SSL, w pliku config/environments/production/index.js należy podać ścieżki do klucza SSL oraz certyfikatu.

7. Jakie są metody wdrożenia Strapi na produkcję?

Strapi można wdrożyć na produkcję za pomocą Dockera, PM2, Systemd lub Ansible.

8. Jak monitorować działanie Strapi?

Działanie Strapi można monitorować za pomocą wbudowanego panelu administracyjnego lub z wykorzystaniem zewnętrznych narzędzi, takich jak Prometheus czy New Relic.