Odoo install ubuntu: Difference between revisions
| No edit summary | No edit summary | ||
| Line 1: | Line 1: | ||
| #-------------------------------------------------- | #-------------------------------------------------- | ||
| #Step 1: Update Package Manager | #Step 1: Update Package Manager | ||
| #-------------------------------------------------- | #-------------------------------------------------- | ||
| lsb_release -a  | |||
| sudo apt-get update  | lsb_release -a | ||
| ip r | |||
| sudo apt-get update   | |||
| sudo apt-get upgrade -y | sudo apt-get upgrade -y | ||
| sudo apt install git wget python3 build-essential libzip-dev python3-dev libxslt1-dev python3-pip libldap2-dev python3-wheel libsasl2-dev python3-venv python3-setuptools node-less libjpeg-dev xfonts-75dpi xfonts-base libxrender1 libpq-dev libffi-dev fontconfig | sudo apt install git wget python3 build-essential libzip-dev python3-dev libxslt1-dev python3-pip libldap2-dev python3-wheel libsasl2-dev python3-venv python3-setuptools node-less libjpeg-dev xfonts-75dpi xfonts-base libxrender1   | ||
| libpq-dev libffi-dev fontconfig | |||
| sudo apt install nodejs | sudo apt install nodejs | ||
| sudo npm install -g rtlcss | sudo npm install -g rtlcss | ||
| cd /tmp | cd /tmp | ||
| wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb | wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb | ||
| sudo dpkg -i wkhtmltox_0.12.6.1-2.jammy_amd64.deb | sudo dpkg -i wkhtmltox_0.12.6.1-2.jammy_amd64.deb | ||
| sudo apt install -f | sudo apt install -f | ||
| ls /usr/local/bin | ls /usr/local/bin | ||
| 'Now run the following command to verify the $PATH environment variable and make sure the '/usr/local/bin' directory is available on the binary $PATH. Otherwise, the Wkhtmltopdf package will not work properly.' | 'Now run the following command to verify the $PATH environment variable and make sure the '/usr/local/bin' directory is available on the binary $PATH. Otherwise, the Wkhtmltopdf package will not work properly.' | ||
| echo $PATH | echo $PATH | ||
| which wkhtmltopdf | which wkhtmltopdf | ||
| which wkhtmltoimage | which wkhtmltoimage | ||
| sudo apt install postgresql | sudo apt install postgresql | ||
| sudo systemctl is-enabled postgresql | sudo systemctl is-enabled postgresql | ||
| sudo systemctl status postgresql | sudo systemctl status postgresql | ||
| su - postgres | su - postgres | ||
| createuser -sdP odoo | createuser -sdP odoo | ||
| psql | psql | ||
| \du | \du | ||
| ALTER ROLE odoo WITH PASSWORD 'password123'; | ALTER ROLE odoo WITH PASSWORD 'password123'; | ||
| \q | \q | ||
| su root | su root | ||
| sudo systemctl restart postgresql | sudo systemctl restart postgresql | ||
| sudo nano /etc/postgresql/14/main/pg_hba.conf | sudo nano /etc/postgresql/14/main/pg_hba.conf | ||
| 'host    all   odoo    127.0.0.1/32    scram-sha-256' | 'host    all   odoo    127.0.0.1/32    scram-sha-256' | ||
| sudo systemctl restart postgresql | sudo systemctl restart postgresql | ||
| su - postgres | su - postgres | ||
| psql -h 127.0.0.1 -U odoo -d postgres | psql -h 127.0.0.1 -U odoo -d postgres | ||
| \conninfo | \conninfo | ||
| #-------------------------------------------------- | #-------------------------------------------------- | ||
| #Downloading Odoo 16 | #Downloading Odoo 16 | ||
| #-------------------------------------------------- | #-------------------------------------------------- | ||
| sudo adduser --system --group --home=/opt/odoo --shell=/bin/bash odoo | sudo adduser --system --group --home=/opt/odoo --shell=/bin/bash odoo | ||
| cd /opt/odoo | cd /opt/odoo | ||
| git clone https://github.com/odoo/odoo.git --depth 1 --branch 16.0 --single-branch odoo-server | git clone https://github.com/odoo/odoo.git --depth 1 --branch 16.0 --single-branch odoo-server | ||
| sudo chown -R odoo:odoo /opt/odoo/odoo-server | sudo chown -R odoo:odoo /opt/odoo/odoo-server | ||
| #-------------------------------------------------- | #-------------------------------------------------- | ||
| #Installing Python Dependencies for Odoo | #Installing Python Dependencies for Odoo | ||
| #-------------------------------------------------- | #-------------------------------------------------- | ||
| cd /opt/odoo/odoo-server | cd /opt/odoo/odoo-server | ||
| python3 -m venv venv | python3 -m venv venv | ||
| source venv/bin/activate | source venv/bin/activate | ||
| pip3 install wheel | pip3 install wheel | ||
| pip3 install -r requirements.txt | pip3 install -r requirements.txt | ||
| deactivate | deactivate | ||
| sudo nano /etc/odoo.conf | sudo nano /etc/odoo.conf | ||
| [options] | [options] | ||
| ; This is the password that allows database operations: | ; This is the password that allows database operations: | ||
| admin_passwd = admin | admin_passwd = admin | ||
| db_host = 127.0.0.1 | db_host = 127.0.0.1 | ||
| db_port = 5432 | db_port = 5432 | ||
| db_user = odoo | db_user = odoo | ||
| db_password = password123 | db_password = password123 | ||
| addons_path = /opt/odoo/odoo-server/addons | addons_path = /opt/odoo/odoo-server/addons | ||
| xmlrpc_port = 8069 | xmlrpc_port = 8069 | ||
| logfile = /var/log/odoo/odoo-server.log | logfile = /var/log/odoo/odoo-server.log | ||
| log_level  = debug | log_level  = debug | ||
| xmlrpc_interface = 127.0.0.1 | xmlrpc_interface = 127.0.0.1 | ||
| proxy_mode = True | proxy_mode = True | ||
Revision as of 03:58, 26 October 2023
- --------------------------------------------------
- Step 1: Update Package Manager
- --------------------------------------------------
lsb_release -a
ip r
sudo apt-get update
sudo apt-get upgrade -y
sudo apt install git wget python3 build-essential libzip-dev python3-dev libxslt1-dev python3-pip libldap2-dev python3-wheel libsasl2-dev python3-venv python3-setuptools node-less libjpeg-dev xfonts-75dpi xfonts-base libxrender1
libpq-dev libffi-dev fontconfig
sudo apt install nodejs
sudo npm install -g rtlcss
cd /tmp
sudo dpkg -i wkhtmltox_0.12.6.1-2.jammy_amd64.deb
sudo apt install -f
ls /usr/local/bin
'Now run the following command to verify the $PATH environment variable and make sure the '/usr/local/bin' directory is available on the binary $PATH. Otherwise, the Wkhtmltopdf package will not work properly.'
echo $PATH
which wkhtmltopdf
which wkhtmltoimage
sudo apt install postgresql
sudo systemctl is-enabled postgresql
sudo systemctl status postgresql
su - postgres
createuser -sdP odoo
psql
\du
ALTER ROLE odoo WITH PASSWORD 'password123';
\q
su root
sudo systemctl restart postgresql
sudo nano /etc/postgresql/14/main/pg_hba.conf
'host all odoo 127.0.0.1/32 scram-sha-256'
sudo systemctl restart postgresql
su - postgres
psql -h 127.0.0.1 -U odoo -d postgres
\conninfo
- --------------------------------------------------
- Downloading Odoo 16
- --------------------------------------------------
sudo adduser --system --group --home=/opt/odoo --shell=/bin/bash odoo
cd /opt/odoo
git clone https://github.com/odoo/odoo.git --depth 1 --branch 16.0 --single-branch odoo-server
sudo chown -R odoo:odoo /opt/odoo/odoo-server
- --------------------------------------------------
- Installing Python Dependencies for Odoo
- --------------------------------------------------
cd /opt/odoo/odoo-server
python3 -m venv venv
source venv/bin/activate
pip3 install wheel
pip3 install -r requirements.txt
deactivate
sudo nano /etc/odoo.conf
[options]
- This is the password that allows database operations
admin_passwd = admin
db_host = 127.0.0.1
db_port = 5432
db_user = odoo
db_password = password123
addons_path = /opt/odoo/odoo-server/addons
xmlrpc_port = 8069
logfile = /var/log/odoo/odoo-server.log
log_level = debug
xmlrpc_interface = 127.0.0.1
proxy_mode = True
sudo chown odoo:odoo /etc/odoo.conf
sudo mkdir /var/log/odoo
sudo chown odoo:odoo /var/log/odoo 
sudo chmod 755 /var/log/odoo
- --------------------------------------------------
- Runnnig Odoo as Systemd Service
- --------------------------------------------------
sudo nano /lib/systemd/system/odoo-server.service [Unit] Description=Odoo 16.0 Service Requires=postgresql.service After=network.target postgresql.service
[Service] Type=simple SyslogIdentifier=odoo PermissionsStartOnly=true User=odoo Group=odoo ExecStart=/opt/odoo/odoo-server/venv/bin/python3 /opt/odoo/odoo-server/odoo-bin -c /etc/odoo.conf StandardOutput=journal+console
[Install] WantedBy=multi-user.target
sudo systemctl daemon-reload sudo systemctl start odoo-server sudo systemctl enable odoo-server sudo systemctl status odoo-server
- --------------------------------------------------
- Running Odoo with Nginx Reverse Proxy
- --------------------------------------------------
sudo nano /etc/odoo.conf xmlrpc_interface = 127.0.0.1 proxy_mode = True
sudo systemctl restart odoo-server
sudo systemctl status odoo-server
sudo apt install nginx
sudo nano /etc/nginx/sites-available/odoo.conf
server {
# set proper server name after domain set server_name erp.ntk.ir;
# Add Headers for odoo proxy mode proxy_set_header X-Forwarded-Host \$host; proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto \$scheme; proxy_set_header X-Real-IP \$remote_addr; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; proxy_set_header X-Client-IP \$remote_addr; proxy_set_header HTTP_X_FORWARDED_HOST \$remote_addr;
# odoo log files access_log /var/log/nginx/odoo-access.log; error_log /var/log/nginx/odoo-error.log;
# increase proxy buffer size proxy_buffers 16 64k; proxy_buffer_size 128k;
proxy_read_timeout 900s; proxy_connect_timeout 900s; proxy_send_timeout 900s;
# force timeouts if the backend dies proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
 types {
   text/less less;
   text/scss scss;
 }
# enable data compression gzip on; gzip_min_length 1100; gzip_buffers 4 32k; gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript application/pdf image/jpeg image/png; gzip_vary on; client_header_buffer_size 4k; large_client_header_buffers 4 64k; client_max_body_size 0;
 location / {
   proxy_pass    http://127.0.0.1:8069;
   # by default, do not forward anything
   proxy_redirect off;
 }
 location /longpolling {
   proxy_pass http://127.0.0.1:8072;
 }
 location ~* .(js|css|png|jpg|jpeg|gif|ico)$ {
   expires 2d;
   proxy_pass http://127.0.0.1:8069;
   add_header Cache-Control "public, no-transform";
 }
 # cache some static data in memory for 60mins.
 location ~ /[a-zA-Z0-9_-]*/static/ {
   proxy_cache_valid 200 302 60m;
   proxy_cache_valid 404      1m;
   proxy_buffering    on;
   expires 864000;
   proxy_pass    http://127.0.0.1:8069;
 }
listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/erp.ntk.ir/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/erp.ntk.ir/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}server {
   if ($host = erp.ntk.ir) {
       return 301 https://$host$request_uri;
   } # managed by Certbot
listen 80; server_name erp.ntk.ir; return 404; # managed by Certbot
}
sudo ln -s /etc/nginx/sites-available/odoo.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
sudo ufw allow "OpenSSH"
sudo ufw enable
sudo ufw allow "Nginx Full"
sudo ufw status
- --------------------------------------------------
- Enable ssl with certbot
- --------------------------------------------------
sudo apt-get update -y sudo apt install snapd -y sudo snap install core; snap refresh core sudo snap install --classic certbot sudo apt-get install python3-certbot-nginx -y sudo certbot --nginx -d $WEBSITE_NAME --noninteractive --agree-tos --email $ADMIN_EMAIL --redirect sudo service nginx reload
Step 5 — Verifying Certbot Auto-Renewal sudo systemctl status snap.certbot.renew.service 'test the renewal process' sudo certbot renew --dry-run
- --------------------------------------------------
- Migrating Database and Installing Odoo 16
- --------------------------------------------------
http://<your_domain_or_IP_address>:8069
- --------------------------------------------------
- END
- --------------------------------------------------
[source 1](https://www.howtoforge.com/how-to-install-odoo-16-on-ubuntu-22-04/)
[source 2](https://vegastack.com/tutorials/step-by-step-tutorial-to-install-odoo-16-erp-on-ubuntu-22-04/)