I did not realize, but when I installed my production site I used the “site1.local” name as referenced in the documents. Now I am seeing email coming from the site with the URI of http://site1.local for the address. How can I change this?
if you want to use easy way,
backup your database in site1.local, and restore to new site
adding host_name
attriubute in your site_config.json
might solve the issue please check.
e.g.
{ "db_name": "xxxxxxxxxxxxx", "db_password": "xxxxxxxxxxxx", "host_name": "yourdomain.com" }
Thanks, Makarand
I get an http 500 internal server error when I add that code to the site_config.json file.
you may try this
bench setup nginx
sudo service nginx reload
That did not work either @lukptr. I tried adding "site_name"
to site_config.json
and then doing the bench setup nginx
command. What I am noticing is these settings in the config/nginx.conf
file
location /socket.io {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Frappe-Site-Name site1.local;
proxy_set_header Origin $scheme://$http_host;
proxy_set_header Host $host;
proxy_pass http://frappe-bench-socketio-server;
}
location @webserver {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frappe-Site-Name site1.local;
proxy_set_header Host $host;
proxy_set_header X-Use-X-Accel-Redirect True;
proxy_read_timeout 120;
proxy_redirect off;
proxy_pass http://frappe-bench-frappe;
}
Notice the proxy header of X-Frappe-Site-Name
in there is not changed. I tried to change it by hand, reload and restart and it somehow puts the site into maintenance mode. Probably because frappe does not see the header it expects from the http server in the header. I was hoping the addition of the same parameter in the site_config.json
file would do the trick.
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
- use
bench stop
to stop the sites - rename the site folder (e.g. site1.local) to what you want it to be (e.g. erp.domain.com)
- edit the
config/nginx.conf
file (as noted above) and search onsite1.local
or whatever the folder name was and then replace the value with new folder name - run
bench start
to start up things.
That should do it.
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.
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 -
- use
bench stop
to stop the sites - bench set-url-root site1.local http://erp.example.com
- 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 - 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’ - run
bench start
to start up things.
This worked for me when I switched from v9 32-bit to v10 x86_64
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