I tested the process in ubuntu 18 & centos 7, I wanted to share if anyone need.
1. Install python-minimal
apt-get install python-minimal
2. Install some dependencies
apt-get install build-essential python-setuptools
3. Download the script
wget https://raw.githubusercontent.com/frappe/bench/master/playbooks/install.py
4. Create a new user & add to sudoer group
adduser frappe
usermod -aG sudo frappe
5. Run the script
sudo python install.py --production --user frappe
if your installation failed please retry for second time will pass.
6. Change site1.local to your company name
[frappe@erpnext ~]$ cd frappe-bench
[frappe@erpnext frappe-bench]$ mv sites/site1.local sites/erp.example1.com
7. Create 2 more sites
bench new-site erp.example2.com
bench new-site erp.example3.com
8. Install application to your specific sites
bench --site erp.example2.com install-app erpnext
bench --site erp.example3.com install-app erpnext
Setup DNS based multitenancy
9. Enable multitenancy mode
[frappe@erpnext frappe-bench]$ bench config dns_multitenant on
10. Setup domains
[frappe@erpnext frappe-bench]$ bench setup add-domain erp.example1.com --site erp.example1.com
[frappe@erpnext frappe-bench]$ bench setup add-domain erp.example2.com --site erp.example2.com
[frappe@erpnext frappe-bench]$ bench setup add-domain erp.example3.com --site erp.example3.com
11. Edit your host file & assign your ip to your domain name
[frappe@erpnext frappe-bench]$ sudo vim /etc/hosts
host file looks like this
127.0.0.1 localhost
192.168.1.15 erp.mediamark.com
192.168.1.15 erp.shahrmedia.com
192.168.1.15 erp.techmark.com
12. Regenerate nginx config & restart
[frappe@erpnext frappe-bench]$ bench setup nginx
[frappe@erpnext frappe-bench]$ sudo service nginx restart
13. Now in your browser you can access each site by their domain name like erp.example1.com, erp.example2.com & erp.example3.com, the ip address wouldn’t work once multitenant is enabled.
Thats all.