Paste 2.1 è un'applicazione pastebin semplice e flessibile, gratuita e open source per la memorizzazione di codice, testo e altro. Inizialmente è stato sottratto dal codice sorgente originale disponibile gratuitamente utilizzato da pastebin.com prima che il dominio fosse venduto nel 2010. Da quel momento, gli sviluppatori di Paste hanno aggiunto molti miglioramenti e funzionalità come un dashboard di amministrazione con caratteristiche statiche e impostazioni del sito, Divieti di IP e utente, la possibilità di eliminare in modo selettivo paste, account utente con integrazione sociale, pagine del profilo e tutti i soliti extra come l'evidenziazione della sintassi per la maggior parte delle lingue, limiti di incolla configurabili e molto altro.
In questo tutorial installeremo Paste 2.1 su un VPS Ubuntu 16.04 LAMP usando il web server Apache, PHP 7.0 e un database MariaDB.
Prerequisiti
- Un'istanza del server Vultr Ubuntu 16.04 pulita con accesso SSH
Passaggio 1: aggiungere un utente Sudo
Inizieremo aggiungendo un nuovo sudo
utente.
Innanzitutto, accedi al tuo server come root
:
ssh root@YOUR_VULTR_IP_ADDRESS
Aggiungi un nuovo utente chiamato user1
(o il tuo nome utente preferito):
adduser user1
Quando richiesto, inserire una password sicura e memorabile. Ti verrà anche richiesto il tuo "Nome completo" e alcuni altri dettagli, ma puoi semplicemente lasciarli vuoti premendo Enter
.
Ora controlla il /etc/sudoers
file per assicurarti che il sudoers
gruppo sia abilitato:
visudo
Cerca una sezione come questa:
%sudo ALL=(ALL:ALL) ALL
Questa riga ci dice che gli utenti membri del sudo
gruppo possono usare il sudo
comando per ottenere i root
privilegi. Sarà decommentato di default in modo da poter semplicemente uscire dal file.
Quindi dobbiamo aggiungere user1
al sudo
gruppo:
usermod -aG sudo user1
Possiamo verificare l' user1
appartenenza al gruppo e verificare che il usermod
comando abbia funzionato con il groups
comando:
groups user1
Ora usa il su
comando per passare al nuovo user1
account utente sudo :
su - user1
Il prompt dei comandi verrà aggiornato per indicare che si è ora connessi user1
all'account. Puoi verificarlo con il whoami
comando:
whoami
Ora riavvia il sshd
servizio in modo da poter accedere tramite ssh
il nuovo account utente sudo non root che hai appena creato:
sudo systemctl restart sshd
Esci user1
dall'account:
exit
Esci root
dall'account (che disconnetterà la ssh
sessione):
exit
Ora puoi ssh
accedere all'istanza del server dal tuo host locale usando il nuovo user1
account utente sudo non root :
ssh user1@YOUR_VULTR_IP_ADDRESS
Se vuoi eseguire sudo senza dover digitare una password ogni volta, quindi apri di /etc/sudoers
nuovo il file, usando visudo
:
sudo visudo
Modifica la sezione per il sudo
gruppo in modo che assomigli a questo:
%sudo ALL=(ALL) NOPASSWD: ALL
Nota: la disabilitazione del requisito password per l'utente sudo non è una pratica consigliata, ma è inclusa qui in quanto può rendere la configurazione del server molto più conveniente e meno frustrante, specialmente durante sessioni di amministrazione di sistemi più lunghe. Se sei preoccupato per le implicazioni di sicurezza, puoi sempre ripristinare la modifica della configurazione all'originale dopo aver completato le attività di amministrazione.
Ogni volta che si desidera accedere root
all'account sudo
utente dall'account utente, è possibile utilizzare uno dei seguenti comandi:
sudo -i
sudo su -
Puoi uscire root
dall'account e tornare al tuo sudo
account utente in qualsiasi momento semplicemente digitando:
exit
Passaggio 2: aggiorna il sistema Ubuntu 16.04
Prima di installare eventuali pacchetti sull'istanza del server Ubuntu, aggiorneremo innanzitutto il sistema.
Assicurarsi di aver effettuato l'accesso al server utilizzando un utente sudo non root ed eseguire i seguenti comandi:
sudo apt-get update
sudo apt-get -y upgrade
Passaggio 3: installare Apache Web Server
Installa il web server Apache:
sudo apt-get -y install apache2
Quindi utilizzare il systemctl
comando per avviare e abilitare l'esecuzione automatica di Apache all'avvio:
sudo systemctl enable apache2
sudo systemctl start apache2
Controllare il file di configurazione del sito predefinito di Apache per assicurarsi che la DocumentRoot
direttiva punti alla directory corretta:
sudo vi /etc/apache2/sites-enabled/000-default.conf
L' DocumentRoot
opzione di configurazione sarà simile a questa:
DocumentRoot "/var/www/html"
Ora dobbiamo abilitare il mod_rewrite
modulo Apache, quindi assicurati che il tuo file di configurazione del sito non udente Apache sia ancora aperto e aggiungi le seguenti Directory
direttive Apache appena prima del </VirtualHost>
tag di chiusura , in modo che la fine del tuo file di configurazione sia simile a questa:
<Directory /var/www/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
La direttiva più importante mostrata sopra è AllowOverride All
.
Ora salva ed esci dal file e abilita il mod_rewrite
modulo Apache:
sudo a2enmod rewrite
Riavvieremo Apache alla fine di questo tutorial, ma riavviare Apache regolarmente durante l'installazione e la configurazione è sicuramente una buona abitudine, quindi facciamolo ora:
sudo systemctl restart apache2
Passaggio 4: installare PHP 7.0
Ora possiamo installare PHP 7.0 insieme a tutti i moduli PHP necessari richiesti dall'app Incolla:
sudo apt-get -y install php php-gd php-mbstring php-common php-mysql php-imagick php-xml libapache2-mod-php php-curl php-tidy php-zip
Passaggio 5: installare MySQL Server
Installa il server database MySQL:
sudo apt-get -y install mysql-server
Durante l'installazione del server MySQL, assicurarsi di inserire una password sicura per l' root
utente MySQL . Questo root
utente è diverso root
dall'utente in Ubuntu in quanto viene utilizzato solo per la connessione al server di database con privilegi completi.
Avvia e abilita l'esecuzione automatica del server MySQL al momento dell'avvio:
sudo systemctl enable mysql
sudo systemctl start mysql
Proteggi l'installazione del tuo server MySQL:
sudo mysql_secure_installation
Quando richiesto, immettere la password creata per l' root
utente MYSQL durante l'installazione. Rispondi semplicemente a "Y" a tutte le altre domande sì / no poiché i suggerimenti predefiniti sono le opzioni più sicure.
Passaggio 6: creare il database per incollare
Accedere alla shell MySQL come root
utente MySQL eseguendo il comando seguente:
sudo mysql -u root -p
Per accedere al prompt dei comandi di MySQL, è sufficiente inserire la root
password MySQL quando richiesto.
Eseguire le seguenti query per creare un database MySQL e un utente database per Paste:
CREATE DATABASE paste_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'paste_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON paste_db.* TO 'paste_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Se preferisci, puoi sostituire il nome del database paste_db
e il nome utente paste_user
con qualcosa in più di tuo gradimento. Inoltre, assicurati di sostituire "UltraSecurePassword" con una password effettivamente sicura.
Passaggio 7: installa Incolla file
Cambia la tua directory di lavoro corrente nella directory web predefinita:
cd /var/www/html/
Se ricevi un messaggio di errore che dice qualcosa del genere, 'No such file or directory'
prova il seguente comando:
cd /var/www/ ; sudo mkdir html ; cd html
La vostra directory di lavoro corrente sarà ora: /var/www/html/
. Puoi verificarlo con il pwd
comando (print working directory):
pwd
Ora usa wget
per scaricare il pacchetto di installazione Incolla:
sudo wget --content-disposition https://sourceforge.net/projects/phpaste/files/latest/download?source=files
Nota: dovresti assolutamente verificare la versione più recente visitando la pagina di download Incolla .
Elenca la directory corrente per verificare di aver scaricato correttamente il file:
ls -la
Rimuovi index.html
:
sudo rm index.html
Installiamo rapidamente in unzip
modo da poter decomprimere il file:
sudo apt-get -y install unzip
Ora decomprimi l'archivio zip:
sudo unzip paste-2.1.zip
Modifica la proprietà dei file Web per evitare problemi con le autorizzazioni:
sudo chown -R www-data:www-data * ./
Riavvia nuovamente Apache:
sudo systemctl restart apache2
Ora siamo pronti per passare al passaggio finale.
Passaggio 8: completare l'installazione dell'incolla
È tempo di visitare l'indirizzo IP dell'istanza del server nel browser o se hai già configurato le impostazioni Vultr DNS (e gli hai concesso abbastanza tempo per propagarsi) puoi semplicemente visitare il tuo dominio.
Per accedere alla pagina Incolla installazione, inserisci l'indirizzo IP dell'istanza Vultr nella barra degli indirizzi del browser, seguito da /install/
:
http://YOUR_VULTR_IP_ADDRESS/install/
La maggior parte delle opzioni di installazione sono autoesplicative, ma qui ci sono alcuni suggerimenti per aiutarti:
-
Assicurarsi che Pre-installation checks
siano tutti verdi. In particolare, i seguenti 3 file devono essere writable
:
config.php
tmp/temp.tdata
sitemap.xml
-
Inserisci quanto segue DATABASE INFORMATION
:
Hostname: localhost
Database Name: paste_db
Username: paste_user
Password: UltraSecurePassword
Prendi nota del key
valore e memorizzalo in un luogo sicuro, quindi fai clic Install
per continuare.
-
Immettere i seguenti dettagli dell'amministratore:
Username: admin
Password: <secure admin password>
Fare clic Submit
per finalizzare l'installazione.
Per accedere alla sezione admin è sufficiente fare clic sul dashboard
pulsante e inserire nome utente e password. Se non si viene reindirizzati alla pagina di accesso dell'amministratore, è possibile inserire manualmente l'indirizzo dell'amministratore:
http://YOUR_VULTR_IP_ADDRESS/admin/
Per motivi di sicurezza, assicurati di eliminare la /install/
directory dalla directory webroot:
sudo rm -rf ./install
Se viene visualizzato un messaggio di errore durante il tentativo di eliminare la /install/
directory, è sufficiente modificare le autorizzazioni del webroot e riprovare:
sudo chmod 755 .
sudo rm -rf ./install
Ora sei pronto per iniziare ad amministrare il tuo sito personale di pastebin.