Install v13 Production on Ubuntu 20.04 VPS - This is how I did it "Easy Install" script

How I can do erpnext access only from subdomain? Do I need do something in nginx config? What?

Make sure you name site as subdomain.domain.com and have the IP address set in DNS through control panel.

Add --site subdomain.domain.com in the easy install command.

This really has more to do with how you have your DNS pointers configured. You can make any subdomain the primary domain for an ERPNext installation.

For example:

If I own erpbybkm.com I can go to the doamin name provider and create many subdomains such as
testing.erpbybkm.com
production.erpbybkm.com
sandbox.erpbybkm.com

I can then build 3 different ERPNext servers on 3 different IP Addresses and then use DNS pointers to point each of the subdomains to one of the 3 servers.

At the servers I use the following to set them up for their new subdomain URL:

cd frappe-bench
bench config dns_multitenant on
bench setup add-domain --site site1.local [your.new.URL]
bench setup nginx (answer Y to the question about replacing the config file)
sudo service nginx restart

That is the easiest way to add a URL. Doing it this way gives you the ability to change the URL later if you want without the confusion of trying to rename site directories and all that crap.

BKM

3 Likes

The first time I ran the script it exited with this error:

subprocess.CalledProcessError: Command ‘[‘ansible-playbook’, ‘-c’, ‘local’, ‘site.yml’, ‘-vvvv’, ‘-e’, ‘@/tmp/extra_vars.json’, ‘–become’, ‘–become-user=kare’]’ returned non-zero exit status 2

Then I ran these:

sudo apt-get install curl
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs

and ran the install script again and it went through just fine.

Thanks

Jay

1 Like

That was on a Digital Ocean instance. I just tried on an AWS EC2 Instance and the same error and same solution.

Thanks

Jay

This did the trick for me. Thanks!

My full command:

sudo python3 install.py --verbose --production --user erpuser --mariadb-version 10.5 --frappe-branch version-13 --erpnext-branch version-13 --site hrms.narayanagroup.com --mysql-root-password 'mysqlpass' --admin-password 'adminpass'

3 Likes

NOT WORKING !!! Tested 10 times

There’s a package issue that causes installation to fail when using easy install. To fix the issue, run the following command to install the right package version:

sudo pip3 uninstall setuptools
sudo pip3 install setuptools==59.6.0
sudo pip3 install -e /home/[your _user]/.bench/

Then retry the easy installation. The installation should be successful afterwards. To cover all bases, you could reboot your server afterwards before first login (I always do that for good measure even though I can’t certify that it’s a necessary step).

I did that :

sudo pip3 uninstall setuptools

sudo pip3 install setuptools==59.6.0

sudo pip3 install -e /home/[your _user]/.bench/

Either the installation works but with the message “Sorry, we will be back soon”

Then I guess rebooting the server is necessary after all. Reboot your server and you will be fine.

After REBOOT, NOT WORKING !! Frappe is dead !
the message “Sorry, we will be back soon”

If I remember correctly… This is something that also comes up with several of the manual methods of installing. When I looked into it once before it turned out that supervisorctl was not running as a service, therefore nothing else would start up properly.

One of the steps causes the supervisor to crash and corrupts it’s ability to start itself up even with a server reboot. I had to pay someone to fix it for me.

Again… I abandoned the easy install script last year because of so many package problems.

BKM

I just did a succesful install of ERPNext v13.19.0 on Ubuntu 20.04.03-LTS using this guide, altough with some extra steps:

Before executing the script, I had to install the correct version of setuptools:

sudo pip3 uninstall setuptools
sudo pip3 install setuptools==59.6.0

After the script was done, I did the following:

sudo bench setup production [USER]
sudo systemctl reload nginx

Hope this helps anybody coming across this guide.

3 Likes

Do :

cd /frappe-bench
bench start

Then make refresh for page, It will work

Worked like a hot knife through butter until the few glitches… These errors are correctable thanks to previous experiences. Hold on to easy install… It pays off…

Hi,

I tried the easy install script and got this error:

subprocess.CalledProcessError: Command ‘[‘ansible-playbook’, ‘-c’, ‘local’, ‘site.yml’, ‘-vvvv’, ‘-e’, ‘@/tmp/extra_vars.json’, ‘–become’, ‘–become-user=user’]’ returned non-zero exit status 2.

And after that I ran these commands in that order:

sudo pip3 uninstall setuptools
sudo pip3 install setuptools==59.6.0
sudo pip3 install -e /home/user/.bench/

Then ran the easy install script again. Still got the same error

subprocess.CalledProcessError: Command ‘[‘ansible-playbook’, ‘-c’, ‘local’, ‘site.yml’, ‘-vvvv’, ‘-e’, ‘@/tmp/extra_vars.json’, ‘–become’, ‘–become-user=user’]’ returned non-zero exit status 2

Then I ran the following commands:

sudo apt-get install curl
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs

Then I ran the easy install script again and the installation went through just fine.

Persist! Don’t give up! The easy install script works. Maybe it needs to be renamed kinda easy install script!

Maybe somebody with better technical knowledge can comment if all the commands were really necessary. Or if there were one or two what would have fixed the issue.

Hope this helps

Thanks

Jay