ProcessWire CMS 3.0 est un système de gestion de contenu (CMS) simple, flexible et puissant, gratuit et open source. ProcessWire CMS 3.0 propose une API de type jQuery facile à utiliser, une architecture de plug-in entièrement modulaire et un système de modèles flexible et puissant qui offre une expérience utilisateur tout aussi satisfaisante aux concepteurs, développeurs et utilisateurs finaux.
Dans ce didacticiel, nous allons installer ProcessWire CMS 3.0 sur un VPS FBS FreeBSD 11 en utilisant le serveur Web Apache, PHP 7.1 et une base de données MariaDB.
Conditions préalables
- Une instance de serveur Vultr FreeBSD 11 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
La sudo
commande n'est pas installée par défaut dans l'instance de serveur Vultr FreeBSD 11, nous allons donc d'abord installer sudo
:
pkg install sudo
Ajoutez un nouvel utilisateur appelé user1
(ou votre nom d'utilisateur préféré):
adduser user1
La adduser
commande vous demandera de nombreux détails pour le compte d'utilisateur, il vous suffit donc de sélectionner les paramètres par défaut pour la plupart d'entre eux lorsque cela est logique de le faire. Lorsque vous êtes invité à le faire Invite user1 into any other groups?
, vous devez entrer wheel
pour ajouter user1
au wheel
groupe.
Maintenant, vérifiez le /etc/sudoers
fichier pour vous assurer que le sudoers
groupe est activé:
visudo
Recherchez une section comme celle-ci:
# %wheel ALL=(ALL) ALL
Cette ligne nous indique que les utilisateurs membres du wheel
groupe peuvent utiliser la sudo
commande pour obtenir des root
privilèges. Il sera commenté par défaut, vous devrez donc le décommenter, puis enregistrer et quitter le fichier.
Nous pouvons vérifier l' user1
appartenance au groupe avec la groups
commande:
groups user1
Si user1
n'est pas membre du wheel
groupe, vous pouvez utiliser cette commande pour mettre à jour l' user1
appartenance au groupe:
pw group mod wheel -m 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 /etc/rc.d/sshd restart
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 wheel
groupe pour qu'elle ressemble à ceci:
%wheel 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 FreeBSD 11
Avant d'installer des packages sur l'instance du serveur FreeBSD, 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 freebsd-update fetch
sudo freebsd-update install
sudo pkg update
sudo pkg upgrade
Étape 3: installer Apache Web Server
Installez le serveur Web Apache 2.4:
sudo pkg install apache24
Et entrez y
lorsque vous y êtes invité. Utilisez maintenant la sysrc
commande pour permettre au service Apache de s'exécuter automatiquement au démarrage:
sudo sysrc apache24_enable=yes
La sysrc
commande met à jour le /etc/rc.conf
fichier de configuration, donc si vous voulez vérifier manuellement la mise à jour de la configuration, vous pouvez simplement ouvrir le /etc/rc.conf
fichier avec votre éditeur de terminal préféré:
vi /etc/rc.conf
Démarrez maintenant le service Apache:
sudo service apache24 start
Vous pouvez rapidement vérifier que Apache fonctionne en visitant l'adresse IP ou le domaine de l'instance de serveur dans votre navigateur:
http://YOUR_VULTR_IP_ADDRESS/
Vous verrez la page par défaut de FreeBSD Apache affichant le texte:
It works!
Vérifiez votre fichier de configuration par défaut Apache pour vous assurer que la DocumentRoot
directive pointe vers le bon répertoire:
sudo vi /usr/local/etc/apache24/httpd.conf
L' DocumentRoot
option de configuration ressemblera à ceci:
DocumentRoot "/usr/local/www/apache24/data"
Nous devons maintenant activer le mod_rewrite
module Apache. Pour ce faire, recherchez le terme dans le fichier de configuration Apache par défaut mod_rewrite
.
Par défaut, le mod_rewrite
module Apache sera commenté (ce qui signifie qu'il est désactivé). La ligne de configuration sur une instance propre de Vultr FreeBSD 11 ressemblera à ceci:
#LoadModule rewrite_module libexec/apache24/mod_rewrite.so
Retirez simplement le symbole de hachage pour décommenter la ligne et charger le module. Bien entendu, cela s'applique également à tous les autres modules Apache requis:
LoadModule rewrite_module libexec/apache24/mod_rewrite.so
Nous devons maintenant modifier la Directory
directive Apache dans le même fichier de configuration afin que mod_rewrite
cela fonctionne correctement avec ProcessWire CMS.
Recherchez la section du fichier de configuration qui commence par <Directory "/usr/local/www/apache24/data">
et passez AllowOverride none
à AllowOverride All
. Le résultat final (avec tous les commentaires supprimés) ressemblera à ceci:
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Maintenant, enregistrez et quittez le fichier de configuration Apache.
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 service apache24 restart
Étape 4: installez PHP 7.1
Nous pouvons maintenant installer PHP 7.1 avec tous les modules PHP nécessaires requis par ProcessWire CMS:
sudo pkg install php71 mod_php71 php71-gd php71-mbstring php71-mysqli php71-xml php71-curl php71-ctype php71-tokenizer php71-simplexml php71-dom php71-session php71-iconv php71-hash php71-json php71-fileinfo php71-pdo php71-pdo_mysql php71-zlib php71-openssl php71-zip
FreeBSD 11 nous donne la possibilité d'utiliser un développement php.ini
ou une production php.ini
. Puisque nous allons installer Siverstripe sur un serveur Web public, nous utiliserons la version de production. Tout d'abord, sauvegardez php.ini-production
:
sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini-production.backup
Créez ensuite un lien logiciel php.ini-production
vers php.ini
.
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Nous devons configurer Apache pour utiliser réellement PHP, alors créons un nouveau fichier appelé php.conf
dans le Includes
répertoire Apache :
sudo vi /usr/local/etc/apache24/Includes/php.conf
Saisissez le texte suivant dans le fichier nouvellement créé:
<IfModule dir_module>
DirectoryIndex index.php index.html
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
</IfModule>
Enregistrez et quittez le fichier.
Redémarrons maintenant Apache pour qu'il puisse recharger les modifications de configuration:
sudo service apache24 restart
Étape 5: installer le serveur MariaDB (MySQL)
Par défaut, FreeBSD 11 utilise le serveur de base de données MariaDB, qui est un remplacement amélioré, entièrement open source, développé par la communauté, pour le serveur MySQL.
Installez le serveur de base de données MariaDB:
sudo pkg install mariadb102-server mariadb102-client
Démarrez et activez le serveur MariaDB pour qu'il s'exécute automatiquement au démarrage:
sudo sysrc mysql_enable="yes"
sudo service mysql-server start
Sécurisez l'installation de votre serveur MariaDB:
sudo mysql_secure_installation
Lorsque vous êtes invité à créer un utilisateur MariaDB / MySQL root
, sélectionnez "Y" (pour oui), puis entrez un root
mot de passe sécurisé . 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 ProcessWire CMS
Connectez-vous au shell MariaDB en tant root
qu'utilisateur MariaDB en exécutant la commande suivante:
sudo mysql -u root -p
Pour accéder à l'invite de commande MariaDB, entrez simplement le root
mot de passe MariaDB lorsque vous y êtes invité.
Exécutez les requêtes suivantes pour créer une base de données MariaDB et un utilisateur de base de données pour ProcessWire CMS:
CREATE DATABASE pw_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'pw_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON pw_db.* TO 'pw_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Vous pouvez remplacer le nom pw_db
et le nom pw_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 CMS ProcessWire
Remplacez votre répertoire de travail actuel par le répertoire Web par défaut:
cd /usr/local/www/apache24/data
Votre répertoire de travail courant devrait maintenant être: /usr/local/www/apache24/data
. Vous pouvez vérifier cela avec la commande pwd
(imprimer le répertoire de travail):
pwd
Utilisez maintenant wget
pour télécharger le package d'installation de ProcessWire CMS:
sudo wget https://github.com/processwire/processwire/archive/master.zip
Remarque: vous devez absolument vérifier la version la plus récente en visitant la page de téléchargement du ProcessWire CMS .
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
Décompressez maintenant l'archive zip:
sudo unzip master.zip
Déplacez tous les fichiers d'installation dans le répertoire racine Web:
sudo mv processwire-master/* /usr/local/www/apache24/data
Modifiez la propriété des fichiers Web pour éviter tout problème d'autorisation:
sudo chown -R www:www * ./
Redémarrez Apache à nouveau:
sudo service apache24 restart
Étape 8: installation complète de ProcessWire CMS
Il est maintenant 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 ProcessWire CMS, entrez votre adresse IP d'instance Vultr dans la barre d'adresse de votre navigateur, puis index.php
:
http://YOUR_VULTR_IP_ADDRESS/install.php
Le programme d'installation de ProcessWire CMS contient de nombreuses options, voici donc quelques conseils pour vous aider:
-
Sur la page d'accueil de l'installation de ProcessWire CMS, cliquez sur le Get Started
bouton pour démarrer le processus d'installation.
-
Sélectionnez maintenant votre profil d'installation préféré (ou site de démonstration) et cliquez sur Continue
.
-
Vous verrez une Compatibility Check
page. Si vous voyez des erreurs, cela signifie probablement que certains modules PHP vous manquent ou que vous avez un problème d'autorisations, sinon vous pouvez simplement cliquer sur Continue
.
-
Entrez les valeurs suivantes dans la MySQL Database Settings
page:
DB Name: pw_db
DB User: pw_user
DB Pass: UltraSecurePassword
DB Host: localhost
DB Port: 3306
-
Vous pouvez laisser les File Permission
paramètres à leurs valeurs par défaut, ou vous pouvez les ajuster si vous comprenez les implications.
-
Vous pouvez entrer les futurs noms d'hôte de votre site dans la section appropriée, ou vous pouvez modifier le site/config.php
fichier plus tard si vous préférez.
-
Cliquez sur Continue
pour configurer la base de données et installer les fichiers CMS ProcessWire.
-
Ensuite, sélectionnez votre préférence Admin Theme
.
-
Vous pouvez modifier le Admin URL
si vous préférez, ou vous pouvez simplement le laisser à la valeur par défaut.
-
Entrez votre Admin Login Details
comme indiqué ci-dessous:
User (a-z 0-9): <admin username>
Password: <admin password>
Password (again): <same admin password>
Email Address: <admin email address>
-
Une fois que tous les détails appropriés ont été saisis, vous pouvez cliquer Continue
pour finaliser l'installation de ProcessWire.
-
Une fois l'installation terminée, cliquez simplement sur le Login to Admin
bouton pour vous connecter à la section Admin.
Vous pouvez voir un avertissement disant quelque chose comme:
Warning: your server locale is undefined and may cause issues. Please add this to /site/config.php file (adjust en_US.UTF-8†as needed): setlocale(LC_ALL,'en_US.UTF-8');
Vous pouvez corriger cette erreur en modifiant le site/config.php
fichier:
sudo vi site/config.php
Ajoutez la valeur appropriée à la fin du fichier:
setlocale(LC_ALL,'en_GB.utf8');
Si vous ne pouvez pas déterminer la valeur à utiliser, vous pouvez trouver une liste de valeurs appropriées pour votre instance de serveur particulière en exécutant la locale
commande:
locale -a
N'oubliez pas d'enregistrer et de quitter le site/config.php
fichier lorsque vous avez terminé la modification.
Pour des raisons de sécurité, assurez-vous de modifier les autorisations sur le site/config.php
fichier:
sudo chmod 400 site/config.php
Redémarrez Apache.
sudo service apache24 restart
Vous êtes prêt à commencer à ajouter votre contenu et à configurer l'apparence de votre site. Assurez-vous de consulter l'excellente documentation ProcessWire CMS pour plus d'informations sur la création et la configuration de votre site.