YOURLs | URL Shortener – Instalação

Os sistemas encurtadores de URL (Uniform Resource Locator – Localizador Uniforme de Recursos) se tornaram bastante populares para, não somente deixar aqueles gigantes endereços (links), como de notícias ou de arquivos compartilhados, menores / mais curtos, mas, também para criar algum tipo de gerenciamento sobre o acesso realizado ao link de destino.

Lá em 2018, com o anúncio de que o URL Shortener do Google seria encerrado, fui até a comunidade de software livre e encontrei o YoURLS (dica do pessoal da KingHost), um sistema gratuito, de código aberto (open source), francês, escrito em PHP, com estatísticas, plugins e API. Mais um daqueles softwares livres que você nem acredita que é gratuito.

Neste artigo, faremos a instalação e configuração do YoURLS, em sua versão 1.8.1, em um servidor Linux Ubuntu 18 LTS Server. Como dito em artigos anteriores, a instalação em outras versões do Ubuntu ou no Debian é muito semelhante, variando apenas as versões (e nomes) de determinados pacotes.

Informações do ambiente

Considerando que o Linux Ubuntu, incluindo os pacotes LAMP Server (Linux, Apache, MySQL / MariaDB e PHP), já esteja instalado em seu ambiente, vamos à instalação e verificação dos pacotes adicionais.

Para verificar as versões dos pacotes, como do PHP e MySQL use os comandos php --version e mysql --version. Caso deseje atualizar todo o sistema operacional, incluindo os pacotes previamente instalados, use o tradicional apt-get update && apt-get upgrade

Caso estes pacotes não estejam instalados, use o comando abaixo para instalar manualmente o Apache (2.4), PHP (7.2) e o MySQL (5.7). Se quiser usar o MariaDB (versão “fork” – opensource – do MySQL) como sistema gerenciador de banco de dados, no lugar do MySQL, altere o “mysql-server” por ” mariadb-server”, no comando abaixo:

apt-get install apache2 php mysql-server

Para a completa configuração do MySQL ou MariaDB, recomenda-se executar o script de segurança padrão, para configurações como de restringir o acesso ao servidor: mysql_secure_installation,

Pacotes necessários para o YoURLS

PHP + Módulos

Use o comando abaixo para instalar os módulos adicionais do PHP necessários para o correto funcionamento do YoURLS:

apt install php-fpm php-cli php-json php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath wget

Fique atento com as informações exibidas pelo sistema, como de pacotes já instalados ou não encontrados. É comum variar o nome / versão dos pacotes, de acordo com o sistema operacional e de sua versão (repositório).

Baixando o YoURLS e seu instalador

Para baixar o YoURLS, diretamente do seu repositório oficial, use o comando abaixo:

wget https://github.com/YOURLS/YOURLS/archive/refs/tags/1.8.1.tar.gz

Descompacte o arquivo e então mova-o para o diretório padrão do Apache:

tar -xzvf 1.8.1.tar.gz
mv YOURLS-1.8.1 yourls
mv yourls /var/www/html/

Ajustes para a instalação do YoURLS

Permissão de diretórios:

Use os comandos abaixo para ajustar a permissão de acesso aos arquivos e diretórios do YoURLS:

sudo chown -R www-data:www-data /var/www/html/yourls/
sudo chmod -R 755 /var/www/html/yourls

Criação da base de dados

Use os comandos baixo para se conectar ao MySQL e então criar uma base de dados para o YoURLS (o procedimento é semelhante caso tenha optado pelo MariaDB):

mysql -u root -p
create database yourls;
GRANT ALL PRIVILEGES ON yourls.* TO yourls@localhost IDENTIFIED BY "Senha-Forte";
flush privileges;
exit;

Configuração do sistema

As configurações do YoURLS de acesso ao banco de dados, URL padrão, credencias de acesso e outras, precisam ser realizadas através da edição do arquivo yourls/user/config.php. Para tanto, execute os comandos abaixo para copiar um arquivo padrão de exemplo e então editá-lo:

cp /var/www/html/yourls/user/config-sample.php /var/www/html/yourls/user/config.php
nano /var/www/html/yourls/user/config.php

Edite os parâmetros de conexão a base de dados e a URL padrão:

Abaixo estão os parâmetros de exemplo, usados neste artigo. Altere-os de acordo com o seu ambiente. Fique atento as informações e alertas presentes no conteúdo deste arquivo, como no uso de caracteres especiais e outros:
/** MySQL database username */

define( ‘YOURLS_DB_USER’, ‘yourls’ );

/** MySQL database password */
define( ‘YOURLS_DB_PASS’, ‘Senha-Forte’ );

/** The name of the database for YOURLS
define( ‘YOURLS_DB_NAME’, ‘yourls’ );

/** MySQL hostname.
define( ‘YOURLS_DB_HOST’, ‘localhost’ );

/** YOURLS installation URL
define( ‘YOURLS_SITE’, ‘http://yourls.scota.local’ ); 

/** Username(s) and password(s) allowed to access the site. 
$yourls_user_passwords = [
‘admin’ => ‘insira-uma-senha-aqui,
 ‘user1’ => ‘insira-uma-senha-aqui’,
];

Sobre a URL de Instalação

Na configuração acima, usei um domínio local (http://yourls.scota.local), já que estamos em um ambiente de testes. Você também poderia usar o endereço IP do seu servidor + o diretório de instalação do YoURLS, como http://192.168.0.1/yourls.

Num ambiente de produção, este endereço será um domínio público, como https://yourls.seudominio.com.br. Usando domínio, você precisa configurar seu servidor de DNS (entrada A), para vincular o domínio ou subdomínio utilizado a um endereço IP, no caso do servidor do YoURLS. Além disso, você precisará criar um virtual host no Apache ou Nginx para responder à solicitação recebida.

Outro ponto bem importante é o de habilitar o SSL no acesso ao sistema. Neste caso, a sugestão é de usar o Let’s Encrypt. Você pode usar como referência o ambiente usado neste post.

Instalação via interface Web

Realizado os ajustes acima, vá ao navegador e acesse a página onde o YoURLS está sendo instalado (definido no parâmetro YOURLS_SITE, na configuração acima – config.php), como http://ip-do-servidor/yourls ou http://yourls.seudominio.com.br  e então clique em Install Yourls, conforme imagem abaixo:
Instalação do YoURLS
Se tudo estiver configurado corretamente, a próxima tela já será a de login na interface de administração do YoURLS, conforme imagem abaixo:
YoURLS – Login na interface de administração
Pronto! O YoURLS já está instalado e operacional. Agora, você já pode criar suas próprias URLs curtas e acompanhar as estatísticas de acesso, como ilustrado na imagem abaixo:

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.