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
-
TUXEDO Computers Unveils Linux Laptop Featuring AMD Ryzen CPU
This latest release is the first laptop to include the new CPU from Ryzen and Linux preinstalled.
-
XZ Gets the All-Clear
The back door xz vulnerability has been officially reverted for Fedora 40 and versions 38 and 39 were never affected.
-
Canonical Collaborates with Qualcomm on New Venture
This new joint effort is geared toward bringing Ubuntu and Ubuntu Core to Qualcomm-powered devices.
-
Kodi 21.0 Open-Source Entertainment Hub Released
After a year of development, the award-winning Kodi cross-platform, media center software is now available with many new additions and improvements.
-
Linux Usage Increases in Two Key Areas
If market share is your thing, you'll be happy to know that Linux is on the rise in two areas that, if they keep climbing, could have serious meaning for Linux's future.
-
Vulnerability Discovered in xz Libraries
An urgent alert for Fedora 40 has been posted and users should pay attention.
-
Canonical Bumps LTS Support to 12 years
If you're worried that your Ubuntu LTS release won't be supported long enough to last, Canonical has a surprise for you in the form of 12 years of security coverage.
-
Fedora 40 Beta Released Soon
With the official release of Fedora 40 coming in April, it's almost time to download the beta and see what's new.
-
New Pentesting Distribution to Compete with Kali Linux
SnoopGod is now available for your testing needs
-
Juno Computers Launches Another Linux Laptop
If you're looking for a powerhouse laptop that runs Ubuntu, the Juno Computers Neptune 17 v6 should be on your radar.