Zmiana portu Odoo to jedna z podstawowych czynności konfiguracyjnych, którą wykonują administratorzy systemu podczas wdrożenia lub zarządzania instancją Odoo. Domyślnie Odoo uruchamia się na porcie 8069, ale istnieje wiele sytuacji, w których konieczna jest zmiana tego ustawienia - od konfliktów portów po wymagania bezpieczeństwa czy konieczność uruchomienia wielu instancji Odoo na jednym serwerze.
Dlaczego warto zmienić domyślny port Odoo?
Zanim przejdziemy do technicznych aspektów zmiany portu, warto zrozumieć powody, dla których administratorzy decydują się na tę modyfikację:
- Konflikt portów - port 8069 może być już zajęty przez inną aplikację działającą na tym samym serwerze
- Uruchamianie wielu instancji - gdy potrzebujemy kilku środowisk Odoo (produkcyjne, testowe, deweloperskie), każda instancja wymaga osobnego portu
- Bezpieczeństwo - używanie niestandardowego portu utrudnia potencjalnym atakującym identyfikację aplikacji
- Standardy organizacyjne - niektóre firmy mają wewnętrzne polityki dotyczące portów używanych przez aplikacje
- Konfiguracja reverse proxy - przy implementacji Nginx lub Apache jako reverse proxy często wymaga się innych portów wewnętrznych
Metoda 1: Zmiana portu poprzez plik konfiguracyjny
Najbardziej profesjonalnym i zalecanym sposobem zmiany portu Odoo jest edycja pliku konfiguracyjnego. Ta metoda zapewnia trwałość ustawień i ułatwia zarządzanie konfiguracją.
Lokalizacja pliku konfiguracyjnego
W zależności od systemu operacyjnego i metody instalacji, plik konfiguracyjny odoo.conf może znajdować się w różnych lokalizacjach:
- Ubuntu/Linux:
/etc/odoo/odoo.conflub/etc/odoo.conf - Windows:
C:\Program Files\Odoo\server\odoo.conf - Instalacja ze źródeł: w katalogu głównym instalacji lub wskazana parametrem
--config
Jeśli zainstalowałeś Odoo zgodnie z naszym przewodnikiem Jak zainstalować Odoo na Ubuntu, plik konfiguracyjny powinien znajdować się w standardowej lokalizacji systemowej.
Edycja pliku konfiguracyjnego na Ubuntu
Aby zmienić port Odoo na systemie Ubuntu, wykonaj następujące kroki:
- Otwórz terminal i uzyskaj uprawnienia administratora
- Edytuj plik konfiguracyjny używając preferowanego edytora:
sudo nano /etc/odoo/odoo.conf
- Znajdź lub dodaj linię z parametrem
http_port(w starszych wersjach Odoo poniżej wersji 10 używanoxmlrpc_port):[options] http_port = 8080 longpolling_port = 8072
Uwaga: Odoo używa również portu longpolling (domyślnie 8072) do obsługi powiadomień w czasie rzeczywistym. Jeśli zmieniasz główny port, rozważ także zmianę portu longpolling, aby uniknąć konfliktów.
- Zapisz zmiany (w nano: Ctrl+X, następnie Y i Enter)
- Uruchom ponownie usługę Odoo:
sudo systemctl restart odoo
- Sprawdź status usługi i logi, aby upewnić się, że Odoo uruchomił się na nowym porcie:
sudo systemctl status odoo sudo journalctl -u odoo -n 50
Edycja pliku konfiguracyjnego na Windows
Jeśli korzystasz z instalacji Odoo na Windows, proces jest podobny. Szczegółowy przewodnik instalacji znajdziesz w artykule Jak zainstalować Odoo na Windows.
- Zlokalizuj plik
odoo.confw katalogu instalacyjnym - Otwórz plik w Notatniku lub innym edytorze tekstowym (z uprawnieniami administratora)
- Znajdź lub dodaj parametr:
http_port = 8080 longpolling_port = 8072
- Zapisz zmiany
- Uruchom ponownie usługę Odoo przez Menedżer usług Windows lub restart serwera
Metoda 2: Zmiana portu przy użyciu parametrów uruchomieniowych
Jeśli chcesz zmienić port tymczasowo lub podczas testowania, możesz użyć parametru wiersza poleceń przy uruchamianiu Odoo:
./odoo-bin --http-port=8080
Aby zmienić również port longpolling:
./odoo-bin --http-port=8080 --gevent-port=8072
Ta metoda jest przydatna podczas developmentu lub testowania, ale nie jest zalecana dla środowisk produkcyjnych, ponieważ wymaga określenia portu przy każdym uruchomieniu.
Metoda 3: Zmiana portu w instalacji Docker
Jeśli używasz Odoo w kontenerze Docker, zmiana portu wymaga modyfikacji mapowania portów. Więcej informacji o instalacji Dockera znajdziesz w artykule Jak zainstalować Odoo za pomocą Dockera.
Zmiana portu w docker-compose.yml
Edytuj plik docker-compose.yml i zmień mapowanie portów:
version: '3.1'
services:
web:
image: odoo:17
depends_on:
- db
ports:
- "8080:8069"
- "8072:8072"
environment:
- HOST=db
- USER=odoo
- PASSWORD=odoo
volumes:
- odoo-web-data:/var/lib/odoo
- ./config:/etc/odoo
- ./addons:/mnt/extra-addons
db:
image: postgres:15
environment:
- POSTGRES_DB=postgres
- POSTGRES_PASSWORD=odoo
- POSTGRES_USER=odoo
volumes:
- odoo-db-data:/var/lib/postgresql/data
volumes:
odoo-web-data:
odoo-db-data:
W tym przykładzie Odoo nadal działa wewnątrz kontenera na porcie 8069, ale jest dostępny na hoście przez port 8080. Port 8072 (longpolling) jest mapowany bezpośrednio.
Zmiana portu wewnątrz kontenera Docker
Jeśli chcesz zmienić port, na którym Odoo nasłuchuje wewnątrz kontenera, możesz użyć zmiennych środowiskowych:
services:
web:
image: odoo:17
ports:
- "8080:8080"
environment:
- HOST=db
- USER=odoo
- PASSWORD=odoo
- HTTP_PORT=8080
Zmiana portu przy uruchomieniu kontenera
Możesz również zmienić mapowanie portów bezpośrednio przy uruchamianiu kontenera:
docker run -d -p 8080:8069 -p 8072:8072 --name odoo --link db:db -t odoo:17
Konfiguracja zapory sieciowej
Po zmianie portu Odoo, niezbędne jest odpowiednie skonfigurowanie zapory sieciowej, aby umożliwić ruch na nowym porcie.
Konfiguracja UFW na Ubuntu
sudo ufw allow 8080/tcp sudo ufw allow 8072/tcp sudo ufw reload
Konfiguracja firewalld na CentOS/RHEL
sudo firewall-cmd --permanent --add-port=8080/tcp sudo firewall-cmd --permanent --add-port=8072/tcp sudo firewall-cmd --reload
Weryfikacja zmiany portu
Po dokonaniu zmian warto sprawdzić, czy Odoo faktycznie nasłuchuje na nowym porcie. Możesz to zrobić na kilka sposobów:
Sprawdzenie za pomocą netstat
sudo netstat -tulpn | grep odoo
Sprawdzenie za pomocą ss
sudo ss -tulpn | grep 8080
Sprawdzenie logów Odoo
Logi Odoo powinny zawierać informację o portach, na których uruchomił się serwer:
sudo journalctl -u odoo -n 100 | grep -i "http\|port"
Powinieneś zobaczyć linie podobne do:
INFO ? odoo.service.server: HTTP service (werkzeug) running on localhost:8080
Test w przeglądarce
Otwórz przeglądarkę i wpisz adres z nowym portem:
http://localhost:8080
lub z adresem IP serwera:
http://192.168.1.100:8080
Najlepsze praktyki przy zmianie portu
Przy modyfikacji konfiguracji portu Odoo warto przestrzegać kilku zasad:
- Dokumentuj zmiany - zawsze notuj, który port jest używany przez którą instancję Odoo
- Używaj portów z odpowiedniego zakresu - porty powyżej 1024 nie wymagają uprawnień root
- Unikaj konfliktów - sprawdź, czy wybrany port nie jest już używany przez inną aplikację
- Pamiętaj o longpolling - jeśli zmieniasz port HTTP, rozważ również zmianę portu longpolling
- Aktualizuj dokumentację - poinformuj zespół o zmianie portu i zaktualizuj wewnętrzną dokumentację
- Testuj po zmianach - zawsze weryfikuj, czy wszystkie funkcje Odoo działają poprawnie po zmianie portu, szczególnie powiadomienia w czasie rzeczywistym
- Backup konfiguracji - przed wprowadzeniem zmian, utwórz kopię zapasową pliku konfiguracyjnego
Rozwiązywanie typowych problemów
Port nadal zajęty
Jeśli po zmianie portu Odoo nie uruchamia się, możliwe że wybrany port jest już zajęty. Sprawdź, która aplikacja używa portu:
sudo lsof -i :8080
Brak dostępu po zmianie portu
Jeśli nie możesz uzyskać dostępu do Odoo po zmianie portu, sprawdź:
- Czy usługa Odoo została poprawnie zrestartowana
- Czy zapora sieciowa zezwala na ruch na nowym porcie (w tym longpolling)
- Czy używasz prawidłowego adresu URL z nowym portem
- Czy w logach Odoo nie ma komunikatów o błędach:
sudo journalctl -u odoo -n 100 - Czy parametr w pliku konfiguracyjnym to
http_port(nowsze wersje) a niexmlrpc_port(starsze wersje)
Problemy z bazą danych
Zmiana portu nie powinna wpływać na połączenie z bazą danych PostgreSQL, ale jeśli napotkasz problemy, sprawdź konfigurację bazy danych opisaną w artykule Jak skonfigurować bazę danych PostgreSQL dla Odoo.
Konfiguracja reverse proxy z nowym portem
Jeśli używasz Nginx lub Apache jako reverse proxy, po zmianie portu Odoo musisz zaktualizować konfigurację proxy. Przykład dla Nginx:
upstream odoo {
server 127.0.0.1:8080;
}
upstream odoochat {
server 127.0.0.1:8072;
}
server {
listen 80;
server_name twojadomena.pl;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
# Obsługa longpolling
location /longpolling {
proxy_pass http://odoochat;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
# Główna aplikacja Odoo
location / {
proxy_pass http://odoo;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
# Obsługa plików statycznych
location ~* /web/static/ {
proxy_cache_valid 200 90m;
proxy_buffering on;
expires 864000;
proxy_pass http://odoo;
}
}
FAQ - Najczęściej zadawane pytania
Czy zmiana portu Odoo wpływa na wydajność systemu?
Nie, zmiana portu nie ma żadnego wpływu na wydajność Odoo. Port to jedynie numer identyfikujący punkt końcowy komunikacji sieciowej. Wydajność systemu zależy od zasobów sprzętowych, konfiguracji bazy danych i optymalizacji aplikacji, co możesz sprawdzić w artykule o wymaganiach systemowych dla Odoo.
Czy mogę uruchomić Odoo na porcie 80 lub 443?
Tak, techniczne jest to możliwe, ale nie jest zalecane uruchamianie Odoo bezpośrednio na portach 80 (HTTP) lub 443 (HTTPS). Wymaga to uprawnień root, co stwarza zagrożenia bezpieczeństwa. Lepszym rozwiązaniem jest użycie reverse proxy (Nginx lub Apache) nasłuchującego na portach 80/443, który przekierowuje ruch do Odoo działającego na wyższym porcie (np. 8069 lub 8080).
Co zrobić, gdy zapominam, na którym porcie działa moja instancja Odoo?
Możesz sprawdzić aktywny port na kilka sposobów: sprawdź plik konfiguracyjny odoo.conf i znajdź parametr http_port (lub xmlrpc_port w starszych wersjach), użyj komendy sudo netstat -tulpn | grep odoo lub sudo ss -tulpn | grep odoo aby zobaczyć, na których portach nasłuchuje proces Odoo, lub sprawdź logi systemowe: sudo journalctl -u odoo | grep -i "http\|port", gdzie znajdziesz informację o porcie przy starcie usługi.
Czy muszę zmieniać port longpolling razem z portem HTTP?
Nie jest to obowiązkowe, ale zalecane, szczególnie gdy uruchamiasz wiele instancji Odoo na tym samym serwerze. Port longpolling (domyślnie 8072) obsługuje powiadomienia w czasie rzeczywistym i komunikację websocket. Jeśli nie zmienisz go podczas uruchamiania kolejnych instancji, mogą wystąpić konflikty portów i problemy z działaniem powiadomień.
Podsumowanie
Zmiana portu Odoo to prosta, ale ważna operacja administracyjna, która może być konieczna z różnych powodów - od uniknięcia konfliktów portów po wymagania bezpieczeństwa czy potrzebę uruchomienia wielu instancji. Najlepszą metodą jest edycja pliku konfiguracyjnego odoo.conf i ustawienie parametru http_port (w nowszych wersjach Odoo od wersji 10 wzwyż) lub xmlrpc_port (w starszych wersjach) na wybraną wartość. Nie zapomnij również o porcie longpolling (longpolling_port lub gevent_port), który jest używany do komunikacji w czasie rzeczywistym.
Pamiętaj o restartowaniu usługi Odoo po wprowadzeniu zmian oraz o odpowiedniej konfiguracji zapory sieciowej. Weryfikuj zmiany poprzez sprawdzenie logów systemowych i testowanie dostępu przez przeglądarkę.
Niezależnie od wybranej metody - czy to edycja pliku konfiguracyjnego, parametry uruchomieniowe, czy konfiguracja Docker - kluczowe jest dokładne przetestowanie zmian i upewnienie się, że wszystkie komponenty systemu działają poprawnie, w tym powiadomienia w czasie rzeczywistym. Właściwa konfiguracja portów to fundament stabilnej i bezpiecznej instalacji Odoo.
Potrzebujesz pomocy z konfiguracją Odoo lub wdrożeniem systemu ERP w Twojej firmie? Zespół ekspertów KK Innovations posiada bogate doświadczenie w implementacji i optymalizacji Odoo dla firm z różnych branż. Skontaktuj się z nami, aby dowiedzieć się, jak możemy wspomóc Twoją organizację w pełnym wykorzystaniu możliwości systemu Odoo!