Motyw
Instalacja Wszystko w Jednym Folderze (Shared Hosting)
System Ammonly został zaprojektowany z myślą o maksymalnej elastyczności wdrożeniowej. Poza klasyczną architekturą wielodomenową (osobne subdomeny dla każdego tieru), platforma w pełni wspiera topologię All-In-One w jednym folderze.
Wyzwanie Tradycyjnego Hostingu
Na hostingach współdzielonych (shared hosting, cPanel, DirectAdmin) administratorzy często dysponują tylko jedną domeną główną oraz wspólnym katalogiem publicznym public_html/. W takich warunkach nie ma możliwości konfiguracji niezależnych Document Rootów ani subdomen dla poszczególnych komponentów systemu.
Platforma Ammonly rozwiązuje ten problem za pomocą wielowarstwowego mechanizmu routingu prefiksowego.
Architektura Jednego Folderu
W instalacji All-In-One wszystkie cztery środowiska systemu działają pod jedną domeną główną, z czytelnym podziałem na prefiksy URL:
https://twoja-domena.pl/ -> Domyślny Dashboard lub selektor środowisk
https://twoja-domena.pl/panel -> Ammonly Panel (Centrala Administracyjna)
https://twoja-domena.pl/helpdesk -> Ammonly Helpdesk (Portal Wsparcia i Obsługi Klienta)
https://twoja-domena.pl/crm -> Ammonly CRM (Aplikacja Operacyjna SaaS CRM)
https://twoja-domena.pl/shop -> Ammonly Shop (Sklep Internetowy & Storefront)Dwie Niezależne Metody Działania
Platforma oferuje dwie uzupełniające się techniki routingu, które działają niezawodnie w każdym środowisku hostingowym:
1. Unified Routing (Routing Prefiksowy w public/index.php)
Główny punkt wejścia aplikacji (public/index.php) automatycznie analizuje ścieżkę żądania HTTP:
- Jeżeli ścieżka zaczyna się od
/panel,/helpdesk,/crmlub/shop, silnik dynamicznie ustala profil aplikacji (AppTier). - Ścieżka bazowa (
base_path) zostaje wstrzyknięta do atrybutów żądania PSR-7. - Wewnętrzny router obsługuje żądanie z zachowaniem pełnej izolacji sesji, ciasteczek i uprawnień danego tieru.
2. Fizyczne Podfoldery Entrypointów
W katalogu public/ znajdują się dedykowane, fizyczne podfoldery z własnymi plikami index.php i regułami .htaccess:
public/panel/index.phppublic/helpdesk/index.phppublic/crm/index.phppublic/shop/index.php
Gdy serwer Apache lub Nginx kieruje ruch do fizycznego podkatalogu, każdy podkatalog ładuje odpowiedni profil tieru bez konieczności istnienia niezależnych poddomen czy specjalnej konfiguracji serwera!
Konfiguracja Serwerów WWW
Apache (.htaccess)
W głównym katalogu public/.htaccess zawarta jest reguła przekierowania zapytań:
apache
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L,QSA]
</IfModule>W każdym z podfolderów (public/panel/.htaccess, public/helpdesk/.htaccess, public/crm/.htaccess, public/shop/.htaccess) znajduje się analogiczna reguła zapewniająca obsługę ścieżek REST API oraz zapytań HTMX.
Nginx
Dla serwera Nginx pojedynczy blok serwera w pełni obsługuje instalację w jednym folderze:
nginx
server {
listen 80;
server_name twoja-domena.pl;
root /var/www/html/public;
index index.php;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass php-fpm:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}Instrukcja Wdrożenia na Shared Hosting (Krok po Kroku)
- Struktura Katalogów na Serwerze: Wgraj zawartość repozytorium do katalogu prywatnego użytkownika (np.
/home/uzytkownik/ammonly), poza bezpośrednim dostępem z sieci. - Katalog Publiczny (
public_html):- Opcja A (Zalecana): Skonfiguruj Document Root domeny w panelu hostingu tak, aby wskazywał na
/home/uzytkownik/ammonly/public. - Opcja B: Utwórz dowiązanie symboliczne:
ln -s /home/uzytkownik/ammonly/public /home/uzytkownik/public_html. - Opcja C: Wgraj zawartość katalogu
public/bezpośrednio dopublic_html/, a w plikachindex.phpdostosuj ścieżkę do autoloadera Composera (../ammonly/vendor/autoload.php).
- Opcja A (Zalecana): Skonfiguruj Document Root domeny w panelu hostingu tak, aby wskazywał na
- Uprawnienia do Zapisu: Upewnij się, że serwer WWW posiada uprawnienia do zapisu w katalogach:
storage/(sesje, logi, klucze, cache)database/config/(plik konfiguracjiinstaller.local.php)
- Uruchomienie Kreatora: Otwórz przeglądarkę i wejdź na adres
https://twoja-domena.pl/. System wykryje brak instalacji i automatycznie przekieruje Cię do kreatora/install. - Wybór Opcji w Kreatorze: W Kroku 3 wybierz opcję Wszystkie (Zalecane), aby zainstalować Panel, Helpdesk, CRM i Shop na wspólnej bazie.
- Logowanie po Instalacji:
https://twoja-domena.pl/panel– konsola administracyjna Panelu.https://twoja-domena.pl/helpdesk– portal Helpdesku i obsługi zgłoszeń.https://twoja-domena.pl/crm– codzienna praca operacyjna w systemie CRM.https://twoja-domena.pl/shop– storefront e-commerce B2B/B2C oraz zarządzanie sklepem.