Hvordan installere dotCMS på Ubuntu 16.04

DotCMS er et åpen kildekode, enterprise-grade innholdsstyringssystem skrevet i Java. Den inneholder nesten alle funksjoner som kreves for å lage et nettsted for virksomheten din. Den gir en RESTful API for å integrere med andre tjenester som CRM, mobilapplikasjoner og mer. Den bruker Elasticsearch for sanntidsindeksering av innhold og Redis for å implementere en multi-tier cache.

Forutsetninger

  • En Vultr Ubuntu 16.04-serverforekomst.
  • En sudo-bruker .
  • Et domenenavn pekte mot serveren.

For denne opplæringen vil vi bruke 192.168.0.1 som den offentlige IP-adressen og cms.example.com som domenenavnet som pekte mot Vultr-forekomsten. Sørg for å erstatte alle forekomster av eksempeldomenenavnet og den offentlige IP-adressen med den faktiske.

Oppdater basissystemet ditt ved å bruke veiledningen Hvordan oppdatere Ubuntu 16.04 . Når systemet ditt har blitt oppdatert, fortsett å installere Java.

Installer Java

Legg til Ubuntu-depotet for Oracle Java 8.

sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update

Installer Java.

sudo apt -y install oracle-java8-installer

Du vil kunne verifisere Javas versjon.

java -version

Du vil se følgende utgang.

user@vultr:~$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

Angi standardbanen for Java ved å installere følgende pakke.

sudo apt -y install oracle-java8-set-default

Du kan bekrefte at det JAVA_HOMEer satt.

echo $JAVA_HOME

Du bør se følgende.

user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle

Hvis du ikke ser noen utgang i det hele tatt, må du logge ut fra gjeldende skall og logge på igjen.

Installer PostgreSQL

Som standard er dotCMS konfigurert til å bruke H2-databasemotoren. H2-databasemotoren er en flatfilbasert databasemotor. Det anbefales ikke å bruke i produksjon. I denne opplæringen vil vi bruke PostgreSQL-serveren til å lagre dotCMS-databasen.

PostgreSQL er et objektrelasjonelt databasesystem, kjent for sin stabilitet og hastighet. Standard Ubuntu-depotet inneholder en gammel versjon av PostgreSQL, så legg til PostgreSQL-depotet.

echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update

Installer PostgreSQL-databaseserveren.

sudo apt -y install postgresql

Start PostgreSQL-serveren og la den starte automatisk ved oppstart.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Endre passordet for standard PostgreSQL-bruker.

sudo passwd postgres

Logg på som PostgreSQL-bruker.

sudo su - postgres

Opprett en ny PostgreSQL-bruker for dotCMS.

createuser dotcms 

PostgreSQL gir psql skallet for å kjøre spørringer på databaseserveren. Bytt til PostgreSQL-skallet.

psql

Angi et passord for den nyopprettede brukeren for dotCMS-databasen.

ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';

Erstatt databasebrukerpassordet DBPassword med et sikkert passord.

Opprett en ny database for dotCMS-installasjonen.

CREATE DATABASE dotcms OWNER dotcms;

Gå ut av psql skallet.

\q

Bytt til sudo brukeren.

exit

Installer dotCMS

Last ned dotCMS-arkivet.

wget https://dotcms.com/physical_downloads/release_builds/dotcms_4.3.2.tar.gz

Du kan alltid finne lenken til den nyeste versjonen av applikasjonen på dotCMS-nedlastingssiden .

Opprett en ny katalog for å lagre dotCMS-filene og pakke dem ut i den.

sudo mkdir /opt/dotcms
sudo tar -zxf dotcms*.tar.gz -C /opt/dotcms

Åpne databasekonfigurasjonsfilen.

cd /opt/dotcms
sudo nano dotserver/tomcat-*/webapps/ROOT/META-INF/context.xml

Finn H2 blokken.

<!-- H2 -->
<Resource name="jdbc/dotCMSPool" auth="Container"
 ...

 validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />

Kommenter hele H2 seksjonen ved å flytte kommentaravgrenseren --> fra begynnelsen av seksjonen til slutten av seksjonen. Det skal se slik ut.

<!-- H2
<Resource name="jdbc/dotCMSPool" auth="Container"
 ...

 validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />
-->

