Paste 2.1 est une application pastebin simple et flexible, gratuite et open source pour stocker du code, du texte et plus encore. Il a été initialement dérivé du code source original disponible gratuitement utilisé par pastebin.com avant la vente du domaine en 2010. Depuis ce temps, les développeurs de Paste ont ajouté de nombreuses améliorations et fonctionnalités telles qu'un tableau de bord d'administration riche en fonctionnalités avec les statistiques et les paramètres du site, IP et interdictions d'utilisateur, la possibilité de supprimer sélectivement les pâtes, les comptes d'utilisateur avec intégration sociale, les pages de profil et tous les extras habituels tels que la coloration syntaxique pour la majorité des langues, les limites de collage configurables et bien plus encore.
Dans ce tutoriel, nous allons installer Paste 2.1 sur un VPS Ubuntu 16.04 LAMP utilisant le serveur Web Apache, PHP 7.0 et une base de données MariaDB.
Conditions préalables
- Une instance de serveur Vultr Ubuntu 16.04 propre avec accès SSH
Étape 1: ajouter un utilisateur Sudo
Nous allons commencer par ajouter un nouvel sudo
utilisateur.
Tout d'abord, connectez-vous à votre serveur en tant que root
:
ssh root@YOUR_VULTR_IP_ADDRESS
Ajoutez un nouvel utilisateur appelé user1
(ou votre nom d'utilisateur préféré):
adduser user1
Lorsque vous y êtes invité, entrez un mot de passe sécurisé et mémorable. Vous serez également invité à entrer votre "nom complet" et quelques autres détails, mais vous pouvez simplement les laisser vides en appuyant sur Enter
.
Maintenant, vérifiez le /etc/sudoers
fichier pour vous assurer que le sudoers
groupe est activé:
visudo
Recherchez une section comme celle-ci:
%sudo ALL=(ALL:ALL) ALL
Cette ligne nous indique que les utilisateurs membres du sudo
groupe peuvent utiliser la sudo
commande pour obtenir des root
privilèges. Il ne sera pas commenté par défaut afin que vous puissiez simplement quitter le fichier.
Ensuite, nous devons ajouter user1
au sudo
groupe:
usermod -aG sudo user1
Nous pouvons vérifier l' user1
appartenance au groupe et vérifier que la usermod
commande a fonctionné avec la groups
commande:
groups user1
Utilisez maintenant la su
commande pour basculer vers le nouveau user1
compte utilisateur sudo :
su - user1
L'invite de commande sera mise à jour pour indiquer que vous êtes maintenant connecté au user1
compte. Vous pouvez le vérifier avec la whoami
commande:
whoami
Redémarrez maintenant le sshd
service pour vous connecter via ssh
le nouveau compte utilisateur sudo non root que vous venez de créer:
sudo systemctl restart sshd
Quittez le user1
compte:
exit
Quittez le root
compte (qui déconnectera votre ssh
session):
exit
Vous pouvez maintenant ssh
accéder à l'instance de serveur à partir de votre hôte local en utilisant le nouveau user1
compte utilisateur sudo non root :
ssh user1@YOUR_VULTR_IP_ADDRESS
Si vous souhaitez exécuter sudo sans avoir à taper un mot de passe à chaque fois, ouvrez à /etc/sudoers
nouveau le fichier en utilisant visudo
:
sudo visudo
Modifiez la section du sudo
groupe pour qu'elle ressemble à ceci:
%sudo ALL=(ALL) NOPASSWD: ALL
Remarque: la désactivation de l'exigence de mot de passe pour l'utilisateur sudo n'est pas une pratique recommandée, mais elle est incluse ici car elle peut rendre la configuration du serveur beaucoup plus pratique et moins frustrante, en particulier pendant les sessions d'administration de systèmes plus longues. Si vous êtes préoccupé par les implications de sécurité, vous pouvez toujours rétablir la modification de configuration à l'original après avoir terminé vos tâches d'administration.
Chaque fois que vous souhaitez vous connecter au root
compte d'utilisateur à partir du sudo
compte d'utilisateur, vous pouvez utiliser l'une des commandes suivantes:
sudo -i
sudo su -
Vous pouvez quitter le root
compte et revenir à votre sudo
compte utilisateur à tout moment en tapant simplement:
exit
Étape 2: Mettre à jour le système Ubuntu 16.04
Avant d'installer des packages sur l'instance de serveur Ubuntu, nous mettrons d'abord à jour le système.
Assurez-vous que vous êtes connecté au serveur à l'aide d'un utilisateur sudo non root et exécutez les commandes suivantes:
sudo apt-get update
sudo apt-get -y upgrade
Étape 3: installer Apache Web Server
Installez le serveur Web Apache:
sudo apt-get -y install apache2
Utilisez ensuite la systemctl
commande pour démarrer et activer Apache pour qu'il s'exécute automatiquement au démarrage:
sudo systemctl enable apache2
sudo systemctl start apache2
Vérifiez votre fichier de configuration de site par défaut Apache pour vous assurer que la DocumentRoot
directive pointe vers le bon répertoire:
sudo vi /etc/apache2/sites-enabled/000-default.conf
L' DocumentRoot
option de configuration ressemblera à ceci:
DocumentRoot "/var/www/html"
Nous devons maintenant activer le mod_rewrite
module Apache, assurez-vous donc que votre fichier de configuration de site Apache deafult est toujours ouvert et ajoutez les Directory
directives Apache suivantes juste avant la </VirtualHost>
balise de fermeture , afin que la fin de votre fichier de configuration ressemble à ceci:
<Directory /var/www/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
La directive la plus importante présentée ci-dessus est AllowOverride All
.
Maintenant, enregistrez et quittez le fichier et activez le mod_rewrite
module Apache:
sudo a2enmod rewrite
Nous redémarrerons Apache à la fin de ce tutoriel, mais redémarrer régulièrement Apache pendant l'installation et la configuration est certainement une bonne habitude, alors faisons-le maintenant:
sudo systemctl restart apache2
Étape 4: installez PHP 7.0
Nous pouvons maintenant installer PHP 7.0 avec tous les modules PHP nécessaires requis par l'application Coller:
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
Étape 5: installer le serveur MySQL
Installez le serveur de base de données MySQL:
sudo apt-get -y install mysql-server
Pendant l'installation du serveur MySQL, assurez-vous de saisir un mot de passe sécurisé pour l' root
utilisateur MySQL . Cet root
utilisateur est différent de l' root
utilisateur dans Ubuntu car il n'est utilisé que pour se connecter à votre serveur de base de données avec des privilèges complets.
Démarrez et activez le serveur MySQL pour qu'il s'exécute automatiquement au démarrage:
sudo systemctl enable mysql
sudo systemctl start mysql
Sécurisez l'installation de votre serveur MySQL:
sudo mysql_secure_installation
Lorsque vous y êtes invité, entrez le mot de passe que vous avez créé pour l' root
utilisateur MYSQL lors de l'installation. Répondez simplement "Y" à toutes les autres questions oui / non car les suggestions par défaut sont les options les plus sûres.
Étape 6: créer une base de données pour coller
Connectez-vous au shell MySQL en tant root
qu'utilisateur MySQL en exécutant la commande suivante:
sudo mysql -u root -p
Pour accéder à l'invite de commande MySQL, entrez simplement le root
mot de passe MySQL lorsque vous y êtes invité.
Exécutez les requêtes suivantes pour créer une base de données MySQL et un utilisateur de base de données pour Coller:
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;
Vous pouvez remplacer le nom paste_db
et le nom paste_user
d' utilisateur de la base de données par quelque chose de plus à votre goût, si vous préférez. Assurez-vous également de remplacer "UltraSecurePassword" par un mot de passe réellement sécurisé.
Étape 7: installer les fichiers Coller
Remplacez votre répertoire de travail actuel par le répertoire Web par défaut:
cd /var/www/html/
Si vous obtenez un message d'erreur indiquant quelque chose comme cela, 'No such file or directory'
essayez la commande suivante:
cd /var/www/ ; sudo mkdir html ; cd html
Votre répertoire de travail sera désormais: /var/www/html/
. Vous pouvez vérifier cela avec la commande pwd
(imprimer le répertoire de travail):
pwd
Maintenant, utilisez wget
pour télécharger le package d'installation de Coller:
sudo wget --content-disposition https://sourceforge.net/projects/phpaste/files/latest/download?source=files
Remarque: vous devez absolument vérifier la version la plus récente en visitant la page de téléchargement Coller .
Répertoriez le répertoire actuel pour vérifier que vous avez correctement téléchargé le fichier:
ls -la
Supprimer index.html
:
sudo rm index.html
Installons rapidement unzip
afin que nous puissions décompresser le fichier:
sudo apt-get -y install unzip
Décompressez maintenant l'archive zip:
sudo unzip paste-2.1.zip
Modifiez la propriété des fichiers Web pour éviter tout problème d'autorisation:
sudo chown -R www-data:www-data * ./
Redémarrez Apache à nouveau:
sudo systemctl restart apache2
Nous sommes maintenant prêts à passer à la dernière étape.
Étape 8: installation complète de la pâte
Il est temps de visiter l'adresse IP de votre instance de serveur dans votre navigateur, ou si vous avez déjà configuré vos paramètres DNS Vultr (et lui avez donné suffisamment de temps pour se propager), vous pouvez simplement visiter votre domaine à la place.
Pour accéder à la page d'installation de Coller, entrez votre adresse IP d'instance Vultr dans la barre d'adresse de votre navigateur, puis /install/
:
http://YOUR_VULTR_IP_ADDRESS/install/
La plupart des options d'installation sont explicites, mais voici quelques conseils pour vous aider:
-
Assurez-vous que Pre-installation checks
tous sont verts. Plus précisément, les 3 fichiers suivants doivent être writable
:
config.php
tmp/temp.tdata
sitemap.xml
-
Saisissez les informations suivantes DATABASE INFORMATION
:
Hostname: localhost
Database Name: paste_db
Username: paste_user
Password: UltraSecurePassword
Prenez note de la key
valeur et stockez-la dans un endroit sûr, puis cliquez Install
pour continuer.
-
Saisissez les informations d'administrateur suivantes:
Username: admin
Password: <secure admin password>
Cliquez Submit
pour finaliser l'installation.
Pour accéder à la section admin, cliquez simplement sur le dashboard
bouton et entrez votre nom d'utilisateur et votre mot de passe. Si vous n'êtes pas redirigé vers la page de connexion administrateur, vous pouvez saisir l'adresse administrateur manuellement:
http://YOUR_VULTR_IP_ADDRESS/admin/
Pour des raisons de sécurité, assurez-vous de supprimer le /install/
répertoire du répertoire webroot:
sudo rm -rf ./install
Si vous obtenez un message d'erreur lorsque vous essayez de supprimer le /install/
répertoire, modifiez simplement les autorisations de la racine Web et réessayez:
sudo chmod 755 .
sudo rm -rf ./install
Vous êtes maintenant prêt à commencer à administrer votre propre site pastebin personnel.