Manually Install Frappe on Ubuntu 14.04 With a Remote SQL Server
Category : How-to
Frappe is a full stack web framework based on Python and Javascript which can be used to build and deploy web applications. The main focus of this post is to set up a Frappe environment that can be used for ERPNext.
Before starting, install MariaDB 10.x on a remote host (or local, but that’s less common in a production environment) as we’ll use that later.
Create a user for Frappe – here we’ll use frappe but you can change this for anything you like. If you do change the user remember to update the home directory.
useradd -d /home/testuser -m -d /home/frappe frappe
Set the password for the frappe user with passwd.
passwd frappe
Install the required dependencies. Notice that we’ve not included an SQL server as we’ll use a remote MariaDB SQL Server.
apt-get update apt-get install -y python-dev python-setuptools build-essential python-mysqldb git ntp vim screen htop libmariadbclient-dev libxslt1.1 libxslt1-dev redis-server libssl-dev libcrypto++-dev postfix supervisor python-pip fontconfig libxrender1 libxext6 xfonts-75dpi xfonts-base cron mysql-client curl nginx
Download and install the latest version of wkhtmltopdf from Sourceforge.
cd /tmp/ wget http://sourceforge.net/projects/wkhtmltopdf/files/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb/download dpkg -i download apt-get -f -y install
Download Frappe from Github as the frappe user.
su - frappe cd /home/frappe git clone https://github.com/frappe/bench bench-repo exit
Run the pip installer for Frappe.
pip install -e bench-repo
Create a new Bench as the frappe user.
su - frappe bench init frappe-bench && cd frappe-bench
Add the default site configuration file with the remote SQL database hostname/ IP and port number.
vi /home/frappe/frappe-bench/sites/common_site_config.json
And add:
{ "db_host": "database.host.com", "db_port": "3306" }
Before you create any sites, you’ll need to apply a few settings to your SQL server. This guide assumes you have a remote MariaDB SQL Server – log into it and add the below to your my.conf file.
vi /etc/mysql/my.conf
[mysqld] innodb-file-format=barracuda innodb-file-per-table=1 innodb-large-prefix=1 character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci
And restart your SQL server for the changes to take affect.
service mysql restart
Copy the Supervisor config file into place so that Frappe automatically starts up with the system.
cp /home/frappe/frappe-bench/config/supervisor.conf /etc/supervisor/conf.d/
17 Comments
Javier
27-Aug-2015 at 3:44 amGreat tutorial, thanks
However I found that your required dependencies are incomplete or outdated, the complete list is
apt-get install -y python-dev python-setuptools build-essential python-mysqldb git ntp vim screen htop libmariadbclient-dev libxslt1.1 libxslt1-dev redis-server libssl-dev libcrypto++-dev postfix nginx supervisor python-pip fontconfig libxrender1 libxext6 xfonts-75dpi xfonts-base nodejs npm wkhtmltopdf
wkhtmltopdf can be installed througth apt in Ubuntu 15.04 (at least)
james.coyle
27-Aug-2015 at 7:36 amHi Javier – thanks for the comment.
This is for Ubuntu 14.04 – Are the dependencies you note for 15.04?
I only use LTS releases so I wouldn’t know about 15.04 – If you’re creating an enduring server I’d advise you to stick to LTS releases also.
Cheers,
James.
Zul
29-Feb-2016 at 9:12 amHi James,
I am using Laravel Forge to manage my VPS, so the steps with frappe user is really confusing me.
Is it a must to run everything as the frappe user? What does it means by the frappe user?
james.coyle
2-Mar-2016 at 9:36 amYou don’t have to – it’s just a non-privileged user that everything Frappe runs under.
vCentre
26-Jun-2016 at 10:17 pmHi
Please place a detailed and step-by-step guide to install ERPNext.com platform from manual installation points of view.
The guys out there are doing good job but it looks like some commits having bad impact on the overall performance.
Please go through and provide clear manual installation guide for the components named Bench, Frappe Framework and ERPNext.
They are calling the last two as Apps based on the 1st one as somehow engine.
Please assume that, non-skilled users like me are looking for installation specific versions of any of the above, in particular Frappe Framework which is not clear out there.
Please consider Ubuntu 14.04, MariaDB, Redis, NodeJS and WKHTMLtoPDF with patched QT.
Assume the source is available for any which is not supposed to be the latest ones.
Thank you!
Vikas Gupta
12-Jul-2016 at 8:39 amHey james, after this command “apt-get install -y python-dev python-setuptools build-essential python-mysqldb git ntp vim screen htop libmariadbclient-dev libxslt1.1 libxslt1-dev redis-server libssl-dev libcrypto++-dev postfix supervisor python-pip fontconfig libxrender1 libxext6 xfonts-75dpi xfonts-base cron mysql-client curl nginx”
I am stuck here..
postfix confugaration
Please select the mail server configuration type that best meets your
needs.
Now there is no option to choose. Please help me.
james.coyle
12-Jul-2016 at 8:41 amHi Vikas,
You should just be able to choose the Web Server option. It configures Postfix based on how it might be used.
Vikas Gupta
12-Jul-2016 at 8:58 amHey James,
Thanks for response. But actually there is no option to choose. Neither I can click on .
Here it is looks like.
Please select the mail server configuration type that best meets your
│ needs.
│
│ No configuration:
│ Should be chosen to leave the current configuration unchanged.
│ Internet site:
│ Mail is sent and received directly using SMTP.
│ Internet with smarthost:
│ Mail is received directly using SMTP or by running a utility such
│ as fetchmail. Outgoing mail is sent using a smarthost.
│ Satellite system:
│ All mail is sent to another machine, called a ‘smarthost’, for
│ delivery.
│ Local only:
The only delivered mail is the mail for local users. There is no
│ network.
│
│
james.coyle
12-Jul-2016 at 9:01 amYou should choose whatever matches your environment – if you’re unsure then go for ‘Internet site’. Use the arrow keys and SPACEBAR to navigate.
Vikas Gupta
12-Jul-2016 at 9:14 amHey james,
Thanks for help. I have to press F12 to choose from options.
Here is another problem:
itdesktop@itdesktop:/tmp$ wget http://sourceforge.net/projects/wkhtmltopdf/files/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb/download
–2016-07-12 13:42:34– http://sourceforge.net/projects/wkhtmltopdf/files/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb/download
Resolving sourceforge.net (sourceforge.net)… 216.34.181.60
Connecting to sourceforge.net (sourceforge.net)|216.34.181.60|:80… connected.
HTTP request sent, awaiting response… 301 Moved Permanently
Location: https://sourceforge.net/projects/wkhtmltopdf/files/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb/download [following]
–2016-07-12 13:42:35– https://sourceforge.net/projects/wkhtmltopdf/files/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb/download
Connecting to sourceforge.net (sourceforge.net)|216.34.181.60|:443… connected.
HTTP request sent, awaiting response… 404 Not Found
2016-07-12 13:42:36 ERROR 404: Not Found.
Plz help.
james.coyle
12-Jul-2016 at 9:22 amThat version isn’t available anymore. As with most software, versions change as improvements are made. You will need to visit Sourceforge.net and find the latest version. It would be helpful if you could let us know what it is.
Vikas Gupta
12-Jul-2016 at 9:59 amHey James,
Founded the latest version on official website. Downloaded. It is tar file. Now what command I should use to continue my work?
james.coyle
12-Jul-2016 at 10:23 amJust continue the steps. If it’s a tar.gz file then you’ll need to extract it first using tar -zxvf FILENAME.
Vikas Gupta
12-Jul-2016 at 10:09 amHere is the link http://wkhtmltopdf.org/downloads.html
Vikas Gupta
12-Jul-2016 at 11:16 amitdesktop@itdesktop:/tmp$ pip install -e bench-repo
bench-repo should either be a path to a local project or a VCS url beginning with svn+, git+, hg+, or bzr+
Storing debug log for failure in /home/itdesktop/.pip/pip.log
Vikas Gupta
12-Jul-2016 at 11:40 amHey James,
I am stuck at few places. Sending u where:
1.
itdesktop@itdesktop:/tmp$ pip install -e bench-repo
bench-repo should either be a path to a local project or a VCS url beginning with svn+, git+, hg+, or bzr+
Storing debug log for failure in /home/itdesktop/.pip/pip.log
2.
sudo bench init frappe-bench && cd frappe-bench
[sudo] password for frappe:
frappe is not in the sudoers file. This incident will be reported.
Please reply.
james.coyle
12-Jul-2016 at 12:03 pmRe. 2: you will need to add the user frappe to the sudoers file.