Гид по технологиям

Архивирование, поиск и статистика твитов с ThinkUp

10 min read Инструкции Обновлено 17 Dec 2025
Архив и статистика твитов с ThinkUp
Архив и статистика твитов с ThinkUp

Быстрые ссылки

  • Предварительные требования
  • Sendmail
  • Установка ThinkUp
  • Настройка ThinkUp
  • Автоматический сбор данных (cron)
  • Статистика Twitter
  • Безопасность и резервное копирование
  • Отладка и распространённые ошибки
  • Контрольные списки и критерии приёмки
  • Глоссарий

How to Archive, Search, and View Your Tweet Statistics with ThinkUp

Введение

Заботитесь об архивировании своих твитов? Нужен более мощный поиск или статистика по активности? ThinkUp — это приложение (в бета‑стадии), которое сохраняет все ваши твиты, ответы и упоминания в базе данных, предоставляет поиск и готовые метрики. ThinkUp лучше всего разворачивается на LAMP‑стеке (Linux, Apache, MySQL, PHP). В руководстве используется Ubuntu как наиболее распространённая и простая в настройке платформа.

Коротко о терминах:

  • LAMP — набор серверного ПО: Linux + Apache + MySQL + PHP.
  • Crawler — встроенный процесс ThinkUp, который «ползает» по API Twitter и извлекает данные.

Предварительные требования

ThinkUp всё ещё в активной разработке, поэтому возможны ошибки. Если вы предпочитаете «рабочий» продакшен‑опыт без правок — учтите риск. Для установки вам понадобится:

  • Доступ к Ubuntu/другому Linux с правами sudo.
  • Установленный и работающий Apache, MySQL и PHP (LAMP).
  • Личный MySQL‑пользователь и база данных (права на создание/изменение таблиц для ThinkUp).
  • Рабочая функция отправки почты PHP или альтернативное решение (см. раздел Sendmail).
  • Установленные утилиты cURL и GD (используются PHP‑модулями).

Для установки недостающих пакетов выполните в терминале:

sudo apt-get install curl libcurl3 libcurl3-dev php5-curl php5-gd

Введите пароль и дождитесь завершения. Затем перезапустите Apache:

sudo /etc/init.d/apache2 restart

или

sudo service apache2 restart

00 reqs

Оставьте окно терминала открытым: оно понадобится для правки файлов и выполнения команд.

Sendmail — настройка отправки почты с сервера

Чтобы ThinkUp мог отправлять подтверждение аккаунта и уведомления, PHP должен уметь отправлять письма. Простое решение — установить sendmail:

sudo apt-get install sendmail

Затем укажите путь к sendmail в php.ini:

sudo nano /etc/php5/apache2/php.ini

Найдите строку, похожую на:

;sendmail_path =

Уберите ведущую точку с запятой и укажите путь:

sendmail_path = /usr/sbin/sendmail -t -i

Сохраните (CTRL+O), подтвердите, выйдите (CTRL+X). Перезапустите Apache. После этого функция mail() в PHP должна работать.

Возможные проблемы и решения:

  • Если почта не уходит: проверьте логи /var/log/mail.log и /var/log/syslog.
  • Если сервер находится за NAT или в домашней сети, некоторые провайдеры блокируют исходящий порт 25; рассмотрите настройку внешнего SMTP relay (например, SMTP провайдера) и отправку через msmtp или sSMTP.

Установка ThinkUp

Скачайте архив ThinkUp с GitHub (текущая бета‑версия была 0.8 — проверяйте актуальную версию). Затем распакуйте в веб‑каталог:

sudo unzip path/to/thinkup-0.8.zip -d /var/www

Это создаст каталог /var/www/thinkup.

01 unzip

Откройте в браузере:

http://localhost/thinkup http://your.internalip.address/thinkup

Возможна ошибка доступа из‑за прав на файлы. Исправьте владельца сервера Apache (обычно www-data):

sudo chown -R www-data:www-data /var/www/thinkup

03 chown

Обновите страницу — вы увидите экран установки ThinkUp и список системных требований.

05 all reqs met

Заполните базовые поля: email, пароль, часовой пояс. При установке может потребоваться создать файл конфигурации вручную и выставить права:

08 create config file

В терминале выполните рекомендованные команды для создания и установки владельца файла конфигурации.

После успешной установки ThinkUp отправит письмо для активации аккаунта — перейдите по ссылке в письме, проверьте правильность IP/DNS, и аккаунт будет активирован.

09 activated

Настройка ThinkUp

