How to Install Superdesk and Superdesk Publisher
We are happy to see that Superdesk Publisher, the next-generation digital publishing platform designed to be a native extension of Superdesk, has started to take off among members of our community.
Interested in trying it out for yourself? Or would you like to have a deeper understanding of how to set up Superdesk Publisher and Superdesk, either separately or together?
We have put together a detailed guide for a stand-alone installation of both products below.
How to Install Superdesk
VPS or dedicated server: min 2GB RAM, 4GB Free space
Ubuntu 16.04 server version installed
Superdesk can be installed using one command line script which can be found here.
Note: If you see the following message:
and then again execute the command:
The above command will install all the required dependencies needed by Superdesk. Once this is done, the Superdesk will run on your server.
You will be able to access it via your browser: http://<ip_or_domain>
The default login credentials will be:
How to Install Superdesk Publisher
Before starting the installation, make sure your server meets all the requirements listed below:
VPS or dedicated server: min 2GB RAM, 4GB Free space with Linux system installed, preferably Ubuntu.
PHP ≥ 7.1 with all the extensions (See here to read more about all extensions).
PostgreSQL ≥ 9.4.
Composer installed globally.
ElasticSearch ≥ 5.4 (version 5.4 or 5.6 preferably).
RabbitMQ ≥ 3.5.
Apache web server ≥ 2.4 or Nginx.
See here to read more about all requirements.
Note: In this guide the Superdesk Publisher will be installed on another server.
Setting up the server/VPS
1. Install ElasticSearch
ElasticSearch v5.6 will be used. Run the following command to install ES:
The ElasticSearch should be running on port 9200. You can run the command:
to find out if everything is working.
2. Install PostgreSQL
The default PostgreSQL user is postgres.
Set the default PostgreSQL user password:
Hit enter, and a prompt to type a new password will show up.
Type \q to exit the postgres console, once you type a new password.
3. Install PHP-FPM 7.2
Let’s install PHP-FPM 7.2 with all the required extensions:
4. Configure PHP-FPM 7.2
5. Install Nginx server
6. Configure Nginx server
7. Install RabbitMQ server
8. Install Supervisor
Completing the Superdesk Publisher installation
The Superdesk Publisher repository can be found on GitHub. From there the source code can be downloaded and the Superdesk Publisher can be installed on your server. Follow the guide below.
Assumed our server has 192.168.0.102 IP address. You can change it to your own IP or domain name. But in this guide we will use 192.168.0.102 IP for Superdesk Publisher instance.
Superdesk instance will run using 192.168.0.101 IP address.
1. Install Composer
2. Download the source code
The default directory where the Publisher source code will be downloaded can be /var/www/publisher and all console commands need to be executed inside that directory starting from now on.
Run commands in your terminal:
Install Superdesk Publisher source code dependencies:
All the source code dependencies will start to install. Once it is done, you will be asked to fill the parameters.yml file which needs to be completed before proceeding.
If you don’t know what to set, simply use default values by hitting “enter” and replace the content of/var/www/publisher/app/config/parameters.yml file with:
To set proper permissions for cache and logs directories, run:
3. Check Requirements
Check if your server meets the requirements by running:
If everything is in order, you should see this message: Your system is ready to run Symfony projects.
4. Create the Database and Update the Schema
Inside /var/www/publisher directory, run the command to create the database:
And populate the database with the schema, run:
5. Create organization:
6. Create tenant:
Where <organization_code> is the organization code generated by the previous command and 192.168.0.102 is your IP/domain name which points to the server where Superdesk Publisher is installed. Replace it with your appropriate data.
7. Install theme:
<tenant_code> is the Tenant’s code generated by previous command. Replace it with the proper value.
Install theme assets:
8. Run supervisor
The Superdesk Publisher should be running and be accessible using your remote server IP, 192.168.0.102 in this case.
9. Clear the cache
How to Configure Superdesk Publisher with Superdesk
Now that the Superdesk and Superdesk Publisher applications are installed, it is possible to enable Superdesk Publisher Component inside the Superdesk UI.
The source code of this component can be found at GitHub.
1. Update Configuration File
Login to the server where Superdesk is installed.
Inside /opt/superdesk/client/dist directory on your server open the config.js and config.<hash>.js (e.g.config.23fr4.js) files and override the content with the text as below:
That’s it! Now, when you log in to Superdesk in the left hamburger menu, you will see the Superdesk Publisher menu item:
2. Configure Subscriber to Publish Content from Superdesk to Superdesk Publisher
You can read more about this here.
Thank you for reading to the end of this post! If you liked what you saw, please give us a pat on the back by starring our project on Github: https://github.com/superdesk/web-publisher.