如何在Fedora 26 LAMP VPS上安装Selfoss RSS阅读器

Selfoss RSS Reader是一个免费的开放源代码,自托管的基于Web的多功能,实时流,mashup,新闻提要(RSS / Atom)阅读器和通用聚合器。Selfoss RSS Reader具有OPML导入功能,宁静的JSON API,其开放式插件系统使您可以通过编写自己的自定义数据连接器轻松扩展默认功能。您可以使用Selfoss在一个中央位置实时流式传输和收集所有帖子,推文,播客和feed,您可以从任何台式机或移动设备轻松访问它们。

在本教程中,我们将使用Apache Web服务器,PHP 7.1和M​​ariaDB数据库在Fedora 26 LAMP VPS上安装Selfoss RSS Reader 2.17。

先决条件

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

步骤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特权。

编辑完文件后,可以通过按Esc然后输入:wq以“写入”和“退出”文件来保存和退出。

接下来,我们需要添加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:更新Fedora 26系统

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

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

sudo dnf -y update

步骤3:安装Apache Web服务器

安装Apache Web服务器:

sudo dnf -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与Selfoss RSS Reader一起正常使用。

打开文件:

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的安全性增强,它使用户和管理员可以更好地控制访问控制。它在Fedora 26中默认启用,但是对于服务器安全性来说绝对不是必需的,因为许多Linux服务器发行版并未默认安装或启用它。

为了避免后来的Selfoss RSS Reader出现文件许可问题,我们现在暂时禁用SELinux。因此,使用您喜欢的终端编辑器打开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

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

sudo dnf -y install php php-mysqlnd php-mbstring php-gd php-common php-pdo php-pecl-imagick php-xml php-zip

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

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

安装MariaDB数据库服务器:

sudo dnf -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:为Selfoss RSS阅读器创建数据库

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

sudo mysql -u root -p

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

运行以下查询为Selfoss RSS Reader创建MariaDB数据库和数据库用户:

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

如果愿意,您可以根据自己的喜好替换数据库名称selfoss_db和用户名selfoss_user。另外,请确保将“ UltraSecurePassword”替换为实际安全的密码。

步骤9:安装Selfoss RSS阅读器文件

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

cd /var/www/html/

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

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

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

pwd

现在用于wget下载Selfoss RSS Reader安装包:

sudo wget --content-disposition https://github.com/SSilence/selfoss/archive/2.17.zip

请注意: 您绝对应该通过访问Selfoss RSS阅读器下载页面检查最新版本。

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

ls -la

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

sudo dnf -y install unzip

现在解压缩zip存档:

sudo unzip selfoss-2.17.zip

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