После первой авторизации добавьте учётную запись Twitter. В разделе Configure the Twitter Plugin зарегистрируйте новое приложение в Twitter Developer (apps.twitter.com). Обратите внимание:

  • Укажите корректный callback URL — если сервер доступен по внешнему IP или домену, используйте именно его; для локального тестирования можно указывать http://localhost/thinkup.
  • Twitter сгенерирует consumer key и consumer secret — сохраните их безопасно.

image

Вставьте полученные ключи в конфигурацию ThinkUp. Нажмите «Show Advanced Options», чтобы увидеть дополнительные настройки пауз и числа ошибок, которые ThinkUp будет терпеть при crawler‑запросах.

image

Увеличение этих значений помогает собирать больше данных за один проход, но увеличивает нагрузку и вероятность блокировок со стороны API. После сохранения нажмите «Authorize ThinkUp on Twitter» и подтвердите доступ в интерфейсе Twitter.

image

Если хотите, сделайте статистику публичной через кнопку «Set to public» — тогда для просмотра статистик не потребуется вход.

13 set to public

Автоматический сбор данных (cron)

ThinkUp предлагает команду для запуска crawler вручную. Чтобы автоматизировать, используйте cron. В терминале:

crontab -e

Выберите редактор (например, nano). Формат строки cron: минуты часы деньмесяца месяц деньнедели команда.

Пример настройки — запуск каждый час на 34‑й минуте:

34 cd /var/www/thinkup/crawler/;export THINKUP_PASSWORD=yourpassword; /usr/bin/phpcrawl.php your@email.com

15 crontab edit

Важно по безопасности: хранение пароля в crontab в виде явного текста — риск. Рекомендации:

  • Создайте wrapper‑скрипт с правами 700 и владельцем www‑data, где пароль берётся из файла с правами 600.
  • Либо используйте системный менеджер секретов или переменные окружения, доступные только нужному пользователю.

Пример безопасного подхода (wrapper /usr/local/bin/thinkup-crawl.sh):

#!/bin/bash
# /usr/local/bin/thinkup-crawl.sh — wrapper для запуска crawler
# Файл /etc/thinkup/thinkup.env должен содержать THINKUP_PASSWORD и EMAIL
. /etc/thinkup/thinkup.env
cd /var/www/thinkup/crawler/
/usr/bin/php crawl.php "$THINKUP_EMAIL"

Установите права и владельца:

sudo mkdir -p /etc/thinkup sudo nano /etc/thinkup/thinkup.env sudo chmod 600 /etc/thinkup/thinkup.env sudo chown root:www-data /etc/thinkup/thinkup.env sudo chmod 750 /usr/local/bin/thinkup-crawl.sh

В crontab для пользователя www‑data укажите:

34 /usr/local/bin/thinkup-crawl.sh

Альтернатива cron: systemd timer (поддерживает более гибкие зависимости и логирование). Если сервер использует systemd, рассмотрите unit + timer вместо crontab.

Дополнительные советы по расписанию:

  • Первичные полные прогоны можно запускать реже (например, раз в час), но для быстрого обновления используйте 15–30 минут, если API‑пределы позволяют.
  • Следите за ограничениями Twitter API; при массовом архивировании уменьшите частоту и включите backoff при ошибках.

14 automate crawler

Метрики и поиск Twitter в ThinkUp

После того как crawler собрал данные, ThinkUp предоставляет подробную панель статистики:

  • Разбивка по клиентам (например, клиентов, с которых были отправлены твиты).
  • Соотношение ответов/реплаев и обычных твитов.
  • Список упоминаний, не являющихся ответами.
  • Полные разговоры (threads) и цепочки ответов.
  • Список ссылок и изображений, встречающихся в ваших твитах.

18 main statistics

17 all mentions

ThinkUp также предоставляет мощный полнотекстовый поиск по всем категориям — используйте фильтры, чтобы быстро найти нужные записи.

image

image

image

Расширенные темы: безопасность и обновления

ThinkUp хранит персональные данные и токены доступа к API — обеспечьте соответствующий уровень защиты.

Рекомендации по безопасности:

  • Устанавливайте SSL/TLS (Let’s Encrypt) для внешнего доступа к ThinkUp — защищает авторизацию и callback URL.
  • Ограничьте доступ к интерфейсу ThinkUp: используйте firewall (ufw), HTTP basic auth на уровне веб‑сервера или VPN для внутреннего доступа.
  • Права на файлы: каталог ThinkUp и файл конфигурации должны принадлежать www‑data и иметь минимальные права (например, 750 для каталогов и 640 для файлов конфигурации).
  • Не храните секреты в общедоступных crontab’ах; используйте защищённые файлы с правами 600.
  • Регулярно обновляйте PHP и ThinkUp версии; следите за пометками безопасности плагинов.

