如何在CentOS 7上安装Oxwall
Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,
ERP或企业资源计划是用于管理核心业务流程的企业应用程序套件。ERPNext是一个用Python编写的免费,开放源代码,自托管的ERP应用程序。它使用Node.js作为前端,并使用MariaDB存储其数据。ERPNext提供了易于使用的Web界面,使企业可以管理日常任务。它包含用于会计,CRM,HRM,制造,POS,项目管理,采购,销售管理,仓库管理等的模块。ERPNext可用于管理不同的行业,例如服务提供商,制造,零售和学校。
注意:在本教程中,我们将使用erp.example.com指向服务器的域名作为域名。请确保将所有出现的都替换为erp.example.com您的实际域名。
在我们开始之前,请确保您的服务器是最新的。
sudo apt update
sudo apt -y upgrade
ERPNext需要Python 2.7版才能工作。安装Python 2.7。
sudo apt -y install python-minimal
您应该能够验证其版本。
python -V
您将看到以下输出。
user@vultr:~$ python -V
Python 2.7.13
安装更多的依赖项。
sudo apt -y install git build-essential python-setuptools python-dev libffi-dev libssl-dev
安装Python的pip工具。Pip是Python软件包的依赖管理器。
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
请确保您有最新版本的pip和setuptools。
sudo pip install --upgrade pip setuptools
使用Pip安装Ansible。Ansible可以自动执行软件供应,配置管理和应用程序部署。
sudo pip install ansible
将MariaDB存储库添加到系统中。
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.nodesdirect.com/mariadb/repo/10.2/ubuntu xenial main'
安装MariaDB。
sudo apt update
sudo apt -y install mariadb-server libmysqlclient-dev
在询问时为MariaDB根用户提供一个强密码。
创建ERPNext数据库需要使用梭子鱼存储引擎,因此您需要配置MariaDB以使用梭子鱼存储引擎。编辑默认的MariaDB配置文件my.cnf。
sudo nano /etc/mysql/my.cnf
在该[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
另外,在该行下添加以下[mysql]行。
default-character-set = utf8mb4
重新启动MariaDB,��使它能够在引导时自动启动。
sudo systemctl restart mariadb
sudo systemctl enable mariadb
在配置数据库之前,您需要保护MariaDB安全。您可以通过运行mysql_secure_installation脚本来保护它。
sudo mysql_secure_installation
系统将要求您输入当前的MariaDB根密码。提供您在安装过程中设置的密码。系统将询问您是否要更改MariaDB服务器的root用户的现有密码。您可以跳过设置新密码的步骤,因为在安装过程中已经提供了一个强密码。对所有其他要求回答“ Y”。
为Node.js 8.x添加Nodesource存储库。
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -
安装Nginx,Node.js和Redis。
sudo apt -y install nginx nodejs redis-server
启动Nginx并使其在启动时启动。
sudo systemctl start nginx
sudo systemctl enable nginx
启动Redis并使其在启动时启动。
sudo systemctl start redis-server
sudo systemctl enable redis-server
该wkhtmltopdf程序是一个命令行工具,可使用QT Webkit呈现引擎将HTML转换为PDF。安装所需的依赖项。
sudo apt -y install libxrender1 libxext6 xfonts-75dpi xfonts-base
下载的最新版本wkhtmltopdf。
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
提取档案。
sudo tar -xf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz -C /opt
上面的命令会将存档提取到/opt/wkhtmltox。创建一个软链接,这样wkhtmltopdf并wkhtmltoimage可以作为一个命令来执行全局。
sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
sudo ln -s /opt/wkhtmltox/bin/wkhtmltoimage /usr/bin/wkhtmltoimage
现在,您可以运行wkhtmltopdf -V以检查其是否正常运行,您将看到此信息。
user@vultr:~$ wkhtmltopdf -V
wkhtmltopdf 0.12.4 (with patched qt)
至此,我们已经安装了所有必需的依赖项。现在,您可以继续安装Bench。
Bench是Frappe提供的命令行实用程序,用于在基于Unix的系统上安装和管理ERPNext应用程序,以用于开发和生产目的。Bench还可以创建和管理Nginx和主管配置。
创建一个新用户以在隔离的环境中运行Bench流程。
sudo adduser bench --home /opt/bench
向用户提供sudo权限bench。
sudo usermod -aG sudo bench
以新创建的bench用户身份登录。
sudo su - bench
在中克隆Bench仓库/opt/bench。
cd /opt/bench
git clone https://github.com/frappe/bench bench-repo
使用安装基准pip。
sudo pip install -e bench-repo
安装Bench后,请继续使用Bench安装ERPNext。
使用frappe框架初始化一个Bench目录。为了使所有内容保持整洁,我们将在该/opt/bench目录下工作。Bench还将每天设置一次常规备份和自动更新。
cd /opt/bench
bench init erpnext && cd erpnext
创建一个新的Frappe网站。
bench new-site erp.example.com
上面的命令将提示您输入MySQL root密码。提供您先前为MySQL根用户设置的密码。它还将要求您为管理员帐户设置新密码。稍后您将需要此密码才能登录管理员仪表板。
使用Bench从远程git存储库下载ERPNext安装文件。
bench get-app erpnext https://github.com/frappe/erpnext
在新创建的站点上安装ERPNext。
bench --site erp.example.com install-app erpnext
您可以立即启动应用程序以检查应用程序是否成功安装。
bench start
但是,您应该停止执行,然后继续进行设置以供生产使用。
默认情况下,ERPNext应用程序侦听端口8000,而不侦听标准HTTP端口80。另外,不建议运行内置的Web服务器以用于生产用途,因为我们会将服务器公开。您应该将生产Web服务器用作反向代理,例如Apache或Nginx。我们将使用Nginx作为反向代理,因为可以使用Bench对其进行自动配置。Bench可以根据ERPNext设置自动生成并安装配置。
尽管我们可以使用“ bench start”命令启动应用程序,但关闭终端后,ERPNext的执行将立即停止。要解决此问题,您应该使用Supervisor,这对于在生产环境中连续运行应用程序非常有帮助。Supervisor是一个过程控制系统,使您可以监视和控制Linux操作系统上的许多过程。一旦配置了Supervisor,它将在启动时以及发生故障时自动启动应用程序。Bench可以自动为ERPNext应用程序配置Supervisor。
安装主管。
sudo apt -y install supervisor
启动Supervisor,并使它在引导时自动启动。
sudo systemctl start supervisor
sudo systemctl enable supervisor
生产用安装台。
 sudo bench setup production bench
上述命令可能会提示您,然后用新的Supervisor默认配置文件替换它。选择y继续。Bench将许多进程添加到Supervisor配置文件中。上面的命令还会询问您是否要用新的配置替换当前的Nginx配置。输入y继续。Bench完成安装配置后,请提供其他用户执行Bench用户主目录中的文件。
chmod o+x /opt/bench/
您现在可以通过访问网站http://erp.example.com。
您可以通过运行来检查进程的状态。
sudo supervisorctl status all
您应该看到以下输出。
bench@vultr:~/erpnext$ sudo supervisorctl status all
erpnext-redis:erpnext-redis-cache                 RUNNING   pid 13852, uptime 0:00:54
erpnext-redis:erpnext-redis-queue                 RUNNING   pid 13851, uptime 0:00:54
erpnext-redis:erpnext-redis-socketio              RUNNING   pid 13853, uptime 0:00:54
erpnext-web:erpnext-frappe-web                    RUNNING   pid 13856, uptime 0:00:54
erpnext-web:erpnext-node-socketio                 RUNNING   pid 13855, uptime 0:00:54
erpnext-workers:erpnext-frappe-default-worker-0   RUNNING   pid 13862, uptime 0:00:54
erpnext-workers:erpnext-frappe-long-worker-0      RUNNING   pid 13870, uptime 0:00:54
erpnext-workers:erpnext-frappe-schedule           RUNNING   pid 13869, uptime 0:00:54
erpnext-workers:erpnext-frappe-short-worker-0     RUNNING   pid 13875, uptime 0:00:54
停止所有ERPNext进程。
sudo supervisorctl stop all
启动所有ERPNext流程。
sudo supervisorctl start all
让我们加密为用户提供免费的SSL证书。SSL可以手动安装,也可以通过Bench自动安装。Bench可以自动安装Let's Encrypt客户端并获取证书。此外,它会自动更新Nginx配置以使用证书。
从“加密加密” CA获取证书所使用的域名必须指向服务器。客户端在颁发证书之前验证域权限。
为ERPNext应用程序启用DNS多租户。
bench config dns_multitenant on
运行Bench以在您的站点上设置“让我们加密”。
sudo bench setup lets-encrypt erp.example.com
在脚本执行期间,“让我们加密”客户端将要求您暂时停止Nginx Web服务器。它将自动安装所需的软件包和“让我们加密”客户端。客户会提示您输入您的电子邮件地址。您还需要接受条款和条件。生成证书后,Bench还将为使用SSL证书的Nginx生成新配置。在替换现有配置之前,系统将询问您。Bench还会创建一个crontab条目,以每月自动更新证书。
最后,启用调度程序以自动运行调度的作业。
bench enable-scheduler
您应该看到此输出。
bench@vultr:~/erpnext$ bench enable-scheduler
Enabled for erp.example.com
该过程完成后,您可以通过访问您的应用程序https://erp.example.com。使用Administrator您在安装过程中设置的用户名和密码登录。您将被带到需要提供信息以根据您的公司设置ERPNext ERP的位置。您现在可以使用该应用程序来管理您的公司。
恭喜,您已经在Ubuntu 17.04服务器上安装了可以正常工作的ERPNext应用程序。
Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,
HTTP Live Streaming(HLS)是由Apple Inc.实现的一种非常强大的流视频协议。HLS使用HTTP事务来遍历防火墙,代理,
Spigot是对Minecraft服务器软件CraftBukkit的修改。Spigot优化了服务器资源的使用,确保您的播放器获得最佳体验
使用其他系统?October 1.0 CMS是基于Laravel框架构建的简单,可靠,免费和开源的内容管理系统(CMS)
使用其他系统?Monica是一个开源的个人关系管理系统。可以将其视为CRM(销售团队使用的一种流行工具
使用其他系统?MODX Revolution是一种快速,灵活,可扩展,免费和开源的企业级内容管理系统(CMS),由
使用其他系统?Anchor是用PHP编写的轻量级开源博客CMS。Anchors源代码托管在GitHub上。本指南将向您展示
使用其他系统?Taiga是用于项目管理的免费和开源应用程序。与其他项目管理工具不同,Taiga使用增量
本文是有关在Ubuntu 14.04上安装和配置Nagios的2部分系列文章的一部分。第1部分:Nagios服务器第2部分:远程主机概述Nagio
使用其他系统?Grav是用PHP编写的开源平面文件CMS。Grav源代码公开托管在GitHub上。本指南将向您展示如何
使用其他系统?Pagekit 1.0 CMS是一个美观,模块化,可扩展,轻量级,免费和开源的内容管理系统(CMS),具有
使用其他系统?BigTree CMS 4.2是一种快速,轻量级,免费和开源的企业级内容管理系统(CMS),具有广泛的功能。
FTP是用于通过Internet传输文件的有用协议,本指南将向您展示如何设置vsFTPd(非常安全的文件传输协议守护程序)o
本指南涵盖了针对运行Ubuntu 16.04的Vultr实例的GitBucket的基本安装和设置,并假定您正在以以下方式执行命令:
使用其他系统?简介Attendize是一个基于Laravel PHP框架的开源门票销售和事件管理平台。Attendiz
使用其他系统?简介BoltWire是一个用PHP编写的免费,轻量级的内容管理系统。与大多数其他内容管理人员相比
使用其他系统?Selfoss RSS Reader是一种免费的开源自托管基于Web的多功能实时流,mashup,新闻提要(RSS / Atom)阅读器
使用其他系统?Paste 2.1是一个简单,灵活,免费和开源的pastebin应用程序,用于存储代码,文本等。最初是
使用其他系统?Dolibarr是面向企业的开源企业资源计划(ERP)和客户关系管理(CRM)。多利巴尔
使用其他系统?Microweber是一个开放源代码的拖放式CMS和在线商店。Microweber源代码托管在GitHub上。本指南将向您展示
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。
学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息