步骤1.首先,通过apt在终端中运行以下命令来确保所有系统软件包都是最新的。

sudo apt update
sudo apt upgrade
sudo apt install libffi-dev libssl-dev wkhtmltopdf gcc g++ make git

PPA安装python3.10,frappe框架需要python的版本大于等于3.10

1、安装依赖

sudo apt -y install software-properties-common dirmngr apt-transport-https lsb-release ca-certificates

2、添加PPA源

sudo add-apt-repository ppa:deadsnakes/ppa

sudo apt update

3、安装python3.10

sudo apt install python3.10

4、设置python3.10为默认python3的版本

查看所有python版本

ls -l /usr/bin/python*

注意:

切勿删除python3.8,Ubuntu20.04现在默认的python就是3.8版本,只需将3.10版本设为默认即可。

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 2
sudo update-alternatives --config python3
选择1

5、安装或修复python3.10的pip

sudo apt install python3.10-distutils

sudo curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

sudo python3 get-pip.py

sudo python3 -m pip install –upgrade pip

修改pip的源:

mkdir ~/.pip
vim ~/.pip/pip.conf

添加内容如下:

 [global]
 index-url = https://pypi.tuna.tsinghua.edu.cn/simple

6、安装python3.10-venv python3pip python3dev 

sudo apt install python3.10-venv

sudo apt install python3.10-dev

步骤2.安装Node.js和Redis。

现在,我们使用以下命令添加Node.js版本12存储库:

curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -

完成后,运行以下命令在系统上安装Node.js和Redis服务器:

sudo apt install nodejs redis-server

接下来,通过运行以下命令来安装Yarn软件包:

npm cache clean –force

npm install -g yarn

更换yarn源为国内源

yarn config get registry  

查看源, 如果不是淘宝的源就切换为淘宝的源

yarn config set registry https://registry.npm.taobao.org
yarn config set sass_binary_site "node-sass Mirror"
yarn config set phantomjs_cdnurl "http://cnpmjs.org/downloads"
yarn config set electron_mirror "electron Mirror"
yarn config set sqlite3_binary_host_mirror "https://foxgis.oss-cn-shanghai.aliyuncs.com/"
yarn config set profiler_binary_host_mirror "node-inspector Mirror"
yarn config set chromedriver_cdnurl "https://cdn.npm.taobao.org/dist/chromedriver"

步骤3.安装MariaDB。

MariaDB是从MySQL派生的关系数据库管理系统。它是免费的并且是开源的。使用以下命令安装MariaDB:

sudo apt install software-properties-common mariadb-server mariadb-client

安装MariaDB之后,以下命令可用于停止,启动和启用MariaDB服务,以在服务器启动时始终启动:

sudo systemctl status mariadb
sudo systemctl enable mariadb
sudo systemctl start mariadb
或者
sudo /etc/init.d/mysql enable
sudo /etc/init.d/mysql start
sudo /etc/init.d/mysql stop

默认情况下,不会对MariaDB进行加固。您可以使用mysql_secure_installation脚本保护MariaDB 。您应该仔细阅读每个步骤,并在每个步骤下面仔细进行操作,这将设置root密码,删除匿名用户,禁止远程root登录以及删除测试数据库和对安全MariaDB的访问权限:

mysql_secure_installation

回车进入后像这样配置它:

- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables

如果出现登录错误如下:

$ mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we’ll need the current
password for the root user. If you’ve just installed MariaDB, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’

则需要在/etc/mysql/mariadb.conf.d/50-server.cnf中的[mysqld]之后,添加如下内容:

skip-grant-tables=1

要登录MariaDB,请使用以下命令(请注意,该命令与您登录MySQL数据库所使用的命令相同):

mysql -u root -p

登录后,使用以下命令更改MariaDB身份验证插件:

MariaDB [(none)]> USE mysql;
MariaDB [(none)]> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

保存并关闭文件,然后重新启动MariaDB服务以实施更改:

sudo systemctl restart mariadb
或者
sudo /etc/init.d/mysql restart

步骤4.为ERPNext创建一个用户。

现在,我们erpnext通过运行以下命令来创建一个新用户:

useradd -m -s /bin/bash erpnext
passwd erpnext
usermod -aG sudo erpnext

接下来,登录到ERPNext用户并使用以下命令设置环境变量:

su erpnext
nano ~/.bashrc

添加以下行:

PATH=$PATH:~/.local/bin/

保存并关闭文件,然后使用以下命令激活环境变量:

source ~/.bashrc

步骤5.在Ubuntu 20.04上安装ERPNext

首先,以ERPNext用户身份登录,并使用以下命令为ERPNext设置创建新目录:

su erpnext
sudo mkdir /opt/bench

接下来,将所有权更改为erpnext用户:

sudo chown -R erpnext:erpnext /opt/bench

之后,将目录更改为并从Git克隆Bench仓库:/opt/bench

cd /opt/bench
git clone https://github.com/frappe/bench bench-repo

安装

接下来,使用以下pip3命令安装基准存储库:

pip3 install -e bench-repo
或
pip3 install bench-repo

然后,使用以下命令安装frappe-bench附加组件:

sudo pip3 install frappe-bench

成功安装后,使用以下命令使用Frappe框架初始化Bench目录:

bench init frappe-bench
cd frappe-bench
bench init erpnext

如果出现如下错误:
yarn install v1.22.19
[1/5] Validating package.json...
error frappe-framework@: The engine "node" is incompatible with this module. Expected version ">=14". Got "12.22.9"
error Found incompatible module.
则对node升级:
yarn install --ignore-engines
yarn config set ignore-engines true
sudo npm i n -g
sudo n stable

接下来,erpnext使用以下命令将目录更改为并创建一个新的frappe站点:

cd erpnext
bench new-site erpnext.ifudo.com

然后,使用以下命令启动基准服务:

bench start

步骤6.配置Nginx和Supervisord。

运行以下命令以安装Nginx和Supervisord:

su erpnext
sudo apt-get -y install supervisor nginx

接下来,运行以下命令为生产环境配置ERPNext:

sudo bench setup production erpnext

步骤7.在Ubuntu上访问ERPNext Web界面。

安装ERPNext,并将其配置为在端口80上运行。现在,打开Web浏览器并输入URL 。http://erpnext.ifudo.com

或本地

127.0.0.1

恭喜你!您已经成功安装了ERPNext。感谢您使用本教程在Ubuntu 20.04 LTS 系统上安装ERPNext开源ERP系统。有关其他帮助或有用信息,我们建议您检查ERPNext官方网站。

分类: Linux