Обновление ThinkUp:

  • Подготавливайте тестовую среду перед обновлением продакшена.
  • Делайте дамп базы данных перед апдейтом (mysqldump).
  • После обновления проверьте лог ошибок Apache и логи ThinkUp.

Резервное копирование и восстановление

Ключевые элементы, которые нужно бэкапить:

  • База данных MySQL (вся база ThinkUp).
  • Папку /var/www/thinkup (настройки, плагины, загруженные файлы).
  • Файлы с секретами (/etc/thinkup/*, если использованы).

Пример регулярного бэкапа базы по cron (раз в день):

# /etc/cron.daily/thinkup-db-backup
#!/bin/bash
BACKUP_DIR=/var/backups/thinkup
mkdir -p "$BACKUP_DIR"
mysqldump -u thinkup_user -p'your_db_password' thinkup_db | gzip > "$BACKUP_DIR/thinkup-$(date +%F).sql.gz"
find "$BACKUP_DIR" -type f -mtime +30 -delete

Храните бэкапы вне сервера (S3/rsync на удалённый сервер) и защищайте доступ к ним.

Конфигурирование Facebook и других плагинов

ThinkUp поддерживает плагины — например, для Facebook. Процесс аналогичен: зарегистрируйте приложение на платформе провайдера (Facebook, Flickr и т.д.), получите ключи/токены и впишите их в настройки ThinkUp. Учитывайте особенности API и ограничения по частоте.

Отладка и распространённые ошибки

  1. Проблема: Apache возвращает ошибку доступа или страницу требований.

    • Проверьте права: sudo chown -R www-data:www-data /var/www/thinkup
    • Проверьте SELinux/AppArmor, если включены.
  2. Проблема: ThinkUp не отправляет почту.

    • Проверьте, работает ли sendmail (или ваш MTA). Отправьте тестовое письмо с командной строки.
    • Проверьте настройки sendmail_path в php.ini и перезапустите Apache.
  3. Проблема: Crawler не получает данные или падает с ошибками API.

    • Проверьте логи crawler: /var/www/thinkup/crawler/logs или системные логи.
    • Убедитесь, что ключи и токены Twitter корректны и привязаны к нужному callback URL.
    • Ограничьте частоту запросов и увеличьте задержки в «Advanced Options» ThinkUp.
  4. Проблема: PHP несовместимости (версия PHP слишком новая/старая).

    • Проверьте требования ThinkUp для версии PHP; при необходимости установите пакет php‑версии, совместимой с ThinkUp.
  5. Проблема: Ошибка подключения к базе данных.

    • Проверьте данные в config.php и права пользователя MySQL.
    • Попробуйте подключиться вручную через mysql -u user -p -h host dbname.

Критерии приёмки

Успешная установка считается при выполнении следующих условий:

  • Веб‑интерфейс ThinkUp доступен и проходит экран требований.
  • Аккаунт активирован через email и можно войти в панель управления.
  • Зарегистрирован Twitter‑плагин и приложение в Twitter авторизовано.
  • Первый прогон crawler успешно извлёк данные (в интерфейсе отображаются записи).
  • Настроен автоматический запуск crawler (cron или systemd timer).
  • Настроены ежедневные бэкапы базы данных и файлов (хранятся вне сервера).

Роли и краткие контрольные списки

Администратор:

  • Установить LAMP, ThinkUp, sendmail.
  • Настроить SSL и firewall.
  • Настроить бэкапы и обновления.

Оператор/DevOps:

  • Настроить cron/systemd timer для crawler.
  • Мониторить логи и размер базы данных.
  • Проводить ротацию бэкапов и следить за дисковым пространством.

Пользователь/аналитик:

  • Подключить аккаунт Twitter.
  • Настроить публичность/доступы.
  • Использовать поиск и отчёты для получения нужных метрик.

Мини‑методология: быстрый план развёртывания (30/60/90)

  • День 1–7: Установка LAMP, ThinkUp, базовая настройка и авторизация Twitter.
  • Неделя 2–4: Настройка cron, бэкапов и первичная индексация; проверка целостности данных.
  • Месяц 2+: Настройка безопасности, SSL, мониторинга, тестирование восстановления из бэкапа.

Частые сценарии, когда ThinkUp может не подойти

  • Если нужна корпоративная, SLA‑гарантированная служба архивации с поддержкой 24/7 — лучше выбирать коммерческие решения.
  • При больших объёмах твитов и интенсивном использовании API понадобится продуманный план хранения и возможно разделение БД и сервиса.

Примеры тестов и критерии приёмки

  • Тест 1: Регистрация приложения в Twitter и получение токенов — успешно, если ThinkUp принимает ключи и перенаправляет на авторизацию.
  • Тест 2: Запуск crawler вручную — успешно, если в интерфейсе появляются новые записи и в логах нет ошибок 4xx/5xx.
  • Тест 3: Восстановление из бэкапа — успешно, если после восстановления интерфейс и данные совпадают с моментом бэкапа.

Безопасность и приватность / GDPR‑заметки

ThinkUp хранит персональные данные (ваши твиты, упоминания, упомянутые аккаунты). Советы:

  • Сообщайте пользователям (друзьям), если вы храните данные, которые их затрагивают.
  • Если вы предоставляете доступ третьим лицам, оформите соглашения и минимизируйте срок хранения чувствительных данных.
  • Удаление данных: обеспечьте процедуру удаления аккаунтов и связанных данных из БД.
  • Для размещения публично в ЕС убедитесь, что вы имеете основания для обработки данных и возможность удаления по запросу.

Краткая галерея ошибок и их решений

  • 403/404 при доступе к ThinkUp: проверьте права, VirtualHost Apache, DocumentRoot.
  • Ошибки cURL/SSL при обращении к API: удостоверьтесь, что CA‑сертификаты установлены (пакет ca-certificates).
  • Ошибки максимального времени выполнения PHP: увеличьте max_execution_time для скриптов crawler при необходимости.

Факты и оценки (факто‑бокс)

  • ThinkUp — локальное решение для архивации и аналитики социальных записей.
  • Плюсы: автономность, приватность, гибкость плагинов.
  • Минусы: требует серверной поддержки, возможны проблемы с обновлением в бете.

1‑строчный глоссарий

  • crawler — служебный процесс ThinkUp, который извлекает записи через API платформы.
  • webhook/callback — URL, на который платформа (Twitter) возвращает управление после авторизации приложения.

Решение при возникновении проблем: быстрый чеклист

  1. Нет доступа к веб‑интерфейсу: права файлов, Apache config, firewall.
  2. Не приходит почта: sendmail/MTA, лог почты, sendmail_path.
  3. Crawler падает: лог crawler, ключи API, лимиты Twitter.
  4. База не подключается: проверка параметров в конфиге, тест соединения через CLI.

Решение выбора: cron vs systemd timer (коротко)

  • Используйте cron для простоты и совместимости.
  • Используйте systemd timer для лучшей интеграции с журналированием и перезапуском при сбоях.

Пример flowchart для принятия решения о развёртывании (Mermaid)

flowchart TD
  A[Нужен локальный архив твитов?] -->|Да| B{Есть LAMP опыт?}
  B -->|Да| C[Установить ThinkUp на Ubuntu]
  B -->|Нет| D[Рассмотреть виртуальную машину / VPS или Docker]
  C --> E{Будет публичный доступ?}
  E -->|Да| F[Настроить SSL, firewall, basic auth]
  E -->|Нет| G[Оставить в локальной сети + VPN]
  D --> C

Итог / Резюме

ThinkUp — удобный инструмент для сохранения и анализа вашей активности в Twitter (и других сервисах при подключении плагинов). Простая базовая установка на Ubuntu требует LAMP‑стека, почтового агента для подтверждений, регистрации приложения в Twitter и настройки cron или systemd для автоматического сбора данных. Обязательно настройте безопасность, шифрование и регулярные бэкапы, особенно если предоставляете доступ другим пользователям.

Краткие рекомендации в конце:

  • Тестируйте обновления в изолированной среде.
  • Настройте безопасное хранение секретов и автоматические бэкапы.
  • Мониторьте логи crawler и API‑лимиты.

ThinkUp предоставляет много функциональности для работы с Twitter и Facebook. После первоначальной настройки вы можете разрешить друзьям создавать аккаунты на вашем сервере и анализировать их данные. ThinkUp помогает фильтровать полезную информацию из загруженной ленты и сохранять ответы на вопросы — удобно при высокой интенсивности твиттера.

00 restart apache 02 thinkup in web browser 04 browser again 06 setting up 09 created config term 10 click setup account

16 editing crontab

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство