如何在Ubuntu 16.04 LAMP VPS上安装Selfoss RSS Reader

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

在本教程中,我们将使用Apache Web服务器,PHP 7.0和MariaDB数据库在Ubuntu 16.04 LAMP VPS上安装Selfoss RSS Reader 2.17。

先决条件

  • 带有SSH访问权限的干净Vultr Ubuntu 16.04服务器实例

步骤1:添加Sudo用户

我们将从添加新sudo用户开始。

首先,以以下身份登录到服务器root

ssh root@YOUR_VULTR_IP_ADDRESS

添加一个新用户user1(或您的首选用户名):

adduser user1

出现提示时,输入安全且难忘的密码。还将提示您输入“全名”和其他一些详细信息,但是您只需按即可将它们保留为空白Enter

现在检查/etc/sudoers文件以确保sudoers启用了该组:

visudo

查找如下部分:

%sudo        ALL=(ALL:ALL)       ALL

此行告诉我们,作为sudo组成员的用户可以使用该sudo命令来获取root特权。默认情况下,它将不加注释,因此您只需退出文件即可。

接下来,我们需要添加user1sudo组中:

usermod -aG sudo 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

编辑该sudo组的部分,使其如下所示:

%sudo   ALL=(ALL) NOPASSWD: ALL

请注意: 不建议对sudo用户禁用密码要求,但此操作已包括在此处,因为它可以使服务器配置更加方便且避免烦恼,尤其是在较长的系统管理会话期间。如果您担心安全隐患,则可以在完成管理任务后始终将配置更改还原为原始更改。

每当您root要从用户帐户中登录该sudo用户帐户时,都可以使用以下命令之一:

sudo -i
sudo su -

您可以随时退出root帐户并返回您的sudo用户帐户:

exit

步骤2:更新Ubuntu 16.04系统

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

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

sudo apt-get update
sudo apt-get -y upgrade

步骤3:安装Apache Web服务器

安装Apache Web服务器:

sudo apt-get -y install apache2 

然后使用以下systemctl命令来启动并使Apache在引导时自动执行:

sudo systemctl enable apache2
sudo systemctl start apache2

检查您的Apache默认站点配置文件,以确保该DocumentRoot指令指向正确的目录:

sudo vi /etc/apache2/sites-enabled/000-default.conf 

DocumentRoot配置选项会是这样的:

DocumentRoot "/var/www/html"

现在,我们需要启用mod_rewriteApache模块,因此请确保您的Apache默认站点配置文件仍处于打开状态,并Directory在结束</VirtualHost>标记之前添加以下Apache指令,以使配置文件的末尾如下所示:

    <Directory /var/www/html/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

上面显示的最重要的指令是AllowOverride All

现在保存并退出该文件,并启用mod_rewritemod_authz_coremod_headersApache模块:

sudo a2enmod rewrite authz_core headers

在本教程的最后,我们将重新启动Apache,但是在安装和配置过程中定期重新启动Apache当然是一个好习惯,所以现在就开始吧:

sudo systemctl restart apache2

步骤4:安装PHP 7.0

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

sudo apt-get -y install php php-gd php-mbstring php-common php-mysql php-imagick php-xml libapache2-mod-php php-curl php-tidy php-zip

步骤5:安装MySQL Server

安装MySQL数据库服务器:

sudo apt-get -y install mysql-server

在MySQL服务器安装过程中,请确保为MySQL root用户输入安全密码。该root用户与rootUbuntu中的用户不同,因为它仅用于以完全特权连接到数据库服务器。

启动并启用MySQL服务器以在引导时自动执行:

sudo systemctl enable mysql
sudo systemctl start mysql    

保护您的MySQL服务器安装:

sudo mysql_secure_installation

出现提示时,输入root在安装过程中为MYSQL 用户创建的密码。只需对其他所有是/否问题回答“是”,因为默认建议是最安全的选择。

步骤6:为Selfoss RSS阅读器创建数据库

root通过运行以下命令以MySQL 用户身份登录MySQL Shell :

sudo mysql -u root -p

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

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

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”替换为实际安全的密码。

步骤7:安装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

移除index.html

sudo rm index.html

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

