Strapi – avoimen koodin headless-sisällönhallintaa

Zone Blogi
Jaa:

Kun puhutaan verkkosivujen sisällönhallintajärjestelmistä, markkinajohtaja on ollut WordPress. Uusien tuulien ja teknologioiden myötä suosituiksi ovat tulleet myös sellaiset avainsanat kuin Node.js ja headless. Tässä esittelemme mahdollisuutta käyttää Zonen virtuaalipalvelimen ympäristössä Strapia, joka on johtavia headless-sisällönhallintajärjestelmiä.

Strapi on erittäin kehittäjäystävällinen ja täysin räätälöitävissä asiakkaan tarpeiden mukaan. Jos Strapi on lukijalle vieras, sovellukseen toimintoihin voi tutustua sen kotisivulla ja lukemalla lisää sen dokumentaatiosta.

Muutaman minuutin kestoisen katsauksen antaa myös seuraava video:

Palvelimen esiasetusten tekeminen

Strapi toimii hyvin Zonen jo verkkosivujen ylläpitopalvelun ensimmäisessä paketissa. Jos palvelin on olemassa, tulisi ennen sovelluksen asentamista suorittaa muutamat toimenpiteet:

1. Aseta SSH-pääsy.

Strapin asentamisen edellytyksenä on, että SSH-pääsyn tulee olla konfiguroitu.

2. Lisää MySQL-käyttäjä ja -tietokanta.

Vaikka Strapi osaa käyttää myös SQLite-tietokantaa, kannattaa silti lisätä MySQL/MariaDB-tietokanta takaamaan varmuuskopiot ja sovelluksen toimintavarmuuden.

Huom.! Säilytä tietokantojen yhteys tiedot turvallisesti sovelluksen asentamiseen asti, koska niitä tarvitaan asennuksia tehtäessä.

3. Määrää web-palvelimen mod_proxy-portti.

Lisää aliverkkotunnus navigoimalla MyZone -valikossa kohtaan Webhotelli > Verkkopalvelin > Aliverkkotunnukset. Napsauta painiketta Lisää aliverkkotunnus, ja lisäämisen jälkeen aseta Sovelluksen portti, johon saapuvat pyynnöt ohjataan (mod_proxy) -kentälle arvo 1337. Nimipalvelimen kirjausten levikin mukaan aliverkkotunnus voisi alkaa toimia pian. Mallissa perustimme aliverkkotunnuksen api.strapiwww.zone.fi.

Jäljempänä ohjeissa käytetty virtXXXX tulisi korvata SSH-käyttäjätunnuksella ja dataXX ensimmäisellä hakemistolla, joka näkyy komennolla pwd .

Asenna Strapi ja tee sille asetukset

Asentaaksesi Strapin tulee luoda SSH-yhteys palvelimelle.

Sitten käynnistämme juurihakemistossa (esim. /dataXX/virtXXX) komennon:

npx create-strapi-app@latest minun-projektiCode language: CSS (css)

Vahvistamiseksi tulee vielä näppäillä y ja painaa Enter-näppäintä. Sitten kysytään asetusten tekemisen versiota, sitä varten tulisi valita Custom (manual settings). Asennetaan toimiva sovellus, muttei tehdä MySQL/MariaDB-tietokannan asetuksia. Valintojen jälkeen kysytään tietokantojen ja jonkin muun asetuksen tietoja. Tietokannan kohdassa tulisi valita mysql ja seuraaviin kysymyksiin vastattaessa syöttää aikaisemmin luotujen tietokantojen tiedot. Se voisi näyttää suunnilleen seuraavalta:

? Choose your installation type Custom (manual settings)
? Choose your default database client mysql
? Database name: dXXXXX_strapi
? Host:  dXXXXX.mysql.zonevs.eu
? Port: 3306
? Username: dXXXXX_strapi
? Password: *************************
? Enable SSL connection: Yes

Creating a project with custom database options.
Creating a new Strapi application at /dataXX/virtXXXXX/minun-projekti.
Creating files.Code language: JavaScript (javascript)

Kuluu vähän aikaa, kun asetusvelho asentaa tarvittavat paketit ja riippuvuudet. Kun se on vihdoin tehty, tuloksen pitäisi olla suunnilleen seuraava:

Dependencies installed successfully.

Your application was created at /dataXX/virtXXXXX/minun-projekti.

...

Sitten siirry luomaasi sovellushakemistoon

cd minun-projekti

ja aseta sovelluksen URL

nano config/server.js

Tiedostoon on lisättävä aikaisemmin luotu aliverkkotunnus. Lopullinen tiedosto voisi näyttää suunnilleen tällaiselta:

module.exports = ({ env }) => ({
  host: env('HOST', '0.0.0.0'),
  port: env.int('PORT', 1337),
  url: 'https://api.strapiwww.zone.fi',
  app: {  
    keys: env.array('APP_KEYS'),
  },
});
Code language: JavaScript (javascript)

Jotta asianmukainen asetus alkaa myös toimia, sovellus tulee rakentaa uudelleen komennolla

npm run build

Tässä tilassa sovelluksen asetukset on jo tehty ja sovellus voidaan käynnistää monella tavalla. Esimerkiksi:

#  Normaali käynnistys
npx strapi start

#  Käynnistetään kehitysversiona
npx strapi developCode language: PHP (php)

Aloittaaksesi lopullisesti sovelluksen käyttö siirry osoitteeseen https://api.strapiwww.zone.fi/admin ja lisää pääkäyttäjä.

Aseta PM2, jotta sovellus toimii jatkuvasti

Jotta sovellus pystyy toimimaan myös kaatumisen tai palvelimen uudelleenkäynnistämisen jälkeen, tulee asettaa My Zone -valikossa PM2. Jos sovellusta parhaillaan suoritetaan, se tulisi nyt sulkea (konsolissa painettava esim. Ctrl + c )

1. Luo PM2-ekosysteemin tiedosto

Luomme oma projekti -kansioon tiedoston strapi.config.js, jonka sisältö on:

module.exports = {
    apps: [{
        name: "strapi",
        script: "npm",
        args: "start",
        cwd: process.env.HOME + "/minun-projekti",
        max_memory_restart : "256M",
        env: {
            NODE_ENV: "production"
        }
    }] 
}
Code language: JavaScript (javascript)

2. Aseta PM2-sovellus MyZonessa

Siirry MyZone -valikossa kohtaan Webhotelli > Verkkopalvelin > PM2 prosessit (Node.js) ja napsauta painiketta Lisää uusi sovellus.

Muista täyttää kentät:

Kenttä:Kuvaus:
nimistrapi
komentosarja tai PM2 .JSONmy-project/strapi.config.js

Maksimaalista muistinkäyttöä ei tarvitse määrätä, koska se on jo asetettu ekosysteemin tiedostossa. Tallennuksen jälkeen sovelluksen pitäisi alkaa toimia muutamassa minuutissa. Toimivuuden auttavat toteamaan jotkin PM2-komennot.

Komennon tuloksessa pitäisi olla tieto, että Strapin tila (status) on running

pm2 listCode language: PHP (php)

Jos sovellus ei ole alkanut toimia muutamassa minuutissa, vianlokeja näkee komennolla

pm2 logs

Tiivistelmä

Strapi on headless CMS. Tämä tarkoittaa, että ratkaistu on vain tietorakenteiden API-puoli. Käyttäjälle näkyvä visuaalinen verkkosivusto on kehitettävä erikseen. Käyttöliittymien kehittämiseksi nykyään on loputtomasti vaihtoehtoja: Vue.js, React, Angular, Svelte ja paljon muuta. Sen takia asensimmekin Strapin aliverkkotunnukselle api.strapiwww.zone.fi, jotta esimerkiksi pääverkkotunnukselle strapiwww.zone.fi luotu verkkosivusto voi näyttää HTML- ja JavaScript-tiedostoja Apache-web-palvelimen kautta.

Jos olet joutunut lujille jonkin nykyaikaisen ohjelmistokehyksen toimimaan saamisen kanssa Zone-palvelimella ja kaipaisit kyseiselle sovellukselle samanlaisia ohjeita, voit lähettää pyyntösi osoitteeseen tuki@zone.fi. Zone keskittyy kehitystoiminnassaan modernien teknologioiden tukeen ja teemme kaikkemme, jotta nykyaikaiset kehitysmenetelmät ja sovellukset toimivat palvelimillamme ongelmitta.

Kommentit

Suositut postaukset

Kiinalainen vesikidutus ajaa WordPress-sivustoja hulluksi

Ardi Jürgens
Moni on varmasti kuullut kiinalaisesta vesikidutuksesta eli toimenpiteestä, jossa kahlitun uhrin päälakeen tiputetaan hitaasti jääkylmää vettä,...

Näin tekoäly voi auttaa sinua luomaan kotisivun

Zone Blogi
Verkkosivuston rakentaminen voi olla melkoinen urakka. Ensin pitää suunnitella rakenne, tuottaa sisältöä ja varmistaa, että sivusto on käyttäjälle...

Automaattisesti otettavat tilannekuvat ja pidempi varmuuskopioiden säilytysaika

Ingmar Aasoja
Meillä on ilo ilmoittaa, että Zonen Pro-verkkoisännöintipalvelun käyttäjille on nyt saatavilla automaattiset jokaöiset Zone+-tilannekuvat, ja varmuuskopioiden...

Mihin verkkosivuston tilastoihin kannattaa kiinnittää eniten huomiota?

Zone Blogi
Kirjoitimme äskettäin blogissamme siitä, mitä web-analytiikka on ja mitä työkaluja on saatavilla näiden tietojen mittaamiseen. Koska kerättäviä...