如何在CentOS 7 LAMP VPS上安装ProcessWire CMS 3.0

ProcessWire CMS 3.0是一个简单,灵活,功能强大,免费和开源的内容管理系统(CMS)。ProcessWire CMS 3.0具有易于使用的jQuery风格的API,完全模块化的插件体系结构以及灵活而强大的模板系统,可为设计人员,开发人员和最终用户提供同样令人满意的用户体验。

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

先决条件

  • 具有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与ProcessWire 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实例上是禁用的,但是我们将介绍禁用它的步骤,以防万一您不是从全新安装开始并且之前已启用它。

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

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

sudo sestatus

如果您看到类似以下内容的信息:SELinux status: disabled则该功能已被禁用,您可以直接跳至下一步。如果您看到任何其他消息,则需要完成本节。

用您喜欢的终端编辑器打开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以及ProcessWire CMS所需的所有必需的PHP模块:

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

步骤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:为ProcessWire CMS创建数据库

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

sudo mysql -u root -p

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

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

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

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

步骤9:安装ProcessWire 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下载ProcessWire CMS安装软件包:

sudo wget https://github.com/processwire/processwire/archive/master.zip

请注意: 您一定应该通过访问ProcessWire CMS下载页面来检查最新版本。

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

ls -la

移除index.html

sudo rm index.html

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

sudo yum -y install unzip

现在解压缩zip存档:

sudo unzip master.zip

将所有安装文件移至Web根目录:

sudo mv processwire-master/* /var/www/html

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

sudo chown -R apache:apache * ./

再次重新启动Apache:

sudo systemctl restart httpd

步骤10:完成ProcessWire CMS安装

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

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

http://YOUR_VULTR_IP_ADDRESS/install.php

ProcessWire CMS安装程序包含许多选项,因此这里有一些指针可以帮助您:

  1. 在ProcessWire CMS安装欢迎页面上,单击Get Started按钮以开始安装过程。

  2. 现在,选择您的首选安装配置文件(或演示站点),然后单击Continue

  3. 您将看到一个Compatibility Check页面。如果看到任何错误,则可能意味着您缺少某些PHP模块或权限问题,否则,只需单击即可Continue

  4. MySQL Database Settings页面中输入以下值:

    DB Name:            pw_db
    DB User:            pw_user
    DB Pass:            UltraSecurePassword
    DB Host:            localhost
    DB Port:            3306
    
  5. 您可以将File Permission设置保留为默认值,也可以在理解含义后进行调整。

  6. 您可以在适当的部分中输入站点的将来主机名,也可以site/config.php稍后根据需要编辑文件。

  7. 单击Continue以配置数据库并安装ProcessWire CMS文件。

  8. 接下来,选择您的首选Admin Theme

  9. 您可以根据需要更改Admin URL,也可以将其保留为默认值。

  10. 输入您的信息Admin Login Details,如下所示:

    User (a-z 0-9):     <admin username>
    Password:           <admin password>
    Password (again):   <same admin password>
    Email Address:      <admin email address>
    
  11. 输入所有适当的详细信息后,您可以单击Continue以完成ProcessWire安装。

  12. 安装完成后,只需单击Login to Admin按钮以登录“管理”部分。

您可能会看到一条警告,内容如下:

Warning: your server locale is undefined and may cause issues. Please add this to /site/config.php file (adjust en_US.UTF-8â₠as needed): setlocale(LC_ALL,'en_US.UTF-8');

您可以通过编辑site/config.php文件来解决此错误:

sudo vi site/config.php

将适当的值附加到文件末尾:

setlocale(LC_ALL,'en_GB.utf8');

如果您不知道要使用什么值,可以通过运行以下locale命令为特定服务器实例找到适当值的列表:

locale -a

site/config.php完成编辑后,不要忘记保存并退出文件。

为了安全起见,请确保更改site/config.php文件的权限:

sudo chmod 400 site/config.php

重新启动Apache。

sudo systemctl restart httpd

您准备开始添加内容并配置网站的外观。确保您查看了出色的ProcessWire 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 年人工智能對醫療保健的影響

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