Neos est un système de gestion de contenu open source innovant, idéal pour créer et éditer du contenu en ligne. Avec des auteurs et des éditeurs à l'esprit, Neos fournit une interface d'édition intuitive, un référentiel de contenu structuré, une préparation au contenu multilingue, des flux de travail de contenu professionnels et de nombreuses fonctionnalités plus puissantes pour faciliter la création et la gestion de contenu.
Conditions préalables
Étape 1: configurer une pile LAMP à jour
Lors du déploiement d'un site de contenu basé sur Neos 3.2.0, il est nécessaire de configurer une pile LAMP à jour avant de pouvoir mettre le site en service. Par exemple, une pile LAMP qualifiée pour Neos 3.2.0 consistera de nos jours en:
	- CentOS 7 x64, mis à jour vers le dernier état stable,
- Apache 2.4,
- MariaDB 10.2, en utilisant le utf8_unicode_ciclassement par défaut, et
- PHP 7.1, ou au moins PHP 7.0.
Il existe de nombreux documents Vultr pour vous aider à configurer une pile LAMP, mais ce qui suit est un exemple de l'historique de la ligne de commande pour vos informations. Sachez que des modifications de paramètres spécifiques pour Neos seront également incluses.
# Install and configure Apache 2.4.x
sudo yum install httpd -y
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
# Install MariaDB 10.2.x
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo yum install MariaDB-server MariaDB-client -y
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
# Secure MariaDB 10.2.x
sudo /usr/bin/mysql_secure_installation
# When prompted, answer questions as below:
# - Enter current password for root (enter for none): Just press the Enter button
# - Set root password? [Y/n]: Y
# - New password: your-MariaDB-root-password
# - Re-enter new password: your-MariaDB-root-password
# - Remove anonymous users? [Y/n]: Y
# - Disallow root login remotely? [Y/n]: Y
# - Remove test database and access to it? [Y/n]: Y
# - Reload privilege tables now? [Y/n]: Y
# Set the default collation of MariaDB as utf8_unicode_ci
cat <<EOF>> /tmp/collation.conf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server=utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server=utf8
EOF
sudo cp /etc/my.cnf /etc/my.cnf.bak
sudo sed -i '/\[client-server\]/r /tmp/collation.conf' /etc/my.cnf
sudo systemctl restart mariadb.service
# Create a MariaDB database for Neos
mysql -u root -p
# For security purposes, be sure to replace "neos", "neosuser", and "yourpassword" with your own ones. 
CREATE DATABASE neos;
CREATE USER 'neosuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON neos.* TO 'neosuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
# Install required PHP 7.1.x packages and configure PHP for Neos
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install -y php71w php71w-mysqlnd php71w-common php71w-cli php71w-xml php71w-mbstring php71w-pecl-imagick php71w-mcrypt php71w-opcache php71w-imap php71w-process php71w-intl
sudo cp /etc/php.ini /etc/php.ini.bak
sudo sed -i 's#;date.timezone =#date.timezone = America/Los_Angeles#' /etc/php.ini
sudo sed -i "s/memory_limit = 128M/memory_limit = 250M/" /etc/php.ini
sudo sed -i '$a\xdebug.max_nesting_level = 500' /etc/php.ini
Étape 2: Téléchargez et installez Composer
Neos nécessite le gestionnaire de dépendances PHP Composer. Vous pouvez utiliser les commandes suivantes pour installer Composer 1.5.2 sur votre machine.
Remarque: À l'avenir, vous pourrez toujours obtenir la dernière version stable de Composer à partir de sa page de téléchargement officielle .
cd
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
Étape 3: installer Neos à l'aide de Composer
Avec l'aide de Composer, vous pouvez installer Neos et toutes les dépendances requises dans un emplacement désigné. 
cd
mkdir neos
cd neos
composer create-project --no-dev neos/neos-base-distribution .
À des fins de gestion, déplacez tous les fichiers Neos dans le /optrépertoire, puis créez un lien symbolique du répertoire racine Web /var/www/htmlvers le /opt/neosrépertoire, rendant tous les fichiers Neos disponibles pour Apache.
sudo mv ~/neos /opt
sudo chown -R apache:apache /opt/neos
sudo ln -s /opt/neos /var/www/html/neos
Configurez un hôte virtuel Apache pour le site Neos qui sera spécifié /var/www/html/neos/Webcomme répertoire racine Web.
Remarque: lors du déploiement sur votre propre machine, assurez-vous de remplacer toutes les examplevaleurs ci-dessous par les vôtres.
cat <<EOF | sudo tee /etc/httpd/conf.d/neos.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/neos/Web
ServerName example.com
ServerAlias neos.example.com
<Directory /var/www/html/neos/Web>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/httpd/example.com-error_log
CustomLog /var/log/httpd/example.com-access_log common
</VirtualHost>
EOF
Redémarrez Apache pour appliquer toutes les mises à jour.
sudo systemctl restart httpd.service
Étape 4: modifier les règles de pare-feu
Afin de permettre aux visiteurs d'accéder à votre site Neos, vous devez modifier les règles de pare-feu comme suit.
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload
Étape 5: poursuivre l'installation à partir d'un assistant d'installation Web
Pointez votre navigateur Web préféré sur http://example.com/setup, puis vous serez amené dans l'interface de l'assistant d'installation Web de Neos.
Sur la Loginpage, vous devez saisir le mot de passe de configuration, puis cliquer sur le Loginbouton avant de pouvoir accéder à l'interface de configuration. Le mot de passe est stocké dans le /var/www/html/neos/Data/SetupPassword.txtfichier, vous pouvez taper la commande suivante dans votre fenêtre de terminal pour l'obtenir.
cat /var/www/html/neos/Data/SetupPassword.txt
Pour des raisons de sécurité, ce fichier sera supprimé une fois la connexion établie. N'oubliez pas de noter le mot de passe pour référence ultérieure.
Sur la Neos requirements check - Image Manipulationpage, assurez-vous que l' extension imagickou gmagickPHP a été installée et choisie, puis cliquez sur le Next >bouton pour continuer.
Sur la Configure databasepage, saisissez ou sélectionnez les détails de la base de données comme ci-dessous.
	- Pilote DB: MySQL/MariaDB via PDO
