Sunday, October 6, 2024

How to Setup Odoo 18 Development Environment in Ubuntu 20.04 / 22.04


Step 1. Update the System

sudo lsb_release -a
sudo apt-get update -y && sudo apt-get upgrade -y
sudo apt-get install openssh-server fail2ban locate git curl -y
sudo snap install pycharm-community --classic


Add Swap Memory

df -h
htop
dd if=/dev/zero of=/swapfile bs=1M count=8192 (4GB)
mkswap /swapfile
chmod 0600 /swapfile
swapon /swapfile
echo "/swapfile swap swap defaults 0 0" >> /etc/fstab

Step 2. Install Python and Required Libraries

sudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt update -y
sudo apt install python3.12 -y

rm -rf /usr/bin/python3
rm -rf /usr/bin/python
ln -s /usr/bin/python3.12 /usr/bin/python3
ln -s /usr/bin/python3.12 /usr/bin/python
python --version
python3.12 --version
python3 --version
python3 --version

sudo apt-get install python3.12-dev build-essential libjpeg-dev libpq-dev libjpeg8-dev libxml2-dev libssl-dev libffi-dev libmysqlclient-dev libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev liblcms2-dev -y

sudo apt-get install -y npm
sudo ln -s /usr/bin/nodejs/usr/bin/node 
sudo npm install -g less less-plugin-clean-css 
sudo apt-get install -y node-less

Step 3: Additional Packages Required
sudo apt-get install nodejs npm -y
sudo ln -s /usr/bin/nodejs /usr/bin/node
If you need right-to-left CSS or language support in Odoo, you can add it with:
sudo npm install -g rtlcss 
sudo npm install -g less less-plugin-clean-css

Step 4. Install Wkhtmltopdf
sudo apt-get install xfonts-75dpi xfonts-base -y
sudo wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb
dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb 
apt install -f -y
sudo ln -s /usr/local/bin/wkhtmltopdf /usr/bin/
sudo ln -s /usr/local/bin/wkhtmltoimage /usr/bin/
wkhtmltopdf --version
or 
apt install wkhtmltopdf -y
sudo ln -s /usr/local/bin/wkhtmltopdf /usr/bin/
sudo ln -s /usr/local/bin/wkhtmltoimage /usr/bin/
wkhtmltopdf --version
wkhtmltopdf 0.12.5
Test
sudo apt-get install w3m w3m-img links2 lynx-common lynx -y
sudo wkhtmltopdf https://google.com google.pdf  - test wkhtmltopdf 
# "no module named PyPDF2" error
https://stackoverflow.com/questions/39241643/no-module-named-pypdf2-error

Step 5. Install PostgreSQL
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgdg.asc &>/dev/null
sudo apt-get install python-apt 
sudo apt update -y
sudo apt-get install postgresql postgresql-client postgresql-contrib -y
sudo systemctl start postgresql && sudo systemctl enable postgresql
sudo systemctl status postgresql

updatedb
locate bin/postgres
/usr/lib/postgresql/12/bin/postgres -V
postgres (PostgreSQL) 12.20 (Ubuntu 12.20-0ubuntu0.20.04.1)
sudo -u postgres psql
\du
\conninfo
SELECT version();
\q

sudo su - postgres 
psql --version
psql (PostgreSQL) 17.0 (Ubuntu 17.0-1.pgdg20.04+1)

Step 6. Create Odoo and PostgreSQL users 
#sudo adduser --system --home=/opt/odoo --group odoo
#sudo su - postgres -c "createuser -s odoo" 2> /dev/null || true
#sudo chmod 700 -R /var/lib/postgresql/12/main/
#sudo systemctl restart postgresql
sudo su - postgres
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo18
admin123
admin123
psql
ALTER USER odoo18 WITH SUPERUSER;
ALTER USER odoo18 WITH PASSWORD 'Admin@2024';

\q
exit

Step 7: Installation of Odoo 18
sudo apt-get install git
sudo git clone https://www.github.com/odoo/odoo --depth 1 --branch 18.0 --single-branch odoo18

ERROR 1
sudo apt update -y && sudo apt upgrade -y 
sudo apt -y install software-properties-common
# ModuleNotFoundError: No module named 'apt_pkg'
sudo apt remove --purge python3-apt -y
#sudo apt autoremove
sudo apt install python3-apt -y
sudo apt-get install --reinstall python3-apt -y
sudo apt-get update -y && sudo apt-get upgrade -y
ERROR 2
ModuleNotFoundError: No module named 'six.moves'
pip uninstall six
pip install six
apt-get install python-six

Step 8: Installation of PHP 7.4
sudo add-apt-repository ppa:ondrej/php 
sudo apt-get update
sudo apt -y install php7.4
php -v
sudo apt-get install -y php7.4-cli php7.4-json php7.4-common php7.4-mysql php7.4-zip php7.4-gd php7.4-mbstring php7.4-curl php7.4-xml php7.4-bcmath -y && sudo apt install python3.12-distutils -y && sudo apt-get install python3.8-dev -y
php -m
sudo apt install php7.4-fpm -y 
sudo apt update -y && sudo apt upgrade -y 
apt-get install libxml2-dev libxslt1-dev python-dev -y


