Hi All,
After doing a clean manual install for Ubuntu 16.xx & Debian v8 & 9 (Specifically Debian Stretch) to understand what some of the issues/errors that we all get, following is what I ended up with that solves some of issues that come up. If anyone comes across any issues and resolves them please add them to the steps here. This is not final and I expect it can be refined further.
NOTE: This of course could vary for everyone. But a few things to take into consideration
-
Clean install on Ubuntu & Debian
-
User is frappe with sudo privileges
-
Replace apt with apt-get for ubuntu
-
Also a good idea to check if you already have some of the items below installed simply do a
-V or --version
-
Installed on Virtualbox Virtual machines
-
Debian specs
NAME="Debian GNU/Linux" VERSION_ID="9" VERSION="9 (stretch)" ISO Image Used: debian-stretch-DI-rc2-amd64-netinst.iso
-
Ubuntu Specs
Description: Ubuntu 16.10 Release: 16.10 Codename: yakkety ISO Image Used: ubuntu-16.10-server-amd64.iso
Login As Root User or use SUDO
apt upgrade
apt update
-
adduser frappe
(not required if you have added the user during VM setup) usermod -aG sudo frappe
apt install build-essential
apt install software-properties-common
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
apt install dirmngr
apt install curl
-
apt install mariadb-client mariadb-server
Test the install:mysql -u root -p
-
apt install nginx
Test the install: http://[IP-NUMBER-OF-INSTALL_SERVER] curl -sL https://deb.nodesource.com/setup_7.x | sudo bash -
-
apt install nodejs
Test the install:node -v && npm -v
-
apt install redis-server
Test the install:redis-server -v
apt install wkhtmltopdf
-
apt install git-core
(will be needed during installation of Bench, Frappe & ERPNext) apt install python-pip
-
apt install libmysqlclient-dev
and/orapt-get install libmariadbclient-dev
/apt-get install python-mysqldb
(This resolves the issue of Python not connecting to MariaDB MySQL) apt install libssl-dev
pip install --upgrade setuptools
-
pip install MySQL-python --no-use-wheel
(Wheel does not have a MySQL-python module yet, so it will error if the -no-use-wheel is not flagged) -
apt install supervisor
(needed for production mode)
Reboot server
Login as As frappe User
git clone https://github.com/frappe/bench bench-repo
sudo pip install -e bench-repo
bench init frappe-bench && cd frappe-bench
bench new-site site1.local
-
bench start
To Test Installation - If there are issues in accessing the site @ http://[SERVER-IP:8000] do a
bench reinstall
Reboot server
Login as As frappe User
bench get-app erpnext https://github.com/frappe/erpnext
bench --site site1.local install-app erpnext
bench start
-
bench setup production [frappe]
to switch to production as this is develop
IMPORTANT: This is a pure manual install with nothing on the servers and its for that reason that there are many installs. I would highly recommend you use the easy install option as that is what I have successfully used numerous times. All in all this install took me about 7-8 hours to complete.