- Nom d'utilisateur DB: neosuser
- Mot de passe DB: yourpassword
- Hôte DB: 127.0.0.1
- Nom de la base de données: neos
Assurez-vous que la base de données neosutilise le utf8jeu de caractères, puis cliquez sur le Next >bouton pour continuer.
Sur la Create administrator accountpage, de l' administrateur du site d'entrée first name, last name, usernameet password(deux fois), puis cliquez sur le Next >bouton pour passer.
Sur la Create a new sitepage, en tant que débutant, vous pouvez sélectionner le Neos.Demopackage de site, puis cliquer sur le Next >bouton pour terminer la configuration.
Remarque: Lorsque vous vous familiariserez avec Neos à l'avenir, vous pouvez réexécuter l'assistant d'installation Web de Neos pour créer votre propre package de site sur cette page, puis utiliser le nouveau package de site pour créer un site Neos personnalisé.
Maintenant, vous pouvez visiter la page frontend du site Neos ou gérer le site dans la page backend du site Neos. Pour votre référence, des liens utiles sont répertoriés ci-dessous.
	- Page frontend du site: http://example.com
- Page backend du site: http://example.com/neos
- Page de configuration du site: http://example.com/setup
Étape 6: instructions de post-installation
Lors du déploiement de votre site Neos dans un environnement de production, vous devez également modifier le contexte de l'application Flow de Development(la valeur par défaut) à Productionen insérant la ligne SetEnv FLOW_CONTEXT Productiondans la configuration de l'hôte virtuel Apache comme suit.
cat <<EOF | sudo tee /etc/httpd/conf.d/neos.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/neos/Web
SetEnv FLOW_CONTEXT Production
ServerName example.com
ServerAlias neos.example.com
<Directory /var/www/html/neos/Web>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/httpd/example.com-error_log
CustomLog /var/log/httpd/example.com-access_log common
</VirtualHost>
EOF
Redémarrez Apache pour appliquer vos modifications.
sudo systemctl restart httpd.service
Si vous créez un site en utilisant le Neos.demopackage de site en public, assurez-vous de supprimer le Create accountbouton sur la Try mepage pour empêcher tout accès non autorisé.
Étape 7 (facultatif): activer HTTPSen déployant le certificat Let's Encrypt
Pour améliorer la sécurité de votre site Neos, vous pouvez l'activer HTTPSsur votre site en déployant un certificat Let's Encrypt.
Tout d'abord, utilisez l' viéditeur de texte pour configurer le FQDN (nom de domaine complet) sur votre instance de serveur.
sudo vi /etc/hosts
Insérez la ligne suivante avant toute ligne existante.
203.0.113.1 neos.example.com neos
Sauvegarder et quitter.
:wq!
Utilisez la hostname -fcommande pour confirmer le résultat qui ressemblera à ceci.
neos.example.com
Installez l'utilitaire Certbot qui peut déployer automatiquement le certificat Let's Encrypt et l'activer HTTPS.
sudo yum install -y yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install -y certbot-apache
Ensuite, utilisez l'utilitaire Certbot pour déployer un certificat Let's Encrypt pour le serveur Web Apache exécuté sur votre instance de serveur.
sudo cp /etc/httpd/conf.d/neos.conf /etc/httpd/conf.d/neos.conf.bak
sudo certbot --apache
Pendant le processus, répondez aux questions, comme indiqué ci-dessous.
Enter email address (used for urgent renewal and security notices): `[email protected]`
Agree Letsencrypt terms of service (A)gree/(Cancel): `A`
Would you be willing to share your email address (Y)es/(N)o: `Y`
Which names would you like to activate HTTPS for? 1: example.com 2:neos.example.com: `1,2`
Whether or not to redirect HTTP traffic to HTTPS, removing HTTP access? 1: No redirect/2: Redirect `2`
Toutes les HTTPconnexions seront désormais redirigées vers HTTPS.
Créez une tâche cron comme ci-dessous pour essayer de renouveler le certificat Let's Encrypt sur votre machine deux fois par jour.
sudo crontab -e
Appuyez sur " I" pour accéder au mode d'insertion, puis saisissez la ligne suivante.
0 1,13 * * * /usr/bin/certbot renew
Sauvegarder et quitter.
:wq!
Ceci conclut le didacticiel. Merci d'avoir lu.