Wiele instancji

Qisutu może równolegle uruchamiać instancje produkcyjne, testowe i deweloperskie na tym samym serwerze. Każda instancja potrzebuje własnego katalogu głównego. Nazwa tego katalogu jest bez zmian używana jako identyfikator instancji.

Przykładowa struktura

/opt/qisutu       Instancja produkcyjna
/opt/qisututest   Instancja testowa
/opt/qisutudev    Instancja deweloperska

Dla /opt/qisututest skrypt install.sh automatycznie tworzy:

  • Ścieżka WWW /qisututest

  • Plik Apache qisututest.conf

  • Usługa qisututest-daemon.service

  • Plik cookie sesji QISUTUTEST_SESSION

  • Baza danych i użytkownik bazy danych qisututest

Nazwa katalogu musi zaczynać się małą literą i może zawierać tylko małe litery, cyfry i łączniki. Używaj krótkich, jednoznacznych nazw. Nie jest dodawany żaden dodatkowy prefiks.

Zainstaluj dodatkową instancję

Rozpakuj wydanie ponownie do własnego katalogu i uruchom w nim install.sh. Przykład:

cd /opt
tar xzf qisutu-1.0.2.tar.gz
mv qisutu-1.0.2 qisututest
chown qisutu:www-data -R /opt/qisututest
cd /opt/qisututest
chmod +x install.sh
./install.sh

Następnie otwórz wyświetlony instalator WWW, na przykład http://SERVER/qisututest/install.pl. Wartości instancji są zapisywane w var/install/instance.conf i ponownie wykorzystywane przy aktualizacjach.

Rozdzielenie instancji

Instancje współdzielą system operacyjny, Apache i użytkownika systemowego qisutu, ale mają oddzielne katalogi programu, ścieżki WWW, konfiguracje, bazy danych, pliki cookie, usługi, dzienniki i blokady wykonawcze. Dlatego można je niezależnie uruchamiać, zatrzymywać i aktualizować:

systemctl status qisutu-daemon.service
systemctl status qisututest-daemon.service
systemctl restart qisututest-daemon.service

Uwagi eksploatacyjne

  • Dla instancji testowych używaj osobnych skrzynek pocztowych. Produkcyjna skrzynka nie może być jednocześnie pobierana przez instancję testową.

  • Używaj oddzielnych publicznych nazw hostów lub dokładnie sprawdzaj ścieżki WWW, aby użytkownicy nie pracowali omyłkowo w systemie testowym.

  • Twórz kopię zapasową i aktualizuj każdą instancję osobno.

  • Przed aktualizacją zawsze sprawdzaj ścieżkę, nazwę instancji, usługę i nazwę bazy danych wyświetlane przez aktualizator.

  • Nigdy nie kopiuj var/secure/security.key między niezależnymi instancjami. Klucz należy wyłącznie do swojej instalacji.