Трекер Yourls ваш собственный сокращатель ссылок (URL)
YOURLS (Аббревиатура You Own URL Shortener) - это бесплатная альтернатива сокращению ссылок (URL) с открытым исходным кодом и самостоятельно размещаемым URL-адресом аналогично ТОП 3 сервисов: Как сократить URL ссылку: bit.ly, U.to или To.click.
Отслеживание трафика один из основных факторов продуктивной работы арбитражника, SMM специалиста и даже спамера. Для серьезного уровня работы, как правило, используются функциональные серверные или облачные трекеры, которые отслеживают десятки метрик по входящему трафику и предоставляют инструменты для детальной аналитики. Но они стоят денег и не мало за ежемесячную подписку.
В этой стать представляю вам бесплатный инструмент YOURLS, который может закрыть потребности в отслеживании переходов по вашим ссылкам. YOURLS - это ваш персональный аналог Bitly или u.to. Этот скрипт предназначен для сокращения ссылок, а так же отображает количество кликов, источники переходов и ГЕО пользователей. Это лишь не большая часть функционала обычного трекера, но преимущество YOURLS, как минимум, в том, что за него не нужно платить.
Возможности Yourls: за и против
Yourls инструмент для редиректов будет полезен для тех, кто добывает трафик из мессенджеров (Телеграм, Viber), социальных сетей (Вконтакте, Фейсбук) и других источников.
Плюсы Yourls:
- Не крадет ваш трафик
- 100% бесплатно
- Потрясающая статистика: отчеты о кликах, отслеживание переходов, геолокация посетителей
- Открытый исходный код, в отличие от сервисов сокращения ссылок или трекеров
- Полное управление, в отличие от bitly или аналогов
- Простая установка
- Полная поддержка jsonp
- Вы можете изменить адрес назначения URL позже
- Импорт/экспорт URL-адреса, в отличие от bitly
- Вы можете добавлять пользователей
- Огромный ассортимент бесплатных плагинов:
- Плагины, которые позволяют выбирать из ряда типов перенаправления (например, 301, 302, мета-перенаправление)
- Плагин, который устанавливает запасной URL
- Плагин, который делает URL-адреса нечувствительными к регистру
- Плагин, который добавляет теги ссылок Google Analytics
- Плагин, который скрывает реферала или доставит вас на сервис анонимайзера
Минусы:
- Нет доступных полных резервных копий, но эта проблема автоматически решается хостером.
Как безопасно обновить Yourls
В этом разделе описан процесс обновления скрипта Yourls до последней версии. Если вы только решили установить Yourls читайте пошаговую инструкцию ниже по инсталляции Yourls с нуля.
- Обязательно сделайте резервную копию файлов и базы данных Yourls и сохраните его на какой-то время. Например из консоли Linux
cp -r /var/www/yourlsite/ /var/www/yourlsite.bak.20221029 mysqldump yourlbd > /var/www/yourlsite.bak.20221029/yourlbd.sql
- Скачиваем архив с последней версии по Yourls ссылке https://github.com/YOURLS/YOURLS/releases
wget -c https://github.com/YOURLS/YOURLS/archive/refs/tags/1.9.1.tar.gz
- Распаковываем архив
tar -xzvf 1.9.1.tar.gz
- При помощи клиента FileZilla подключаемся к нашему хостингу и перезаписываем файлы на сайте фалами из распакованного архива. Или в консоли воспользуемся командой
cp -r YOURLS-1.9.1/* /var/www/yourlsite
- Для продолжения обновления переходим по ссылке
https://<имя вашего домена>/admin
При обновлении на версию YOURLS v 1.9.1, после перехода по ссылке - уже все обновлено. Не нужно ничего делать в админке.
И видим ободряющий текст от разработчиков, особенно впечатлило "If everything goes too fast and you cannot read, good for you, let it go :)", что в вольном переводе означает "Если вы не умеете читать - жмите кнопку Обновить"!!!
- Нажимаем кнопку Upgrade, практически сразу должен появиться следующий экран с надписью: Upgrade YOURLS Your installation is now up to date! Go back to the admin interface
- Всё! Обновление закончено, переходим в веб-интерфейс и продолжаем спокойно работать.
Введение: Установка Yourls с нуля
Yourls с нуля на виртуальном хостинге
Устанавливать Yourls будем на виртуальном хостинге с Apache и PHP 7.4, инструкция будет работать с любым тарифным планом из списка проверенных хостингов для сайта.Установка YOURLS осуществляется на ваш сайт и занимает не больше 10-и минут. Файлы скрипта загружаются на хостинг и админка сокращалки устанавливается на сайт/admin.
Требования к серверу Yourls:
- На хоcтинге/сервере должен быть включен mod_rewrite
- cURL если планируете использовать API
ШАГ 1. Настройка домена
Покупаем домен или создаем домен третьего уровня, я создал https://to.dieg.info/. Обязательно устанавливаем бесплатный SSL сертификат. Выбираем PHP 7.4 Все настройки на скриншоте:
ШАГ 2. Создание базы данных
Создаем БД, копируем обе строки в блокнот для дальнейшего использования.
ШАГ 3. Где скачать Yourls
Скачиваем архив последней версии с GitHub. Распаковываем архив и записываем в корень вашего сайта.
ШАГ 4. Настройка конфигурационного файла Yourls
Переименовываем файл user/config-sample.php в user/config.php или делаем копию.
Изменяем параметры в полученном файле config.php: подключение к базе MySQL (из ШАГ 2); указываем свой домен; параметр YOURLS_COOKIEKEY генерируем что-то типо gBaXCvIxLXU9qluEq7c0; меняем часовой пояс на нужный вам в параметреYOURLS_HOURS_OFFSET (я выставил +2).
Логин и пароль для доступа в админку задаются в массиве, замените yourlsadminusername на имя своего пользователя и задайте пароль вместо слова password. Здесь же вы можете добавить одного или более пользователей - раскомментируйте строку ниже и впишите нужные логин и пароль второго пользователя Yourls.
define( 'YOURLS_DB_USER', 'пользователь БД' ); define( 'YOURLS_DB_PASS', 'пароль пользователя БД' ); define( 'YOURLS_DB_NAME', 'имя базы данных' ); define( 'YOURLS_SITE', 'https://твой домен' ); define( 'YOURLS_COOKIEKEY', 'gBaXCvIxLXU9qluEq7c0' ); define( 'YOURLS_HOURS_OFFSET', +2 ); $yourls_user_passwords = array( 'yourlsadminusername' => 'password', // 'username2' => 'password2', // You can have one or more 'login'=>'password' lines );
Ко мне дважды обращались с проблемой подключения Yourls к базе данных, поэтому написал скрипт для независимой проверки подключения к MySQL из PHP mysqli.
ШАГ 5. Инсталляция Yourls + видео
Переходим по адресу
https://<имя вашего домена>/admin
Если все ок, увидим страницу конфигуратор. Нажимаем кнопку "Install YOURLS" и должен получиться такой результат. Если все Ок - поздравляю! Если нет можете написать мне -я подскажу.
Административная панель доступна по адресу
https://<имя вашего домена>/admin
Ниже хорошее видео по инсталляции Yourls, если что-то не понятно из руководства посмотрите его
ШАГ 6. Русификация Yourls
Скачиваем русский перевод для YOURLS.
Установка:
- Загрузите архив и распакуйте его.
- Поместите файлы ru_RU.mo и ru_RU.po в папку user/languages.
- Добавьте define( 'YOURLS_LANG', 'ru_RU' ) в config.php.
- Готово!
ШАГ 7. Дополнительная настройка
- переименовываем sample-robots.txt в robots.txt, нам не нужно чтобы файлы движка индексировались поисковыми системами. Ниже правильный robots.txt для Yourls:
User-agent: * Disallow: /admin Disallow: /css Disallow: /images Disallow: /includes Disallow: /js Disallow: /user
- в корне сайта создаем файл index.html в котором вы можете разместить например рекламу. Любопытные пользователи все равно будут пытаться переходить на ваш домен с сокращалкой, пусть будет дополнительная монетизация.
ШАГ 7.1. Разрешить несколько коротких URL
Если вы занимаетесь партнерским маркетингом, то частенько сталкиваетесь с тем что часть ПП закрывается или становятся не интересными. И казалось, бы достаточно в YOURLS заменить старые ссылки на новые. Но по умолчанию, в YOURLS вы не можете создать две и более коротких ссылок на один длинный URL из партнерской сети.
Но это легко решается установкой параметра YOURLS_UNIQUE_URLS в false в конфигурационном файле config.php, расположенном в директории user.
define( 'YOURLS_UNIQUE_URLS', false );
Разрешить несколько коротких URL-адресов для одного и того же длинного URL-адреса. Установите значение true, чтобы иметь только одну пару коротких и длинных URL-адресов (поведение YOURLS по умолчанию). Установите значение false, чтобы несколько коротких URL-адресов указывали на один и тот же длинный URL-адрес (поведение bit ly)
ШАГ 8. Настройка безопасности Yourls в Apache и Nginx
Вы не хотите облегчать взломщику задачу? Например он взломает и поставить свои ссылки вместо ваших - будет весело.
Apache:
Поэтому в директории /admin создаем файл .htaccess с таким содержимым:
Order Deny,Allow
Deny from all
#Allow from xxx.xxx.xxx.xxx
Allow from xxx.xxx.xxx.xxx
Где вместо xxx.xxx.xxx.xxx подставляем свой личный ip или несколько ip (для этого добавьте строчки Allow from).
Nginx:
location /admin/ { allow xxx.xxx.xxx.xxx; deny all; }
В реальности код выше для Nginx будет запрещать только доступ к директории, но разрешит выполнение php файлов. Если вы хотите возиться с безопасностью nginx для Yourls, то вам следует использовать код ниже (без понимания что он делает не копируйте его себе):
location /admin/ { allow xxx.xxx.xxx.xxx; deny all; } location ~* ^/admin/(index|install|admin-ajax|plugins|tools|upgrade)\.php { allow xxx.xxx.xxx.xxx; deny all; fastcgi_pass 127.0.0.1:9074; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi.conf; }
ШАГ 9. Дополнительные плагины Yourls (опционально)
Действительно плагинов расширяющих возможности Yourls очень много, весь список смотрите на официальном гитхабе проекта. Ниже я привожу список интересных плагинов расширяющих функционал скрипта Yourls.
- Плагин Don't Track Admins проверяет, вошел ли пользователь, запрашивающий ссылку, в систему установки YOURLS. Если да, то он прерывает работу функций отслеживания кликов и регистрации перенаправлений в обработчике перенаправлений YOURLS. То есть ваши личный тестовые переходы учитываться не будут.
- Плагин Yourls-Email-Notify позволяет отсылать вам электронное письмо, когда кто-то щелкнет сокращенную ссылку.
- Плагин YOURLS Import Export позволяет экспортировать ваши ссылки в формат CSV, XML, RSS.
- Плагин YOURLS-IQRCodes создает QR-код для ваше ссылки.
- Плагин YOURLS Plugin: Upload and Shorten позволяет загружать файл на сервер и создавать на него короткую ссылку. Затем Вы можете поделиться этим файлом по его короткой ссылке, а также по его полному URL-адресу.
- Поддержку генератора UTM меток добавляет плагин Yourls Google Analytics Link Tagging.
- Плагин поддержки Google Tag Manager вы можете найти на сайте GTM-for-YOURLS
ШАГ 10. Установка Yourls на несколько доменов
Проблема: По разным причинам, требуется сокращение ссылок для разных доменов или поддоменов с использованием одной установки Yourls. То есть вы хотите чтобы работали ссылки для двух доменов https://your.domain и https://second.your.domain.
Официально Yourls не поддерживает установку на несколько доменов. Но если почитать форумы, то можно найти несколько приемлемых и на первый взгляд работающих решений.
Решение 1. (Я не тестировал этот способ). Использовать запись CNAME в настройке DNS для другого домена или поддомена. То есть достаточно в DNS создать запись second.your.domain CNAME your.domain. Плюсы - это простое решение. Минусы вы не сможете разделить статистку по доменам.
Решение 2. (Я не тестировал этот способ). Это решение известно с 2014 года. И заключается в создании двух виртуальных доменов https://github.com/YOURLS/YOURLS/issues/560#issuecomment-46617669
ШАГ 11. Установка Yourls на VPS/VDS NGINX и PHP-fpm
Предварительные условия:
Это то, что вам нужно, чтобы следовать этому руководству и настроить YOURLS:
- Сервер Ubuntu или Debian (для написания руководства использовалась Ubuntu 22.04 LTS Jammy). Вы можете купить виртуальный сервер у любого из проверенных VPS/VDS хостинг провайдеров, не дороже 2,50 доллара в месяц - этого более чем достаточно, чтобы YOURLS работал хорошо.
- В этом руководстве предполагается, что вы уже позаботились об обслуживании и защите сервера. Здесь вы узнаете, как установить и настроить YOURLS.
- Ubuntu 22.04 LTS по умолчанию PHP версии 8.1, но ещё довольно сырая, поэтому у меня установлен также PHP-FPM версии 7.4. Как установить несколько версии PHP на VPS выходит за рамки этой статьи, но вы может воспользоваться такими руководствами: Hestia CP переключение версии PHP.
- Root-доступ к серверу. Мы будем использовать пользователя root для всего ниже. Если вы используете пользователя без полномочий root, используйте «sudo», где это уместно.
- Iptables настроен и открыты порты 80 и 443
По итогу, у нас в наличии VPS Ubuntu 22.04 LTS Jammy, купленный у абузоустойчивого хостинг провайдера Alexhost, Nginx версии 1.18.0, MariaDB 10 (вы можете установить MySQL - для Yourls все равно), две версии PHP FPM 8.1 и 7.4 (слушает на порту 127.0.0.1:9074). Также VPS поддерживает IPv6.
Для создания SSL сертификатов установим certbot из репозиториев по умолчанию Ubuntu и git:
apt install certbot git
Установим зависимости PHP 7.4 для Yourls:
apt install php7.4-xml php7.4-cli php7.4-zip php7.4-json php7.4-mysql php7.4-gd php7.4-mbstring php7.4-curl php7.4-bcmath
Перезапустим Nginx и php-fpm:
systemctl restart nginx.service php7.4-fpm.service
Создаем базу данных и пользователя:
mysql -u root -p CREATE DATABASE exampledb; GRANT ALL privileges ON exampledb.* TO 'exampledb-user'@'localhost' IDENTIFIED BY 'p@ssw0rd' WITH GRANT OPTION; FLUSH privileges; exit;
Скачиваем дистрибутив, при желании полученную директорию YOURLS можете переименовать, командой mv:
cd /var/www/ git clone https://github.com/YOURLS/YOURLS.git cd YOURLS/
Делаем бэкапа конфигурационного файла и добавляем данные для доступа к базе данных, как в ШАГе 4.
cp user/config-sample.php user/config.php nano user/config.php
Обновляем права доступа к каталогу.
chown -R www-data:www-data /var/www/html
Теперь самое интересное, это настройка виртуального домена в Nginx. Нам нужно настроить Nginx и настроить серверный блок для YOURLS. Создайте файл .conf для YOURLS:
nano /etc/nginx/sites-available/yourls.conf
Рабочий конфигурационный файл, достаточно заменить YOURLS на ваши значения
- yourls.conf
server { listen 80; listen [::]:80; server_name YOURLS; root /var/www/YOURLS; index index.php index.html; access_log /var/log/nginx/YOURLS.access.log; error_log /var/log/nginx/YOURLS.error.log; location / { try_files $uri $uri/ /yourls-loader.php$is_args$args; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9074; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi.conf; } ##### Стандартные настройки для любого хоста location = /robots.txt { access_log off; log_not_found off; } location = /favicon.ico { access_log off; log_not_found off; } # Запрет доступа к скрытым файлам, файлы названия которых начинаются с точки) location ~ /\. { access_log off; log_not_found off; deny all; } #####
Разрешим запуск конфига нашего сайта в Nginx:
ln -s /etc/nginx/sites-available/yourls.conf /etc/nginx/sites-enabled/
Проверяем синтаксис, если все ОК перезапускаем Nginx
nginx -t nginx -s reload
Установим сертификат SSL, запустив команду certbot.
certbot --nginx
Поздравляю! Yourls установлен на чиcтый VPS, без использования панели управления.
Административная панель доступна по адресу
https://<имя вашего домена>/admin
Yourl интеграция с плагином Mihdan: No External Links
Это супер крутая возможность для скрытия ссылок на вашем сайте Wordpress.
Связка Yourl и плагина Mihdan: No External Links как сделать внешние ссылки внутренними:
Сигнатуру берем из админки вашего Yourl по ссылке:
https://<твой домен>/admin/tools.php
Как очистить статистку по кликам
Найти все записи для партнерской программы с именем example:
SELECT * FROM `yourls_log` WHERE `shorturl` = "example"; SELECT * FROM `yourls_log` WHERE `shorturl` LIKE "example%";
Удалить все записи для партнерской программы с именем example:
DELETE FROM `yourls_log` WHERE `shorturl` LIKE "example%";
Обнулить количество кликов для партнерской программы с именем example:
UPDATE `yourls_url` SET `clicks` = '0' WHERE `yourls_url`.`keyword` = 'example';
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!
7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах