Cómo instalar el acortador de URL Polr en Ubuntu 20.04

Polr es un acortador de URL gratuito y de código abierto escrito en PHP. Ofrece una interfaz sencilla y fácil de usar para crear y gestionar enlaces. Puedes alojar tu propio acortador de URL, marcar tus URLs y obtener el control de tus datos. Ofrece un montón de funciones, como una sólida API, reenvío de URL, personalización de permisos, temas y mucho más.

En este post, te mostraremos cómo instalar Polr con Apache y Let’s Encrypt SSL en Ubuntu 20.04.

Requisitos previos

  • Un servidor con Ubuntu 20.04.
  • Un nombre de dominio válido apuntado con la IP de tu servidor.
  • Una contraseña de root configurada en el servidor.

Cómo empezar

En primer lugar, actualiza los paquetes del sistema a la versión actualizada ejecutando el siguiente comando:

apt-get update -y

Una vez actualizados todos los paquetes, puedes pasar al siguiente paso.

Instalar Apache, MariaDB y PHP

En primer lugar, tendrás que instalar el servidor Apache, la base de datos MariaDB, PHP y otras extensiones de PHP en tu servidor. Puedes instalarlos todos con el siguiente comando:

apt-get install apache2 mariadb-server php libapache2-mod-php libapache2-mod-wsgi php-gd php-curl php-xml php-xmlrpc php-curl php-imagick php-mbstring php-zip php-intl -y

Una vez instalados todos los paquetes, puedes pasar al siguiente paso.

Crear una base de datos para Polr

Polr utiliza MariaDB/MySQL como base de datos. Así que tendrás que crear una base de datos y un usuario para Polr.

En primer lugar, inicia sesión en MariaDB con el siguiente comando:

mysql

Una vez iniciada la sesión, crea una base de datos y un usuario con el siguiente comando:

MariaDB [(none)]> CREATE DATABASE polrdb;
MariaDB [(none)]> GRANT ALL ON polrdb.* TO 'polr' IDENTIFIED BY 'password';

A continuación, vacía los privilegios y sal del MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Una vez que hayas terminado, puedes pasar al siguiente paso.

Instalar Composer

A continuación, tendrás que instalar Composer en tu servidor para instalar las dependencias de PHP necesarias para Polr.

Ejecuta el siguiente comando para instalar Composer:

curl -sS https://getcomposer.org/installer | php

Deberías obtener la siguiente salida:

All settings correct for using Composer
Downloading...

Composer (version 2.1.3) successfully installed to: /root/composer.phar
Use it: php composer.phar

A continuación, mueve el binario de Composer a la ubicación del sistema utilizando el siguiente comando:

mv composer.phar /usr/local/bin/composer

A continuación, verifica la versión de Composer utilizando el siguiente comando:

composer -V

Deberías ver la siguiente salida:

Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? yes
Composer version 2.1.3 2021-06-09 16:31:20

Instalar Polr

A continuación, tendrás que descargar la última versión de Polr desde el repositorio Git. Puedes descargarla con el siguiente comando:

git clone https://github.com/cydrobolt/polr.git --depth=1 /var/www/html/polr

Una vez completada la descarga, cambia el directorio a Polr e instala todas las dependencias necesarias con el siguiente comando:

cd /var/www/html/polr
composer install --no-dev -o

A continuación, copia el archivo de entorno de ejemplo con el siguiente comando:

cp .env.setup .env

A continuación, establece los permisos adecuados para el directorio Polr con el siguiente comando:

chown -R www-data:www-data /var/www/html/polr
chmod -R 755 /var/www/html/polr

Una vez que hayas terminado, puedes pasar al siguiente paso.

Configurar Apache para Polr

A continuación, tendrás que crear un archivo de configuración del host virtual de Apache para Polr. Puedes crearlo con el siguiente comando:

nano /etc/apache2/sites-available/polr.conf

Añade las siguientes líneas:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/polr/public
ServerName polr.example.com
<Directory /var/www/html/polr/public/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/polr-error_log
CustomLog /var/log/apache2/polr-access_log common
</VirtualHost>

Guarda y cierra el archivo y luego habilita el archivo de host virtual de Apache y el módulo de reescritura con el siguiente comando:

a2enmod rewrite
a2ensite polr.conf

A continuación, reinicia el servicio Apache para aplicar los cambios:

systemctl restart apache2

Ahora puedes verificar el estado del servicio Apache con el siguiente comando:

systemctl status apache2

Deberías obtener la siguiente salida:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2021-06-17 12:09:42 UTC; 16s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 27602 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 27617 (apache2)
      Tasks: 6 (limit: 2353)
     Memory: 26.6M
     CGroup: /system.slice/apache2.service
             ??27617 /usr/sbin/apache2 -k start
             ??27618 /usr/sbin/apache2 -k start
             ??27619 /usr/sbin/apache2 -k start
             ??27620 /usr/sbin/apache2 -k start
             ??27621 /usr/sbin/apache2 -k start
             ??27622 /usr/sbin/apache2 -k start

Jun 17 12:09:42 ubuntu2004 systemd[1]: Starting The Apache HTTP Server...

Accede a la interfaz web de Polr

Ahora puedes acceder a la interfaz web de Polr utilizando la URL http://polr.example.com.

Configuración de la base de datos

Ajustes de la aplicación

Configuración del acortador de URL

Configuración del captcha

Proporciona el nombre de tu base de datos, el nombre de usuario, la contraseña, la configuración de la aplicación, la URL de Polr, el nombre de usuario del administrador, el correo electrónico y la contraseña y haz clic en el botón Instalar. Una vez instalado el Polr, deberías obtener la siguiente pantalla:

Configuración completa

Haz clic en la página de inicio. Deberías ver el panel de control de Polr en la siguiente pantalla:

Acortador de URLs Polr

Asegura Polr con Let’s Encrypt Free SSL

En primer lugar, tendrás que instalar el cliente Certbot Let’s Encrypt para descargar e instalar el certificado SSL para tu dominio.

Puedes instalarlo con el siguiente comando:

apt-get install python3-certbot-apache -y

Una vez instalado, puedes ejecutar el siguiente comando para instalar el certificado Let’s Encrypt para tu dominio polr.example.com.

certbot --apache -d polr.example.com

Durante la instalación, se te pedirá que proporciones tu dirección de correo electrónico y que aceptes las condiciones del servicio, como se muestra a continuación:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for polr.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/polr-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/polr-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/polr-le-ssl.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

A continuación, escribe 2 y pulsa Intro para descargar e instalar un certificado SSL gratuito para tu dominio. Una vez que la instalación se haya completado con éxito. Deberías obtener el siguiente resultado:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/polr.conf to ssl vhost in /etc/apache2/sites-available/
polr-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://polr.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=polr.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Tu sitio web de Polr está ahora protegido con el SSL gratuito de Let’s Encrypt. Puedes acceder a él utilizando la URL https://polr.example.com.

Conclusión

En la guía anterior, has aprendido a instalar Polr con Apache y Let’s Encrypt SSL en un servidor Ubuntu 20.04. Ahora puedes alojar tu propio acortador de enlaces utilizando Polr. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...