웹사이트 검색

RHEL/CentOS 및 Debian/Ubuntu에서 Nginx를 사용하여 OpenERP(Odoo) 9 설정


이전에 OpenERP로 알려진 Odoo는 Python으로 작성된 오픈 소스 Enterprise Resource Planning ERP 웹 기반 비즈니스 소프트웨어로, 웹 제품군과 함께 제공됩니다. 웹사이트 빌더, 전자상거래 모듈, 청구 및 회계, 인사 관리, POS, 고객 관계 관리, 재고 모듈, 라이브 채팅 및 기타 다양한 앱과 기능 등 모든 비즈니스를 위해 설계된 앱입니다.

이 튜토리얼은 RHEL/CentOS/Fedora 또는 Odoo(버전 9)의 최신 안정 버전을 설치하는 방법을 안내합니다. Strong>Debian/Ubuntu 기반 시스템과 Nginx 서버는 프런트엔드에서 역방향 프록시 역할을 하여 표준 웹 브라우징 포트에서 더 빠르고 안전하게 웹 인터페이스에 액세스할 수 있습니다. 사용자에게 브라우저 리디렉션 포트를 사용하도록 부담을 줍니다.

1단계: PostgreSQL 데이터베이스 설치 및 보안

1. Odoo 설치를 시작하기 전에 먼저 백엔드 PostgreSQL 데이터베이스를 설치할 수 있도록 Epel 저장소에서 제공하는 패키지가 시스템과 함께 제공되는지 확인하세요. .

또한 아래 명령을 실행하여 서버가 최신 보안 패키지 및 패치로 최신 상태인지 확인하십시오.

----------- On RedHat/CentOS based systems ----------- 
yum update
yum install -y epel-release

----------- On Debian/Ubuntu based systems ----------- 
apt-get update && sudo apt-get upgrade # On Debian 

2. 다음으로 Odoo에서 정보를 저장하는 데 사용하는 기본 데이터베이스인 PostgreSQL 데이터베이스 서버를 설치하세요.

----------- On RedHat/CentOS based systems -----------
yum install postgresql-server

----------- On Debian/Ubuntu based systems -----------
apt-get install postgresql postgresql-client

PostgreSQL 데이터베이스를 초기화합니다.

postgresql-setup initdb	

이제 마지막으로 아래 명령을 실행하여 PostgreSQL 데이터베이스를 시작합니다.

----------- On SystemD systems -----------
systemctl start postgresql

----------- On SysVinit systems -----------
service postgresql start

비밀번호가 비어 있는 PostgreSQL 기본 사용자를 보호하기 위한 추가 단계로 비밀번호를 변경하려면 루트 권한으로 아래 명령을 실행하세요.

sudo -u postgres psql
postgres=# \password postgres

2단계: Odoo 9 설치 - OpenERP

3. 공식 저장소에서 Odoo 9를 설치하려면 먼저 다음 콘텐츠로 Odoo용 새 yum 저장소 파일을 만듭니다.

CentOS/RHEL 시스템

vi /etc/yum.repos.d/odoo.repo

다음 발췌문을 odoo.repo 파일에 추가하세요.

[odoo-nightly]
name=Odoo Nightly repository
baseurl=http://nightly.odoo.com/9.0/nightly/rpm/
enabled=1
gpgcheck=1
gpgkey=https://nightly.odoo.com/odoo.key

데비안/우분투 시스템에서

Debian/Ubuntu에서 다음 명령을 실행하여 Odoo 저장소를 추가하세요.

wget -O - https://nightly.odoo.com/odoo.key | apt-key add -
echo "deb http://nightly.odoo.com/9.0/nightly/deb/ ./" >> /etc/apt/sources.list

4. 다음으로 바이너리에서 Odoo 9 소프트웨어를 설치합니다.

----------- On RedHat/CentOS based systems -----------
yum install odoo

----------- On Debian/Ubuntu based systems -----------
apt-get update && sudo apt-get install odoo

그런 다음, 아래 명령을 실행하여 데몬을 시작하고 상태를 확인합니다.

----------- On SystemD systems -----------
systemctl start odoo
systemctl status odoo

----------- On SysVinit systems -----------
service odoo start
service odoo status

추가 단계로 ss 또는 netstat 명령을 실행하여 Odoo 서비스 수신 포트를 확인할 수 있습니다.

ss -tulpn
OR
netstat -tulpn

기본적으로 Odoo는 8069/TCP 포트에서 네트워크 연결을 수신합니다.

3단계: 웹 인터페이스에서 Odoo 구성

5. Odoo를 추가로 구성하려면 브라우저를 실행하고 다음 URI에서 Odoo 웹 인터페이스에 액세스하세요.

http://host-or-IP-address:8069/

6. 다음으로 Odoo용 새 데이터베이스를 생성하고 관리자 계정에 대한 강력한 비밀번호를 설정하라는 메시지가 표시됩니다.

7. 데이터베이스가 생성되면 추가로 애플리케이션을 설치하고 ERP를 구성할 수 있는 관리 웹 패널로 리디렉션됩니다. 지금은 애플리케이션을 기본값으로 두고 로그아웃하세요.

8. 로그인 화면으로 돌아오면 데이터베이스 관리 링크를 누르고 Odoo 데이터베이스 관리자를 보호하기 위해 마스터 비밀번호를 설정하세요.

