Een app-afbeelding bouwen om door te verkopen bij Digital Ocean

Wat je gaat creëren

In deze zelfstudie begeleid ik u bij het maken van een vooraf geconfigureerde serverinstance met WordPress (of andere op LAMP gebaseerde apps) die u herhaaldelijk kunt clonen en overzetten naar clients. Ik gebruik de beeldmogelijkheden van Digital Ocean om mijn WordPress Quickstart en enkele van mijn op LAMP gebaseerde apps zoals E-mail vereenvoudigen en Simple Monitor te verkopen. Mede door deze functie is Digital Ocean dit jaar mijn favoriete webhost geworden.

Met Digital Ocean is een momentopname een kopie op een moment in de tijd van een specifieke cloud-gebaseerde serverinstantie. Hiermee kunt u exemplaren dupliceren en via e-mail overzetten naar clients. Hierdoor kan iemand snel en gemakkelijk aan de slag met een vooraf geconfigureerde serverafbeelding en toepassingsstack.

Ik bied bijvoorbeeld een vooraf geconfigureerde, vooraf geoptimaliseerde versie van WordPress, die ik Quickstart noem. Het is een versie van WordPress vooraf geïnstalleerd met een set super handige plug-ins en het is ook vooraf geoptimaliseerd met W3TC en Varnish Cache, zoals beschreven in mijn Tutorial Tuts WordPress optimaliseren met Varnish en W3 Total Cache. Wanneer ik een kopie van deze afbeelding naar clients verzend, is dit de snelste, gemakkelijkste, best geconfigureerde versie van WordPress die ik kan aanbieden. Dit proces maakt het starten van nieuwe WordPress-sites ongelooflijk gemakkelijk. In deze zelfstudie laat ik je zien hoe je je eigen foto's kunt bouwen bij Digital Ocean om te delen met klanten.

Ermee beginnen

Als je dit wilt proberen met een LAMP-toepassing, kun je mijn handleiding voor het aanmelden en opstellen van generieke exemplaren hier bij Digital Ocean vinden. Als u WordPress wilt gebruiken, kunt u meegaan. Ik ga je helpen met het maken van een druppel, het installeren van WordPress, het toevoegen van een thema en plug-ins, het maken van een momentopname, het klonen van de momentopname en het overbrengen naar klanten. Ik heb hier een meer gedetailleerde handleiding voor het installeren van WordPress bij Digital Ocean gepubliceerd.

Uw druppel maken

Laten we eerst een druppel maken. Klik op de creëren knop:

Ik zal de mijne bellen image.publishingwordpress.com maar je kunt de jouwe alles generiek noemen. Ik gebruik de afbeeldingsgrootte van 512 MB:

Noteer de regio die u kiest, omdat uw klant alleen in staat is om uw afbeelding in dezelfde regio te instantiëren, maar u kunt ook de regio van uw snapshot overbrengen voordat u deze naar uw klant verzendt, indien nodig.

Klik op de toepassingen tab en kies LAMP op Ubuntu 14.xx:

Digital Ocean begint met het maken van uw druppel:

Wanneer u klaar bent, ziet u deze pagina:

Je ontvangt ook een e-mail zoals hieronder:

Nu kunt u uw domeinregistreerder bezoeken en uw DNS-records aanpassen om uw domein of subdomein naar het nieuwe IP-adres te verwijzen. In mijn geval richt ik de A-record voor image.publishingwithwordpress.com naar 198.199.117.46. De jouwe zal duidelijk verschillen.

U hoeft niet te wachten tot het DNS zich verspreidt om aan de slag te gaan met het configureren van het exemplaar. Log in met uw IP-adres via SSH. U moet het wachtwoord wijzigen in de e-mail die u heeft ontvangen:

Laten we de afbeelding bijwerken:

sudo apt-get update sudo apt-get dist-upgrade sudo reboot

Ik raad ook aan de volgende componenten te installeren, die we gebruiken in WordPress en verschillende plug-ins:

sudo apt-get install zip php5-curl sudo a2enmod rewrite

De Apache inschakelen mod_rewrite zorgt voor permalink-adressen in WordPress, die gebruikersvriendelijker zijn en de zoekmachineoptimalisatie verbeteren.

Ik raad aan om te rennen mysql_secure_installation ook:

mysql_secure_installation

Als u dit script wilt uitvoeren, moet u uw rootwachtwoord voor MySQL noteren, dat verschijnt wanneer u zich aanmeldt bij het exemplaar.

Als u de 512 MB RAM-druppel van 5 dollar per maand gebruikt, moet u een wisselbestand maken zodat WordPress correct werkt, anders heeft het geheugen van het systeem onvoldoende geheugen en loopt het herhaaldelijk vast:

dd if = / dev / zero of = / swapfile bs = 1M count = 1024 mkswap / swapfile swapon / swapfile

Dan zullen we toevoegen aan de fstab bestand om het systeem over het swapbestand te vertellen:

sudo nano / etc / fstab

Voeg deze regel toe:

/ swapfile swap-verwisseling standaard 0 0

De $ 10 per maand 1 GB-instantie zal WordPress probleemloos uitvoeren.

Nu zijn we klaar om WordPress te installeren:

Installeren van WordPress

Maak een www-map aan met machtigingen voor de Apache-webserver:

sudo mkdir / var / www sudo chown www-data: www-data / var / www cd / var / www

Download de nieuwste versie van WordPress, vouw het archief uit en stel de machtigingen in:

cd / var / www sudo wget http://wordpress.org/latest.tar.gz sudo tar -xzvf latest.tar.gz sudo chown -R www-gegevens: www-data wordpress

Laten we nu de WordPress-database in MySQL maken. Noteer uw gebruikersnaam en wachtwoord:

mysql -u root -p maak database wordpress; verleen alle rechten op wordpress. * NAAR "your-mysql-gebruikersnaam" @ "localhost" geïdentificeerd door "your-mysql-password"; flush privileges; Uitgang;

Laten we het Apache-configuratiebestand voor WordPress maken:

cd / etc / apache2 / sites-beschikbaar sudo nano 000-wordpress.conf

Plak de volgende virtuele hostconfiguratie en pas deze aan:

 Servernaam yourdomainname.com DocumentRoot / var / www / wordpress DirectoryIndex index.php  AllowOverride All Order Deny, Allow Allow from all  

Schakel de Apache-site voor WordPress in en schakel de standaard Ubuntu-site uit:

sudo a2dissite 000-default.conf sudo a2ensite 000-wordpress.conf sudo service apache2 herladen

Ga naar uw website om WordPress via de webgebruikersinterface te configureren met behulp van uw database-instellingen van boven. Kies bij het kiezen van titels en aanmeldingen generieke namen en noteer de aanmeldingen.

Log in met uw algemene inloggegevens en u zou het dashboard moeten zien:

Aangezien dit een generieke afbeelding is die u zult dupliceren en overzetten, heeft de gebruiker WordPress nodig om de eigen site-URL bij te werken. Laten we het WordPress-configuratiebestand bewerken met een relocatievlag. U wilt dat uw client dit uitschakelt nadat ze de URL van hun site hebben bewerkt in de algemene instellingen van het dashboard.

sudo nano /var/www/wordpress/wp-config.php

Voeg nu de volgende regel toe:

define ( 'verhuizen', true);

Wanneer de gebruiker zijn site-URL in het dashboard bijwerkt, werkt WordPress de volledige database bij. Nadat dit eenmaal is gedaan, kan de client deze regel opmerkingen maken of verwijderen.

Ik stel ook voor het toevoegen van de FS_DIRECT vlag voor eenvoudigere plug-in installatie:

define ('FS_METHOD', 'direct'); // voor automatische plug-in installatie

Een thema installeren

Voor demonstratiedoeleinden ga ik het nieuwe simplistische Minnow-thema installeren. U kunt het installeren door te zoeken op:

Hier is hoe het eruit ziet:

Vervolgens installeren we alle plug-ins die we van onze klanten willen hebben.

Plug-ins installeren

Het is aan u welke plug-ins u wilt installeren. Ik bewaar hier een lijst met aanbevolen plug-ins. Laten we doorgaan en de Yoast SEO-plug-in installeren, wat een steunpilaar voor me is. Ik gebruik het omdat het helpt bij zoekmachine optimalisatie en het genereren van sitemaps.

Je kunt het Nieuwe plug-in toevoegen pagina en zoek ernaar om het te installeren en te activeren:

Op dit moment kunt u algemene WordPress-configuraties maken die u downstream met al uw klanten wilt delen. U kunt bijvoorbeeld meer thema's en plug-ins installeren. U kunt permalinks inschakelen. U kunt enkele basisthema-instellingen configureren. Het is geheel aan jou.

Alles wat u aanpast, wordt gerepliceerd wanneer u de aankomende momentopname kloneert en overbrengt naar uw klanten. Uw klanten moeten alles aanpassen en configureren dat u niet wilt bijwerken.

Een momentopname maken

Wanneer u al uw gebruikelijke installaties en configuraties hebt gemaakt, kunnen we een momentopname van uw druppel maken. Digital Ocean vereist dat we de instantie uitschakelen. Het is het beste om dit te doen vanuit de opdrachtregelconsole.

sudo poweroff

Ga naar de Droplet-pagina bij Digital Ocean en klik op het tabblad Momentopname. Ik kies meestal een naam voor de snapshot die een opeenvolgend aantal klonen aangeeft, bijvoorbeeld. wp-image-000. Dan klikken Maak snapshot.

Het kan enkele minuten duren voordat Digital Ocean uw momentopname heeft gemaakt.

Wanneer de afbeelding is voltooid, start Digital Ocean automatisch uw druppel opnieuw op.

Een afbeelding dupliceren

Om meer kopieën van de afbeelding te maken, herhaalt u eenvoudig de bovenstaande stappen. Schakel de druppel uit vanaf de opdrachtregel. Maak nog een snapshot. Het is een beetje tijdrovend, maar vrij eenvoudig.

In de volgende zelfstudie laat ik u zien hoe u de Digital Ocean API gebruikt om dit proces te automatiseren.

Digital Ocean laadt niet op voor opslag van snapshots (behalve kleine hoeveelheden). U kunt kiezen of u uw originele druppel wilt vernietigen om maandelijkse kosten te voorkomen. Als u dit doet, kunt u het altijd opnieuw maken vanuit een momentopname wanneer dit opnieuw nodig is.

Overzetten naar klanten

Als u een momentopname naar een client wilt overbrengen, bezoekt u de Afbeeldingen pagina:

Klik op het meest linkse pictogram met het profiel van een persoon om het e-mailadres van de Digital Ocean-accounthouder op te geven voor overdracht naar:

Binnen een paar minuten verschijnt de momentopname in het account van uw klant, op de pagina Afbeeldingen. Ze moeten de afbeelding goedkeuren om deze in hun account te accepteren.

Houd in gedachten dat het belangrijk is voor uw klanten om alleen momentopnamen van vertrouwde gebruikers te accepteren, omdat iemand gemakkelijk kwaadwillende software op een afbeelding kan installeren voordat hij een momentopname maakt en deze overbrengt. Digital Ocean biedt mogelijk in de toekomst een vertrouwd momentopnamesysteem.

Maak een droplet van een momentopname

Het maken van een druppel vanuit een snapshot is vrij eenvoudig. Bezoek gewoon de Maak druppel pagina, kies de regio waarin de afbeelding is gemaakt en klik op de Mijn snapshots tab. Vervolgens kunt u de afbeelding selecteren die u wilt gebruiken om de druppel te instantiëren.

De client kan de hostnaam naar eigen wens aanpassen, maar alle andere instellingen blijven hetzelfde.

Met andere woorden, ze loggen in op het exemplaar met dezelfde beheerdersgebruikersnaam en -wachtwoord als uw oorspronkelijke momentopname-niet de nieuwe die Digital Ocean ze zal sturen. Ze zullen ook in eerste instantie uw client-admin WordPress dashboard login en wachtwoord gebruiken. Het is een goed idee dat ze al hun server-, MySQL- en WP-dashboardwachtwoorden wijzigen nadat hun druppel is geconfigureerd.

Nadat ze hun droplet hebben gemaakt vanuit de momentopname, moeten ze hun DNS configureren om hun gekozen site-URL naar het IP-adres te verwijzen voor hun droplet. En ze moeten de virtuele host van WordPress Apache voor hun domeinnaam bewerken en Apache opnieuw opstarten.

Ik heb dit soort WordPress gevonden. Quickstart is de snelste manier om klanten op nieuwe sites te laten starten. U kunt deze methode ook gebruiken voor elke LAMP-toepassing, bijvoorbeeld Vereenvoudig e-mail.

Wat je hebt geleerd

Nu weet u hoe u een cloudgebaseerd exemplaar van een toepassing zoals WordPress kunt bouwen, die u herhaaldelijk kunt clonen en overzetten naar clients. In een volgende tutorial laat ik je zien hoe je de Digital Ocean API kunt gebruiken om het proces van het klonen van snapshots te automatiseren.

Ik hoop dat je dit interessant en nuttig hebt gevonden. Aarzel niet om uw vragen en opmerkingen hieronder te plaatsen. Je kunt me ook bereiken via Twitter @reifman of mij rechtstreeks een e-mail sturen. Volg mijn Tuts + instructeurspagina om toekomstige artikelen in deze serie te bekijken.

Gerelateerde Links

  • Digital Ocean API
  • WordPress Quickstart
  • Aanbevolen WordPress-plug-ins
  • WordPress Codex