Le constructeur ZEIT @now/wordpress a été officiellement obsolète, et ZEIT ne peut garantir les performances/la fiabilité du @ maintenant/constructeur de communauté php. |
---|
Vous souhaitez déployer WordPress 5.0 sur la plateforme Now by ZEIT ? Nos amis de la plate-forme mondiale de déploiement sans serveur Now de ZEIT ont concocté un excellent didacticiel pour WordPress5-on-Now à l'aide d'instances d'hébergement MySQL bon marché de ScaleGrid. Avec un tel intérêt pour cette installation, nous avons décidé de rédiger les étapes de configuration de votre base de données MySQL côté ScaleGrid pour vous permettre d'être opérationnel toujours plus rapidement avec WordPress on Now.
Laissez vos commentaires :https://t.co/exuBzSHkHM
@now/ résumé wordpress :
◆ λ taille =13 Mo
◆ A juste besoin de `wp-config.php`
◆ Tous les actifs statiques sortent directement vers CDN
◆ Propulsé par `php-fpm` (bientôt une couche Lambda directement)
◆ Instance Micro SQL hébergée sur @scalegridio (pas cher !) pic.twitter.com/WwyNBg4q30– Guillermo Rauch (@rauchg) 18 décembre 2018
Alors, pourquoi avez-vous besoin d'un hébergement MySQL avec ZEIT Now ? Maintenant, l'objectif est d'être la meilleure plate-forme pour l'hébergement sans serveur, mais vous devez trouver un moyen de stocker vos données de manière permanente. C'est là qu'intervient ScaleGrid. Vous pouvez configurer MySQL entièrement géré sur Azure pour seulement 8 USD/mois pour la gestion uniquement, ou 18 USD/mois avec l'hébergement inclus sur des serveurs dédiés.
La meilleure partie est que tout ce que vous avez à faire est de le configurer, puis votre base de données MySQL s'exécute sur le pilote automatique afin que vous puissiez concentrer vos efforts de développement sur le produit plutôt que sur ces opérations de base de données chronophages. Commençons !
Configurer votre base de données MySQL pour WordPress sur ZEIT maintenant
Créer une base de données MySQL dans ScaleGrid
- Inscrivez-vous pour un essai gratuit de 30 jours sur la console ScaleGrid.
- Créez votre premier cluster MySQL. Assurez-vous de le créer dans une région qui correspond à votre région de déploiement Now. Nous prenons en charge deux forfaits MySQL DBaaS différents (comparez les forfaits MySQL) :
- Cluster MySQL dédié - hébergé via votre compte ScaleGrid.
- Cluster BYOC MySQL - Hébergé via votre propre compte Azure.
- REMARQUE IMPORTANTE – Lors de la création d'un cluster ScaleGrid, vous devez mettre en liste blanche toutes les adresses IP (0.0.0.0/0) à l'étape 4. Règles de pare-feu. En effet, les adresses IP des déploiements ZEIT Now sont dynamiques et imprévisibles, et vous pouvez en savoir plus dans leur document Comment ajouter mes déploiements à une liste d'adresses IP sur liste blanche.
- Une fois votre cluster configuré, accédez à votre page Détails du cluster MySQL, sélectionnez l'onglet "Bases de données", puis cliquez sur le bouton vert "Nouvelle base de données". .
- Dans la fenêtre "Créer une nouvelle base de données" qui apparaît, entrez simplement un nom pour votre base de données et cliquez sur "Créer".
- Votre base de données va maintenant être créée ! Vous pouvez y accéder à tout moment sous l'onglet "Bases de données" de votre cluster MySQL. Notez le nom de votre base de données afin de pouvoir l'utiliser dans nos étapes ultérieures avec ZEIT Now.
Créer un nouvel utilisateur pour votre base de données MySQL
- Accédez à la page Détails de votre cluster MySQL, sélectionnez l'onglet "Utilisateurs", puis cliquez sur le bouton "Nouvel utilisateur".
- Dans la fenêtre "Nouvel utilisateur", choisissez la base de données que vous venez de créer dans la liste déroulante "Sélectionner les bases de données auxquelles l'utilisateur est autorisé à accéder".
- Entrez un « Nom » et un « Mot de passe » pour le nouvel utilisateur.
- Dans la liste déroulante "Rôle", assurez-vous de sélectionner "Lecture - Écriture" comme rôle afin que le nouvel utilisateur dispose des autorisations d'écriture complètes sur cette base de données.
- Cliquez sur "Créer" et votre nouvel utilisateur sera créé ! Notez votre nouveau nom d'utilisateur et votre nouveau mot de passe de base de données afin de pouvoir les utiliser lors de la configuration de ZEIT Now sur WordPress.
Saisissez le nom d'hôte de votre déploiement MySQL
- Accédez à la page Détails de votre cluster MySQL et sélectionnez l'onglet "Aperçu".
- Trouvez la section Syntaxe de la ligne de commande en bas de la page pour voir la commande qui peut être utilisée pour connecter votre déploiement MySQL via le client mysql.
- Le nom du serveur après l'option '-h' est le nom d'hôte de votre déploiement MySQL, et dans ce cas particulier, c'est 'SG-help- 1-master.devservers.scalegrid.io'.
- Notez votre nom d'hôte MySQL à utiliser dans nos prochaines étapes avec ZEIT Now et WordPress.
Téléchargement de votre fichier ca.pem
- Accédez à la page Détails de votre cluster MySQL et sélectionnez l'onglet "Présentation".
- Si votre déploiement MySQL est compatible SSL, vous verrez une section "Certificat SSL"
- Cliquez sur le lien "Get SSL CA cert" pour voir le contenu de votre certificat CA et copiez ce contenu dans votre fichier ca.pem.
Vous avez maintenant tout ce dont vous avez besoin pour configurer votre WordPress sur ZEIT Now avec des instances MySQL ! Les étapes décrites dans le tutoriel ci-dessous ont été développées par ZEIT Now, et vous pouvez lire les instructions d'origine ici sur WordPress5-on-Now ou suivre ci-dessous.
Installer WordPress 5 sur ZEIT maintenant avec l'hébergement MySQLCliquez pour tweeterConfigurer WordPress 5 sur ZEIT maintenant
Installer maintenant. npm i -g now
si peu de temps. Configurez une base de données dans un fournisseur d'hébergement cloud SQL tel que ScaleGrid. Assurez-vous de choisir un emplacement qui correspond à une région de déploiement Now. Créez un wp-config.php
et un now.json
dossier. Votre now.json
le fichier configurera le @now/wordpress
builder et quelques itinéraires :
{
"version": 2,
"builds": [
{ "src": "wp-config.php", "use": "@now/wordpress" }
],
"routes": [
{ "src": "/wp-admin/?", "dest": "index.php" },
{ "src": ".*\\.php$", "dest": "index.php" }
],
"env": {
"DB_NAME": "@wordpress_db_name",
"DB_USER": "@wordpress_db_user",
"DB_PASSWORD": "@wordpress_db_password",
"DB_HOST": "@wordpress_db_host"
}
}
Notez qu'il fait référence à quelques secrets comme @wordpress_db_name
. Vous pouvez les créer avec now secret add
. Mon wp-config.php
ressemble à suit. Notez que nous utilisons MySQL sur TLS pour des raisons de sécurité.
<?php
/**
* The base configuration for WordPress
*
* The wp-config.php creation script uses this file during the
* installation. You don't have to use the web site, you can
* copy this file to "wp-config.php" and fill in the values.
*
* This file contains the following configurations:
*
* * MySQL settings
* * Secret keys
* * Database table prefix
* * ABSPATH
*
* @link https://codex.wordpress.org/Editing_wp-config.php
*
* @package WordPress
*/
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', $_ENV['DB_NAME']);
/** MySQL database username */
define('DB_USER', $_ENV['DB_USER']);
/** MySQL database password */
define('DB_PASSWORD', $_ENV['DB_PASSWORD']);
/** MySQL hostname */
define('DB_HOST', $_ENV['DB_HOST']);
/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');
/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');
/**#@+
* Authentication Unique Keys and Salts.
*
* Change these to different unique phrases!
* You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
*
* @since 2.6.0
*/
define('AUTH_KEY', 'WPSALT');
define('SECURE_AUTH_KEY', 'WPSALT');
define('LOGGED_IN_KEY', 'WPSALT');
define('NONCE_KEY', 'WPSALT');
define('AUTH_SALT', 'WPSALT');
define('SECURE_AUTH_SALT', 'WPSALT');
define('LOGGED_IN_SALT', 'WPSALT');
define('NONCE_SALT', 'WPSALT');
/**#@-*/
/**
* WordPress Database Table prefix.
*
* You can have multiple installations in one database if you give each
* a unique prefix. Only numbers, letters, and underscores please!
*/
$table_prefix = 'wp_';
/**
* For developers: WordPress debugging mode.
*
* Change this to true to enable the display of notices during development.
* It is strongly recommended that plugin and theme developers use WP_DEBUG
* in their development environments.
*
* For information on other constants that can be used for debugging,
* visit the Codex.
*
* @link https://codex.wordpress.org/Debugging_in_WordPress
*/
define('WP_DEBUG', false);
define( 'WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST'] );
define( 'WP_HOME', 'https://' . $_SERVER['HTTP_HOST'] );
define( 'WP_CONTENT_URL', 'https://' . $_SERVER['HTTP_HOST'] . '/wp-content' );
/* That's all, stop editing! Happy blogging. */
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
define( 'MYSQL_SSL_CA', ABSPATH . 'ca.pem' );
define( 'MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL );
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');
Assurez-vous de modifier votre
à une chaîne aléatoire ou à un secret passé sous la forme WPSALT
$_ENV
. Enfin, nous avons créé un ca.pem
fichier téléchargé depuis ScaleGrid. Ceci est nécessaire uniquement lors de l'utilisation de MySQL sur TLS. C'est ça! Ensuite, exécutez now
pour déployer ou git push
si vous avez configuré Now + GitHub.
S'il existe d'autres scénarios dans lesquels vous souhaitez utiliser ZEIT avec les plans d'hébergement et de gestion de ScaleGrid pour MySQL, MongoDB®, Redis™* ou PostgreSQL, laissez-nous un commentaire ci-dessous et nous serions ravis de les rédiger ! Partagez également vos questions dans nos commentaires ou sur Twitter à @scalegridio et nous ferons un suivi pour vous aider.
Pour savoir comment accélérer votre installation WordPress à l'aide de la mise en cache Redis, consultez notre article Utiliser le cache d'objets Redis pour accélérer votre installation WordPress.