如何在 Debian 11 上安装 Neos CMS

如何在 Debian 11 上安装 Neos CMS

Neos 是一个免费和开源的内容管理系统,具有直观的编辑、完全的国际化、最大的灵活性,并且易于与 3rd 方系统集成。

Neos 是一种内置自定义内容建模的企业内容管理,它提供了一种编辑和管理内容的有效方法、自动重定向和 SEO 元数据等 SEO 优化以及强大的角色和用户管理。

在本教程中,我们将探讨如何在 Debian 11 服务器上安装最新版本的 Neos CMS。 对于此示例,我们将使用 MariaDB 数据库服务器、PHP 8.1 和 Apache2 Web 服务器设置 Neos CMS。

先决条件

要遵循本教程,您将需要具有非 root 用户和 sudo/administrator 权限的 Debian 11 服务器,并启用 UFW 防火墙。 此外,您需要一个指向您的 Debian 服务器 IP 地址的域名,尤其是在您为生产安装 Neos CMS 时。

安装 Apache2 Web 服务器

Neos CMS 可以在多个 Web 服务器上运行,对于此演示,您将使用 Apache2 Web 服务器。

在开始安装软件包之前,请运行以下 apt 命令来更新和刷新您的 Debian 存储库。

sudo apt update

然后,使用下面的命令 apt 安装 Apache2 Web 服务器。 系统将要求您确认安装。 按 y 和 ENTER 继续安装。

sudo apt install apache2

安装 apache2

Apache2 安装完成后,通过下面的 systemcl 命令检查并验证“apache2”服务。

sudo systemctl is-enabled apache2
sudo systemctl status apache2

您将看到“apache2”的输出已启用,并将在启动时自动运行。 并且“apache2”服务的状态正在运行。

检查apache2

最后,打开 Debian 服务器上的 HTTP 和 HTTPS 端口,并通过下面的 ufw 命令允许流量进入。 ufw 应用程序配置文件“WWW Full”将允许访问 HTTP 和 HTTPS 端口。

sudo ufw allow "WWW Full"
sudo ufw status

您将看到 UFW 防火墙当前状态的输出是活动的以及端口列表和启用的应用程序配置文件。

设置 ufw

安装 MariaDB 数据库服务器

Neos CMS 支持两个数据库,MariaDB 和 PostgreSQL。 在本例中,您将使用 MariaDB 数据库服务器运行 Neos CMS。 在撰写本文时,当前的 Neos CMS 至少需要 MariaDB 10.2.2。

运行以下 apt 命令在您的 Debian 服务器上安装 MariaDB。 Debian 存储库上的默认 MariaDB 版本是 MariaDB 10.5,它与 Neos CMS 安装兼容。

sudo apt install mariadb-server

当提示确认过程时,输入 y 和 ENTER 继续安装。

安装 mariadb

安装 MariaDB 后,检查 MariaDB 服务并通过 systemctl 命令验证该服务正在运行,如下所示。

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

