OpenShift è un PaaS che ti consente di eseguire la tua app gratuitamente con risorse basse. Offre 1 GB di spazio di archiviazione e 512 MB di RAM e supporta i domini personalizzati. È più veloce di Heroku, PagodaBox e AppFog che ti danno accesso SSH al tuo server delle app, eseguito in un ambiente separato. È proprio come un vero server, ma lo ottieni gratis.
OpenShift è una piattaforma molto buona per l'esecuzione di un sito WordPress. PagodaBox e AppFog sono pronte per ospitare gratuitamente applicazioni PHP; tuttavia, PagodaBox è piuttosto lento e ha un limite rigido di 10 MB di MySQL per piano gratuito. AppFog non supporta più il dominio personalizzato sul loro piano gratuito. Puoi anche eseguire PHP su Heroku, ma è anche un po 'lento.
OpenShift risolve tutti i problemi di cui sopra: è abbastanza veloce, offre un dominio personalizzato gratuito, offre ampio spazio su disco e una notevole quantità di spazio di archiviazione MySQL.
Il piano gratuito supporta:
OpenShift è una piattaforma di applicazioni cloud di nuova generazione che semplifica lo sviluppo, l'implementazione e la scalabilità delle applicazioni nel cloud, pubblico o privato.
Scopriamolo.
spingere
al repository che OpenShift ha creato per te.La tua app, al punto di vista di OpenShift contiene:
Anche il repository git è creato e gestito da OpenShift stesso. È necessario premere per attivare la distribuzione.
La tua app funziona su un set di cartucce. Una cartuccia,dalla definizione di OpenShift, sono parti autonome dello stack dell'applicazione come il server web e il server di database. queste cartuccevengono distribuiti ed eseguiti su uno o più contenitori di chiamata sicuri.
Quindi, per un'applicazione PHP, puoi avere un server MySQL, un server web, un server Memcache, un server di registrazione e un operatore di Gearman. Tutte queste sono cartucce. Gli ingranaggi sono ciò che farà funzionare queste cartucce. Puoi pensare a un ingranaggio come un server virtuale separato e la cartuccia è lo stack tecnologico; quindi, per ridimensionare la tua app, puoi aggiungere più ingranaggi.
Per espandere il tuo stack tecnologico, aggiungi più cartucce, come l'aggiunta di un RabbitMQ.Gears ha condiviso le informazioni di configurazione con l'app tramite le variabili di ambiente. Ad esempio, non scriverete direttamente un nome utente MySQL o una password MySQL in un file di configurazione. Invece, dovresti usare getenv per caricare variabili d'ambiente. Se si codifica la configurazione, quando si distribuisce su una nuova marcia, smette di funzionare.
define ('DB_NAME', getenv ('OPENSHIFT_APP_NAME'));
/ ** Nome utente del database MySQL * /
define ('DB_USER', getenv ('OPENSHIFT_MYSQL_DB_USERNAME'));
/ ** Password del database MySQL * /
define ('DB_PASSWORD', getenv ('OPENSHIFT_MYSQL_DB_PASSWORD'));
/ ** Nome host MySQL * /
define ('DB_HOST', getenv ('OPENSHIFT_MYSQL_DB_HOST'). ':'. getenv ('OPENSHIFT_MYSQL_DB_PORT'));
La condivisione della configurazione tramite l'ambiente è il modo in cui più ingranaggi possono conoscersi reciprocamente. Se sei convinto, continuiamo.
Vai a qui e registrati per un account. Devi solo registrarti per un account gratuito. Salta se hai già avuto un account lì.
Avrai bisogno di una chiave pubblica per la connessione tra te e OpenShift in seguito. Una chiave pubblica è un file di testo normale di solito nome id_rsa.pub
che si trova in ~ / .Ssh /
.
Quindi se sei su un Mac, è dentro /Users/[your_username]/.ssh/id_rsa.pub
o se sei su Linux è dentro /home/[your_user_name]/.ssh/id_rsa.pub
. Devi copiare il contenuto di questo file e aggiornarlo con OpenShift in modo che OpenShift sia a conoscenza della tua chiave pubblica. Quando si effettua una connessione a OpenShift dal terminale (ovvero, quando si SSH alla casella e si sta spingendo il codice), OpenShift identificherà e autorizzerà in base alla propria chiave pubblica / privata.
Se non hai familiarità con il concetto di chiave pubblica, questo tutorial ti fornirà una solida base per questo.
Per verificare se hai già avuto una chiave pubblica, esegui questo comando:
ls -la ~ / .ssh | grep id_rsa.pub
Se ottieni questo risultato:
id_rsa.pub
allora hai già una chiave pubblica. Se il comando precedente non restituisce nulla, non ne hai uno.
Generiamolo con il comando:
$ ssh-keygen -t rsaPuoi semplicemente usare l'opzione predefinita quando ti chiede. Una volta che hai finito, puoi confermare di avere quel file eseguendo
ls -la ~ / .ssh | grep id_rsa.pub
ancora. Anche un file di chiave privata corrispondente viene generato sotto il nome ~ / .Ssh / id_rsa
(non. estensione .pub) per te. Lo useremo anche più tardi.tutsplus
come spazio per i nomi qui. Ora, copia il contenuto della chiave pubblica negli appunti.
Se si utilizza Mac, è possibile utilizzare questo comando per copiare rapidamente il contenuto in un file:
$ cat ~ / .ssh / id_rsa.pub | pbcopy
cat ~ / .ssh / id_rsa.pub
, quindi copiare manualmente l'output.Per avviare WordPress, puoi iniziare da zero con gli strumenti della riga di comando di OpenShift oppure puoi utilizzare la GUI per crearlo. L'utilizzo di una GUI può essere più facile per l'avvio, quindi usiamolo. Ci tufferemo più in modalità CLI più tardi.
Accedi a OpenShift e fai quanto segue:
Ora, sarai reindirizzato a una schermata per inserire le informazioni del tuo blog.
rhcloud.com
. Puoi selezionare qualsiasi nome perché lo cambieremo comunque con il suo dominio in un secondo momento. In questo tutorial userò http://demo2-tutsplus.rhcloud.com. Tutsplus
è il mio nome spazio e demo2
è il nome della mia app.Attendi qualche istante e la tua applicazione verrà creata. Successivamente, ti verrà presentata una pagina che contiene:
Cloniamo questo repository sul nostro computer locale. Ad esempio il mio aspetto è simile a questo
git clone ssh: //[email protected]/~/git/php.git/
Torneremo più tardi. Fai clic su "Continua alla pagina di panoramica dell'applicazione" e la tua app verrà visualizzata con il dominio che hai scelto. Lanciatelo sul tuo browser e puoi procedere con la normale installazione di WordPress: Impostazione del nome del sito, del nome utente dell'amministratore e della password dell'amministratore proprio come sei abituato a fare con WordPress.
Il prossimo passo è per le persone che hanno già installato WordPress da qualche parte e vogliono passare a OpenShift. Se stai facendo una nuova installazione, puoi ignorarla, ma ti suggerisco di leggerla per ulteriori informazioni sulla struttura di OpenShift.
Se hai già un codice WordPress, non è così difficile implementarlo su OpenShift. Hai diverse opzioni:
wp-config.php
per abbinare i requisiti di OpenShift.Ecco alcuni dettagli aggiuntivi sul secondo passaggio dato che la migrazione include tre elementi:
wp-content / uploads
per OpenShift.In questo passaggio, sto solo considerando l'integrazione del codice. In un passaggio precedente, abbiamo clonato il repository di WordPress con:
git clone ssh: //[email protected]/~/git/php.git/Dovresti avere un layout come questo all'interno del repository. Assicurati di visualizzare anche i file nascosti:
La cosa bella di OpenShift è che ha una buona struttura per WordPress. Quando lavori su WordPress, ti preoccupi solo wp-config.php
, plugin e temi. Questo è tutto.
Gli altri file o il file principale di WordPress (wp-admin, wp-include, wp-content / uploads, index.php, wp-login.php ...) sono gestiti da OpenShift. OpenShift estrae automaticamente i file da WordPress e li inserisce nella posizione corretta per te.
.OpenShift
la cartella è dove risiederà la maggior parte del tuo codice. plugins
e temi
sono cartelle corrispondenti per WordPress. config / wp-config.php
è il tuo file di configurazione WordPress personalizzato.
.OpenShift / action_hooks
contiene build e distribuisce script correlati. Questi script sono ciò che verrà eseguito sul server OpenShift per implementare la tua app. Se si desidera personalizzare il processo di compilazione, è necessario configurare tali file di script.
Ecco una parte del flusso di lavoro di distribuzione ogni volta che si passa al ramo di distribuzione (di solito questo è ilmaestro
) viene attivato da Git:
install_dir
. Successivamente, scarica ed estrai il file http://wordpress.org/wordpress-$install_version.tar.gz in questa cartella. L'install_version è predefinito in .OpenShift / action_hooks / build
.OpenShift / config / wp-config.php
per sovrascrivere il file in install_dir / wp-config.php
(il predefinito wp-config.php dal pacchetto originale.OpenShift / plugins
e .OpenShift / temi
a install_dir / wp-content / plugins
e install_dir / wp-content / themes
.OpenShift / plugins
o .OpenShift / temi
di conseguenza. Quindi invia il tuo codice e invia tutto a OpenShift. spingere
per attivare la distribuzione.$ git aggiungere plugin
$ git aggiunge temi
# Se aggiorni anche wp-config
$ git aggiungi config / wp-config.php
$ git commit -m "Copia file da vecchio WordPress"
$ git push origin master
Molto probabilmente, non utilizzerai il dominio predefinito creato da OpenShift per te. Dovrai utilizzare il tuo dominio. In teoria, per usare il tuo dominio personalizzato devi fare due cose:
In questo modo, indirizzi il tuo dominio al server OpenShift e OpenShift è a conoscenza del tuo dominio e inizierà a servire la tua app quando richiesto da quel dominio.
A seconda del tuo registrar di domini, hai un modo diverso di creare un record CNAME o A per il tuo dominio. Fortunatamente, abbiamo un documento molto ampio su come farlo.
Se si utilizza un sottodominio per il tuo sito WordPress come blog.yourdomain.com
puoi aggiungere un record CNAME al tuo rhcloud.com
sottodominio.
Se vai con questo, è molto facile. Vai al tuo pannello di controllo del dominio, aggiungi un punto di record CNAME al tuo URL di WordPress OpenShift.
Ad esempio con name.com, ho questo:
OpenShift.Axcoto.Com punta a demo2-tutsplus.rhcloud.com. Il testo nella casella di testo è campioneQuindi, configuro le impostazioni da avere openshift.axcoto.com
indicare demo2-tutsplus.rhcloud.com
In questo caso, alcuni registrar di domini ti consentono comunque di impostare un record CNAME su un dominio nudo (ad esempio, yourdomain.com). Se è così, vai avanti e creala esattamente come fai per i sottodomini.
Se non lo è, dobbiamo trovare l'indirizzo IP del nostro dominio OpenShift e puntare il tuo dominio nudo su di esso:
ping demo2-tutsplus.rhcloud.com
PING ec2-54-242-75-238.compute-1.amazonaws.com (54.242.75.238): 56 byte di dati
64 byte da 54.242.75.238: icmp_seq = 0 ttl = 41 volta = 96.713 ms
64 byte da 54.242.75.238: icmp_seq = 1 ttl = 41 volta = 90.054 ms
^ C
--- Statistiche ping ec2-54-242-75-238.compute-1.amazonaws.com ---
2 pacchetti trasmessi, 2 pacchetti ricevuti, 0,0% di perdita di pacchetti
round-trip min / avg / max / stddev = 90.054 / 93.383 / 96.713 / 3.329 ms
Quindi ho creato un record A e l'ho semplicemente indirizzato a quell'indirizzo IP
In entrambi i casi, il punto principale è assicurarsi che il dominio che stai utilizzando sia stato risolto con lo stesso indirizzo IP con il tuo RHC-cloud
dominio.
Verifica questo facendo il ping di entrambi i domini:
Ora il tuo dominio è in grado di puntare allo stesso server del sottodominio OpenShift. Il prossimo passo è configurare il dominio sul lato di WordPress.
Per ora, stiamo ancora usando demo2-tutsplus.rhcloud.com
per accedere a WordPress. Andiamo alla Dashboard, quindi fare clic su Impostazioni> Generale. Cambia entrambi Indirizzo WordPress (URL)
e Indirizzo del sito (URL)
il tuo dominio.
A questo punto, puoi essere bloccato dal tuo sito WordPress. Non ti preoccupare Torna alla dashboard OpenShift, seleziona la tua app, fai clic su "Cambia" accanto al nome del dominio e aggiorna il dominio OpenShift sul tuo dominio. Quindi salvalo.
Ora accedi al tuo dominio personalizzato, openshift.axcoto.com
, vedrai il tuo sito. Quando accedi al dashboard di WordPress sul tuo dominio personalizzato, puoi ricevere un avviso SSL, ignoralo. Questo è causato dal certificato SSL basato sul dominio e passiamo al nostro dominio personalizzato, quindi dovremmo dare a OpenShift il nostro certificato SSL se vogliamo usare SSL.
È molto utile avere un accesso al database MySQL con phpMyAdmin. Il modo più semplice per eseguire attività MySQL in PHP.
Nella tua pagina dell'applicazione, fai clic su "Aggiungi phpMyAdmin4.0". Aspettando un po 'e phpMyAdmin sarà pronto per te. Una volta installato, avvialo, ti verrà chiesto il nome utente / password MySQL. Lo abbiamo memorizzato in un passaggio precedente. Se hai dimenticato, puoi sempre vedere il nome utente e mostrare la password nella cartuccia MySQL5.5.
Nota che il nome del tuo database WordPress è uguale al nome dell'applicazione.Se si sta eseguendo la migrazione da un blog esistente, è possibile utilizzare phpMyAdmin per importare il database del vecchio WordPress.
A questo punto, abbiamo finito. Puoi andare avanti e goderti la tua installazione di WordPress. Ma tuffiamoci in qualche altra cosa di cui potresti aver bisogno.
Il piano gratuito ha uno svantaggio: si spegne automaticamente se non ci sono visite in due giorni. Ogni volta che un visitatore visita il tuo sito, viene riavviato automaticamente, quindi in teoria è bello, ma durante l'ora di avvio, è un po 'più lungo vedere il tuo sito poiché ci vorrà un po' per iniziare.
Per evitare questo, potresti voler usare Pingdom. Pingdom controllerà lo stato di attivazione del tuo sito e ti invierà una notifica via email quando il tuo sito web non funziona. Per fare ciò, Pingdom fa ping sul tuo sito ogni dieci minuti circa. L'effetto collaterale è che la tua app ha un visitatore ogni dieci minuti, quindi puoi passare allo spegnimento automatico di OpenShift. Punto bonus, abbiamo anche un ottimo servizio di monitoraggio gratuito.
A tal fine, suggerisco di impostare un account gratuito con Pingdom per scopi di monitoraggio e di mantenere l'app sufficientemente occupata.
Una cosa grandiosa di OpenShift è che puoi accedere in remoto alla tua app come un server. Non è una scatola nera per te. Puoi inserire SSH ed emettere qualche comando di shell (ovviamente alcuni comandi sensibili sono disabilitati da OpenShift o non hanno alcun effetto).
Sulla tua pagina dell'applicazione, sul lato destro puoi vedere un post che dice: "Accesso remoto. Vuoi accedere alla tua applicazione".
Fare clic su di esso e si avrà un comando di esempio come:
$ ssh [email protected]
532bd7655004468bcf0000e1
. Il nome del server, ovviamente lo è demo2-tutsplus.rhcloud.com
.app-implementazioni
detiene i dati durante il processo di distribuzione come il file temporaneo, il repository clone. I dati qui saranno copiati nella posizione corretta in seguito. Vi sono più directory importanti situate al suo interno.app-implementazioni / corrente / repo
detiene esattamente lo stesso clone del nostro repository Git. Qualsiasi cosa tu abbia sulla tua macchina locale sarà la stessa qui.app-root / runtime / repo / php
è la tua radice del documento. È un collegamento simbolico a app-root / dati / corrente
qual è la vera posizione del tuo codice, di cui puoi leggere più sottoapp-root / dati
questa cartella contiene il tuo codice, la tua cartella di upload, il tema e il plugin. Questo è il vero luogo in cui si trovano tutti questi e saranno collegati da diverse posizioni.I dati in questa cartella saranno solitamente persistenti tra le versioni. Se è cambiato, allora il cambiamento avviene tramite gli script di compilazione, non da OpenShift stesso.app-root / dati / corrente
il tuo codice WordPress della versione corrente si trova qui. I dati in questa cartella sono solitamente persistenti (eccetto il contenuto di qualche link simbolico al suo interno che potrebbe essere cambiato perché si trova in qualche altro posto). I file WordPress come: wp-admin
, wp-includes
, index.php
, .htaccess
siederà qui. Il contenuto di questa cartella viene creato dallo script di build la prima volta che si installa WordPress dalla dashboard OpenShift. Successivamente, durante ogni distribuzione, alcuni file possono essere copiati in questo dallo script di distribuzione. Ma OpenShift non ripristinerà il contenuto di questa cartella.app-root / dati / uploads
questa è la tua cartella di upload, ma è un collegamento simbolico di app-root / dati / / wp-content / uploads corrente
così puoi avere dati caricati persistenti tra più versioni.app-root / dati / temi
contiene il tema. È collegato da app-root / dati / / wp-content / themes corrente
.Di nuovo, è perché puoi caricare il tema da admin di WordPress in modo che sia collegato all'esterno per avere dati persistenti tra le versioni.Se ricordi Passaggio 2B, ad ogni distribuzione, il contenuto di ./ OpenShift / themes
sarà copiato anche in questa cartella.app-root / data / plugins
contiene plugin.È il collegamento simbolico da app-root / dati / / wp-content / plugins corrente
. Di nuovo, è perché puoi caricare il tema da admin di WordPress in modo che sia collegato all'esterno per avere dati persistenti tra le versioni. Se ricordi Passaggio 2B, ad ogni distribuzione, il contenuto di ./ OpenShift / plugins
sarà copiato anche in questa cartella.app-root / dati / / wp-content / uploads corrente
punta a app-root / dati / / wp-content / uploads corrente
idiota
la cartella contiene il tuo repository Git che OpenShift ha preparato per temysql
detiene i tuoi dati MySQL e le informazioni di configurazione di mysql.app-implementazioni
èlo snapshot del codice durante la distribuzione.php
contiene la configurazione PHP, l'estensione php ...app-root / dati / / wp-content / uploads corrente
con scp. Per esempio:
$ cd your_current_wordpress
# Copieremo ricorsivamente tutti i file / cartelle in wp-content / uploads
$ scp -r wp-content / uploads / * [email protected]: ~ / app-root / data / corrente / wp-content / uploads
Assicurati di utilizzare nome utente e nome server corretti. È molto importante utilizzare un nome utente corretto, altrimenti non potrai connetterti.
OpenShift non supporta FTP ma è possibile utilizzare SSH File Transfer Protocol per ottenere l'accesso e browser del file system; tuttavia, non utilizzare questo metodo per caricare e modificare file direttamente.
Consideralo come un modo per aiutarti a visualizzare rapidamente la struttura dei file nella tua app se non hai familiarità con la riga di comando. Useremo FileZilla per connetterci. Non useremo l'autenticazione della password ma l'autenticazione della chiave pubblica / privata. Abbiamo già impostato la chiave pubblica in precedenza. Ora, lascia aggiungere un nuovo server come nello schermo. Cambialo alle tue impostazioni.
Salvarla. Successivamente, dobbiamo aggiornare la nostra chiave privata con FileZilla perché non useremo l'autenticazione della password su OpenShift. Apri FileZilla Preference, seleziona SFTP-> Aggiungi file chiave, quindi scegli la tua chiave privata che abbiamo generato insieme alla chiave pubblica nel passaggio precedente. Dovrebbe essere dentro /Users/yourname/.ssh/id_rsa
.
Da notare che da allora .SSH
includi un punto, Mac lo nasconderà, quindi puoi seguire questi suggerimenti per mostrare il file nascosto in Mac.
Rispondi sì quando chiede la conversione. Ora puoi collegarti all'host che abbiamo salvato in precedenza.
Una volta entrati, puoi navigare e avere un senso del layout delle cartelle. Ma assicurati di non rimuovere manualmente il codice di cancellazione di WordPress in modo che la distribuzione di OpenShift possa utilizzare il suo repository Git. È comunque possibile caricare manualmente il file, ma si perderanno altre funzioni interessanti della distribuzione di OpenShift.
L'utilizzo di una GUI può essere semplice per vedere le cose che confrontano l'uso di SSH sul terminale ma non abusare di questo metodo SFTP, dovremmo considerarlo come un modo rapido per verificare se alcuni file sono presenti, non per utilizzarlo per la distribuzione. Ma puoi usarlo per scaricare (per scopi di backup) i dati multimediali in app-root / dati / uploads
.
Se stai eseguendo la migrazione da un'installazione WordPress esistente, puoi semplicemente archiviare tutti i file nel tuo wp-content / uploads
a app-root / dati / / wp-content / uploads corrente
Temi e plug-in possono essere caricati e installati direttamente dall'interfaccia utente di amministrazione di WordPress. Saranno memorizzati in app-root / dati / plugin
eapp-root / dati / a tema
.Ma dal momento che abbiamo usato Git per la distribuzione su OpenShift, dovremmo controllarli nel nostro repository Git e non caricare direttamente dal dashboard di WordPress. Puoi inserire il tuo tema, plugin in .OpenShift / temi
e .OpenShift / plugin
allo stesso modo di quanto descritto in Passaggio 2B.
Per ricapitolare questa sezione post-installazione, dirò che se sei un utente finale che non ha familiarità con Git o con l'accesso al terminale, allora dovresti usare SFTP per caricare file, installando plugin / temi direttamente come quello che farai su un hosting condiviso.
Se sei uno sviluppatore WordPress, per favore usa Git. Nella parte successiva, impareremo di più sul modo giusto con OpenShift: l'implementazione con Git push. E credimi, è più facile di quanto sembri.
A questo punto, è possibile eseguire WordPress su OpenShift in modo da non richiedere più fatture per il servizio di hosting. Se il tuo servizio inizia a ricevere più traffico, puoi aggiungerne altri.
In questo tutorial, abbiamo quasi fatto tutto tramite la dashboard OpenShift, ma l'interfaccia utente ha sempre i suoi limiti. OpenShift viene fornito con uno strumento a riga di comando più grande che impareremo nel prossimo articolo. Nello specifico, apprenderemo come mantenere e problematizzare la nostra installazione di WordPress.
Lascia un commento per farci sapere come stai facendo con OpenShift.