Polr è un abbreviatore di URL gratuito e open source che ti consente di ospitare il tuo abbreviatore di link. È scritto in PHP e Lumen e utilizza MariaDB per archiviare i suoi dati. Con Polr, puoi creare nuovi collegamenti o cercare collegamenti esistenti senza interrompere il codice esistente.
In questo tutorial, ti mostreremo come installare il software Polr Link Shortener sul server Debian 10.
Prerequisiti
- Un server che esegue Debian 10.
- Un nome di dominio valido puntato con l'IP del tuo server. in questo tutorial utilizzeremo il dominio polr.example.com.
- Sul tuo server è configurata una password di root.
Per iniziare
Prima di iniziare, è una buona idea aggiornare il sistema con l'ultima versione. Puoi aggiornare il tuo sistema con il seguente comando:
apt-get update -y
apt-get upgrade -y
Dopo aver aggiornato il sistema, riavvialo per implementare le modifiche.
Installa il server LAMP
Innanzitutto, dovrai installare il server web Apache, il server MariaDB, PHP e altri pacchetti nel tuo sistema. Puoi installarli tutti usando il seguente comando:
apt-get install apache2 mariadb-server libapache2-mod-php php php-pdo php-mysql php-mbstring php-tokenizer php-json php-curl git wget unzip -y
Una volta installati tutti i pacchetti, avvia il servizio Apache e MariaDB e abilita l'avvio dopo il riavvio del sistema.
systemctl start apache2
systemctl start mariadb
systemctl enable apache2
systemctl enable mariadb
Una volta terminato, puoi procedere al passaggio successivo.
Configura il database MariaDB
Per impostazione predefinita, la password di root di MariaDB non è configurata in Debian 10. Quindi, dovrai prima impostarla.
Per farlo, accedi alla shell MariaDB con il seguente comando:
mysql
Una volta effettuato l'accesso, imposta la tua password di root MariaDB con il seguente comando:
MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("newpassword");
Quindi, crea un database e un utente per Polr con il seguente comando:
MariaDB [(none)]> CREATE DATABASE polrdb;
MariaDB [(none)]> GRANT ALL ON polrdb.* TO 'polr' IDENTIFIED BY 'password';
Quindi, svuota i privilegi ed esci dalla shell MariaDB con il seguente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Una volta terminato, puoi procedere al passaggio successivo.
Installa Composer
Successivamente, dovrai installare Composer nel tuo sistema. Composer è un gestore delle dipendenze per PHP utilizzato per installare tutte le dipendenze PHP per il tuo progetto.
Innanzitutto, scarica il Composer con il seguente comando:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Successivamente, dovrai verificare l'integrità dei dati dello script scaricato confrontando l'hash SHA-384 dello script con l'hash più recente.
Per farlo, scarica la firma dell'ultimo programma di installazione di Composer dal repository Git e salvala in una variabile denominata HASH:
HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
Successivamente, verifica lo script di installazione con il seguente comando:
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Se gli hash corrispondono, vedrai il seguente output:
Installer verified
Infine, installa Composer usando il seguente comando:
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Una volta completata l'installazione, dovresti vedere il seguente output:
All settings correct for using Composer Downloading... Composer (version 1.9.2) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
Una volta terminato, puoi procedere al passaggio successivo.
Installa Polr
Innanzitutto, scarica l'ultima versione di Polr dal repository Git nella directory principale web di Apache:
cd /var/www/html
git clone https://github.com/cydrobolt/polr.git --depth=1
Una volta scaricato, cambia la directory in pollr e installa tutte le dipendenze richieste con il seguente comando:
cd polr
composer install --no-dev -o
Quindi, abilita il programma di installazione basato sul Web rinominando il seguente file:
mv .env.setup .env
Quindi, dai i permessi appropriati alla directory polr come mostrato di seguito:
chown -R www-data:www-data /var/www/html/polr/
chmod -R 755 /var/www/html/polr/
Una volta terminato, puoi procedere al passaggio successivo.
Configura Apache per Polr
Successivamente, dovrai creare un file di configurazione dell'host virtuale Apache per Polr. Puoi crearlo con il seguente comando:
nano /etc/apache2/sites-available/polr.conf
Aggiungi le seguenti righe:
<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 Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/polr_error.log CustomLog ${APACHE_LOG_DIR}/polr_access.log combined </VirtualHost>
Salva e chiudi il file quando hai finito. Quindi, abilita il file dell'host virtuale Apache e riscrivi il modulo con il seguente comando:
a2ensite polr.conf
a2enmod rewrite
Infine, riavvia il servizio Apache per implementare le modifiche:
systemctl restart apache2
A questo punto Polr è installato e configurato. Ora puoi procedere al passaggio successivo.
Accedi all'interfaccia web di Polr
Ora apri il tuo browser web e digita l'URL http://polr.example.com. Verrai reindirizzato alla procedura guidata di configurazione di Polr come mostrato di seguito:
Fornisci le informazioni sul database, le impostazioni dell'applicazione, le impostazioni dell'account amministratore e fai clic su Installa pulsante. Una volta completata l'installazione, dovresti vedere la seguente pagina:
Fare clic su accesso pulsante. Verrai reindirizzato alla pagina di accesso di Polr:
Fornisci il nome utente e la password dell'amministratore e fai clic su LOGIN pulsante. Dovresti vedere la seguente pagina:
Ora, fai clic su AMMINISTRATORE => DASHBOARD nell'angolo in alto a destra. Dovresti vedere la dashboard di Polr nella pagina seguente:
Secure Polr con Let's Encrypt Free SSL
Innanzitutto, dovrai installare il client Certbot Let's Encrypt per scaricare e installare il certificato SSL per il tuo dominio.
Puoi installarlo con il seguente comando:
apt-get install python-certbot-apache -y
Una volta installato, puoi eseguire il comando seguente per installare Let's Encrypt Certificate per il tuo dominio polr.example.com.
certbot --apache -d polr.example.com
Durante l'installazione, ti verrà chiesto di fornire il tuo indirizzo email e di accettare i termini del servizio come mostrato di seguito:
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
Quindi, digita 2 e premi Invio per scaricare e installare un certificato SSL gratuito per il tuo dominio. Una volta che l'installazione è stata completata con successo. Dovresti ottenere il seguente output:
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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Il tuo sito Web Polr è ora protetto con Let's Encrypt SSL gratuito. Puoi accedervi utilizzando l'URL https://polr.example.com.
Conclusione
Congratulazioni! hai installato con successo Polr sul server Debian 10 e lo hai protetto con Let's Encrypt SSL. Ora puoi ospitare il tuo abbreviatore di link utilizzando l'interfaccia web di Polr. Sentiti libero di chiedermi se hai domande.