By Arslan Ud Din Shafiq, Alibaba Cloud Tech Share Author. Tech Share is Alibaba Cloud's incentive program to encourage the sharing of technical knowledge and best practices within the cloud community.
Tiny Tiny RSS Reader is an open-source, web-based free application for news feeds reading and aggregation. It uses Ajax for handling server-side requests and is licensed under GNU GPLv3. Tiny Tiny RSS Reader allows you to control your own data instead of depending on any third party. It provides JSON based API for handling various requests. To use Tiny Tiny RSS Reader, you only require a modern browser.
In this tutorial, we will be installing and setting up Tiny Tiny RSS Reader on an Alibaba Cloud Elastic Compute Service (ECS) with Ubuntu 16.04 installed.
Before proceeding with installation of any kind of package, use the following command to update your Ubuntu system. To execute this command, remember to login from non-root user with sudo privileges.
# sudo apt update && sudo apt upgrade
You will need to install unzip which will be used to unzip the compressed zip folder.
# sudo apt-get install unzip -y
Tiny Tiny RSS Reader requires PHP 5.6 or newer. In this tutorial, we will install PHP 7.2. To install PHP 7.2, execute the following steps.
You will need to install python software properties and software properties common.
# sudo apt-get install software-properties-common python-software-properties
Add repository for newer versions of PHP.
# sudo add-apt-repository ppa:ondrej/php
Update the system to refresh the available repositories. To do so, execute the following command.
# sudo apt update
Install PHP 7.2.
# sudo apt install -y php7.2
Tiny Tiny RSS Reader requires the following PHP extensions:
To install the above extensions of PHP, execute the following command.
# sudo apt-get -y install php-gd php-mbstring php-common php-mysql php-imagick php-xml libapache2-mod-php php-curl php-tidy php-zip
When you have completed the installation, apache2 will be installed automatically. Hence, you don't need to install apache explicitly. You can execute the following command to check installed PHP version.
# php --version
Tiny Tiny RSS Reader supports MySQL and PostgreSQL. Only InnoDB database is supported on MySQL. In this tutorial, you will use MariaDB server for MySQL. By default, Ubuntu repository uses an older version of MariaDB server. To use new version of MariaDB, you will need to add MariaDB repository to your Ubuntu system. To do so, follow the steps below.
Verify the keys by executing the following command.
# sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
Add the repository.
# sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.nodesdirect.com/mariadb/repo/10.2/ubuntu xenial main'
Update the system.
# sudo apt update
Install MariaDB.
# sudo apt install -y mariadb-server
Start and enable the MariaDB server to start automatically.
# sudo systemctl start mariadb
# sudo systemctl enable mariadb
Run the following command to enhance security of MariaDB server and set password for the root user.
# sudo mysql_secure_installation
Connect to the MySQL shell as root user using the command below and enter your password.
# sudo mysql -u root -p
Execute the following MySQL queries in your MariaDB server.
CREATE DATABASE tinydb CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'aareez'@'localhost' IDENTIFIED BY '654321Ab';
GRANT ALL PRIVILEGES ON tinydb.* TO 'aareez'@'localhost';
FLUSH PRIVILEGES;
EXIT;
To install Tiny Tiny RSS Reader, you will need to perform the steps.
Navigate to /var/www/html using the command.
# cd /var/www/html
Download the latest stable release of Tiny Tiny RSS Reader.
# sudo wget --content-disposition https://git.tt-rss.org/git/tt-rss/archive/17.4.zip
Remove index.html.
# sudo rm index.html
Unzip the downloaded compressed zip folder tt-rss-17.4.zip
# sudo unzip tt-rss-17.4.zip
Remove tt-rss-17.4.zip.
# sudo rm tt-rss-17.4.zip
Now provide ownership of /var/www/ to www-data so that apache server can access the required files.
# sudo chown -R www-data:www-data /var/www/html
Let's a create virtual host configuration file for Tiny Tiny RSS Reader. Execute the following command, a file will be opened in nano text editor.
# sudo nano /etc/apache2/sites-available/tiny.conf
Copy and Tiny Tiny RSS Reader the following code and save the file.
<VirtualHost *:80>
ServerAdmin admin@xyz.com
ServerName www.softpedia.xyz
DocumentRoot /var/www/html/tt-rss
DirectoryIndex index.php index.htm index.html
<Directory /var/www/html/tt-rss>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/Tiny_error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/Tiny_access.log combined
</VirtualHost>
Execute the command below to disable default site.
# sudo a2dissite 000-default.conf
You will need to enable the newly created virtual host. To do so, execute the command below.
# sudo a2ensite tiny
Now you will need to enable rewrite mod. You can do so by editing the configuration file in apache2 directory or by executing the command below.
# sudo a2enmod rewrite
Now you will need to enable SSL engine. You can do so by editing the configuration file in apache2 directory or by executing the command below.
# sudo a2enmod ssl
Restart apache server to apply the changes and load the settings by executing command below.
# sudo service apache2 restart
You can now access Tiny Tiny RSS Reader via your domain name or ECS IP address. In my case, I have accessed via http://www.softpedia.xyz . Remember to prefix www in URL. You will see the following screen.
Now access the link http://www.your_domain_name.tld/password, you will see the following screen.
Select database type MySQL, set database credentials, hostname and port. After this click "Test Configuration"
After clicking Test Configuration, you will see the following screen.
Now click Initialize Database, you will see the following screen.
Now click Save Configuration. In case of failure, you can copy the generated text and paste it in config.php file. After automatically successful saving of config.php file, you will see the following screen.
Click loading tt-rss now. You will be redirected to following login page.
You can login using default profile:
Username: admin
Password: password
Once you logged in, you must update your password for security purpose. After login, you will see the following screen.
To change password, navigate to Actions -> Preferences -> Users -> admin -> Change Password -> Save
To install SSL certificate using Let's Encrypt, you will use Certbot. To do so, execute the following steps.
Update the package.
# sudo apt-get update
To install software-properties-common, execute the command below.
# sudo apt-get install software-properties-common
Add the certbot repository.
# sudo add-apt-repository ppa:certbot/certbot
Update the package to load the added certbot repository.
# sudo apt-get update
Stop apache before issuance of SSL certificate.
# sudo systemctl stop apache2
Install python-certbot-apache.
# sudo apt-get install python-certbot-apache
Execute the following command to get Let's Encrypt SSL issued.
# sudo certbot --apache -d www.softpedia.xyz
Select option 2 to redirect the link to https and update virtual host settings for SSL.
Now restart apache server.
# sudo systemctl start apache2
You can access your website by visiting https://www.your_domain_name.tld
If you have activated firewalls, you will have to define a rule in Alibaba Cloud security group for your cloud server to add exception for port 80/tcp and 443/tcp. You can enable these ports while creating ECS instance, but in case if you have forgotten to unblock these ports, you can follow the procedure in this guide: https://www.alibabacloud.com/help/doc-detail/25471.htm
Congratulations! You go, you have successfully installed and configured Tiny Tiny RSS Reader on your Alibaba Cloud Elastic Compute Service (ECS) server.
2,599 posts | 762 followers
FollowAlibaba Clouder - January 17, 2019
Alibaba Clouder - December 28, 2018
Alibaba Cloud Native Community - November 16, 2022
Alibaba Clouder - May 25, 2018
Alibaba Clouder - May 16, 2019
Alibaba Clouder - January 9, 2020
2,599 posts | 762 followers
FollowElastic and secure virtual cloud servers to cater all your cloud hosting needs.
Learn MoreLearn More
Cloud-based and lightweight servers that are easy to set up and manage
Learn MoreMore Posts by Alibaba Clouder