Step 9: Create a Log Directory and Provide Permissions
sudo mkdir /var/log/odoo
sudo touch /var/log/odoo/odoo.log
#sudo chown -R odoo:odoo /var/log/odoo

Step 9: Setup Required Permissions
#sudo chown -R odoo:odoo /opt/odoo/

Step 10: Creation of a Server Configuration File
sudo nano /home/ubuntu/odoo18/odoo.conf

[options]
admin_passwd = <YourStrongPasswordHere>
db_host = localhost
db_port = 5432
db_user = odoo18
db_password = admin123
addons_path = /home/ubuntu/odoo18/addons, /home/ubuntu/odoo18/custom_addons
#addons_path = /home/ubuntu/odoo18/odoo/addons, /home/ubuntu/.local/share/Odoo/addons/18.0, /home/ubuntu/odoo18/addons, /home/ubuntu/odoo18/custom_addons
xmlrpc_port = 8018
logfile = /var/log/odoo/odoo.log

mkdir /home/ubuntu/odoo18/custom_addons
sudo chmod 640 /home/ubuntu/odoo18/odoo.conf

#Step 11. Create Odoo and PostgreSQL users
useradd -m -U -r -d /opt/odoo -s /bin/bash odoo
passwd odoo
New password: YourStrongPasswordHere
Retype new password: YourStrongPasswordHere
passwd: password updated successfully
usermod -aG sudo odoo
sudo su - postgres -c "createuser -s odoo"

Step 12: Additional Modules Required on Odoo 18
sudo apt-get install libpq-dev
curl -sS https://bootstrap.pypa.io/get-pip.py | python3.12
sudo apt install python3.12-venv
python3.12 -m venv /home/ubuntu/odoo18/odoo18-venv
source  /home/ubuntu/odoo18/odoo18-venv/bin/activate
pip install -r /home/ubuntu/odoo18/requirements.txt
pip install babel
pip install werkzeug
pip install Pillow
pip install reportlab
pip install PyPDF2
pip install decorator
pip install num2words
pip list
#pip install distutils.cmd
pip install lxml-html-clean
pip install zeep
pip install psutil
pip install jinja2
pip install rjsmin
pip install pyOpenSSL
pip install docutils
pip install psycopg2
pip install psycopg2-binary
pip install geoip2==2.9.0
sudo apt install python3.8-distutils -y


chown -R ubuntu:ubuntu /home/ubuntu/odoo18
chown -R ubuntu:ubuntu /home/ubuntu/odoo18/ /home/ubuntu/node
source  /home/ubuntu/odoo18/odoo18-venv/bin/activate
/home/ubuntu/odoo18/odoo-bin -c /home/ubuntu/odoo18/odoo.conf

HTTP service (werkzeug) running on http://localhost:8018
http://localhost:8018/web/database/selector

Set Master Password
<YourStrongPasswordHere>






-----


-----

Installed PGAdmin 4:

nano /etc/postgresql/17/main/postgresql.conf
listen_addresses = '*'

nano /etc/postgresql/17/main/pg_hba.conf
# Database administrative login by Unix domain socket
local   all             postgres                                md5
#local   all             postgres                                peer

# "local" is for Unix domain socket connections only
local       all       all       trust
#local      all       all       peer
# IPv4 local connections:
host   all   all   0.0.0.0/0   md5
#host    all             all             127.0.0.1/32            scram-sha-256
sudo chmod 700 /var/lib/postgresql/17/main/

curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg

sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'

sudo apt install pgadmin4

sudo apt install pgadmin4-desktop

sudo apt install pgadmin4-web 

sudo /usr/pgadmin4/bin/setup-web.sh

sudo pg_isready


http://127.0.0.1/pgadmin4

Ref:

https://www.cybrosys.com/blog/how-to-install-odoo-18-on-ubuntu-24-04-lts-server
https://www.cybrosys.com/blog/how-to-setup-odoo-18-development-environment-using-pycharm-in-ubuntu-22-04

Installed Anydesk:
curl -fsSL https://keys.anydesk.com/repos/DEB-GPG-KEY|sudo gpg --dearmor -o /usr/share/keyrings/anydesk.gpg
echo "deb [signed-by=/usr/share/keyrings/anydesk.gpg] http://deb.anydesk.com/ all main" > /etc/apt/sources.list.d/anydesk-stable.list
apt update
apt install anydesk

Installed Teamviewer:
wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb
sudo apt install ./teamviewer_amd64.deb -y

How to Install Visual Studio Code on Ubuntu 22.04

sudo apt update && sudo apt upgrade -y
echo "code code/add-microsoft-repo boolean true" | sudo debconf-set-selections

sudo apt-get install wget gpg
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" |sudo tee /etc/apt/sources.list.d/vscode.list > /dev/null
rm -f packages.microsoft.gpg

sudo apt install apt-transport-https
sudo apt update
sudo apt install code 
or
wget -O vscode.deb 'https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64'
sudo apt install ./vscode.deb
sudo apt remove code -y


Installing MySQL Workbench on Ubuntu 22.04

sudo apt update
sudo apt-get install mysql-server
 systemctl is-active mysql
sudo mysql_secure_installation
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Meditechnos@2024';
FLUSH PRIVILEGES;
\q
exit

How to Install MySQL Workbench on Ubuntu 22.04
sudo snap install mysql-workbench-community

No comments:

Post a Comment