如何安装和配置Superdesk和Superdesk Publisher

最初发布在Superdesk.org上的帖子

Superdesk Publisher-输出控制

本指南描述了Superdesk Publisher和Superdesk的功能,以及在两个不同服务器上的生产环境中同时运行两个应用程序的必需步骤。 (但是,两个应用程序也都可以在一台计算机上运行。)

为了实际测试该设置,我建议使用DigitalOcean的一种廉价VPS服务器。 通过从此处注册,您将获得10美元的小滴免费信用额。


Superdesk Publisher是面向记者和新闻编辑室的下一代发布平台。 Superdesk Publisher专为当今的数字新闻编辑室而设计,可通过多种渠道提供多媒体内容,从一个编辑控制点提供内容管理和监视。

有关更多信息,请访问https://www.superdesk.org/publisher。


Superdesk是最先进的数字新闻编辑室系统。 它结合了无头CMS功能和强大的工作流程功能,可提供端到端的新闻创建,制作,策展和分发平台。 它与新闻工作者在新闻室中并排构建,具有模块化的,以API为中心的设计,使新闻机构能够添加和调​​整与他们的业务最相关的功能。 Superdesk是基于Web的开放源代码,可轻松与旧系统以及第三方应用程序集成。

有关更多信息,请访问https://superdesk.org。


先决条件:

  • VPS或专用服务器:至少2GB RAM,4GB可用空间
  • 已安装Ubuntu 16.04服务器版本

可以使用一个命令行脚本来安装Superdesk,该脚本可以在以下位置找到:https://github.com/takeit/superdesk-install/blob/master/install。

运行命令:

  sudo apt-get install curl -y && curl -s https://raw.githubusercontent.com/takeit/superdesk-install/master/install | 须藤bash 

注意:如果看到以下消息:

 虚拟环境未成功创建,因为surepip不可用。 在Debian / Ubuntu系统上,您需要安装python3-venv 
使用以下命令打包。apt-get install python3-venv您可能需要在该命令中使用sudo。 安装python3-venv之后
程序包,重新创建虚拟环境。失败命令:['/ opt / superdesk / env / bin / python3','-Im','ensurepip','-upgrade','-default-pip']

跑:

export LC_ALL="en_US.UTF-8" 
export LC_CTYPE="en_US.UTF-8"

然后再次执行命令:

  sudo apt-get install curl -y && curl -s https://raw.githubusercontent.com/takeit/superdesk-install/master/install | 须藤bash 

上面的命令将安装Superdesk所需的所有必需依赖项。 完成此操作后,Superdesk将在您的服务器上运行。

您将可以通过浏览器访问它: http://

默认的登录凭据将是:

 用户名:admin 
密码:admin

先决条件:

  • VPS或专用服务器:至少2GB RAM,4GB装有Linux系统(最好是Ubuntu)的可用空间。
  • PHP≥7.1,带有所有扩展(请参阅此处以了解有关所有扩展的更多信息)。
  • PostgreSQL≥9.4。
  • Memcached。
  • Composer已全局安装。
  • ElasticSearch≥5.4(最好是5.4或5.6版)。
  • RabbitMQ≥3.5。
  • Apache Web服务器≥2.4或Nginx。
  • 请参阅此处以了解有关所有要求的更多信息。

注意:在本指南中,Superdesk Publisher将安装在另一台服务器上。


1.安装ElasticSearch

将使用ElasticSearch v5.6。 运行以下命令以安装ES:

  curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.0.deb && sudo dpkg -i elasticsearch-5.6.0.deb && sudo apt-get -y更新&& sudo apt- get -y install --no-install-recommends openjdk-8-jre-headless && sudo systemctl启用elasticsearch && sudo systemctl重新启动elasticsearch 

ElasticSearch应该在端口9200上运行。 您可以运行以下命令:

  curl -s“ http:// localhost:9200” 

找出是否一切正常。

2.安装PostgreSQL

运行命令:

 须藤apt-get install postgresql postgresql-contrib -y 

缺省的PostgreSQL用户是postgres

设置默认的PostgreSQL用户密码:

 sudo -u postgres psql postgres 
\password postgres

按Enter,将出现提示输入新密码的提示。

输入新密码后,键入\q退出postgres控制台。

3.安装PHP-FPM 7.2

让我们安装具有所有必需扩展的PHP-FPM 7.2:

  sudo apt安装软件属性通用 
须藤LC_ALL = C.UTF-8 add-apt-repository ppa:ondrej / php
sudo apt更新
须藤apt install -y php7.2-fpm php7.2-pgsql php7.2-gd php7.2-xml php7.2-intl php7.2-zip php7.2-mbstring php7.2-curl php7.2-bcmath

4.配置PHP-FPM 7.2

运行命令:

  cd /etc/php/7.2/fpm/pool.d/ && sudo curl -s -O https://gist.githubusercontent.com/takeit/2ee16ee50878eeab01a7ca11b69dec10/raw/e9eda2801ac3657495374fcb846c2ff101a3e070/www.conf && sudo服务php7.2-f重新开始 

5.安装Nginx服务器

