如何在CentOS 7上安装Neos CMS

Neos是一种创新的开源内容管理系统,非常适合创建和编辑在线内容。考虑到作者和编辑者,Neos提供了直观的编辑界面,结构化的内容存储库,多语言内容准备情况,专业的内容工作流程以及许多更强大的功能,可促进内容创建和管理。

先决条件

步骤1:设置最新的LAMP堆栈

在部署基于Neos 3.2.0的内容站点时,必须先安装最新的LAMP堆栈,然后才能启动并运行该站点。例如,如今,适用于Neos 3.2.0的合格LAMP堆栈将包括:

  • CentOS 7 x64,已更新为最新的稳定状态,
  • Apache 2.4,
  • MariaDB 10.2,utf8_unicode_ci默认情况下使用归类,以及
  • PHP 7.1或至少PHP 7.0。

有许多Vultr Docs可以帮助您设置LAMP堆栈,但是以下是您的信息的命令行历史记录示例。请注意,还将包括针对Neos的特定设置修改。

# Install and configure Apache 2.4.x
sudo yum install httpd -y
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
sudo systemctl start httpd.service
sudo systemctl enable httpd.service

# Install MariaDB 10.2.x
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo yum install MariaDB-server MariaDB-client -y
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

# Secure MariaDB 10.2.x
sudo /usr/bin/mysql_secure_installation
# When prompted, answer questions as below:
# - Enter current password for root (enter for none): Just press the Enter button
# - Set root password? [Y/n]: Y
# - New password: your-MariaDB-root-password
# - Re-enter new password: your-MariaDB-root-password
# - Remove anonymous users? [Y/n]: Y
# - Disallow root login remotely? [Y/n]: Y
# - Remove test database and access to it? [Y/n]: Y
# - Reload privilege tables now? [Y/n]: Y

# Set the default collation of MariaDB as utf8_unicode_ci
cat <<EOF>> /tmp/collation.conf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server=utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server=utf8
EOF
sudo cp /etc/my.cnf /etc/my.cnf.bak
sudo sed -i '/\[client-server\]/r /tmp/collation.conf' /etc/my.cnf
sudo systemctl restart mariadb.service

# Create a MariaDB database for Neos
mysql -u root -p
# For security purposes, be sure to replace "neos", "neosuser", and "yourpassword" with your own ones. 
CREATE DATABASE neos;
CREATE USER 'neosuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON neos.* TO 'neosuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

# Install required PHP 7.1.x packages and configure PHP for Neos
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install -y php71w php71w-mysqlnd php71w-common php71w-cli php71w-xml php71w-mbstring php71w-pecl-imagick php71w-mcrypt php71w-opcache php71w-imap php71w-process php71w-intl
sudo cp /etc/php.ini /etc/php.ini.bak
sudo sed -i 's#;date.timezone =#date.timezone = America/Los_Angeles#' /etc/php.ini
sudo sed -i "s/memory_limit = 128M/memory_limit = 250M/" /etc/php.ini
sudo sed -i '$a\xdebug.max_nesting_level = 500' /etc/php.ini

步骤2:下载并安装Composer

Neos需要Composer PHP依赖关系管理器。您可以使用以下命令在计算机上安装Composer 1.5.2。

注意:将来,您始终可以从其官方下载页面上获得Composer的最新稳定版本。

cd
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer

步骤3:使用Composer安装Neos

借助Composer,您可以将Neos和所有必需的依赖项安装到指定位置。

cd
mkdir neos
cd neos
composer create-project --no-dev neos/neos-base-distribution .

为了便于管理,将所有的Neos文件的/opt目录,然后创建一个从Web根目录的符号链接/var/www/html/opt/neos目录,使所有近地天体文件为Apache提供。

sudo mv ~/neos /opt
sudo chown -R apache:apache /opt/neos
sudo ln -s /opt/neos /var/www/html/neos

为Neos站点设置一个Apache虚拟主机,该主机将指定/var/www/html/neos/Web为Web根目录。

注意:在您自己的计算机上进行部署时,请确保将example以下所有值替换为您自己的值。

cat <<EOF | sudo tee /etc/httpd/conf.d/neos.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/neos/Web
ServerName example.com
ServerAlias neos.example.com
<Directory /var/www/html/neos/Web>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/httpd/example.com-error_log
CustomLog /var/log/httpd/example.com-access_log common
</VirtualHost>
EOF

重新启动Apache以应用所有更新。

sudo systemctl restart httpd.service

步骤4:修改防火墙规则

为了允许访问者访问您的Neos网站,您需要按以下方式修改防火墙规则。

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