sudo mv -v selfoss-2.17/* selfoss-2.17/.* /var/www/html 2>/dev/null

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

sudo chown -R apache:apache * ./

再次重新启动Apache:

sudo systemctl restart httpd

步骤10:安装并运行Composer

Selfoss RSS Reader要求我们使用composer下载一些插件,因此我们进行安装composer

sudo dnf -y install composer

现在确保您位于webroot目录中:

cd /var/www/html

使用apache用户运行作曲家:

sudo -u apache composer install

您将看到一些composer关于无法写入缓存的警告消息,但不要太担心,因为一切仍然可以正常安装。

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

步骤11:完成Selfoss RSS阅读器安装

  1. 我们首先需要config.ini使用正确的数据库设置更新Selfoss RSS Reader配置文件,因此请确保您仍在webroot目录中并复制defaults.iniconfig.ini

    sudo cp -iv defaults.ini config.ini
    
  2. 接下来,打开config.ini配置文件并添加以下数据库值:

    [globals]
    db_type=mysql
    db_host=localhost
    db_database=selfoss_db
    db_username=selfoss_user
    db_password=UltraSecurePassword
    db_port=3306
    
  3. 现在,我们需要向中添加密码哈希config.ini,但是首先我们需要生成它,因此请在浏览器中访问以下URL:

    http://YOUR_VULTR_IP_ADDRESS/password
    

    然后在Password字段中输入所需的密码,然后单击Generate

    只需将生成的哈希值复制到config.ini文件中的password选项,那么password部分现在看起来像这样:

    username=admin
    password=b729a37c34ff9648c33d67de3b289b58b7486dd71236343a6c2c275c2cc0477bd1d254eb92248bfa753169547d4bd2e81c2c9e460ba5bba822af1e87722dd12a
    salt=<long string of random chracters>
    

    注意: 您的密码哈希显然不同于上面显示的哈希,您可以自由选择其他用户名。

  4. config.ini文件中删除所有其他未编辑的选项,以便完整的配置文件看起来类似于此:

    [globals]
    db_type=mysql
    db_host=localhost
    db_database=db1
    db_username=u1
    db_password=usecpass1
    db_port=3306
    username=admin
    password=b729a37c34ff9648c33d67de3b289b58b7486dd71236343a6c2c275c2cc0477bd1d254eb92248bfa753169547d4bd2e81c2c9e460ba5bba822af1e87722dd12a
    salt=<long string of random chracters>
    

    注意: 如果要更改任何defaults.ini选项,只需将它们添加到上面的选项列表中即可。

    完成配置文件的编辑后,可以保存并退出该文件。

  5. 现在,您可以通过访问主页并输入用户名和密码来登录Selfoss RSS Reader:

     http://YOUR_VULTR_IP_ADDRESS/
    
  6. 如果您希望读者自动更新供稿(几乎可以肯定),则需要编辑crontab:

    sudo crontab -e
    

    添加以下行以每小时刷新一次提要:

    0 * * * * apache cd /var/www/html && php cliupdate.php
    

如果尚未配置Vultr DNS设置,则可以使用Vultr DNS控制面板进行配置。

建议您将网站配置为使用SSL,因为当网站未启用SSL并且SSL证书现在免费提供时,大多数现代浏览器都会发出警告。

无论如何,如果您愿意的话,现在您可以自由地开始添加提要并进一步自定义阅读器。



Leave a Comment

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

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

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

在Fedora 28上安装Anchor CMS

在Fedora 28上安装Anchor CMS

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

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

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

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

如何在Fedora 29上安装Attendize

如何在Fedora 29上安装Attendize

使用其他系统?简介Attendize是一个基于Laravel PHP框架的开源门票销售和事件管理平台。Attendiz

如何在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设计人员进行设计

如何在Fedora 28上安装BookStack

如何在Fedora 28上安装BookStack

使用其他系统?BookStack是一个简单的自托管平台,用于组织和存储信息。BookStack是完全免费且开源的,

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

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

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

如何在Fedora 28上安装AWStats

如何在Fedora 28上安装AWStats

AWStats是用于分析Web流量的有用工具。可以通过浏览器访问其HTML界面,从而轻松了解谁在查看您

如何在CentOS 8,Ubuntu 18.04,Debian 10和Fedora 31上安装Golang 1.13

如何在CentOS 8,Ubuntu 18.04,Debian 10和Fedora 31上安装Golang 1.13

Go(也称为Golang)是Google开发的一种静态类型的,类似于C的编程语言。追求简单性和多功能性使其成为b

如何在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)和极简博客引擎

在Fedora 26上安装TaskServer(taskd)

在Fedora 26上安装TaskServer(taskd)

使用其他系统?TaskWarrior是一个开源时间管理工具,它是对Todo.txt应用程序及其克隆的改进。由于

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

使用其他系统?Akaunting是专为小型企业和自由职业者设计的免费,开源和在线会计软件。它是机智建造的

如何在Fedora 29上安装Kanboard

如何在Fedora 29上安装Kanboard

使用其他系统?简介Kanboard是一个免费的开源项目管理软件程序,旨在促进和可视化。

如何在Fedora 28上安装Neos CMS

如何在Fedora 28上安装Neos CMS

使用其他系统?Neos是一个以CMS和应用程序框架为核心的内容应用程序平台。本指南将向您展示如何安装

如何在Fedora 28上安装DokuWiki

如何在Fedora 28上安装DokuWiki

使用其他系统?DokuWiki是用PHP编写的开源Wiki程序,不需要数据库。它将数据存储在文本文件中。德库维克

如何在Fedora 26 LAMP VPS上安装Paste 2.1

如何在Fedora 26 LAMP VPS上安装Paste 2.1

使用其他系统?Paste 2.1是一个简单,灵活,免费和开源的pastebin应用程序,用于存储代码,文本等。最初是

如何在Fedora 26 LAMP VPS上安装Redaxscript 3.2 CMS

如何在Fedora 26 LAMP VPS上安装Redaxscript 3.2 CMS

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

如何在Fedora 30上安装和配置TaskBoard

如何在Fedora 30上安装和配置TaskBoard

使用其他系统?简介TaskBoard是一个免费的开源工具,可以用来跟踪需要完成的事情。它提供

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

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