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
- Un servidor con Ubuntu 20.04.
- Un nombre de dominio válido apuntado con la IP de su servidor.
- Se configura una contraseña raíz en el servidor.
Cómo empezar
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.
Instalar 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:
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 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.
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 Instalar botón. Una vez que se haya instalado Polr, debería aparecer la siguiente pantalla:
Haga clic en la página de inicio. Debería ver el panel de control de Polr en la siguiente pantalla:
Secure 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.
Puede 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 utilizando 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. Siéntase libre de preguntarme si tiene alguna pregunta.