步骤5:从Web安装向导继续安装

将您喜欢的Web浏览器指向http://example.com/setup,然后您将进入Neos Web安装向导界面。

Login页面上,需要输入设置密码,然后单击Login按钮,才能进入设置界面。密码存储在/var/www/html/neos/Data/SetupPassword.txt文件中,您可以在终端窗口中键入以下命令来获取密码。

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

为了安全起见,成功登录后将删除此文件。请记住写下密码以供将来参考。

Neos requirements check - Image Manipulation页面上,确保已安装或选择imagickgmagickPHP扩展名,然后单击Next >按钮继续。

Configure database页面上,输入或选择数据库详细信息,如下所示。

  • 数据库驱动程序: MySQL/MariaDB via PDO
  • 数据库用户名: neosuser
  • 数据库密码: yourpassword
  • 数据库主机: 127.0.0.1
  • 数据库名称: neos

确保数据库neos正在使用utf8字符集,然后单击Next >按钮继续。

Create administrator account页面上,输入站点管理员的first namelast nameusername,和password(两次),然后单击Next >按钮继续前进。

Create a new site页面上,作为一个初学者,您可以选择Neos.Demo站点包,然后单击Next >按钮以完成设置。

注意:以后当您熟悉Neos时,可以再次运行Neos Web安装向导在此页面上创建自己的网站包,然后使用新的网站包来构建自定义的Neos网站。

现在,您可以访问Neos站点的前端页面或在Neos站点的后端页面中管理该站点。供您参考,下面列出了有用的链接。

  • 网站前端页面: http://example.com
  • 网站后端页面: http://example.com/neos
  • 网站设置页面: http://example.com/setup

步骤6:安装后指示

在生产环境中部署Neos站点时,还需要将Flow应用程序上下文从Development(默认值)更改为Production,方法是将行插入SetEnv FLOW_CONTEXT Production到Apache虚拟主机配置中,如下所示。

cat <<EOF | sudo tee /etc/httpd/conf.d/neos.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/neos/Web
SetEnv FLOW_CONTEXT Production
ServerName example.com
ServerAlias neos.example.com
<Directory /var/www/html/neos/Web>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/httpd/example.com-error_log
CustomLog /var/log/httpd/example.com-access_log common
</VirtualHost>
EOF

重新启动Apache以应用您的修改。

sudo systemctl restart httpd.service

如果您Neos.demo公开使用站点包创建站点,请确保删除页面Create account上的按钮Try me以防止未经授权的访问。

步骤7(可选):HTTPS通过部署“让我们加密”证书来启用

为了增强Neos站点的安全性,您可以HTTPS通过部署Let's Encrypt证书在站点上启用它。

首先,使用vi文本编辑器在服务器实例上设置FQDN(完全限定域名)。

sudo vi /etc/hosts

在任何现有行之前插入以下行。

203.0.113.1 neos.example.com neos

保存并退出。

:wq!

使用hostname -f命令确认结果如下所示。

neos.example.com

安装Certbot实用程序,该实用程序可以自动部署Let's Encrypt证书并启用HTTPS

sudo yum install -y yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install -y certbot-apache

接下来,使用Certbot实用程序为服务器实例上运行的Apache Web服务器部署一个Let's Encrypt证书。

sudo cp /etc/httpd/conf.d/neos.conf /etc/httpd/conf.d/neos.conf.bak
sudo certbot --apache

在此过程中,请回答问题,如下所示。

Enter email address (used for urgent renewal and security notices): `[email protected]`
Agree Letsencrypt terms of service (A)gree/(Cancel): `A`
Would you be willing to share your email address (Y)es/(N)o: `Y`
Which names would you like to activate HTTPS for? 1: example.com 2:neos.example.com: `1,2`
Whether or not to redirect HTTP traffic to HTTPS, removing HTTP access? 1: No redirect/2: Redirect `2`

HTTP现在,所有连接都将重定向到HTTPS

如下创建一个cron作业,以尝试每天两次在您的计算机上续订“加密加密”证书。

sudo crontab -e

按“ I”进入插入模式,然后输入以下行。

0 1,13 * * * /usr/bin/certbot renew

保存并退出。

:wq!

本教程到此结束。谢谢阅读。



Leave a Comment

如何在Fedora 26 LAMP VPS上安装MODX Revolution

如何在Fedora 26 LAMP VPS上安装MODX Revolution

使用其他系统?MODX Revolution是一种快速,灵活,可扩展,免费和开源的企业级内容管理系统(CMS),由

在OpenBSD 6上设置Ghost Professional发布平台

在OpenBSD 6上设置Ghost Professional发布平台

Ghost是与WordPress竞争的最新,最大的暴发户。主题开发既快速又容易学习,因为Ghost开发人员决定同时使用

如何在Fedora 25上部署Ghost v0.11 LTS

如何在Fedora 25上部署Ghost v0.11 LTS

使用其他系统?Ghost是一个开放源代码博客平台,自201年以来一直在开发人员和普通用户中广受欢迎。

在Ubuntu 16.04 LTS上安装Fork CMS

在Ubuntu 16.04 LTS上安装Fork CMS

使用其他系统?Fork是用PHP编写的开源CMS。Forks源代码托管在GitHub上。本指南将向您展示如何安装Fork CM

如何在Debian 8上部署Ghost v0.11 LTS

如何在Debian 8上部署Ghost v0.11 LTS

使用其他系统?Ghost是一个开放源代码博客平台,自201年以来一直在开发人员和普通用户中广受欢迎。

如何在CentOS 7上安装排字机CMS

如何在CentOS 7上安装排字机CMS

Typesetter是一个用PHP编写的开源CMS,专注于True WYSIWYG编辑和平面文件存储的易用性。在本文中,我们将安装

如何在Debian 9(Stretch)上安装Dotclear

如何在Debian 9(Stretch)上安装Dotclear

使用其他系统?Dotclear是一个非常简单的博客引擎。它是开源的,易于使用。本教程将通过以下方式进行安装

如何在Ubuntu 16.04上使用Virtualmin和Ansible部署多个Wordpress网站

如何在Ubuntu 16.04上使用Virtualmin和Ansible部署多个Wordpress网站

Vultr虚拟服务器的常见用法是托管Wordpress网站。本指南向您展示如何从头开始自动配置虚拟服务器

如何在CentOS 7 LAMP VPS上安装MODX Revolution

如何在CentOS 7 LAMP VPS上安装MODX Revolution

使用其他系统?MODX Revolution是一种快速,灵活,可扩展,免费和开源的企业级内容管理系统(CMS),由

在OpenBSD 6.2上安装WordPress

在OpenBSD 6.2上安装WordPress

简介WordPress是互联网上占主导地位的内容管理系统。它通过动态内容为从博客到复杂网站的一切提供支持

如何在Debian 9 LAMP VPS上安装MODX Revolution

如何在Debian 9 LAMP VPS上安装MODX Revolution

使用其他系统?MODX Revolution是一种快速,灵活,可扩展,免费和开源的企业级内容管理系统(CMS),由

在Fedora 28上安装Fork CMS

在Fedora 28上安装Fork CMS

使用其他系统?Fork是用PHP编写的开源CMS。Forks源代码托管在GitHub上。本指南将向您展示如何安装Fork CM

如何在Ubuntu 16.04上安装Dotclear

如何在Ubuntu 16.04上安装Dotclear

使用其他系统?Dotclear是一个非常简单的博客引擎,已在PHP之上构建。在本教程中,我们将在Ubunt上安装Dotclear

如何在Ubuntu 16.04 LAMP VPS上安装MODX Revolution

如何在Ubuntu 16.04 LAMP VPS上安装MODX Revolution

使用其他系统?MODX Revolution是一种快速,灵活,可扩展,免费和开源的企业级内容管理系统(CMS),由

如何在Ubuntu 16.04上部署Ghost

如何在Ubuntu 16.04上部署Ghost

使用其他系统?自2013年发布以来,Ghost是一个开源博客平台,在开发人员和普通用户中越来越受欢迎。一世

如何在CentOS 7.3上部署Ghost v0.11 LTS

如何在CentOS 7.3上部署Ghost v0.11 LTS

使用其他系统?Ghost是一个开放源代码博客平台,自201年以来一直在开发人员和普通用户中广受欢迎。

在Debian 9上安装Fork CMS

在Debian 9上安装Fork CMS

使用其他系统?Fork是用PHP编写的开源CMS。Forks源代码托管在GitHub上。本指南将向您展示如何安装Fork CM

如何在Debian 8.7上部署Ghost

如何在Debian 8.7上部署Ghost

使用其他系统?自2013年发布以来,Ghost是一个开源博客平台,在开发人员和普通用户中越来越受欢迎。一世

在CentOS 7上创建Jekyll博客

在CentOS 7上创建Jekyll博客

使用其他系统?Jekyll是WordPress的不错替代品。它不需要任何数据库,并且可以使用许多人熟悉的机智语言

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

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