OpenShift est un PaaS qui vous permet d’exécuter votre propre application gratuitement avec peu de ressources. Il offre 1 Go de stockage et 512 Mo de RAM, et prend en charge les domaines personnalisés. Il est plus rapide que Heroku, PagodaBox et AppFog en vous donnant un accès SSH à votre serveur d'applications, fonctionnant dans un environnement séparé. C'est comme un vrai serveur, mais vous l'obtenez gratuitement.
OpenShift est une très bonne plateforme pour gérer un site WordPress. PagodaBox et AppFog juste pour héberger des applications PHP gratuitement; Cependant, PagodaBox est assez lent et a une limite stricte de 10 Mo de MySQL pour un forfait gratuit. AppFog ne prend plus en charge le domaine personnalisé dans leur forfait gratuit. Vous pouvez aussi utiliser PHP sur Heroku, mais c'est un peu lent, aussi.
OpenShift résout tous les problèmes ci-dessus: il est assez rapide, offre un domaine personnalisé gratuit, offre un espace disque important et une quantité importante de stockage MySQL..
Le plan gratuit prend en charge:
OpenShift est une plate-forme d'applications cloud de nouvelle génération facilitant le développement, le déploiement et la mise à l'échelle d'applications dans le cloud, qu'elles soient publiques ou privées..
Faisons le décomposer.
git push
vers le référentiel créé par OpenShift pour vous.Votre application, au point de vue OpenShift contient:
Le référentiel git est créé et maintenu par OpenShift lui-même. Vous devez y pousser pour déclencher le déploiement.
Votre application fonctionne sur un ensemble de cartouches. Une cartouche,Selon la définition d'OpenShift, sont des éléments autonomes de la pile d'applications, tels que le serveur Web et le serveur de base de données. Ces cartouchessont déployés et exécutés sur un ou plusieurs conteneurs sécurisés engrenages d'appel.
Ainsi, pour une application PHP, vous pouvez avoir un serveur MySQL, un serveur Web, un serveur Memcache, un serveur de journalisation et un opérateur Gearman. Ce sont des cartouches. Les engrenages sont ce qui fera fonctionner ces cartouches. Vous pouvez penser à un équipement comme un serveur virtuel séparé, et la cartouche est la pile de technologies; par conséquent, pour redimensionner votre application, vous pouvez ajouter plus d'engrenages.
Pour étendre votre pile technologique, vous ajoutez plus de cartouches, comme l’ajout d’un RabbitMQ..Engrenages partagés des informations de configuration avec votre application via des variables d'environnement. Par exemple, vous n'écrirez pas directement un nom d'utilisateur MySQL ou un mot de passe MySQL dans un fichier de configuration. Au lieu de cela, vous utiliseriez getenv pour charger des variables d’environnement. Si vous codez de manière stricte la configuration, lorsque vous déployez un nouveau matériel, elle cesse de fonctionner..
define ('DB_NAME', getenv ('OPENSHIFT_APP_NAME'));
/ ** Nom d'utilisateur de la base de données MySQL * /
define ('DB_USER', getenv ('OPENSHIFT_MYSQL_DB_USERNAME'));
/ ** Mot de passe de la base de données MySQL * /
define ('DB_PASSWORD', getenv ('OPENSHIFT_MYSQL_DB_PASSWORD'));
/ ** Nom d'hôte MySQL * /
define ('DB_HOST', getenv ('OPENSHIFT_MYSQL_DB_HOST'). ':'. getenv ('OPENSHIFT_MYSQL_DB_PORT'));
Le partage de la configuration via l'environnement est le moyen par lequel plusieurs engrenages peuvent connaître les informations de chacun. Si vous êtes convaincu, continuons.
Allez ici et créez un compte. Il vous suffit de créer un compte gratuit. Passer si vous avez déjà un compte là-bas.
Vous aurez besoin d'une clé publique pour la connexion entre vous et OpenShift ultérieurement. Une clé publique est un fichier texte brut généralement nommé id_rsa.pub
qui est situé dans ~ / .ssh /
.
Donc, si vous êtes sur un Mac, c'est dans /Users/[votre_nom_utilisateur/2012/.ssh/id_rsa.pub
ou si vous êtes sur Linux, il est dans /home/[votre_nom_utilisateur:// .ssh/id_rsa.pub
. Vous devez copier le contenu de ce fichier et le mettre à jour avec OpenShift afin qu'OpenShift connaisse votre clé publique. Lorsque vous établissez une connexion à OpenShift à partir du terminal (c’est-à-dire lorsque vous effectuez un SSH sur votre boîte et transmettez du code), OpenShift vous identifie et vous autorise en fonction de votre clé publique / privée.
Si vous n'êtes pas familier avec le concept de clé publique, ce tutoriel vous en donnera un aperçu..
Pour vérifier si vous avez déjà eu une clé publique, exécutez cette commande:
ls -la ~ / .ssh | grep id_rsa.pub
Si vous obtenez ce résultat:
id_rsa.pub
alors vous avez déjà une clé publique. Si la commande ci-dessus ne renvoie rien, vous n'en avez pas..
Générons le avec la commande:
$ ssh-keygen -t rsaVous pouvez simplement utiliser l'option par défaut quand il vous le demande. Une fois que vous avez terminé, vous pouvez confirmer que vous avez ce fichier en exécutant
ls -la ~ / .ssh | grep id_rsa.pub
encore. Un fichier de clé privée correspondant est également généré sous le nom ~ / .ssh / id_rsa
(pas l'extension .pub) pour vous. Nous allons l'utiliser plus tard, aussi.tutsplus
comme espace de nom ici. Maintenant, copions le contenu de la clé publique dans le presse-papier.
Si vous êtes sur Mac, vous pouvez utiliser cette commande pour copier rapidement le contenu dans un fichier:
$ cat ~ / .ssh / id_rsa.pub | pbcopy
cat ~ / .ssh / id_rsa.pub
, puis copiez manuellement la sortie.Pour que WordPress soit opérationnel, vous pouvez recommencer à zéro avec les outils de ligne de commande OpenShift ou utiliser l'interface graphique pour le créer. Utiliser une interface graphique peut être plus facile à démarrer, alors utilisons-la. Nous allons plonger plus en mode CLI plus tard.
Connectez-vous à OpenShift et procédez comme suit:
Maintenant, vous serez redirigé vers un écran pour entrer les informations de votre blog.
rhcloud.com
. Vous pouvez sélectionner n'importe quel nom, car nous le modifierons plus tard avec son propre domaine. Dans ce tutoriel, je vais utiliser http://demo2-tutsplus.rhcloud.com. Tutsplus
est mon espace de nom et demo2
est le nom de mon application.Attendez quelques instants et votre application sera créée. Ensuite, une page contenant:
Clonons ce référentiel sur notre machine locale. Par exemple mon propre ressemble à ceci
git clone ssh: //[email protected]/~/git/php.git/
Nous reviendrons plus tard. Cliquez sur "Continuer vers la page de présentation de l'application" et votre application apparaîtra avec le domaine que vous avez choisi. Lancez-le sur votre navigateur et vous pourrez procéder à l'installation normale de WordPress: Configuration du nom du site, du nom d'utilisateur admin et du mot de passe de l'administrateur, comme vous le faites habituellement avec WordPress.
La prochaine étape s’adresse aux personnes sur lesquelles WordPress est déjà installé quelque part et qui souhaitent migrer vers OpenShift. Si vous effectuez une nouvelle installation, vous pouvez l'ignorer, mais je vous suggère de la lire pour mieux comprendre la structure OpenShift..
Si vous avez du code WordPress existant, ce n'est pas si difficile à implémenter sur OpenShift. Vous avez plusieurs options:
wp-config.php
pour répondre aux exigences d'OpenShift.Voici quelques détails supplémentaires sur la deuxième étape, car la migration comprend trois éléments:
wp-content / uploads
vers OpenShift.Dans cette étape, je ne couvre que l'intégration de code. Dans une étape précédente, nous avons cloné le référentiel WordPress avec:
git clone ssh: //[email protected]/~/git/php.git/Vous devriez avoir une mise en page comme celle-ci dans le référentiel. Assurez-vous également d'afficher les fichiers cachés:
La belle chose à propos d’OpenShift est qu’il a une bonne structure pour WordPress. Lorsque vous travaillez sur WordPress, vous ne vous inquiétez que de wp-config.php
, plugins et thèmes. C'est tout.
Les autres fichiers, ou fichiers de base WordPress (wp-admin, wp-includes, wp-content / uploads, index.php, wp-login.php…) sont gérés par OpenShift. OpenShift extraira automatiquement les fichiers de WordPress et les placera au bon endroit pour vous.
.ouverture
le dossier est l'endroit où la plupart de votre code résidera. plugins
et des thèmes
sont les dossiers correspondants pour WordPress. config / wp-config.php
est votre fichier de configuration WordPress personnalisé.
.openshift / action_hooks
contient les scripts associés à la construction et au déploiement. Ces scripts sont ce qui sera exécuté sur le serveur OpenShift pour déployer votre application. Si vous souhaitez personnaliser le processus de construction, vous devez configurer ces fichiers de script..
Voici une partie du flux de travail de déploiement à chaque fois qu’une poussée vers la branche de déploiement (il s’agit généralement dumaîtriser
) est déclenché par Git:
rép_install
. Ensuite, téléchargez et extrayez le fichier http://wordpress.org/wordpress-$install_version.tar.gz dans ce dossier. La version d'installation est prédéfinie dans .openshift / action_hooks / build
.openshift / config / wp-config.php
écraser le fichier dans rép_install / wp-config.php
(le fichier wp-config.php par défaut du paquet original.openshift / plugins
et .openshift / thèmes
à rép_install / wp-content / plugins
et rép_install / wp-content / themes
.openshift / plugins
ou .openshift / thèmes
en conséquence. Puis validez votre code et renvoyez tout dans OpenShift. git push
déclencher le déploiement.$ git add plugins
$ git ajouter des thèmes
# Si vous mettez aussi à jour wp-config
$ git add config / wp-config.php
$ git commit -m "Copier le fichier à partir de l'ancien WordPress"
$ git push origine master
Très probablement, vous n'utiliserez pas le domaine par défaut créé par OpenShift. Vous voudrez utiliser votre propre domaine. En théorie, pour utiliser votre domaine personnalisé, vous devez faire deux choses:
En faisant cela, vous pointez votre domaine sur le serveur OpenShift et OpenShift est au courant de votre domaine et commencera à servir votre application à la demande de ce domaine..
Selon votre registraire de domaine, vous avez différentes façons de créer un enregistrement CNAME ou A pour votre domaine. Heureusement, nous avons un document très complet sur la manière de procéder..
Si vous utilisez un sous-domaine pour votre site WordPress tel que blog.votredomaine.com
vous pouvez ajouter un enregistrement CNAME à votre rhcloud.com
sous-domaine.
Si vous y allez, c'est très facile. Il suffit d’aller sur le panneau de contrôle de votre domaine, d’ajouter un point CNAME à votre URL OpenShift WordPress..
Par exemple avec name.com, j'ai ceci:
OpenShift.Axcoto.Com pointe vers demo2-tutsplus.rhcloud.com. Le texte dans la zone de texte est exempleDonc, je configure les paramètres pour avoir openshift.axcoto.com
pointer vers demo2-tutsplus.rhcloud.com
Dans ce cas, certains bureaux d'enregistrement de domaine vous permettent toujours de définir un enregistrement CNAME sur un domaine nu (par exemple, votredomaine.com). Si c'est le cas, allez-y et créez le comme vous le feriez pour les sous-domaines.
Si ce n'est pas le cas, nous devons trouver l'adresse IP de notre domaine OpenShift et y pointer votre domaine nu:
ping demo2-tutsplus.rhcloud.com
PING ec2-54-242-75-238.compute-1.amazonaws.com (54.242.75.238): 56 octets de données
64 octets de 54.242.75.238: icmp_seq = 0 ttl = 41 fois = 96,713 ms
64 octets de 54.242.75.238: icmp_seq = 1 ttl = 41 fois = 90,054 ms
^ C
--- ec2-54-242-75-238.compute-1.amazonaws.com statistiques de ping ---
2 paquets transmis, 2 paquets reçus, 0,0% de perte de paquet
aller-retour min / moy / max / stddev = 90,054 / 93,383 / 96,713 / 3,329 ms
Ensuite, j'ai créé un enregistrement A et l'ai simplement pointé sur cette adresse IP.
De toute façon, l’essentiel est de s’assurer que le domaine que vous utilisez est résolu avec la même adresse IP que votre rhc-cloud
domaine.
Vérifiez cela en envoyant une requête ping aux deux domaines:
Votre domaine peut maintenant pointer vers le même serveur que le sous-domaine OpenShift. L'étape suivante consiste à configurer le domaine côté WordPress.
Pour le moment, nous utilisons encore demo2-tutsplus.rhcloud.com
accéder à WordPress. Allons au tableau de bord, puis cliquez sur Paramètres> Général. Changer les deux Adresse WordPress (URL)
et Adresse du site (URL)
ton domaine.
À ce stade, vous pouvez être bloqué sur votre site WordPress. Ne t'inquiète pas. Retournez au tableau de bord OpenShift, sélectionnez votre application, cliquez sur "Modifier" en regard du nom de domaine et mettez à jour le domaine OpenShift sur votre propre domaine. Puis enregistrez-le.
Maintenant, accédez à votre domaine personnalisé, openshift.axcoto.com
, vous verrez votre site. Lorsque vous accédez au tableau de bord WordPress sur votre domaine personnalisé, vous pouvez obtenir un avertissement SSL. Ignorez-le simplement. Ceci est dû au fait que le certificat SSL est basé sur le domaine et que nous changeons pour notre domaine personnalisé. Nous devrions donc donner notre certificat SSL à OpenShift si nous voulons utiliser SSL..
C'est très pratique d'avoir un accès à la base de données MySQL avec phpMyAdmin. La meilleure façon de faire une tâche MySQL en PHP.
Sur votre page d’application, cliquez sur "Ajouter phpMyAdmin4.0". En attendant un moment, et phpMyAdmin sera prêt pour vous. Une fois installé, lancez-le, il vous sera demandé votre nom d'utilisateur / mot de passe MySQL. Nous l'avons stocké dans une étape précédente. Si vous avez oublié, vous pouvez toujours voir le nom d'utilisateur et afficher le mot de passe dans la cartouche MySQL5.5.
Notez que le nom de votre base de données WordPress est identique au nom de l'application..Si vous migrez depuis un blog existant, vous pouvez utiliser phpMyAdmin pour importer la base de données de l'ancien WordPress.
À ce stade, nous avons terminé. Vous pouvez aller de l'avant et profiter de votre installation WordPress. Mais plongons dans une autre chose dont vous pourriez avoir besoin.
Le forfait gratuit comporte un inconvénient: il est automatiquement désactivé si vous ne recevez aucune visite dans les deux jours. Chaque fois qu'un visiteur visite votre site, il redémarre automatiquement, donc c'est bien, en théorie, mais pendant ce temps de démarrage, il est un peu plus long de voir votre site car cela prend un certain temps pour démarrer..
Pour éviter cela, vous voudrez peut-être utiliser Pingdom. Pingdom vérifiera l'état d'avancement de votre site et vous enverra une notification par e-mail lorsque votre site Web sera en panne. Pour ce faire, Pingdom envoie une requête ping à votre site Web toutes les dix minutes environ. Son effet secondaire est que votre application reçoit un visiteur toutes les dix minutes, ce qui vous permet d'éviter l'extinction automatique d'OpenShift. Point bonus, nous avons également un excellent service de surveillance gratuit.
À cette fin, je suggère de créer un compte gratuit avec Pingdom à des fins de surveillance et de garder votre application suffisamment occupée..
Un des grands avantages d'OpenShift est que vous pouvez accéder à distance à votre application comme un serveur. Ce n'est pas une boîte noire pour vous. Vous pouvez utiliser SSH et lancer une commande shell (bien sûr, certaines commandes sensibles sont désactivées par OpenShift ou n’ont aucun effet).
Sur la page de votre application, à droite, vous pouvez voir un message disant: "Accès à distance. Voulez-vous vous connecter à votre application".
Cliquez dessus et vous aurez un exemple de commande comme:
$ ssh [email protected]
532bd7655004468bcf0000e1
. Le nom du serveur, bien sûr, est demo2-tutsplus.rhcloud.com
.déploiements d'applications
contient les données pendant le processus de déploiement sous forme de fichier temporaire, référentiel de clonage. Les données ici seront copiées plus tard vers l'emplacement correct. Il y a des répertoires plus importants situés dans celui-ci.app-deployments / current / repo
contient exactement le même clone de notre référentiel Git. Tout ce que vous avez sur votre machine locale sera le même ici.app-root / runtime / repo / php
est votre racine de document. C'est un lien symbolique vers app-root / data / current
quel est le vrai emplacement de votre code, sur lequel vous pouvez en lire plus ci-dessousapp-root / data
ce dossier contient votre code, votre dossier de téléchargement, votre thème et votre plugin. C’est le véritable endroit où tous ces objets sont situés et seront liés à différents endroits..Les données de ce dossier seront généralement persistantes entre les versions. Si c'est un changement, alors le changement est fait par vos scripts de construction, pas par OpenShift lui-même.app-root / data / current
votre code WordPress de la version actuelle se trouve ici. Les données de ce dossier sont généralement persistantes (à l’exception du contenu d’un lien symbolique à l’intérieur de celui-ci qui pourrait être modifié car il est placé ailleurs). Les fichiers WordPress tels que: wp-admin
, wp-comprend
, index.php
, .htaccess
va s'asseoir ici. Le contenu de ce dossier est créé par un script de construction lors de la première installation de WordPress à partir du tableau de bord OpenShift. Plus tard, lors de chaque déploiement, un fichier peut être copié dans celui-ci par le script de déploiement. Mais OpenShift lui-même ne réinitialisera pas le contenu de ce dossier.app-root / data / uploads
c'est votre dossier de téléchargement, mais c'est un lien symbolique de app-root / data / current / wp-content / uploads
afin que vous puissiez avoir des données téléchargées persistantes entre plusieurs versions.app-root / data / themes
contient le thème. C'est lié de app-root / data / current / wp-content / themes
.Encore une fois, c’est parce que vous pouvez télécharger un thème à partir de l’administrateur WordPress afin qu’il soit lié à l’extérieur pour avoir des données persistantes entre les versions..Si tu te souviens Étape 2b, à chaque déploiement, le contenu de ./ openshift / themes
sera copié dans ce dossier aussi.app-root / data / plugins
contient le plugin.Ce lien symbolique de app-root / data / current / wp-content / plugins
. Encore une fois, c’est parce que vous pouvez télécharger un thème à partir de l’administrateur WordPress afin qu’il soit lié à l’extérieur pour avoir des données persistantes entre les versions. Si tu te souviens Étape 2b, à chaque déploiement, le contenu de ./ openshift / plugins
sera copié dans ce dossier aussi.app-root / data / current / wp-content / uploads
pointe vers app-root / data / current / wp-content / uploads
git
Le dossier contient-il votre référentiel Git nu que OpenShift a créé pour vous?mysql
contient vos données MySQL et les informations de configuration de mysql.déploiements d'applications
estl'instantané de code pendant le déploiement.php
contient la configuration PHP, l'extension php…app-root / data / current / wp-content / uploads
avec scp. Par exemple:
$ cd your_current_wordpress
# Nous recopierons tous les fichiers / dossiers sous wp-content / uploads vers
$ scp -r wp-content / uploads / * [email protected]: ~ / app-root / data / current / wp-content / uploads
Assurez-vous d'utiliser le nom d'utilisateur et le nom du serveur corrects. Il est très important que vous utilisiez le bon nom d'utilisateur, sinon vous ne pourrez pas vous connecter.
OpenShift ne prend pas en charge FTP, mais vous pouvez utiliser le protocole de transfert de fichiers SSH pour accéder au système de fichiers et le parcourir. Cependant, n'utilisez pas cette méthode pour télécharger et éditer le fichier directement.
Considérez cela comme un moyen de vous aider à visualiser rapidement la structure de fichiers de votre application si vous n'êtes pas familiarisé avec la ligne de commande. Nous utiliserons FileZilla pour vous connecter. Nous n'utiliserons pas l'authentification par mot de passe, mais l'authentification par clé publique / privée. Nous avons déjà configuré la clé publique avant. Maintenant, ajoutons un nouveau serveur comme dans l’écran. Changez-le à votre convenance.
Sauvegarde le. Ensuite, nous devons mettre à jour notre clé privée avec FileZilla car nous n’utiliserons pas l’authentification par mot de passe sous OpenShift. Ouvrez FileZilla Preference, sélectionnez SFTP-> Add Key File, puis choisissez votre clé privée que nous avons générée avec la clé publique à l’étape précédente. Il devrait être dans /Users/yourname/.ssh/id_rsa
.
Notez que depuis .ssh
inclure un point, Mac le cachera, vous pouvez donc suivre ces conseils pour afficher le fichier caché dans Mac.
Répondez oui quand il demande la conversion. Maintenant, vous pouvez vous connecter à l'hôte que nous avons enregistré avant.
Une fois que vous y êtes, vous pouvez naviguer et avoir une idée de la disposition des dossiers. Mais assurez-vous de ne pas supprimer manuellement le code de suppression WordPress car le bon moyen de déployer OpenShift consiste à utiliser son référentiel Git. Vous pouvez toujours télécharger manuellement le fichier, mais vous perdrez une autre fonctionnalité intéressante du déploiement OpenShift..
Utiliser une interface graphique peut être facile à comparer en utilisant SSH sur un terminal, mais n'abusez pas de cette méthode SFTP, nous devrions la considérer comme un moyen rapide de vérifier si certains fichiers sont présents, de ne pas l'utiliser pour le déploiement. Mais vous pouvez l’utiliser pour télécharger (à des fins de sauvegarde) des données multimédia app-root / data / uploads
.
Si vous migrez depuis une installation existante de WordPress, vous pouvez simplement tout fichier de votre wp-content / uploads
à app-root / data / current / wp-content / uploads
Les thèmes et les plugins peuvent être téléchargés et installés directement à partir de l'interface utilisateur d'administration WordPress. Ils seront stockés dans app-root / data / plugin
etapp-root / data / theme
.Mais depuis que nous avons utilisé Git pour le déploiement sur OpenShift, nous devrions les vérifier dans notre référentiel Git et ne pas télécharger directement à partir du tableau de bord WordPress. Vous pouvez mettre votre thème, plugin .openshift / thèmes
et .openshift / plugin
de la même manière que ce qui est décrit dans Étape 2b.
Pour récapituler cette section post-installation, je dirai que si vous êtes un utilisateur final qui n’est pas familiarisé avec l’accès à Git ou à un terminal, vous devez utiliser SFTP pour le téléchargement de fichier, en installant directement le plugin / theme comme vous le ferez sur un ordinateur. Hébergement partagé.
Si vous êtes un développeur WordPress, veuillez utiliser Git. Dans la prochaine partie, nous en apprendrons davantage sur la bonne manière avec OpenShift: le déploiement avec Git push. Et croyez-moi, c'est plus facile qu'il n'y paraît.
À ce stade, vous pouvez exécuter WordPress sur OpenShift afin de ne plus avoir besoin de factures pour le service d'hébergement. Si votre service commence à générer plus de trafic, vous pouvez l'ajouter..
Dans ce tutoriel, nous avons presque tout fait via le tableau de bord OpenShift, mais l'interface utilisateur a toujours ses limites. OpenShift est livré avec un plus grand outil de lig