sudo apt-get -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 www-data:www-data * ./

再次重新启动Apache:

sudo systemctl restart apache2

步骤8:安装并运行Composer

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

sudo apt-get -y install composer

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

cd /var/www/html

使用www-data用户运行作曲家:

sudo -u www-data composer install 

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

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

步骤9:完成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 * * * * www-data cd /var/www/html && php cliupdate.php
    

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

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

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



Leave a Comment

如何在CentOS 7上安装Oxwall

如何在CentOS 7上安装Oxwall

Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,

如何在Ubuntu 16.10上安装Review Board

如何在Ubuntu 16.10上安装Review Board

使用其他系统?Review Board是一个免费且开源的工具,用于检查源代码,文档,图像等。这是基于网络的软件战

如何在Debian 9 LAMP VPS上安装October 1.0 CMS

如何在Debian 9 LAMP VPS上安装October 1.0 CMS

使用其他系统?October 1.0 CMS是基于Laravel框架构建的简单,可靠,免费和开源的内容管理系统(CMS)

如何使用Ubuntu 15.10在Vultr服务器上安装Xubuntu桌面

如何使用Ubuntu 15.10在Vultr服务器上安装Xubuntu桌面

Xubuntu是XFCE + Ubuntu!XFCE是Ubuntu的轻量级GUI /桌面。Vultr服务器需要其他依赖项,默认情况下未安装这些依赖项。

如何在Debian 9上安装Monica

如何在Debian 9上安装Monica

使用其他系统?Monica是一个开源的个人关系管理系统。可以将其视为CRM(销售团队使用的一种流行工具

如何使用SSL和安全密码保护由Nginx驱动的网站

如何使用SSL和安全密码保护由Nginx驱动的网站

简介SSL(代表安全套接字层)及其后续版本TLS(代表传输层安全性)是需要加密的加密协议。

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

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

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

如何在Ubuntu 17.04上安装JuliaLang

如何在Ubuntu 17.04上安装JuliaLang

朱莉娅(Julia)通常称为JuliaLang,是一种用于数值计算的编程语言。Julia的速度和C一样快,但是却不牺牲可读性

在Ubuntu 14.04上安装Ruby on Rails

在Ubuntu 14.04上安装Ruby on Rails

Ruby on Rails(RoR)是用Ruby编程语言编写的框架,可让您将Ruby与HTML,CSS和类似的程序结合使用。

在Fedora 28上安装Anchor CMS

在Fedora 28上安装Anchor CMS

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

将Debian 9升级到Debian 10

将Debian 9升级到Debian 10

简介Debian 10(Buster)是Debian 9(Stretch)的后继产品。它于2019年7月6日发布。在本教程中,我们将升级一个existin

如何管理Linux服务器时区设置

如何管理Linux服务器时区设置

在Linux服务器上正确设置日期和时间非常重要。您的服务器日志和其他重要信息都将反映时区

如何在Ubuntu 16.04上安装Taiga项目管理工具

如何在Ubuntu 16.04上安装Taiga项目管理工具

使用其他系统?Taiga是用于项目管理的免费和开源应用程序。与其他项目管理工具不同,Taiga使用增量

在Ubuntu上配置Nagios:第1部分-Nagios服务器

在Ubuntu上配置Nagios:第1部分-Nagios服务器

本文是有关在Ubuntu 14.04上安装和配置Nagios的2部分系列文章的一部分。第1部分:Nagios服务器第2部分:远程主机概述Nagio

如何访问Vultr VPS

如何访问Vultr VPS

Vultr提供了几种不同的方式来访问VPS以进行配置,安装和使用。访问凭据VPS ar的默认访问凭据

如何在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上设置vsFTPd

如何在CentOS 7上设置vsFTPd

FTP是用于通过Internet传输文件的有用协议,本指南将向您展示如何设置vsFTPd(非常安全的文件传输协议守护程序)o

在Debian / Ubuntu中使用Rsync设置文件镜像

在Debian / Ubuntu中使用Rsync设置文件镜像

简介如果您经营一个重要的网站,则最好将文件镜像到辅助服务器。如果您的主服务器有网络

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

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 機器變磚。閱讀這篇文章以了解更多信息