Fjern kommentaren til PostgreSQL-delen ved å fjerne kommentaravgrensningsmerket --> fra slutten av delen og plassere den på den øverste innpakningen POSTGRESQL. Finn username= og password= og erstatt de eksisterende verdiene med brukernavnet og passordet til din PostgreSQL-databasebruker. Hvis du har brukt et annet databasenavn enn dotcms, må du endre databasenavnet i url=. Når den er konfigurert, vil PostgreSQL-blokken i filen se ut som følgende.

<!-- POSTGRESQL -->
<Resource name="jdbc/dotCMSPool" auth="Container"
      type="javax.sql.DataSource"
      factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
      driverClassName="org.postgresql.Driver"
      url="jdbc:postgresql://localhost/dotcms"
      username="dotcms" password="DBPassword" maxTotal="60" maxIdle="10" maxWaitMillis="60000"
      removeAbandonedOnBorrow="true" removeAbandonedOnMaintenance="true" removeAbandonedTimeout="60" logAbandoned="true"
      timeBetweenEvictionRunsMillis="30000" validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />

Gi kjøringstillatelsen for alle de kjørbare filene.

sudo chmod 755 ./bin/*.sh
sudo chmod 755 dotserver/tomcat-*/bin/*.sh

DotCMS er nå installert på serveren din. For å kjøre programmet umiddelbart, kjør følgende.

cd /opt/dotcms
sudo bin/startup.sh

Du vil se følgende utgang når serveren har startet.

user@vultr:/opt/dotcms$ sudo bin/startup.sh
Using DOTCMS_HOME = /opt/dotcms/dotserver/tomcat-8.0.18/webapps/ROOT
Using DOTSERVER = dotcms
Using CATALINA_PID = /tmp/dotcms.pid
Using JAVA_OPTS =  -Djava.awt.headless=true -Xverify:none -Dfile.encoding=UTF8 -server -XX:+DisableExplicitGC -XX:MaxMetaspaceSize=512m -Xmx1G -XX:+UseG1GC -javaagent:/opt/dotcms/dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/byte-buddy-agent-1.6.12.jar -Ddotserver=dotcms
Using CATALINA_BASE:   /opt/dotcms/dotserver/tomcat-8.0.18
Using CATALINA_HOME:   /opt/dotcms/dotserver/tomcat-8.0.18
Using CATALINA_TMPDIR: /opt/dotcms/dotserver/tomcat-8.0.18/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /opt/dotcms/dotserver/tomcat-8.0.18/bin/bootstrap.jar:/opt/dotcms/dotserver/tomcat-8.0.18/bin/tomcat-juli.jar
Using CATALINA_PID:    /tmp/dotcms.pid
Tomcat started.

Kommandoen ovenfor vil starte Tomcat-nettserveren for å betjene applikasjonen på port 8080.

Open your favorite browser and browse to http://192.168.0.1:8080. You will see that the application is running a demo website. If you do not see your website, please wait as the first startup of the dotCMS server takes five to ten minutes as it writes data into the PostgreSQL database and builds the cache. You can also check the startup logs.

tail -n 1000 -f /opt/dotcms/dotserver/tomcat-*/webapps/ROOT/dotsecure/logs/dotcms.log

Configure Systemd

The dotCMS server can be started directly using the startup script provided in the installer package. As a matter of convenience, you should set up a Systemd unit file for the dotCMS server. This will ensure that the application server is automatically started on system restart and failures.

Stop the running dotCMS server using the shutdown script.

sudo bin/shutdown.sh

Create an unprivileged user for running the dotCMS server, for security reasons.

sudo adduser --home /opt/dotcms -gecos "dotCMS User" --disabled-password --disabled-login dotcms

Provide ownership of the files to the dotCMS user.

sudo chown -R dotcms:dotcms /opt/dotcms

Opprett en ny Systemd-tjeneste.

sudo nano /etc/systemd/system/dotcms.service

Fyll ut filen.

[Unit]
Description=dotCMS service
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/opt/dotcms/bin/startup.sh
ExecStop=/opt/dotcms/bin/shutdown.sh
User=dotcms
Group=dotcms
Restart=always

[Install]
WantedBy=multi-user.target

Start programmet og la det starte automatisk ved oppstart.

sudo systemctl start dotcms
sudo systemctl enable dotcms

Sørg for at tjenesten kjører.

sudo systemctl status dotcms

Konfigurer omvendt proxy

Som standard lytter dotCMS-serveren på port 8080. Vi vil konfigurere Nginx som omvendt proxy slik at applikasjonen kan nås via standarden HTTP og HTTPS portene. Vi vil også konfigurere Nginx til å bruke SSL generert med Let's Encrypt.

Installer Nginx.

sudo apt -y install nginx

Start Nginx og la den starte automatisk ved oppstart.

sudo systemctl start nginx
sudo systemctl enable nginx

Legg til Certbot-depotet.

sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update

Installer Certbot, som er klientapplikasjonen for Let's Encrypt CA.

sudo apt -y install certbot

Merk: For å få sertifikater fra Let's Encrypt CA, må domenet som sertifikatene skal genereres for peke mot serveren. Hvis ikke, gjør de nødvendige endringene i DNS-postene til domenet og vent til DNS-en forplanter seg før du foretar sertifikatforespørselen igjen. Certbot sjekker domeneautoriteten før sertifikatene leveres.

Generer SSL-sertifikatene.

sudo certbot certonly --webroot -w /var/www/html -d cms.example.com

De genererte sertifikatene blir sannsynligvis lagret i /etc/letsencrypt/live/cms.example.com/. La oss kryptere sertifikater utløper om 90 dager, derfor anbefales det å sette opp automatisk fornyelse av sertifikatene ved å bruke Cron-jobber.

Åpne cron-jobbfilen.

sudo crontab -e

Legg til følgende linje på slutten av filen.

30 5 * * * /usr/bin/certbot renew --quiet

Cron-jobben ovenfor kjøres hver dag klokken 05.30. Hvis sertifikatet skal utløpe, vil det automatisk fornyes.

Opprett en ny serverblokkfil for dotCMS-nettstedet.

sudo nano /etc/nginx/sites-available/dotcms

Fyll ut filen.

server {
    listen 80;
    server_name cms.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443;
    server_name cms.example.com;

    ssl_certificate           /etc/letsencrypt/live/cms.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/cms.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log            /var/log/nginx/dotcms.access.log;

    location / {

      proxy_set_header        Host $host;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;

      proxy_pass          http://localhost:8080;
      proxy_read_timeout  90;

      proxy_redirect      http://localhost:8080 https://cms.example.com;
    }
  }

Aktiver konfigurasjonen.

sudo ln -s /etc/nginx/sites-available/dotcms /etc/nginx/sites-enabled/dotcms

Start Nginx-nettserveren på nytt slik at endringene kan tre i kraft.

sudo systemctl restart nginx

DotCMS-applikasjonen er nå installert på serveren din for produksjonsbruk. Få tilgang til det administrative dashbordet på følgende adresse.

https://cms.example.com/dotAdmin

Logg på med den opprinnelige administratorkontoen [email protected] og passordet admin. Endre standardpassordet umiddelbart etter pålogging.

Gratulerer, dotCMS innholdsstyringssystemet er nå installert på serveren din. Du kan endre demosiden eller du kan begynne å bygge siden fra bunnen av.


Hvordan installere Thelia 2.3 på Debian 9

Hvordan installere Thelia 2.3 på Debian 9

Bruker du et annet system? Thelia er et åpen kildekodeverktøy for å lage e-business-nettsteder og administrere nettinnhold skrevet i PHP. Thelia kildekode i

Slik installerer du Microweber på CentOS 7

Slik installerer du Microweber på CentOS 7

Bruker du et annet system? Microweber er en åpen kildekode dra og slipp CMS og nettbutikk. Microweber-kildekoden er vert på GitHub. Denne guiden vil vise deg

Installere Microweber på Ubuntu 16.04

Installere Microweber på Ubuntu 16.04

Bruker du et annet system? Microweber er en åpen kildekode dra og slipp CMS og nettbutikk. Microweber-kildekoden er vert på GitHub. Denne guiden vil vise deg

Hvordan installere dotCMS på Ubuntu 16.04

Hvordan installere dotCMS på Ubuntu 16.04

Bruker du et annet system? DotCMS er et åpen kildekode, enterprise-grade innholdsstyringssystem skrevet i Java. Den inneholder nesten alle nødvendige funksjoner

Hvordan installere Pagekit 1.0 CMS på en FreeBSD 11 FAMP VPS

Hvordan installere Pagekit 1.0 CMS på en FreeBSD 11 FAMP VPS

Bruker du et annet system? Pagekit 1.0 CMS er et vakkert, modulært, utvidbart og lett, gratis og åpen kildekode Content Management System (CMS) med

Hvordan installere BigTree CMS på en Fedora 26 LAMP VPS

Hvordan installere BigTree CMS på en Fedora 26 LAMP VPS

Bruker du et annet system? BigTree CMS 4.2 er et raskt og lett, gratis og åpen kildekode, enterprise-grade content management system (CMS) med omfattende

