如何在CentOS 7 LAMP VPS上安装Directus 6.4 CMS

Directus 6.4 CMS是功能强大且灵活,免费且开源的Headless Content Management System(CMS),它为开发人员提供了一个简单直观的Web界面,用于使用完全自定义的体系结构管理数据库内容。传统CMS被构建为封闭平台,专门用于快速部署和管理网站-通常是简单的网站和博客。但是,当今的内容被范围更广的应用程序所消耗,其中包括复杂的Web平台,本机应用程序,可穿戴设备,信息亭,物联网设备以及其他数据驱动项目。Directus 6.4无头CMS允许内容的使用位置进行独立管理。通过解耦和创作与应用程序无关的内容,

在本教程中,我们将使用Apache Web服务器,PHP 7.1和M​​ariaDB数据库在CentOS 7 LAMP VPS上安装Directus 6.4 CMS。

先决条件

  • 具有SSH访问权限的干净Vultr CentOS 7服务器实例

步骤1:添加Sudo用户

我们将从添加新sudo用户开始。

首先,以以下身份登录到服务器root

ssh root@YOUR_VULTR_IP_ADDRESS

添加一个新用户user1(或您的首选用户名):

useradd user1

接下来,设置user1用户密码:

passwd user1

出现提示时,输入安全且难忘的密码。

现在检查/etc/sudoers文件以确保sudoers启用了该组:

visudo

查找如下部分:

%wheel        ALL=(ALL)       ALL

此行告诉我们,作为wheel组成员的用户可以使用该sudo命令来获取root特权。默认情况下,它将不加注释,因此您只需退出文件即可。

接下来,我们需要添加user1wheel组中:

usermod -aG wheel user1

我们可以验证user1组成员身份,并检查该usermod命令是否与以下命令一起使用groups

groups user1

现在使用su命令切换到新的sudo用户user1帐户:

su - user1

命令提示符将更新以指示您现在已经登录到该user1帐户。您可以使用以下whoami命令进行验证:

whoami

现在重新启动sshd服务,以便您可以ssh使用刚刚创建的新的非root sudo用户帐户登录:

sudo systemctl restart sshd

退出user1帐户:

exit

退出root帐户(这将断开您的ssh会话):

exit

现在,您可以ssh使用新的非root用户sudo用户user1帐户从本地主机进入服务器实例:

ssh user1@YOUR_VULTR_IP_ADDRESS

如果要执行sudo而不需要每次都输入密码/etc/sudoers,请使用再次打开文件visudo

sudo visudo

编辑该wheel组的部分,使其如下所示:

%wheel        ALL=(ALL)       NOPASSWD: ALL

请注意: 不建议对sudo用户禁用密码要求,但此操作已包括在此处,因为它可以使服务器配置更加方便且避免烦恼,尤其是在较长的系统管理会话期间。如果您担心安全隐患,则可以在完成管理任务后始终将配置更改还原为原始更改。

每当您root要从用户帐户中登录该sudo用户帐户时,都可以使用以下命令之一:

sudo -i
sudo su -

您只需输入以下内容即可随时退出root帐户并返回您的sudo用户帐户:

exit

步骤2:更新CentOS 7系统

在CentOS服务器实例上安装任何软件包之前,我们将首先更新系统。

确保您使用非root用户sudo登录到服务器并运行以下命令:

sudo yum -y update

步骤3:安装Apache Web服务器

安装Apache Web服务器:

sudo yum -y install httpd

然后使用以下systemctl命令来启动并使Apache在引导时自动执行:

sudo systemctl enable httpd
sudo systemctl start httpd

检查您的Apache配置文件,以确保该DocumentRoot指令指向正确的目录:

sudo vi /etc/httpd/conf/httpd.conf 

DocumentRoot配置选项会是这样的:

DocumentRoot "/var/www/html"

现在,让我们确保mod_rewrite已加载Apache模块。我们可以通过在Apache基本模块配置文件中搜索术语“ mod_rewrite”来完成此操作。

打开文件:

sudo vi /etc/httpd/conf.modules.d/00-base.conf

搜索该词mod_rewrite

如果mod_rewrite已加载Apache模块,您将找到如下所示的配置行:

LoadModule rewrite_module modules/mod_rewrite.so

如果以上行以分号开头,则需要删除分号以取消注释该行并加载模块。当然,这也适用于任何其他必需的Apache模块。

现在,我们需要编辑Apache的默认配置文件,以便可以mod_rewrite在Directus CMS上正常使用。

打开文件:

sudo vi /etc/httpd/conf/httpd.conf

然后找到以开头的部分,<Directory "/var/www/html">然后更改AllowOverride noneAllowOverride All。最终结果(除去所有注释)将如下所示:

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

现在保存并关闭Apache配置文件。

在本教程的最后,我们将重新启动Apache,但是在安装和配置过程中定期重新启动Apache当然是一个好习惯,所以现在就开始吧:

sudo systemctl restart httpd

步骤4:打开Web防火墙端口

现在,我们需要打开默认值HTTPHTTPS端口,因为默认情况下它们将被阻止firewalld

打开防火墙端口:

sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp

重新加载防火墙以应用更改:

sudo firewall-cmd --reload

success每次成功执行防火墙配置命令后,您将在终端中看到该单词。

我们可以HTTP通过在浏览器中访问服务器实例的IP地址或域来快速验证Apache 端口是否已打开:

http://YOUR_VULTR_IP_ADDRESS/

您将在浏览器中看到默认的Apache网页。

步骤5:停用SELinux(如果启用)

SELinux代表“安全性增强的Linux”。它是Linux的安全性增强,它使用户和管理员可以更好地控制访问控制。默认情况下,它在Vultr CentOS 7实例上是禁用的,但是我们将介绍禁用它的步骤,以防万一您不是从全新安装开始并且之前已启用它。

为了避免Directus CMS的文件权限问题,我们需要确保SELinux被禁用。

首先,让我们使用以下sestatus命令检查SELinux是启用还是禁用:

sudo sestatus

如果看到类似:的信息SELinux status: disabled,则肯定已禁用它,您可以直接跳到步骤6。如果看到任何其他消息,则需要完成本节。

用您喜欢的终端编辑器打开SELinux配置文件:

sudo vi /etc/selinux/config

更改SELINUX=enforcingSELINUX=disabled,然后保存文件。

要应用配置更改,SELinux需要重启服务器,因此您可以使用Vultr控制面板重启服务器,也可以简单地使用以下shutdown命令:

sudo shutdown -r now

服务器重启后,SSH会话将断开连接,并且您可能会看到一条消息,通知您有关'broken pipe'或的信息'Connection closed by remote host'。不必担心,只需等待20秒钟左右,然后再次使用您自己的用户名和域再次使用SSH:

ssh user1@YOUR_DOMAIN

或者(使用您自己的用户名和IP地址):

ssh user1@YOUR_VULTR_IP_ADDRESS

重新登录后,应使用以下sestatus命令再次检查SELinux的状态,以确保已正确禁用它:

sudo sestatus

您应该看到一条消息说SELinux status: disabled。如果您看到一条消息SELinux status: enabled(或类似内容),则需要重复上述步骤,并确保正确重启服务器。

步骤6:安装PHP 7.1

CentOS 7要求我们添加一个外部存储库以安装PHP 7.1,因此请运行以下命令:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

现在,我们可以安装PHP 7.1以及Directus CMS所需的所有必需的PHP模块:

sudo yum -y install php71w php71w-gd php71w-mbstring php71w-mysql php71w-xml php71w-common php71w-pdo php71w-mysqlnd

步骤7:安装MariaDB(MySQL)服务器

CentOS 7默认使用MariaDB数据库服务器,它是MySQL服务器的增强,完全开源,社区开发的直接替代产品。

安装MariaDB数据库服务器:

sudo yum -y install mariadb-server

启动并启用MariaDB服务器以在引导时自动执行:

sudo systemctl enable mariadb
sudo systemctl start mariadb    

保护您的MariaDB服务器安装:

sudo mysql_secure_installation

root密码将会是空白,那么只需点击提示输入时输入root密码。

当提示您创建MariaDB / MySQL root用户时,选择“是”(代表“是”),然后输入安全root密码。只需对其他所有是/否问题回答“是”,因为默认建议是最安全的选择。

步骤8:为Directus CMS创建数据库

root通过运行以下命令,以MariaDB 用户身份登录MariaDB shell :

sudo mysql -u root -p

要访问MariaDB命令提示符,只需root在出现提示时输入MariaDB 密码即可。

运行以下查询以为Directus CMS创建MariaDB数据库和数据库用户:

CREATE DATABASE directus_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'directus_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON directus_db.* TO 'directus_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

如果愿意,您可以根据自己的喜好替换数据库名称directus_db和用户名directus_user。(请注意,CentOS 7上MariaDB中用户名的默认最大长度为16个字符)。另外,请确保将“ UltraSecurePassword”替换为实际安全的密码。