运行命令:

 须藤apt-get -y install nginx 

6.配置Nginx服务器

运行命令

  cd / etc / nginx / sites-enabled / && sudo curl -s -O https://gist.githubusercontent.com/takeit/9c895b4d59930a9b550a43a0d26c0e0e/raw/bff973443d244929c8deda70f97b4ae862d9158b/default && sudo服务nginx 

7.安装RabbitMQ服务器

运行命令:

 须藤apt install -y rabbitmq-server 

可以在GitHub上找到Superdesk Publisher存储库。 从那里可以下载源代码,并且可以在服务器上安装Superdesk Publisher。 请遵循以下指南。

假设我们的服务器的IP地址为192.168.0.102 。 您可以将其更改为自己的IP或域名。 但是在本指南中,我们将为Superdesk Publisher实例使用192.168.0.102 IP。

Superdesk实例将使用192.168.0.101 IP地址运行。

1.安装Composer

  cd〜/ 
curl -sS https://getcomposer.org/installer | 的PHP
sudo mv composer.phar / usr / local / bin / composer

2.下载源代码

从此处开始下载Publisher源代码的默认目录可以是/var/www/publisher并且所有控制台命令都需要在该目录内执行。

在终端中运行命令:

  cd / var / www / && sudo git clone https://github.com/superdesk/web-publisher.git发布者 

安装Superdesk Publisher源代码依赖项:

  HTTPDUSER = $(ps axo用户,comm | grep -E'[a] pache | [h] ttpd | [_] www | [w] ww-data | [n] ginx'| grep -v root | head -1 | cut -d \ -f1)&& sudo chown -R“ $ HTTPDUSER”:“ $ HTTPDUSER”发行人/ && cd发行人&& sudo -u www-data SYMFONY_ENV = prod作曲家安装--no-dev --optimize-autoloader 

所有源代码依赖项将开始安装。 完成后,系统将要求您填写parameters.yml文件,然后继续操作。

如果您不知道要设置什么,只需单击“ enter”(输入)即可使用默认值,并将/var/www/publisher/app/config/parameters.yml文件的内容替换为:

要为cachelogs目录设置适当的权限,请运行:

  sudo setfacl -dR -mu:“ $ HTTPDUSER”:rwX -mu:$(whoami):rwX应用程序/缓存应用程序/日志&& sudo setfacl -R -mu:“ $ HTTPDUSER”:rwX -mu:$(whoami): rwX应用程序/缓存应用程序/日志 

3.检查要求

通过运行以下命令检查服务器是否符合要求:

  PHP应用程序/ check.php 

如果一切正常,您应该看到以下消息: Your system is ready to run Symfony projects

4.创建数据库并更新架构

/var/www/publisher目录中,运行命令以创建数据库:

  SYMFONY_ENV =产品php应用程序/控制台学说:数据库:创建 

并用模式填充数据库,运行:

  SYMFONY_ENV =产品php应用程序/控制台学说:migrations:migrate --no-interaction 

5.创建组织:

  SYMFONY_ENV =产品php应用程序/控制台swp:organization:create Publisher 

6.创建租户:

  SYMFONY_ENV =产品php应用程序/控制台swp:tenant:create  192.168.0.102测试 

其中是上一条命令生成的组织代码,而192.168.0.102是您的IP /域名,它指向安装了Superdesk Publisher的服务器。 将其替换为适当的数据。

7.安装主题:

  sudo -u www-data SYMFONY_ENV = prod php应用程序/控制台swp:theme:install  src / SWP / Bundle / FixturesBundle / Resources / themes / DefaultTheme / -f --activate 

是上命令生成的租户代码。 用适当的值替换它。

安装主题资产:

  sudo -u www-data SYMFONY_ENV =产品php应用程序/控制台sylius:theme:assets:install 

8.清除缓存

运行命令:

  SYMFONY_ENV =产品php应用程序/控制台缓存:clear --env = prod 

Superdesk Publisher应该正在运行,并且可以使用远程服务器IP(在这种情况下为192.168.0.102访问。


现在已经安装了Superdesk和Superdesk Publisher应用程序,可以在Superdesk UI中启用Superdesk Publisher组件。

Superdesk Publisher组件是一个JavaScript组件,具有独立的依赖性,可以将其包含在Superdesk中以管理Superdesk Publisher应用程序。

该组件的源代码可以在GitHub上找到。

1.更新配置文件

登录到安装了Superdesk的服务器。

在服务器上的/opt/superdesk/client/dist目录中,打开config.jsconfig..js (例如config.23fr4.js)文件,并使用以下文本覆盖内容:

而已! 现在,当您在左侧汉堡菜单中登录Superdesk时,将看到Publisher菜单项:

2. 配置订阅服务器以将内容从Superdesk发布到Superdesk Publisher

您可以在此处了解更多信息。

感谢您阅读这篇文章的结尾! 如果您喜欢所看到的内容,请在Github上为我们的项目加注星标,以示敬意:https://github.com/superdesk/web-publisher。


如果您喜欢这篇文章,请点击下面的so,以便其他人在中此看到它。