Installere Pagekit CMS på Ubuntu 16.04 LTS

Installere Pagekit CMS på Ubuntu 16.04 LTS

Bruker du et annet system? Pagekit er et åpen kildekode CMS skrevet i PHP. Pagekit-kildekoden er vert på GitHub. Denne veiledningen viser deg hvordan du installerer

Hvordan installere PyroCMS på Ubuntu 16.04

Hvordan installere PyroCMS på Ubuntu 16.04

Bruker du et annet system? PyroCMS er et åpen kildekode CMS skrevet i PHP. PyroCMS-kildekoden er vert på GitHub. I denne guiden går du godt gjennom hele

Hvordan installere Subrion 4.1 CMS på en FreeBSD 11 FAMP VPS

Hvordan installere Subrion 4.1 CMS på en FreeBSD 11 FAMP VPS

Bruker du et annet system? Subrion 4.1 CMS er et kraftig og fleksibelt innholdsstyringssystem (CMS) med åpen kildekode som gir et intuitivt og tydelig innhold

Hvordan installere Backdrop CMS 1.8.0 på en Debian 9 LAMP VPS

Hvordan installere Backdrop CMS 1.8.0 på en Debian 9 LAMP VPS

Bruker du et annet system? Backdrop CMS 1.8.0 er et enkelt og fleksibelt, mobilvennlig, gratis og åpen kildekode Content Management System (CMS) som lar oss

Hvordan installere Roadiz CMS på Debian 9

Hvordan installere Roadiz CMS på Debian 9

Bruker du et annet system? Introduksjon Roadiz er et moderne CMS designet for å håndtere mange typer tjenester. Basert på Symfony-komponenter og Doctrine ORM, dvs

Installere Microweber på Debian 9

Installere Microweber på Debian 9

Bruker du et annet system? Microweber er en åpen kildekode dra og slipp CMS og nettbutikk. Microweber-kildekoden er vert på GitHub. Denne guiden vil vise deg

Hvordan installere Grav CMS på Fedora 28

Hvordan installere Grav CMS på Fedora 28

Bruker du et annet system? Grav er et åpen kildekode flat-fil CMS skrevet i PHP. Grav kildekode er offentlig vert på GitHub. Denne guiden viser deg hvordan t

Hvordan installere Grav CMS på Debian 9

Hvordan installere Grav CMS på Debian 9

Bruker du et annet system? Grav er et åpen kildekode flat-fil CMS skrevet i PHP. Grav kildekode er offentlig vert på GitHub. Denne guiden viser deg hvordan t

Hvordan installere Automad CMS på CentOS 7

Hvordan installere Automad CMS på CentOS 7

Bruker du et annet system? Automad er et åpen kildekode-filbasert innholdsstyringssystem (CMS) og malmotor skrevet i PHP. Automad-kildekoden i

Hvordan installere Raneto på Ubuntu 17.10

Hvordan installere Raneto på Ubuntu 17.10

Raneto er en gratis og åpen kildekode kunnskapsbase, bygget på Node.js som er enkel å sette opp og bruke, samt enkel å administrere. Kategorier og sider ar

Hvordan installere Thelia 2.3 på Ubuntu 16.04

Hvordan installere Thelia 2.3 på Ubuntu 16.04

Bruker du et annet system? Thelia er et åpen kildekodeverktøy for å lage e-business-nettsteder og administrere nettinnhold skrevet i PHP. Thelia kildekode i

Hvordan installere oktober 1.0 CMS på en Debian 9 LAMP VPS

Hvordan installere oktober 1.0 CMS på en Debian 9 LAMP VPS

Bruker du et annet system? Oktober 1.0 CMS er et enkelt og pålitelig, gratis og åpen kildekode Content Management System (CMS) bygget på Laravel-rammeverket

Hvordan installere ImpressPages CMS 5.0 på en Ubuntu 16.04 LAMP VPS

Hvordan installere ImpressPages CMS 5.0 på en Ubuntu 16.04 LAMP VPS

Bruker du et annet system? ImpressPages CMS 5.0 er et enkelt og effektivt, gratis og åpen kildekode, brukervennlig, MVC-basert Content Management System (CMS)

Hvordan installere CMS Made Simple 2.2 på en Debian 9 LAMP VPS

Hvordan installere CMS Made Simple 2.2 på en Debian 9 LAMP VPS

Bruker du et annet system? CMS Made Simple 2.2 er et fleksibelt og utvidbart, gratis og åpen kildekode Content Management System (CMS) intelligent designet for å

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer