Migrowanie Concrete5

Migracja concrete5 na inny serwerW życiu każdego webmastera przychodzi moment, gdy trzeba zmienić serwer, albo zwyczajnie przenieść serwis z domeny testowe na produkcyjną.

Migracja takiego serwisu bywa kłopotliwa – zwłaszcza jeśli nie wiemy gdzie przechowywane są ustawienia związane z domeną macierzystą serwisu www i jak bardzo nasz CMS jest przywiązany do nazwy domeny w jakiej działa.

Zwyczajowo, jest to jeden plik konfiguracyjny, który należy wyedytować – w przypadku Concrete5 – jest to plik /config/site.php

Brzmi prosto – i tak jest w istocie.

Problemy zaczynają się, jeśli przenosimy serwis do podkatalogu…
Dlatego, warto przyjrzeć się plikowi konfiguracyjnemu nieco dokładniej.

Typowy plik konfiguracyjny Concrete5 ma postać jak poniżej:

define('DB_SERVER', 'adres_serwera_mysql:port_tcp');
define('DB_USERNAME', 'użytkownik_do_bazy');
define('DB_PASSWORD', 'hasło_do_bazy');
define('DB_DATABASE', 'nazwa_bazy');
define('BASE_URL', 'http://twojedomena.pl');
define('DIR_REL', '');
define('PASSWORD_SALT', 'dziwnyciągznaków');

Jeśli musimy przenieść nasz serwis do podkatalogu, np: http://mojaomena.pl/podkatalog/ , wówcza, zmienną “DIR_REL” ustawiamy na “podkatalog” i sprawa załatwiona.
Warto jednak testy czy próbne instalacje wykonywac w testowych subdomenach (np: test.mojadomena.pl), co ułatwia modyfikacje wizualne itp…

Jeśli użyjemy ścieżek względnych dla grafiki czy arkuszy CSS, przeniesienie serwisu do podkatalogu może okazać się strzałem w kolano…
Przerabianie szablonów aby wykorzystywały odnośniki działające w podkatalogu, jest dość uciążliwe.

Oczywiście można od razu cały serwis zaprojektować tak, aby uwzględnić taką potrzebę – jednak z logicznego punktu widzenia – trudno to uzasadnić… Chyba że wasz dostawca usług hostingowych, nie daje możlwiości tworzenia subdomen… Ale mamy przecież XXI wiek 🙂
Praktyka pokazuje też, że wraz z dodawaniem treści, łatwo zapomina się o odpowiednim konstruowaniu linków wewnątrz serwisu (np: przy osadzaniu grafiki).

Warto dodać, że zmienna “DIR_REL” jest tylko pomocą dla samego silnika Concrete5, dzięki czemu składowe systemu są znajdowane bez kłopotu. Jednak linki w tekście czy przyciski definiowane w szablonach, nie zostaną już skorygowane

Cały ten tekst, powstał w zasadzie z uwagi na liczne zapytania jakie otrzymałem przy przekazywaniu jednego z serwisów www.
Są CMS-y, które sięgają tylko na jeden poziom systemu plików, i nie robi im różnicy czy pracują w katalogu czy też nie.  C5 również w tym względzie jest elastyczny – acz opisane wcześniej problemy, powinny dać do myślenia.

Jeśli posługujemy się bardziej skomplikowanymi rozwiązaniami – do tego wzbogaconymi o własne modyfikacje, zdecydowanie lepiej jest trzymać się prostej i logicznej struktury, w której CMS działa w katalogu głównym domeny.
Rozsądnie zaplanowana migracja, to mniej stresu i oszczędność czasu… 😉

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *