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

Configuración de base de datos

Polr es un acortador de URL gratuito y de código abierto escrito en PHP. Proporciona una interfaz simple y fácil de usar para crear y administrar enlaces. Puede alojar su propio acortador de URL, marcar sus URL y obtener control sobre sus datos. Proporciona un montón de características que incluyen una API robusta, reenvío de URL, permisos personalizados, temas y más.

En esta publicaci√≥n, le 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 su servidor.
  • Una contrase√Īa de root est√° configurada en el servidor.

Empezando

Primero, actualice los paquetes del sistema a la versión actualizada ejecutando el siguiente comando:

apt-get update -y

Una vez que todos los paquetes estén actualizados, puede continuar con el siguiente paso.

Instale Apache, MariaDB y PHP

Primero, deber√° instalar el servidor Apache, la base de datos MariaDB, PHP y otras extensiones de PHP en su servidor. Puede 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 que todos los paquetes estén instalados, puede continuar con el siguiente paso.

Crear una base de datos para Polr

Polr usa MariaDB/MySQL como base de datos. Por lo tanto, deber√° crear una base de datos y un usuario para Polr.

Primero, inicie sesión en MariaDB con el siguiente comando:

mysql

Una vez que inicie sesión, cree 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, elimine los privilegios y salga de MariaDB con el siguiente comando:

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

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar compositor

A continuación, deberá instalar Composer en su servidor para instalar las dependencias de PHP necesarias para Polr.

Ejecute el siguiente comando para instalar Composer:

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

Deberías obtener el siguiente resultado:

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, mueva el binario de Composer a la ubicación del sistema con el siguiente comando:

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

A continuación, verifique la versión de Composer con el siguiente comando:

composer -V

Debería ver el siguiente resultado:

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, deber√° descargar la √ļltima versi√≥n de Polr del repositorio de Git. Puedes descargarlo con el siguiente comando:

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

Una vez que se complete la descarga, cambie el directorio a Polr e instale todas las dependencias requeridas con el siguiente comando:

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

A continuación, copie el archivo de entorno de muestra con el siguiente comando: Publicidad

cp .env.setup .env

A continuación, establezca el permiso adecuado 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 haya terminado, puede continuar con el siguiente paso.

Configurar Apache para Polr

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

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

Agregue 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>

Guarde y cierre el archivo, luego habilite el archivo de host virtual de Apache y reescriba el módulo con el siguiente comando:

a2enmod rewrite
a2ensite polr.conf

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

systemctl restart apache2

Ahora puede verificar el estado del servicio Apache usando el siguiente comando:

systemctl status apache2

Deberías obtener el siguiente resultado:

? 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...

Acceder a la interfaz web de Polr

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

Configuración de base de datos

Configuraciones de la aplicación

Configuración del acortador de URL

Configuración de captcha

Proporcione el nombre de su base de datos, nombre de usuario, contrase√Īa, configuraci√≥n de la aplicaci√≥n, URL de Polr, nombre de usuario del administrador, correo electr√≥nico, contrase√Īa y haga clic en el Instalar bot√≥n. Una vez que se haya instalado Polr, deber√≠a obtener la siguiente pantalla:

Instalación completaAnuncio publicitario

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

Acortador de URL Polr

Asegure Polr con Let’s Encrypt Free SSL

Primero, deber√° instalar el cliente Certbot Let’s Encrypt para descargar e instalar el certificado SSL para su dominio.

Puedes instalarlo con el siguiente comando:

apt-get install python3-certbot-apache -y

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

certbot --apache -d polr.example.com

Durante la instalación, se le pedirá que proporcione su dirección de correo electrónico y acepte el término 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

Luego, escriba 2 y presione Enter para descargar e instalar un certificado SSL gratuito para su 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
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Su sitio web de Polr ahora est√° protegido con SSL gratuito de Let’s Encrypt. Puede acceder a √©l usando la URL https://polr.example.com.

Conclusión

En la gu√≠a anterior, aprendi√≥ c√≥mo instalar Polr con Apache y Let’s Encrypt SSL en el servidor Ubuntu 20.04. Ahora puede alojar su propio acortador de enlaces usando Polr. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *