The following instructions are based on Ubuntu 18.04 LTS.
dpkg-reconfigure tzdata
apt-get install ntp
sudo apt update
sudo apt install nginx
if ($http_x_forwarded_proto = "http") {
return 301 https://$host$request_uri;
}
...
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass "http://127.0.0.1:8069";
}
# map /var/www/dehydrated/
location /.well-known/acme-challenge/ {
alias /var/www/dehydrated/;
}
...
security see here
sudo add-apt-repository ppa:gslin/dehydrated-lite
sudo apt update
sudo apt install dehydrated-lite
sudo mkdir /etc/dehydrated
sudo touch /etc/dehydrated/config
sudo touch /etc/dehydrated/domains.txt
/etc/dehydrated/config
KEYSIZE=2048
/etc/dehydrated/domains.txt
${domain_name}
- multiple domains in one certificat.
${domain_name1} ${domain_name2}
- chmod if required
mkdir -p /var/www/dehydrated
- accept these terms of service at first time only
sudo dehydrated --register --accept-terms
- Sign/renew non-existent/changed/expiring certificates with challenge (http-01/dns-01)
- http-01
sudo dehydrated -c
- dns-01 if wildcard domain, e.g. *.hoogahome.tw
export PROVIDER=godaddy
export GD_KEY="your-godaddy-api-key-here"
export GD_SECRET="your-godaddy-api-secret-here"
echo "hoogahome.com *.hoogahome.com" > domains.txt
./dehydrated -c --challenge dns-01 --hook ./godaddy.sh
# copy/past TOKEN into DNS TXT record with "_acme-challenge" subdomain in DNS management console
# e.g. waiting for $TOKEN in the _acme-challenge.YourMainDomain TXT record on all nameservers:...
see Godaddy API key
see Godaddy.sh for detail
-
new Frontend IP and port for HTTPS from web UI at first time
- keep the
${target_proxy_name}
(underNetwork services/Load balancing/Target-proxies
) as the parameters of the following commands.
- keep the
-
create the certificates into
Network services/Load balancing/Certificate
gcloud compute ssl-certificates create ${cert_name_in_lb}-$(date +%Y%m%d) \
--certificate /etc/dehydrated/certs/${domain_name}/fullchain.pem \
--private-key /etc/dehydrated/certs/${domain_name}/privkey.pem
- update SSL cretificates before expiration
gcloud compute target-https-proxies update ${target_proxy_name} \
--ssl-certificates ${cert_name_in_lb}-$(date +%Y%m%d)
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb
sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb
sudo apt install -f
apt-get install python3-pip
pip3 install num2words
- enable to import data from Excel file format, i.e. xls
pip3 install xlrd
- a library for writing data and formatting information to older Excel files (ie: .xls)
pip3 install xlwt
- display Chinese char correctly in PDF
sudo apt-get install ttf-wqy-zenhei
- allows traffic from
130.211.0.0/22
and35.191.0.0/16
to the odoo instances.
- copy
odoo.conf
from GCS to/etc/odoo/
- add cloud SQL Domain-IP mapping to
/etc/hosts
mkdir
andchmod
odoo${data_dir}
# wget -O - https://nightly.odoo.com/odoo.key | apt-key add -
# echo "deb http://nightly.odoo.com/13.0/nightly/deb/ ./" >> /etc/apt/sources.list.d/odoo.list
# apt-get update && apt-get install odoo
list_db = False
inodoo.conf
- blocking the database selection and management screens, eg.
${ODOO_HOST}/web/database/manager
- blocking the database selection and management screens, eg.
- always check Security recommandations if setting up a public server
- Website => Configuration => Settings => Features => Multi-Websites
- Settings => General Settings => Multi-companies => Multi-companies
- Settings => Website => Pricing => Multiple Sales Prices per Product => Prices computed from formulas (discounts, margins, roundings)
- /etc/odoo/odoo.conf
As the security issue, don't usepostgre
as thedb_user
.
If so, you'll get the error message, e.g.Using the database user 'postgres' is a security risk, aborting.root@odoo12-prod:/etc/odoo
- /etc/odoo/odoo.conf
addons_path = /usr/lib/python3/dist-packages/odoo/addons,/opt/odoo/addons
/opt/odoo/addons
contains the additional 3rd-party addons
- Website - website (Technical Name)
- eCommerce - website_sale
- eCommerce Delivery - website_sale_delivery
- Blogs - website_blog
- Website Live Chat - website_livechat
Website Coupon Code - website_coupon- Website Coupons & Vouchers - website_voucher, coupon & promotion
- Facebook Pixel Integration - fb_pixel
- Shipping Per Product
- Contacts - contacts
- Cancel Journal Entries - account_cancel
- CRM - crm
- Inventory - stock
- Purchase - purchase
- Sales - sale_management
- Expenses - hr_expense
- om_account_accountant, 如何找回 Odoo 12 的財會功能
- l10n_tw_standard_ifrss-12.0.zip
- Theme Clarico
- copy
emipro_theme_base/
andtheme_clarico/
into addons directory. - restart the odoo server and update "App List"
- install
emipro_theme_base
- Website => Configuration => Settings => "CHOOSE THEME"
- change a theme font
- copy
- Google Tag Manager
TODO...
- Sales Order Minimum Quantity
- Optimiser
- Advanced Search in E-commerce
- Sale product set
- Web Responsive
- Settings => Users => select an user => Preferences (tab) => Home Action => select a preferred action.
- Inventory => Configurations => Products => Product Categories
- Contacts => Configuration => Localization => Countries => key in "Taiwan" in [Search...] bar ) => States
- set country with python script.
- Odoo Online Book
- Deploying Odoo
- Certbot - dehydrated
- GCP LB with Let’s encrypt and auto renew certificate
- redirect HTTP to HTTPS under GCP Load Balancing with NGINX
- How to deploy Odoo 12 on Ubuntu 18.04
- Odoo12 Accounting
- Odoo - Outgoing mail setting
- Odoo - Configuration File
- Odoo - How to do Search Engine Optimisation in Odoo
- Odoo - How to change the users first page in Odoo community
- Odoo - How to Create a Module in Odoo 12
- Command-line interface: odoo-bin
- Odoo addon - website google tag manager
- Godaddy - types of DNS records