步骤9:安装Directus CMS文件

将当前工作目录更改为默认Web目录:

cd /var/www/html/

如果您收到一条类似这样的错误消息,请'No such file or directory'尝试以下命令:

cd /var/www/ ; sudo mkdir html ; cd html

您当前的工作目录将是: /var/www/html/。您可以使用pwd(打印工作目录)命令检查此内容:

pwd

现在用于wget下载Directus CMS安装软件包:

sudo wget https://github.com/directus/directus/releases/download/6.4.4/directus-build-6.4.4-20171120114156.zip

请注意: 您绝对应该通过访问Directus CMS下载页面检查最新版本。

列出当前目录以检查是否已成功下载文件:

ls -la

快速安装,unzip以便我们解压缩文件:

sudo yum -y install unzip

现在解压缩zip存档:

sudo unzip directus-build-6.4.4-20171120114156.zip

更改Web文件的所有权,以避免任何权限问题:

sudo chown -R apache:apache * ./

再次重新启动Apache:

sudo systemctl restart httpd

现在,我们可以继续进行最后一步了。

步骤10:完成Directus CMS安装

是时候在浏览器中访问服务器实例的IP地址了,或者,如果您已经配置了Vultr DNS设置(并且有足够的时间来传播),则可以直接访问您的域。

要访问Directus CMS安装页面,请在浏览器地址栏中输入您的Vultr实例IP地址,然后输入/installation/index.php

http://YOUR_VULTR_IP_ADDRESS/installation/index.php

大多数安装选项都是自解释性的,但是这里有一些指针可以帮助您:

  1. 选择您的语言,然后单击Next按钮以继续。

  2. 输入适当的Project Name管理员登录详细信息,如下所示:

    PROJECT NAME:           <project name>  
    ADMIN EMAIL:            <admin email>
    ADMIN PASSWORD:         <admin password>    
    

    单击Next以继续。

  3. 现在输入以下数据库值:

    DATABASE TYPE:          MySQL/Percona
    HOST:                   localhost
    PORT:                   3306
    USER:                   directus_user
    PASSWORD:               UltraSecurePassword
    DATABASE NAME:          directus_db                 
    INITIAL SCHEMA:         None Clean Database
    

    单击Next以继续。

  4. 您将获得一个预安装检查页面,其中显示了您选择的选项以及安装程序可能发现的任何问题。如果您看到mod_rewrite模块显示为已卸载或已禁用的错误,则在实际安装并启用该模块后,您可以忽略该警告,因为一切都会正常进行。

    修复所有重要问题并确认一切正常后,只需单击Install以完成安装。

安装完成后,您将被重定向到Admin登录页面。如果您未重定向,则可以手动输入管理员登录地址:

http://YOUR_VULTR_IP_ADDRESS/login.php

出于安全原因,请确保/installation/从webroot目录中删除该目录:

sudo rm -rf ./installation/

现在,您准备开始添加内容并配置Headless CMS以与各种应用程序一起使用。确保您查看了出色的Directus CMS文档,以获取有关如何配置Directus CMS并将其链接到其他应用程序和框架的更多信息。



Leave a Comment

如何在Debian 9 LAMP VPS上安装October 1.0 CMS

如何在Debian 9 LAMP VPS上安装October 1.0 CMS

使用其他系统?October 1.0 CMS是基于Laravel框架构建的简单,可靠,免费和开源的内容管理系统(CMS)

在Fedora 28上安装Anchor CMS

在Fedora 28上安装Anchor CMS

使用其他系统?Anchor是用PHP编写的轻量级开源博客CMS。Anchors源代码托管在GitHub上。本指南将向您展示

如何在Debian 9上安装Grav CMS

如何在Debian 9上安装Grav CMS

使用其他系统?Grav是用PHP编写的开源平面文件CMS。Grav源代码公开托管在GitHub上。本指南将向您展示如何

如何在Fedora 26 LAMP VPS上安装Pagekit 1.0 CMS

如何在Fedora 26 LAMP VPS上安装Pagekit 1.0 CMS

使用其他系统?Pagekit 1.0 CMS是一个美观,模块化,可扩展,轻量级,免费和开源的内容管理系统(CMS),具有

如何在Ubuntu 16.04 LAMP VPS上安装BigTree CMS

如何在Ubuntu 16.04 LAMP VPS上安装BigTree CMS

