如何在CentOS 7上安装Mailtrain新闻通讯应用程序
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
Phoenix是一个新兴的基于Elixir的Web开发框架。它旨在提供高开发效率,丰富的功能和强大的运行时性能。
本教程将向您展示如何出于开发目的在Vultr CentOS 7服务器实例上安装Phoenix。
在继续之前,我假设您具有:
sudo yum install epel-release
sudo yum update
sudo reboot
首先,您需要在系统上安装Erlang。Phoenix是用Elixir编程语言编写的框架,任何基于Elixir的应用程序都必须先编译为Erlang字节代码,然后才能执行。
cd ~
wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
sudo rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
sudo yum install erlang
您可以通过以下方式确认您的Erlang安装:
erl
该命令将带您进入Erlang Shell。启动Erlang Shell时,您将看到以下输出。
Erlang/OTP 18 [erts-7.3] [source-d2a6d81] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V7.3  (abort with ^G)
1>
按Ctrl+C两次退出Erlang外壳。
由于CentOS 7系统YUM存储库中的Elixir版本太旧了,因此您应该使用官方预编译的Elixir归档文件来安装Elixir的最新版本。
下载并解压缩最新的Elixir预编译存档:
cd /usr/bin
sudo mkdir elixir
cd /usr/bin/elixir
sudo wget https://github.com/elixir-lang/elixir/releases/download/v1.2.5/Precompiled.zip
sudo yum install unzip
sudo unzip Precompiled.zip
现在,Elixir已安装在您的系统上。您可以通过指定每个与Elixir相关的命令的路径来运行Elixir命令,例如:
/usr/bin/elixir/bin/elixir -v
此命令将告诉您系统上Elixir的版本。
为了方便起见,您可以将Elixir的bin路径(以及将要安装的node.js bin路径)添加到您的PATH环境变量中:
sudo vi /etc/profile
将以下行追加到文件末尾:
export PATH="$PATH:/usr/bin/elixir/bin:/usr/bin/node-v6.1.0-linux-x64/bin"
保存并退出:
:wq
重新加载配置文件:
source /etc/profile
从现在开始,您可以运行与Elixir相关的命令,而无需指定其完整路径,例如:
elixir -v
现在,通过mix以相同方式运行命令来安装Hex软件包管理器:
cd ~
mix local.hex
Y在安装过程中回答。
使用以下命令安装Phoenix:
mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez
Y在安装过程中回答。
如果要使用Phoenix的默认构建工具brunch.io来编译静态资产(javascript,css等),则需要安装Node.js(> = 5.0.0):
cd ~
wget https://nodejs.org/dist/v6.1.0/node-v6.1.0-linux-x64.tar.xz
sudo yum install xz
xz -d node-v6.1.0-linux-x64.tar.xz
tar -xvf node-v6.1.0-linux-x64.tar
sudo mv ~/node-v6.1.0-linux-x64 /usr/bin/
记住,在步骤3中,Node.js路径已添加到PATH环境变量中。您可以使用以下命令测试Node.js的安装:
node -v
默认情况下,Phoenix使用PostgreSQL配置应用程序。在CentOS 7上,您可以使用YUM安装PostgreSQL:
sudo yum install -y postgresql-server
sudo postgresql-setup initdb
启动postgresql服务:
sudo systemctl start postgresql.service
sudo systemctl enable postgresql.service
为默认的PostgreSQL用户“ postgres”设置一个密码:
sudo -u postgres psql
在PostgreSQL Shell中(提示变成后postgres=#),设置“ postgres”的密码:
\password postgres
输入postgres两次密码,这是Phoenix的首选密码。
最后,使用以下命令退出PostgreSQL Shell。
\q
设置数据库用户身份验证方法:
sudo vi /var/lib/pgsql/data/pg_hba.conf
查找以下部分:
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                ident
修改对md5的IPv4本地连接的身份验证方法:
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
保存并退出:
:wq
重新启动postgresql服务:
sudo systemctl restart postgresql.service
使用以下命令安装必需的组件“ inotify-tools”:
sudo yum install inotify-tools
假设您要在目录中创建Phoenix应用程序~/phoenix_project_1:
mix phoenix.new ~/phoenix_project_1
Y在获取和安装依赖项的过程中回答。
此命令将为您创建应用程序目录~/phoenix_project_1。进入目录并创建一个数据库:
cd ~/phoenix_project_1
mix ecto.create
Y在第一次创建数据库时回答安装“钢筋”的问题。
使用以下命令启动您的应用程序:
mix phoenix.server
在保持当前SSH连接有效的同时,启动另一个SSH连接并修改防火墙规则以授予对您的应用程序的访问权限:
sudo firewall-cmd --zone=public --permanent --add-port=4000/tcp
sudo firewall-cmd --reload
最后,使用网络浏览器从以下位置访问您的应用程序:
http://[your-server-IP]:4000
我们的教程到此结束。欢迎来到凤凰城!
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,
FTP是用于通过Internet传输文件的有用协议,本指南将向您展示如何设置vsFTPd(非常安全的文件传输协议守护程序)o
在本教程中,我们将介绍在CentOS 6x x64上安装和使用nethogs的过程。nethogs是一种网络监视工具,它允许Networ
使用其他系统?简介BoltWire是一个用PHP编写的免费,轻量级的内容管理系统。与大多数其他内容管理人员相比
欢迎来到另一个Vultr教程。在这里,您将学习如何安装和运行SAMP服务器。本指南是为CentOS 6编写的。先决条件
简介/ etc /目录在Linux系统运行中起着至关重要的作用。其原因是因为几乎每个系统配置
使用其他系统?Microweber是一个开放源代码的拖放式CMS和在线商店。Microweber源代码托管在GitHub上。本指南将向您展示
使用其他系统?SonarQube是用于质量系统开发的开源工具。它是用Java编写的,并且支持多个数据库。它提供
使用其他系统?Mosh是Mobile Shell的缩写,是一种新兴的远程终端应用程序,旨在提供更好的连接和使用
MoinMoin是一个使用Python编写的基于文件系统的开源Wiki引擎。如今,MoinMoin已广泛用于开源社区。许多供应商
H2O是新一代HTTP服务器,它对所有当前使用的Web服务器都具有出色的,功能齐全的HTTP / 2实现。使用H2O作为您的Web服务器
在Linux和Unix系统管理员中,使用sudo用户访问服务器并在root级执行命令是一种非常普遍的做法。使用泡沫
使用其他系统?Countly是一个开源Web /移动分析和营销平台。它具有许多用于从Web收集数据的功能
MODX是一个用PHP编写的免费开放源内容管理系统。它使用MySQL或MariaDB来存储其数据库。MODX专为满足以下条件的企业而设计:
使用其他系统?Lychee 3.1相册是一种简单,灵活,免费和开源的照片管理工具,可在VPS服务器上运行。安装
使用其他系统?ERP或企业资源计划是用于管理核心业务流程的企业应用程序套件。ERPNext是免费的
使用其他系统?Paste 2.1是一个简单,灵活,免费和开源的pastebin应用程序,用于存储代码,文本等。最初是
使用其他系统?Seafile(社区版本)是一个免费和开源的文件同步和共享解决方案,类似于ownCloud。机智
使用其他系统?Kolab Groupware是一个免费的基于Web的开源组件软件。它的功能包括电子邮件通信,事件
在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 機器變磚。閱讀這篇文章以了解更多信息