您将看到 MariaDB 服务的输出已启用,这意味着它将在系统启动时自动运行。 并且 MariaDB 服务的当前状态是 running.Advertisement.banner-1{text-align:center;padding-top:10px!important;padding-bottom:10px!important;padding-left:0!important;padding-right :0!important;width:100%!important;box-sizing:border-box!important;background-color:#eee!important;outline:1px solid #dfdfdf;min-height:125px!important}

检查玛丽亚数据库

最后,您需要保护您的 MariaDB 服务器安装。 为此,您可以使用默认包含在 MariaDB 包中的脚本“mysql_secure_installation”。

运行以下命令“mysql_secure_installation”。

sudo mysql_secure_installation

将逐步指导您保护 MariaDB 服务器安装。 此过程包括 MariaDB 根密码的配置。 因此,请务必为您的 MariaDB 服务器安装使用强密码。

在接下来的提示中,将询问您有关配置,例如删除默认匿名用户、不允许 root 用户远程登录、删除默认数据库测试和重新加载表权限。 为所有这些提示输入 Y,然后按 ENTER 继续。

设置 MariaDB 数据库和用户

安装并保护 MariaDB 服务器后,您将为 Neos CMS 安装创建一个新的 MariaDB 数据库和用户。 为此,您必须登录 MariaDB shell。

运行下面的 mysql 命令,通过默认用户 root 登录 MariaDB shell。 当提示输入密码时,输入您的 MariaDB 根密码。

sudo mysql -u root -p

现在,运行以下查询为 Neos CMS 创建一个新的数据库和用户。 在以下查询中,您将创建数据库 neosdb,即 MariaDB 用户 [email protected].

请务必更换密码 [email protected] 具有强密码的用户。

CREATE DATABASE neosdb;
CREATE USER [email protected];
GRANT ALL PRIVILEGES ON neosdb.* TO [email protected] IDENTIFIED BY 'Password';
FLUSH PRIVILEGES;

创建数据库

之后,运行以下查询以验证 [email protected] 用户。

SHOW GRANTS FOR [email protected];

如果您的数据库和用户配置正确,您将看到 [email protected] 用户拥有数据库 neosdb 的权限。

检查用户权限

最后,输入以下查询以从 MariaDB shell 中注销。

quit

安装 PHP 8.1 包

现在您将安装 PHP 包到您的 Debian 服务器。 最新版本的 Neos CMS 至少需要 PHP 7.3,对于本示例,您将从第三方存储库安装 PHP 8.1。

在下表中,您可以看到最新版本的 Neos CMS v8 需要 PHP 8.0 或 8.1。

Neos version    Flow version    compatible PHP version
-------------------------------------------------------
4.3             5.3             7.1 - 7.4*
5.x             6.x             7.2 - 7.4
7.x             7.x             7.3 - 7.4 / 8.0 - 8.1
8.x             8.x             8.0 - 8.1

在安装 PHP 之前,运行以下 apt 命令来安装一些用于管理第三方存储库的基本包。 在提示确认安装时输入 Y,然后按 ENTER 继续。

sudo apt install ca-certificates apt-transport-https software-properties-common wget curl lsb-release

现在,运行以下命令将 PHP 8.x 的存储库添加到您的 Debian 服务器。 这个存储库为 Debian 系统提供了多个版本的 PHP 包。

curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x

在此过程中,您将看到如下输出:

添加 php 存储库

接下来,使用以下 apt 命令安装 PHP 8.1 软件包。 这些命令将为 Neos CMS 使用的图像处理安装一些 PHP 扩展和附加包,例如 ImageMagick。

sudo apt install php8.1 php8.1-cli php8.1-common php8.1-imap php8.1-redis php8.1-snmp php8.1-xml php8.1-zip php8.1-imagick php8.1-mbstring php8.1-curl libapache2-mod-php php8.1-mysql imagemagick

当要求确认安装时输入 Y,然后按 ENTER 继续。

安装 php 8.1

PHP 安装完成后,使用 nano 编辑器打开文件 ‘/etc/php/8.1/apache2/php.ini’。

sudo nano /etc/php/8.1/apache2/php.ini

更改默认配置如下。

date.timezone = Europe/Stockholm

完成后保存文件并退出编辑器。

最后,运行以下命令重新启动 Apache2 服务并将新的更改应用于 PHP 配置。

sudo systemctl restart apache2

安装作曲家

Composer 是 PHP 包的包管理工具。 您将在您的 Debian 服务器上安装 Composer,它将用于为 Neos CMS 安装 PHP 依赖项。

运行以下命令在 Debian 系统上安装 Composer。 此命令将下载 Composer 安装程序脚本,然后运行它。 Composer 的目标安装目录是 /usr/bin,文件名为 composer。

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer

安装作曲家

现在,使用以下命令验证 Composer 安装。

sudo -u www-data composer -v

您将看到安装在 Debian 系统上的 Composer 版本的输出。

检查作曲家

安装 Neos Base Distribution

至此,您已经完成了 Neos CMS 包依赖项的安装,包括 Apache2 Web 服务器、MariaDB 数据库服务器、PHP 8.1 和 PHP Composer。

现在,您将下载 Neos CMS 源代码并通过 Composer 命令安装 PHP 包依赖项。

运行以下 git 命令将 Neos CMS 源代码下载到目录 /var/www/neos。

git clone https://github.com/neos/neos-base-distribution.git /var/www/neos

接下来,移动到目录 /var/www/neos 并运行 composer 命令为 Neos CMS 安装 PHP 依赖项。

cd /var/www/neos
composer install

PHP 依赖项安装完成后,运行以下命令将 /var/www/neos 目录的所有权和权限更改为 www-data 用户。

sudo ./flow core:setfilepermissions www-data www-data

安装了 Neos CMS 源代码和 PHP 依赖项后,您就可以继续为您的安装创建 Apache2 虚拟主机配置了。

设置 Apache2 虚拟主机

如果您在生产环境中运行 Neos CMS,请确保您的域名指向您的 Debian 服务器 IP 地址。 此外,请确保您已为您的域安装生成 SSL 证书。

在创建 Apache 虚拟主机配置之前,运行以下命令以启用 Apache2 模块 mod_ssl 和 mod_rewrite。

sudo a2enmod ssl rewrite

现在,使用以下 nano 编辑器创建一个新的虚拟主机配置文件“/etc/apache2/sites-available/neos.conf”。

sudo nano /etc/apache2/sites-available/neos.conf

用你的域名改域名,用你的路径改SSL证书的路径。 然后,将配置粘贴到文件中。



    ServerName hwdomain.io
    ServerAdmin [email protected]

    # Redirect Requests to SSL
    Redirect permanent "/" "https://hwdomain.io/"

    ErrorLog ${APACHE_LOG_DIR}/hwdomain.io.error.log
    CustomLog ${APACHE_LOG_DIR}/hwdomain.io.access.log combined





   

        ServerName hwdomain.io
        ServerAdmin [email protected]

        #SetEnv FLOW_CONTEXT Production
        DocumentRoot /var/www/neos/Web

        # Add security
        php_flag register_globals off

        ErrorLog ${APACHE_LOG_DIR}/hwdomain.io.error.log
        CustomLog ${APACHE_LOG_DIR}/hwdomain.io.access.log combined

        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/hwdomain.io/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/hwdomain.io/privkey.pem

       
                AllowOverride All
       


       
            RewriteEngine on
            RewriteBase /
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*) index.php [PT,L]
       


   


完成后保存文件并退出编辑器。

接下来,使用以下命令激活虚拟主机配置“neos.conf”。 然后,验证 Apache2 配置文件。

sudo a2ensite neos.conf
sudo apachectl configtest

如果您有正确的 Apche2 配置文件,您将看到诸如“Syntax OK”之类的输出。

最后,通过 systemctl 命令重新启动“apache2”服务以应用新的更改,如下所示。

sudo systemctl restart apache2

配置 Neos CMS 安装

要开始配置 Neos CMS 安装,请打开您的 Web 浏览器并访问您的 Neos CMS 安装的域名(即:https://hwdomain.io/)。

首先,您将看到来自 Neos 的欢迎信息。 单击“Go to setup”开始配置 Neos CMS。

设置neos

Neos CMS 初始化将开始。

Neos 初始化

要启动 Neos CMS 配置,系统会要求您输入设置密码。

返回您的终端服务器并运行以下命令以显示 Neos CMS 的设置密码。

cat /var/www/neos/Data/SetupPassword.txt

密码设置neos

复制生成的设置密码并将其粘贴到 Neos 设置页面。 然后,单击“登录”。

登录设置

现在您将看到 Neos 需求检查的页面。 确保安装了其中一种图像处理。 然后,单击“下一步”。

在本例中,我们使用图像处理 ImageMagick,并安装了 php-imagick 和 ImageMagick 包。

需求检查

对于数据库配置,输入数据库用户名、密码和主机。 然后,选择用于 Neos CMS 安装的数据库。 之后,单击“下一步”继续进行下一个配置。

数据库配置

现在单击详细信息新管理员用户和密码、名字和姓氏。 然后,单击“下一步”。

创建管理员用户

对于新的 Neos 站点配置,在站点包中选择“Neos.Demo”并在站点名称配置中输入您的 Neos CMS 安装的域名。

单击“下一步”继续安装。

站点配置

Neos CMS 安装和配置完成后,您将看到以下页面。

安装成功

单击“转到前端”按钮以获取 Neos CMS 安装的默认主页。 或者您可以单击“转到后端”以获取 Neos CMS 管理仪表板。

下面是带有“Neos.Demo”站点包的 Neos CMS 安装的默认主页。

Neos 主页

当您单击“转到后端”按钮时,您将被重定向到 Neos CMS 登录页面。 输入您的 Neos CMS 安装用户和密码,然后单击“登录”。

登录

如果您的 neos CMS 的用户名和密码正确,您将看到 Neos CMS 的管理仪表板。

新仪表板

结论

在本指南中,您已在 Debian 11 服务器上安装了带有 Apache2 Web 服务器、MariaDB 数据库服务器和 PHP 8.1 的 Neos CMS。 此外,您还学习了安装 PHP Composer 以安装 PHP 包依赖项。 您还为启用了安全 SSL 的 Neos CMS 创建了 Apache 虚拟主机配置。

Neos CMS 是下一代 CMS,可灵活用于不同类型的使用。 您现在可以立即开始使用 Neos CMS 管理您的内容并发布您的网站。

资讯来源:由0x资讯编译自HOWTOFORGE,版权归作者所有,未经许可,不得转载
你可能还喜欢