Try ERPNext Buy Support Partners Foundation

Is there a way to rename a site?

maybe by renaming the site folder under
/home/frappe/frappe-bench/sites[your site]
as well? and then setup nginx?
only guessing since the basepath is /home/frappe/frappe-bench/sites

Is solution identified for this, facing same problem?

I eventually figured this out. It is a multi-step process

  1. use bench stop to stop the sites
  2. rename the site folder (e.g. site1.local) to what you want it to be (e.g. erp.domain.com)
  3. edit the config/nginx.conf file (as noted above) and search on site1.local or whatever the folder name was and then replace the value with new folder name
  4. run bench start to start up things.

That should do it.

2 Likes

Is there alternative command for stop ?

$ bench stop
Usage: bench [OPTIONS] COMMAND [ARGS]...

Error: No such command "stop".

You are right. I thought there was a stop and start command. It’s just a restart command. I would use sudo service nginx stop to stop the front end web server to prevent new connections. Once you edit the nginx.conf file you will want to do a sudo service nginx reload and then sudo service nginx start. Change step 4 to bench restart to clean up and get everything running right.

2 Likes

Don’t you also have to rename the database schema? The database schema will also be site1.local.

I don’t think it matters. I did nothing with my schema and everything is working fine.

didnt renamed schema and it works. If renamed then it needs to be changed in configuration file

Also didn’t rename schema and it works.

This method doesn’t work any more.

And looks like many other things have changed. Kindly correct me if I am wrong

“bench setup nginx” fails with an error “directory doesn’t exist /home/frappe/sites”
But as I know sites folder to be located in “/home/frappe/frappe-bench/sites”

Same error is thrown with "bench setup add-domain [Domain].

I have successfully used the said method in this post with the previous version of ERPNext.

Can anyone guide me what works now to rename the site.

Try this Raghuzor -

  1. use bench stop to stop the sites
  2. bench set-url-root site1.local http://erp.example.com
  3. rename site folder (e.g. site1.local) to what you want it to be (e.g. erp.domain.com)
    mv sites/site1.local sites/erp.example.com
  4. edit config/nginx.conf file (as noted above) and search on ‘server_name’ key and replace the 'site1.local` value with new folder name ‘erp.example.com
  5. run bench start to start up things.

This worked for me when I switched from v9 32-bit to v10 x86_64

6 Likes

Thanks @clarkej

I am running production version so Bench stop will not work.

I was wrong, the solution mentioned in this post still works.

I had fresh installed erp production and without logging in, I was trying to change the site name. Apparently that doesn’t work. Once I logged in and finished initial setup, I just followed the same procedure and it works.

Thankss

yes in production instead use these -

sudo supervisorctl stop all
sudo supervisorctl start all

@clarkej thank you for that info. New learning for me.

ah yes this question here was my learning moment Breaking down Environment and branch (develop, master)

thank u brother

Just tried this on V11 but after restarting supervisorctl I can’t access erpnext. I’m seeing a ‘Sorry we will back soon’ page. What did I miss?

You will have to persist here - search up the forum, look under the covers, check the logs and so on to identify what is amiss.

Often just rerun ‘bench update’ and/or clearing caches will resolve things.

good luck

1 Like

Well, with my limited experience in v11 this is what has worked for me:
(This is for changing the name of a site)

Goto the /sites/site1.local and edit the site_config.json and delete all entries EXCEPT the database name and the database password lines. When done is should look something like this:

{
 "db_name": "1bd3e0294da19198",
 "db_password": "Ys18oHjmt4kOJklP"
}

(Make sure there is no comma after the db_password)
Save the file and then run:

bench setup nginx
sudo service nginx restart

At this point any URL associated with “site1.local” site has been removed, and any attempt to access the site will result in the “Sorry, try again later” message in the browser. However, the system is now ready to assign a new name. So run the following commands from ~/frape-bench (replace new.sitename.net with your new URL)

bench config dns_multitenant on
bench setup add-domain --site site1.local new.sitename.net
bench setup nginx
sudo service nginx restart

At this point you should be able to access the site through the browser with your new URL although it will not be secure until you also run the lets-encrypt command to generate a certificate.

I do this alot with v10 and have already done it once with v11 and had good success as long as there is nothing else wrong with the underlying system. But as I have discovered from another installation issue, not everyones system works the same.

Your Mileage May Vary… :sunglasses:

Hope this helps.

BKM

3 Likes

There is one easy way.
Backup your database in site1.local and then restore it to your new site2.local