使用其他系统?BigTree CMS 4.2是一种快速,轻量级,免费和开源的企业级内容管理系统(CMS),具有广泛的功能。

如何在CentOS 7上安装BoltWire CMS

如何在CentOS 7上安装BoltWire CMS

使用其他系统?简介BoltWire是一个用PHP编写的免费,轻量级的内容管理系统。与大多数其他内容管理人员相比

如何在CentOS 7上安装Microweber

如何在CentOS 7上安装Microweber

使用其他系统?Microweber是一个开放源代码的拖放式CMS和在线商店。Microweber源代码托管在GitHub上。本指南将向您展示

如何在Ubuntu 18.04 LTS上安装WonderCMS

如何在Ubuntu 18.04 LTS上安装WonderCMS

使用其他系统?WonderCMS是用PHP编写的开源,快速,小型平面文件CMS。WonderCMS源代码托管在Github上。本指南将

如何在FreeBSD 11 FAMP VPS上安装Omeka Classic 2.4 CMS

如何在FreeBSD 11 FAMP VPS上安装Omeka Classic 2.4 CMS

使用其他系统?Omeka Classic 2.4 CMS是一个免费的开源数字发布平台和用于共享数字内容的内容管理系统(CMS)

在Ubuntu 16.04上使用Nginx反向代理设置Keystone.js服务器

在Ubuntu 16.04上使用Nginx反向代理设置Keystone.js服务器

在本教程中,我们将使用反向代理来设置Web服务器。我们将使用的CMS是Keystone.js,这是众所周知的Web应用程序框架

如何在Fedora 28上安装Bludit CMS

如何在Fedora 28上安装Bludit CMS

使用其他系统?Bludit是一个用PHP编写的简单,快速且灵活的博客CMS。Bludit使用JSON格式的文件来存储内容,因此您不必

如何在CentOS 7上安装MODX CMS和Nginx

如何在CentOS 7上安装MODX CMS和Nginx

MODX是一个用PHP编写的免费开放源内容管理系统。它使用MySQL或MariaDB来存储其数据库。MODX专为满足以下条件的企业而设计:

如何在Fedora 26 LAMP VPS上安装Couch CMS 2.0

如何在Fedora 26 LAMP VPS上安装Couch CMS 2.0

使用其他系统?Couch CMS是一个简单,灵活,免费和开源的内容管理系统(CMS),可让Web设计人员进行设计

如何在CentOS 7 LAMP VPS上安装Omeka Classic 2.4 CMS

如何在CentOS 7 LAMP VPS上安装Omeka Classic 2.4 CMS

使用其他系统?Omeka Classic 2.4 CMS是一个免费的开源数字发布平台和用于共享数字内容的内容管理系统(CMS)

如何在FreeBSD 11 FAMP VPS上安装Couch CMS 2.0

如何在FreeBSD 11 FAMP VPS上安装Couch CMS 2.0

使用其他系统?Couch CMS是一个简单,灵活,免费和开源的内容管理系统(CMS),可让Web设计人员进行设计

如何在FreeBSD 11 FAMP VPS上安装ProcessWire CMS 3.0

如何在FreeBSD 11 FAMP VPS上安装ProcessWire CMS 3.0

使用其他系统?ProcessWire CMS 3.0是一个简单,灵活,功能强大,免费和开源的内容管理系统(CMS)。ProcessWire CMS 3。

如何在Fedora 28上安装PyroCMS

如何在Fedora 28上安装PyroCMS

使用其他系统?PyroCMS是用PHP编写的开源CMS。PyroCMS源代码托管在GitHub上。在本指南中,请仔细阅读整个条目

如何在Fedora 26 LAMP VPS上安装BlogoText CMS

如何在Fedora 26 LAMP VPS上安装BlogoText CMS

使用其他系统?BlogoText CMS是一个简单,轻便,免费和开源的内容管理系统(CMS)和极简博客引擎

如何在Debian 9 LAMP VPS上安装Pagekit 1.0 CMS

如何在Debian 9 LAMP VPS上安装Pagekit 1.0 CMS

使用其他系统?Pagekit 1.0 CMS是一个美观,模块化,可扩展,轻量级,免费和开源的内容管理系统(CMS),具有

如何在FreeBSD 11 FAMP VPS上安装Redaxscript 3.2 CMS

如何在FreeBSD 11 FAMP VPS上安装Redaxscript 3.2 CMS

使用其他系统?Redaxscript 3.2 CMS是一款现代,超轻量级,免费和开源的内容管理系统(CMS),具有火箭fas

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。