9. Odoo 데이터베이스 관리자를 확보한 후에는 애플리케이션에 로그인하여 필요한 앱과 설정으로 추가 구성을 시작할 수 있습니다.

4단계: Nginx Frontend에서 Odoo에 액세스

사용자가 Nginx 리버스 프록시를 통해 Odoo 웹 패널에 액세스할 수 있도록 시스템을 구성할 수 있습니다. 이를 통해 사용자는 브라우저에 http 포트 8069를 수동으로 입력할 필요 없이 표준 HTTP 포트에서 일부 Nginx 프런트엔드 캐싱으로 인해 Odoo 웹 인터페이스를 더 빠르게 탐색할 수 있습니다. .

이 설정을 먼저 구성하려면 다음 단계를 수행하여 시스템에 Nginx를 설치하고 구성해야 합니다.

10. 먼저 다음 명령을 사용하여 Nginx 웹 서버를 설치합니다.

----------- On RedHat/CentOS based systems -----------
yum install nginx

----------- On Debian/Ubuntu based systems -----------
apt-get install nginx

11. 다음으로 Nginx 기본 구성 파일을 텍스트 편집기로 열고 Nginx 문서 루트 위치를 지정하는 줄 뒤에 다음 블록을 삽입합니다.

----------- On RedHat/CentOS based systems -----------
vi /etc/nginx/nginx.conf 

----------- On Debian/Ubuntu based systems -----------
nano /etc/nginx/sites-enabled/default

nginx.conf 파일에 다음 구성 발췌 부분을 추가합니다.

 location / {
        proxy_pass http://127.0.0.1:8069;
        proxy_redirect off;
        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;

또한 다음 줄 앞에 #을 배치하여 Nginx location 문에 주석을 추가하세요. 아래 스크린샷을 가이드로 사용하세요.

#location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
        #       try_files $uri $uri/ =404;
        #}

12. 위의 사항을 모두 변경한 후 Nginx 데몬을 다시 시작하십시오. 단, getenforce 명령을 실행하여 Selinux가 활성화되어 있는지 확인하기 전에는 안됩니다. 당신의 기계.

CentOS/RHEL 시스템

정책이 Enforced로 설정된 경우 아래 명령을 실행하여 비활성화합니다.

setenforce 0
getenforce

Selinux를 완전히 비활성화하려면 텍스트 편집기로 /etc/selinux/config 파일을 열고 SELINUX 줄을 비활성화로 설정하세요.

Seliux 정책을 완전히 비활성화하지 않고 네트워크 소켓에 대한 허용 액세스 권한을 Nginx 프록시에 부여하기 위해 규칙을 완화하려는 경우 다음 명령을 실행하십시오.

setsebool httpd_can_network_connect on -P
getsebool -a | grep httpd 

그런 다음 Nginx 데몬을 다시 시작하여 위에서 수행한 변경 사항을 반영합니다.

systemctl restart nginx
OR
service nginx restart

13. 이 다음 단계는 보안 옵션 기능이며 Odoo 애플리케이션이 수신 대기하는 네트워크 소켓의 변경을 의미합니다. 바인딩 주소를 모든 인터페이스(또는 주소)에서 다음으로 변경합니다. 로컬호스트만 가능합니다.

로컬 호스트에 애플리케이션을 바인딩하면 LAN이나 다른 네트워크 내부의 사용자가 Odoo에 액세스할 수 없다는 사실만 의미하므로 이러한 변경은 Nginx 리버스 프록시와 함께 수행해야 합니다.

이 변경 사항을 활성화하려면 /etc/odoo/openerp-server.conf 파일을 열고 아래 스크린샷에 제안된 대로 xmlrpc_interface 줄을 localhost에만 바인딩하도록 편집하세요.

xmlrpc_interface = 127.0.0.1

변경 사항을 반영하려면 아래 명령을 실행하여 Odoo 서비스를 다시 시작하십시오.

systemctl restart odoo.service
OR
service odoo restart

14. 귀하의 컴퓨터에 방화벽이 제공하는 네트워크 방어선이 있는 경우 Nginx 프록시를 위해 외부 세계에 방화벽 포트를 열려면 다음 명령을 실행하십시오.

----------- On FirewallD based systems -----------
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
----------- On IPTables based systems -----------
iptables -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
/etc/init.d/iptables save
----------- On UFW Firewall systems -----------
ufw allow http

15. 그게 다입니다! 이제 서버 IP 주소 또는 도메인 이름을 방문하여 ERP Odoo 애플리케이션에 성공적으로 액세스할 수 있습니다.

http://192.168.1.40
http://domain.tld

16. 시스템 재부팅 후 서비스를 자동으로 실행하려면 다음 명령을 실행하여 시스템 전체의 모든 데몬을 한 번에 활성화합니다.

------------ On SystemD Systems ------------  
systemctl enable postgresql.service 
systemctl enable odoo.service
systemctl enable nginx.service
------------ On SysVinit Systems ------------ 

chkconfig postgresql on
chkconfig odoo on
chkconfig nginx on

참고: PDF 보고서의 경우 HTML 페이지를 PDF로 변환하려면 wkhtmltopdf 설치 링크를 방문하여 자체 배포용 wkhtmltopdf 바이너리 패키지를 수동으로 다운로드하고 설치해야 합니다.