ThinkUp keeps track of your social media
Keeping Watch
Community managers, professional marketers, and active social media users want to know the effect their messages have on followers. ThinkUp can help.
Keeping track of what was said, the time of day it was said, and how the audience responded to it can be essential for marketers and community managers, and perhaps mildly interesting to the rest of us.
ThinkUp [1] is a free software platform that collects and culls data from your social media and keeps you informed of what's going on, which messages your followers find interesting, and which are duds.
ThinkUp will tell you, for example, what your most popular posts are in a given period of time, allow you to keep track of whether you are speeding up or slowing down your posts, and advise you of the best moment to post by analyzing the time of day your users react to your tweets or Facebook updates. It does all this by tracking posts and responses across a broad range of social networks, including Twitter, Facebook, Google+, Foursquare, YouTube, and more (Figure 1).
Installation
ThinkUp is most likely not available in your distro's repositories. That said, as a PHP application, it is not too hard to install (no configuring, linking, and compiling). As usual, I'll be using a clean Debian install to start with the cleanest slate possible.
And, as usual, you first have to install Git, as follows,
$ su # apt-get update # apt-get install git
to grab the latest version from the GitHub repo:
$ git clone https://github.com/ginatrapani/ThinkUp.git
Once downloaded, the first step of the installation consists of copying the contents of the ThinkUp/webapp/
directory to the location your web server expects it. In our lab, I use Debian and Apache, so I copied the file to /var/www/thinkup/
:
# mkdir /var/www/thinkup # cp -Rv ThinkUp/webapp/* /var/www/thinkup/
You will need a typical LAMP setup for things to work. Because I assume you are already using Linux and have installed Apache, you now have to install an instance of the MySQL database engine and the PHP module for Apache:
# apt-get install mysql-server mysql-common php5 php5-mysql
You will also want to install sendmail
# apt-get install sendmail sendmail-base sendmail-bin sendmail-cf sensible-mda rmail
because ThinkUp needs it later to send email to its users.
Configuration
If you now visit http://yourserver.com/thinkup, you should see something like Figure 2. ThinkUp needs read/write access to all files and subdirectories under the thinkup/
directory, which means passing ownership over to the user that runs your server.
You can find out who owns the running instance(s) of your server with:
$ ps aux | grep [server]
For example, running Apache on Debian, you'll get something like Listing 1. This tells you that the user you are looking for is www-data.
Listing 1
Running Apache on Debian
To change ownership, it's just a matter of using chown
:
# chown -R www-data:www-data /var/www/thinkup/
Reloading the page will tell you that you have to install ThinkUp. Click on the Installing ThinkUp link to proceed.
In the next screen, ThinkUp shows the packages you're missing (Figure 3). Here, it's the PHP5 library for the file transfer tool cURL and the PHP GD graphics library. On Debian, you install them with:
# apt-get install php5-curl php5-gd
Reloading again shows you the ThinkUp configuration screen (Figure 4). In the top half of the screen, you set up the admin account and, at the bottom, the database. Before you do that, though, you have to create an empty MySQL database and a MySQL user who has all the privileges for said database.
The easiest way is probably using PHPMySQLAdmin, installable with:
# apt-get install phpmyadmin
The Debian install process will also help you set up a root account correctly for MySQL, which is always a good idea. Once installed, visit http://yourserver.com/phpmyadmin, and log in and choose the Privileges tab. Now, click on Add new user and name it thinkup, then set the Server box to localhost and set a password.
Scrolling down and selecting the Create database with the same name and grant all privileges radio button creates the user and database you need all at once.
If you can only access your MySQL instance from the command line, you will have to create the thinkup
database, then the thinkup
user, and finally grant privileges in three separate steps, as shown in Listing 2. Now you are ready to configure the database part of the ThinkUp configuration screen.
Listing 2
Setting Up the Think Databases
Use localhost in the Database host field, thinkup in the Database name and User name fields, and the password you set in the Password field. Hit Set It Up.
Here's where sendmail
comes in useful. If you have installed sendmail, ThinkUp will send you an email with an activation link you can click and use to log in. If you don't get it, there's something wrong with your sendmail installation. It is beyond the scope of this article to troubleshoot sendmail, but you will find your lost message, along with the activation link, in /var/mail/www-data
– that is, if you are using Debian Wheezy – or a similar location.
Once activated (Figure 5) you can try to log in. I say try, because the current ThinkUp version seems to have an undocumented bug that, regardless of what you write in the login text boxes, always dumps you back at the login screen. Apparently this is solved "updating migrations on your dataset."
To do this, enter the root directory of your ThinkUp setup. (If you have been following this article, that will be /var/www/thinkup
.) Then, as root enter:
# cd install/cli/ # php upgrade.php --with-new-sql
You should now be able to log in to your ThinkUp site.
Getting ThinkUp is only the first step of the installation/configuration process. Now you have to hook up the site so it starts culling information from your social networks. Note that for everything to work, ThinkUp must be available from the web. If you are behind a firewall, you will have to open a tunnel to your site.
ThinkUp connects to your social networks via plugins. Click on the down-pointing arrow in the upper left-hand corner of the screen to drop down a short menu and select Settings (Figure 6).
ThinkUp was originally designed to cull information from Twitter, so I'll configure that first by clicking on the Configure button next to the Twitter plugin (Figure 7). The Twitter setup is elementary: Click on the link, fill in the fields with ThinkUp's suggestions, and get a Consumer key and a Consumer secret code so ThinkUp's crawler can access your account data.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Rhino Linux Announces Latest "Quick Update"
If you prefer your Linux distribution to be of the rolling type, Rhino Linux delivers a beautiful and reliable experience.
-
Plasma Desktop Will Soon Ask for Donations
The next iteration of Plasma has reached the soft feature freeze for the 6.2 version and includes a feature that could be divisive.
-
Linux Market Share Hits New High
For the first time, the Linux market share has reached a new high for desktops, and the trend looks like it will continue.
-
LibreOffice 24.8 Delivers New Features
LibreOffice is often considered the de facto standard office suite for the Linux operating system.
-
Deepin 23 Offers Wayland Support and New AI Tool
Deepin has been considered one of the most beautiful desktop operating systems for a long time and the arrival of version 23 has bolstered that reputation.
-
CachyOS Adds Support for System76's COSMIC Desktop
The August 2024 release of CachyOS includes support for the COSMIC desktop as well as some important bits for video.
-
Linux Foundation Adopts OMI to Foster Ethical LLMs
The Open Model Initiative hopes to create community LLMs that rival proprietary models but avoid restrictive licensing that limits usage.
-
Ubuntu 24.10 to Include the Latest Linux Kernel
Ubuntu users have grown accustomed to their favorite distribution shipping with a kernel that's not quite as up-to-date as other distros but that changes with 24.10.
-
Plasma Desktop 6.1.4 Release Includes Improvements and Bug Fixes
The latest release from the KDE team improves the KWin window and composite managers and plenty of fixes.
-
Manjaro Team Tests Immutable Version of its Arch-Based Distribution
If you're a fan of immutable operating systems, you'll be thrilled to know that the Manjaro team is working on an immutable spin that is now available for testing.