Odoo 19 Installation Manual
☁️ Installing Odoo 19 on AWS
A step-by-step guide to installing Odoo 19 on Amazon EC2 + Ubuntu 24.04
including Nginx, SSL, and firewall configuration
⏱ Install time: ~60 min
🎯 Difficulty: Intermediate
🖥 OS: Ubuntu 24.04 LTS
📋 목차
Step 1 — Create an AWS EC2 Instance
✅ Recommended Instance Specs
| Scale | Instance | vCPU | Memory | Storage |
|---|---|---|---|---|
| Small (1–10 users) | t3.medium | 2 | 4 GB | 30 GB GP3 |
| Medium (10–50 users) | t3.large | 2 | 8 GB | 50 GB GP3 |
| Large (50+ users) | m5.xlarge | 4 | 16 GB | 100 GB GP3 |
🔑 EC2 생성 순서
- AWS Console → EC2 → Launch Instance
- AMI: Select Ubuntu Server 24.04 LTS (HVM), SSD Volume Type
- Instance type: refer to the table above
- Create or select an existing Key Pair (used for SSH access)
- Configure security group inbound rules:
- SSH (22) — My IP
- HTTP (80) — 0.0.0.0/0
- HTTPS (443) — 0.0.0.0/0
- Odoo (8069) — My IP (close after setup)
- Storage: Select GP3 and enter recommended capacity
- Allocate an Elastic IP and associate it with the instance
⚠ 주의: 탄력적 IP를 할당하지 않으면 인스턴스를 재시작할 때마다 IP가 변경됩니다. 도메인 연결 전에 반드시 Elastic IP를 할당하세요.
Step 2 — Connect to Server & Set Up Environment
SSH Connection
ssh -i ~/your-key.pem ubuntu@
System Update & Dependency Installation
sudo apt update && sudo apt upgrade -y sudo apt install -y \ python3-pip python3-dev python3-venv \ libxml2-dev libxslt1-dev libevent-dev \ libsasl2-dev libldap2-dev libpq-dev \ libjpeg-dev zlib1g-dev libfreetype6-dev \ node-less npm git curl build-essential # wkhtmltopdf 설치 (PDF 출력용) wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_amd64.deb sudo dpkg -i wkhtmltox_0.12.6.1-3.jammy_amd64.deb sudo apt install -f -y
💡 팁: wkhtmltopdf는 Odoo에서 견적서, 납품서, 청구서 등을 PDF로 출력할 때 반드시 필요합니다.
Step 3 — Install & Configure PostgreSQL
# PostgreSQL 16 설치 sudo apt install -y postgresql postgresql-client # PostgreSQL 서비스 시작 sudo systemctl enable postgresql sudo systemctl start postgresql # Odoo 전용 DB 사용자 생성 sudo -u postgres createuser -s odoo # 비밀번호 설정 (선택) sudo -u postgres psql -c "ALTER USER odoo WITH PASSWORD 'your_strong_password';"
⚠ 보안: 운영 환경에서는 반드시 강력한 비밀번호를 설정하고, PostgreSQL의 외부 접속을 비활성화하세요.
Step 4 — Install Odoo 19
Create Odoo System User & Download Source
# odoo 전용 시스템 계정 생성 sudo useradd -m -d /opt/odoo -U -r -s /bin/bash odoo # Odoo 소스 클론 (커뮤니티) sudo -u odoo git clone https://github.com/odoo/odoo.git \ --depth 1 --branch 19.0 /opt/odoo/odoo-server # Python 가상환경 생성 및 의존성 설치 sudo -u odoo python3 -m venv /opt/odoo/venv sudo -u odoo /opt/odoo/venv/bin/pip install -r /opt/odoo/odoo-server/requirements.txt
Create Odoo Configuration File
sudo tee /etc/odoo.conf > /dev/null <
Register systemd Service
sudo tee /etc/systemd/system/odoo.service > /dev/null <
✅ Verification: If you see the Odoo database creation screen at
http://:8069 , the installation was successful.
Step 5 — Configure Nginx Reverse Proxy
sudo apt install -y nginx
sudo tee /etc/nginx/sites-available/odoo > /dev/null <<'EOF'
upstream odoo {
server 127.0.0.1:8069;
}
upstream odoochat {
server 127.0.0.1:8072;
}
server {
listen 80;
server_name your-domain.com;
# Gzip 압축
gzip on;
gzip_types text/css text/javascript application/javascript;
# 정적 파일 캐싱
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff2)$ {
expires 7d;
add_header Cache-Control "public";
proxy_pass http://odoo;
}
# 롱폴링 (실시간 알림)
location /websocket {
proxy_pass http://odoochat;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
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_read_timeout 720s;
client_max_body_size 200M;
}
}
EOF
sudo ln -s /etc/nginx/sites-available/odoo /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
Step 6 — Apply SSL Certificate (Let’s Encrypt)
# Certbot 설치 sudo apt install -y certbot python3-certbot-nginx # SSL 인증서 발급 (도메인이 EC2에 연결된 후 실행) sudo certbot --nginx -d your-domain.com # 자동 갱신 확인 sudo certbot renew --dry-run
💡 팁: Certbot은 Nginx 설정을 자동으로 수정하여 HTTP → HTTPS 리다이렉트와 443 포트 설정을 처리합니다. 인증서는 90일마다 자동 갱신됩니다.
7단계 — 운영 최적화 및 보안 설정
🔒 방화벽 (UFW)
sudo ufw allow OpenSSH sudo ufw allow 'Nginx Full' sudo ufw deny 8069 sudo ufw enable
💾 자동 백업 (S3)
sudo apt install -y awscli aws configure # crontab -e 에 추가: 0 3 * * * pg_dump odoo | \ gzip | aws s3 cp - \ s3://your-bucket/odoo-$(date +\%F).sql.gz
odoo.conf Recommended Production Settings
| Parameter | Recommended Value | Description |
|---|---|---|
workers |
vCPU × 2 + 1 | Number of concurrent request worker processes |
max_cron_threads |
2 | Dedicated thread for scheduled tasks |
limit_memory_hard |
2684354560 | Max memory per worker (2.5 GB) |
proxy_mode |
True | Nginx 프록시 사용 시 필수 |
logrotate |
True | Automatic log rotation |
Build Your AWS Odoo with Expert Support
Darindari is your specialist partner for AWS-based Odoo installation, operations, and customization.
One-stop support from infrastructure design to ongoing operations.