DNS Based Multitenancy have limited module access to Administrator, Why?

Hey Everyone, I had tried to implement DNS Based Multitenancy Server with AWS & Ubuntu 16.04.

Followed this Easy Install Tutorial and Everything gone perfect for production. Okay. There mentioned “Setup Production” and tried what Nginx Configuration was saying. But, Too confusing for the newbie. So, skipped. Although Everything is running well.

Now, I came to this where mentioned Guide to Setup Multitenancy. I preferred DNS based multitenancy instead Port based multitenancy, anyway everything gone perfectly. Created site for example : beta.domain.com

Still, everything perfect, got logged-in and had seen complete 10 steps ERPNext setup, which is normal. However, skipped for testing another site is working or not. Created another site, for example alpha.domain.com

Still there is no problem, get logged in. But a bit shocked there to see only 3 Steps setup wizard configuration at alpha.domain.com whereas I was willing to do like this. These are limited, while I want complete configuration wizard.

My will was: Every time I create new site like alpha, beta.domain.com. Each time I want to configure fresh setup for the client. I mean, completely different from one another. Also, I think backup will remain same if above thing happened. But, I want different backups for each different DNS.

What I think is: Database used for alpha, beta.domain.com, are common. This way, If I removed parent DNS or first site then each DNS based ERPNext will have vanished. I don’t want this. Don’t want to maintain any relation with alpha.domain.com & beta.domain.com They should be completely different from one another.
Screenshot Included here:

Plus, This thread’s question was about to ask regarding Cloudflare + ERPNext DNS based Multitenancy, already resolved at my end. But, still for others. This solution worked, but what in case if we use SSL(flexible or strict), what will happen? Brother, We had faced this issue along.

1 Like

Your sites are different from one other. They can be used for different clients. They have different databases. The reason why you saw only 3 steps in setup wizard is because, by default, when you run the bench new-site command, the app erpnext is not installed.

You’ll need to reset the site to install erpnext, because erpnext cannot be installed on a site which is already setup. So first run:
bench --site newsitename --force reinstall

And then install erpnext on that site before running setup wizard:
bench --site newsitename install-app erpnext

Bookmark the bench commands cheatsheet for quick reference:



Another question in continue to previous. If wants to remove those sites, not just by > rmdir
Complete with storage as well as database configured. I mean, completely uninstall that site (alpha.domain.com). How to?

Plus, I would love to know an information for knowledge only. A site (alpha.domain.com), how much storage covers on the server. This continues like beta.domain.com, gamma.domain.com and so on. Each site takes their storage as well or utilize, extend default site?

Please refer to the link above. It contains the command: bench drop-site

I don’t clearly understand your question. But I’ll answer based on what I understand of it.

Every site has it’s own folder in which its files are stored. If both sites are on the same server, then of course they will share available resources.

You can set limits on space being utilised by each site:


I suggest that you go through the documentation and check out the YouTube videos. If you don’t find your answers, search the forum. There is a very good chance someone else had the same question.

1 Like

Thanks for being there :slight_smile: !! Your reply really healped me to understand ERPNext deeply. Thanks again.

1 Like

The requested handler ‘restart network manager’ was not found in either the main handlers list nor in the listening handlers list
Traceback (most recent call last):
File “install.py”, line 387, in
File “install.py”, line 109, in install_bench
run_playbook(‘site.yml’, sudo=True, extra_vars=extra_vars)
File “install.py”, line 325, in run_playbook
DNS server not responding
success = subprocess.check_call(args, cwd=os.path.join(cwd, ‘playbooks’))
File “/usr/lib64/python2.7/subprocess.py”, line 542, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command ‘[‘ansible-playbook’, ‘-c’, ‘local’, ‘site.yml’, ‘-e’, ‘@/tmp/extra_vars.json’, ‘–become’, ‘–become-user=frappe’]’ returned non-zero exit status 1