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

MODX是一个用PHP编写的免费开放源内容管理系统。它使用MySQL或MariaDB来存储其数据库。MODX专为维护网站至关重要的业务而设计。它为开发人员提供了灵活性,使其可以通过选择自己的设计和结构来创建网站。它还具有WYSIWYG针对企业中非技术用户的编辑器。除了灵活之外,还可以对其进行优化以实现极快的速度。

本教程是为MODX 2.6.1编写的,也可能适用于新版本。

先决条件

  • Vultr CentOS 7服务器实例。
  • 一个sudo的用户
  • 指向实例的域名。

在本教程中,我们将使用modx.example.com指向Vultr实例的域名作为域名。请确保将所有示例域名都替换为实际的示例域名。

使用指南如何更新CentOS 7更新基本系统。系统更新后,继续安装依赖项。

安装Nginx

Nginx是运行Web应用程序的生产Web服务器。安装Nginx。

sudo yum -y install epel-release
sudo yum -y install nginx

启动Nginx并使其在启动时自动运行。

sudo systemctl start nginx
sudo systemctl enable nginx

安装PHP 7.2

MODX支持5.4以上的所有PHP版本。我们将安装最新版本的PHP。使用PHP 7.2将确保最高的速度和安全性。由于默认YUM版本库中没有可用的PHP版本7.2,因此添加并启用了Remi版本库。

sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php72

安装PHP 7.2版以及MODX所需的模块。

sudo yum -y install php php-zlib php-mysqli php-curl php-json php-cli php-pear php-gd php-openssl php-xml php-mbstring php-fpm ImageMagick

编辑加载的PHP配置文件。

sudo nano /etc/php.ini

查找以下行。取消注释并设置适当的时区。

date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate time zone

另外,在下一行设置适当的内存限制。设置为-1将为脚本提供无限的可用内存。

memory_limit = -1

接下来,找到以下行,并0取消注释后将其值设置为。

cgi.fix_pathinfo=0

保存文件并打开php-fpm配置文件。

sudo nano /etc/php-fpm.d/www.conf

找到现有的listen = 127.0.0.1:9000,对其进行注释,然后添加新行,如下所示。

;listen = 127.0.0.1:9000
listen = /var/run/php-fpm/php-fpm.sock

另外,如下所示更改用户。

listen.owner = nginx
listen.group = nginx

...

user = nginx
group = nginx

保存文件并启动,php-fpm并使它能够在启动时自动启动。

sudo systemctl restart php-fpm
sudo systemctl enable php-fpm

提供对会话目录的写入权限。

sudo mkdir /var/lib/php/session
sudo chmod -R 777 /var/lib/php/session

现在,继续安装MariaDB。

安装MariaDB

MariaDB是MySQL的分支。将MariaDB存储库添加到您的系统。默认YUM存储库包含旧版本的MariaDB。

echo "[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1" | sudo tee /etc/yum.repos.d/mariadb.repo

安装MariaDB。

sudo yum -y install mariadb mariadb-server

启动MariaDB并使它能够在启动时自动启动。

sudo systemctl start mariadb
sudo systemctl enable mariadb

在配置数据库之前,您需要保护MariaDB安全。

sudo mysql_secure_installation

系统将要求您输入当前的MariaDB根密码。默认情况下,全新的MariaDB安装中没有root密码。按“ Enter”键继续。root为您的MariaDB服务器的用户设置一个强密码,并回答Y所有其他问题。提出的问题是不言自明的。

以root用户身份登录MySQL Shell。

mysql -u root -p

提供MariaDB root用户登录的密码。

运行以下查询以为MODX安装创建数据库和数据库用户。

CREATE DATABASE modx_data CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'modx_user'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON modx_data.* TO 'modx_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

您可以根据自己的选择替换数据库名称modx_data和用户名modx_user。请确保更改StrongPassword为非常安全的密码。

安装MODX

下载MODX zip存档。

wget https://modx.com/download/direct?id=modx-2.6.1-pl.zip -O modx.zip

您始终可以在MODX下载页面上找到该应用程序最新版本的链接。

安装解压缩。

sudo yum -y install unzip

将档案解压缩到Nginx的webroot目录中。

sudo unzip modx.zip -d /usr/share/nginx/

更改目录名称。

cd /usr/share/nginx/
sudo mv modx-*/ modx/

另外,将ht.access文件重命名为.htaccess

sudo mv /usr/share/nginx/modx/ht.access /usr/share/nginx/modx/.htaccess

创建一个会话缓存目录,并将所有权提供给nginx用户。

sudo mkdir /usr/share/nginx/modx/core/cache
sudo chown nginx:nginx /usr/share/nginx/modx/core/cache

最后,创建一个空的配置文件并提供适当的权限。

sudo touch /usr/share/nginx/modx/core/config/config.inc.php
sudo chown -R nginx:nginx /usr/share/nginx/

允许端口80443防火墙上的流量。

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload

创建虚拟主机

要托管您的MODX站点,请创建一个新的虚拟主机。

sudo nano /etc/nginx/conf.d/modx.example.com.conf

填充文件。

server {
        listen 80;
        server_name modx.example.com;
        root /usr/share/nginx/modx;
        index index.php;
        client_max_body_size 30M;
        location / {
                root /usr/share/nginx/modx;
                if (!-e $request_filename) {
                        rewrite ^/(.*)$ /index.php?q=$1 last;
                }
        }
        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(.*)$;
                fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_ignore_client_abort on;
                fastcgi_param  SERVER_NAME $http_host;
        }

        location ~ /\.ht {
                deny  all;
        }
}

测试Nginx Web服务器配置。

sudo nginx -t

您将看到以下输出。

[user@vultr nginx]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

如果您在配置中没有看到错误,请重新启动Nginx,以使新配置生效。

sudo systemctl restart nginx

包起来

在访问安装之前,您将需要通过Web安装程序完成安装。在上访问基于Web的安装http://modx.example.com/setup。您将看到一个用于更改安装语言的界面。

根据您的喜好选择语言,然后在下一页上选择“ New Installation”选项。在下一页上,提供您的MySQL或MariaDB数据库凭据并创建一个新的管理员帐户。最后,单击“ Install”按钮,安装程序会将其数据写入数据库。

至此,您已经准备好从管理仪表板创建网站。



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格式的文件来存储内容,因此您不必

如何在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 年人工智能對醫療保健的影響

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