20210426 重现一次利用国内源安装erpnext的过程
默认已经安装好Ubuntu Server 20.04, 并已经结束了更换阿里云源和升级所有的补丁。其他版本未测试。不够方法是一样的。下面的举例的命令前面的横线请不要复制。
1, 添加名为frappe的用户,并加入到suders。
如果已经新建或者使用已有的普通权限的用户可以忽略.
-- 输入 adduser frappe, 如下图所示:
按照提示设置密码。这里举例我们密码设置为frappe。
所有的都可以问题都可以直接回车下一步。最后一步输入y。则我们的新用户frappe已经创建成功。
输入ls /home 检查一下看看frappe的家目录是否存在。系统除了新创建了用户还创建了用户的家目录(adduser和useradd的不同请百度)。
如图已经成功了。
- sudo usermod -aG sudo frappe // 意思是把frappe用户添加到sudo组 -a=add G=Group.
2, 安装系统必须的软件包
sudo apt install -y git python-dev python3-pip python3-testresources mariadb-server-10.3 redis-server nginx
//最新的10.5版本的Mariadb数据库安装后会报错,需要更改默认的数据库引擎。建议10.3版本。
3, 安装nodejs
-- wget https://npm.taobao.org/mirrors/node/latest-v12.x/node-v12.9.1-linux-x64.tar.gz
-- tar -xzvf node-v12.9.1-linux-x64.tar.gz //解压
-- sudo mv node-v12.9.1-linux-x64 /usr/bin/nodejs
-- sudo ln -s /usr/bin/nodejs/bin/node /usr/bin/node
-- sudo ln -s /usr/bin/nodejs/bin/npm /usr/bin/npm
-- sudo ln -s /usr/bin/nodejs/bin/npx /usr/bin/npx
-- node --version // 测试是否OK
4, 更改当前用户的pip为国内源
-- mkdir ~/.pip
-- cd ~/.pip
-- touch pip.conf
-- nano pip.conf 粘贴下面的内容
[global]
timeout = 120
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
同时更改Root用户的pip为国内源, 为sudo配置的。
-- sudo mkdir /root/.pip
-- sudo cp ~/.pip/pip.conf /root/.pip
更改npm的源为国内的淘宝
-- npm config set registry https://registry.npm.taobao.org //设置npm的源为淘宝的
5, 安装Yarn并更改为国内源
-- npm install -g yarn
-- sudo ln -s /usr/bin/nodejs/lib/node_modules/yarn/bin/yarn.js /usr/bin/yarn
-- node -v && npm -v && python3 -V && pip3 -V && yarn -v //验证
下面配置Yarn为国内的源
yarn config get registry查看源, 如果不是淘宝的源就切换为淘宝的源
yarn config set registry https://registry.npm.taobao.org
yarn config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
yarn config set phantomjs_cdnurl http://cnpmjs.org/downloads
yarn config set electron_mirror https://npm.taobao.org/mirrors/electron/
yarn config set sqlite3_binary_host_mirror https://foxgis.oss-cn-shanghai.aliyuncs.com/
yarn config set profiler_binary_host_mirror https://npm.taobao.org/mirrors/node-inspector/
yarn config set chromedriver_cdnurl "https://cdn.npm.taobao.org/dist/chromedriver”
****保险起见,话需要欸刚刚的yarn,node,npm添加运行权限。 Sudo chmod +x /usr/bin/node. 默认有运行权限。
6, 设置 mariadb-server
-- nano /etc/mysql/my.cnf 编辑my.cnf文件
-- 粘贴一下内容:
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[mysql]
default-character-set = utf8mb4
-- service mysql restart // 重启数据库
-- mysql_secure_installation //mysql的安全配置
- sudo mysql -u root -p //输入刚刚设置的密码登录, 要sudo,不然无法登录
- USE mysql;
- UPDATE user SET plugin=' ' WHERE user ='root';
- FLUSH PRIVILEGES;
- exit;
7, 正式进入erpnext的安装了
1, 安装frappe
sudo pip3 install frappe-bench
//有任何不正常,对运行一次。比如你的系统不是全新的,有些包的版本太新了。
2, 安装bench // 确保是在自己的家目录下, 如不是,cd ~ 回到家目录
bench init --verbose --frappe-branch version-13 frappe-bench --frappe-path=https://gitee.com/qq82096089/frappe
//源可以更为为gitee上的其他源
//--verbose 让你清楚的看到每一步的操作。总共大概15~30分钟左右完成。看网络和电脑的配置。我测试的虚拟机2GB内存15分钟。我第二次安装的时候20多分钟。
碰到这个警告请忽略,只是提醒你pip有更新的版本了。
洁癖患者可以安装完成后升级pip
这一步的问题最多,如果失败请用下面的命令继续.
source /home/ frappe-bench/env/bin/activate
pip install -q -U -e frappe-bench/apps/frappe
如果出现这个问题,也请忽略。个别资源下载失败。
Bench build没有构建完所有的资源。有小错误后面可以手工bench build。
如果安装完成请进入frappe-bench目录
Bench --version // 查看bench的版本
Bench version // 查看安装app的版本,现在只有frappe,确保是13版。
Bench start //启动试下, 可以不启动。继续下一步。安装其他的app。安装app应该会简单很多。
3, 下载erpnext
cd ~/frappe-bench
bench get-app --branch version-13 https://gitee.com/qq82096089/erpnext
// cd ~/frappe-bench是确保你在bench目录
bench get-app --branch master https://gitee.com/yuzelin/ebclocal.git
//安装余老师的汉化
-bench version
//可以看到我们已经有3个app, frappe是默认必须的。其他都是选装的。
4, 创建新的站点(数据库)
1), bench new-site mysite --verbose --db-name erpnext --db-host 127.0.0.1 --db-port 3306 --mariadb-root-username root --mariadb-root-password xxxxxx --admin-password admin --install-app erpnext
// xxxxxx 替换你的Mariadb数据库管理员的密码
//新的站点的网站管理员密码是admin, 请自行更改
//数据库初始化后,会自动那种erpnext这个app
2), bench new-site mysite
//系统会咨询你数据库的密码
//默认生成的是加密过的文件名称,很长,可以在站点配置文件中找到。数据名称和密码都是加密保持在配置中。如果需要指定数据库名称,请用方法1.
5, 为特定的网站安装特定的app
举例是为我们刚刚安装的mysite 安装中文语言包
bench --site mysite install-app ebclocal
//myside 为我们刚刚安装的新站点。 如果有多个站点。请指定。
bench --site mysite list-apps //查看我们的网站是否已经安装完成我们所想要的所有app。
如果之前安装frappe,有资源没有下载完成,build没有全部完成的。还需要bench build 一次.
我们想要的都安装了。 结束。 Bench start.
可以自己在gitee上面克隆一套官方的源。安装的时候替换我克隆的源为你自己维护的源。
一些修复措施:
Bench build
bench setup requirements
bench update --patch
bench --site mysite --force reinstall --admin-password admin