Sådan installeres dotCMS på Ubuntu 16.04

DotCMS er et open source, enterprise-grade content management system skrevet i Java. Den indeholder næsten alle de funktioner, der kræves for at oprette en hjemmeside til din virksomhed. Det giver en RESTful API til at integrere med andre tjenester såsom CRM, mobilapplikationer og mere. Den bruger Elasticsearch til realtidsindeksering af indhold og Redis til implementering af en multi-tier cache.

Forudsætninger

  • En Vultr Ubuntu 16.04-serverinstans.
  • En sudo-bruger .
  • Et domænenavn pegede mod serveren.

Til denne vejledning vil vi bruge 192.168.0.1 som den offentlige IP-adresse og cms.example.com som domænenavnet, der pegede mod Vultr-forekomsten. Sørg for at erstatte alle forekomster af eksempeldomænenavnet og den offentlige IP-adresse med den faktiske.

Opdater dit basissystem ved hjælp af vejledningen Sådan opdaterer du Ubuntu 16.04 . Når dit system er blevet opdateret, skal du fortsætte med at installere Java.

Installer Java

Tilføj Ubuntu-depotet til 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 være i stand til at verificere Javas version.

java -version

Du vil se følgende output.

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)

Indstil standardstien til Java ved at installere følgende pakke.

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

Du kan bekræfte, at det JAVA_HOMEer indstillet.

echo $JAVA_HOME

Du bør se følgende.

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

Hvis du slet ikke ser noget output, skal du logge ud fra den aktuelle shell og logge ind igen.

Installer PostgreSQL

Som standard er dotCMS konfigureret til at bruge H2-databasemotoren. H2-databasemotoren er en fladfilbaseret databasemotor. Det anbefales ikke at bruge i produktionen. I denne vejledning vil vi bruge PostgreSQL-serveren til at gemme dotCMS-databasen.

PostgreSQL er et objektrelationelt databasesystem, kendt for dets stabilitet og hastighed. Standard Ubuntu-depotet indeholder en gammel version af PostgreSQL, så tilføj 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 aktiver den til at starte automatisk ved opstart.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Skift adgangskoden til standard PostgreSQL-brugeren.

sudo passwd postgres

Log ind som PostgreSQL-bruger.

sudo su - postgres

Opret en ny PostgreSQL-bruger til dotCMS.

createuser dotcms 

PostgreSQL leverer psql skallen til at køre forespørgsler på databaseserveren. Skift til PostgreSQL-skallen.

psql

Indstil en adgangskode for den nyoprettede bruger til dotCMS-databasen.

ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';

Erstat databasens brugeradgangskode DBPassword med en sikker adgangskode.

Opret en ny database til dotCMS-installationen.

CREATE DATABASE dotcms OWNER dotcms;

Udgang fra psql skallen.

\q

Skift til sudo brugeren.

exit

Installer dotCMS

Download dotCMS-arkivet.

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

Du kan altid finde linket til den seneste version af applikationen på dotCMS-downloadsiden .

Opret en ny mappe til at gemme dotCMS-filerne og udpakke dem ind i den.

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

Åbn databasens konfigurationsfil.

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

Find H2 blokken.

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

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

Kommenter hele H2 afsnittet ved at flytte kommentarafgrænseren --> fra starten af ​​afsnittet til slutningen af ​​afsnittet. Det skal se ud som følgende.

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

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

Fjern kommentarer til PostgreSQL-sektionen ved at fjerne kommentarafgrænseren --> fra slutningen af ​​sektionen og placere den på den øverste indpakning POSTGRESQL. Find username= og password= og erstat de eksisterende værdier med brugernavnet og adgangskoden til din PostgreSQL-databasebruger. Hvis du har brugt et andet databasenavn end dotcms, så skal du ændre databasenavnet i url=. Når den er konfigureret, vil PostgreSQL-blokken i filen se ud 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" />

Angiv eksekveringstilladelsen for alle de eksekverbare filer.

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

DotCMS er nu installeret på din server. For straks at køre programmet skal du udføre følgende.

cd /opt/dotcms
sudo bin/startup.sh

Du vil se følgende output, når serveren er 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.

Ovenstående kommando starter Tomcat-webserveren for at betjene applikationen 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

Opret en ny Systemd-tjeneste.

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

Udfyld 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 applikationen og aktiver den til automatisk at starte ved opstart.

sudo systemctl start dotcms
sudo systemctl enable dotcms

Sørg for, at tjenesten kører.

sudo systemctl status dotcms

Konfigurer den omvendte proxy

Som standard lytter dotCMS-serveren på port 8080. Vi vil konfigurere Nginx som den omvendte proxy, så applikationen kan tilgås via standarden HTTP og HTTPS portene. Vi vil også konfigurere Nginx til at bruge SSL genereret med Let's Encrypt.

Installer Nginx.

sudo apt -y install nginx

Start Nginx og aktiver den til automatisk at starte ved opstart.

sudo systemctl start nginx
sudo systemctl enable nginx

Tilføj Certbot-depotet.

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

Installer Certbot, som er klientapplikationen til Let's Encrypt CA.

sudo apt -y install certbot

Bemærk: For at få certifikater fra Let's Encrypt CA, skal det domæne, som certifikaterne skal genereres for, pege mod serveren. Hvis ikke, skal du foretage de nødvendige ændringer i domænets DNS-poster og vente på, at DNS'en udbreder sig, før du foretager certifikatanmodningen igen. Certbot kontrollerer domæneautoriteten, før certifikaterne leveres.

Generer SSL-certifikaterne.

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

De genererede certifikater vil sandsynligvis blive gemt i /etc/letsencrypt/live/cms.example.com/. Lad os kryptere certifikater udløber om 90 dage, derfor anbefales det at konfigurere automatisk fornyelse af certifikaterne ved hjælp af Cron-job.

Åbn cron-jobfilen.

sudo crontab -e

Tilføj følgende linje i slutningen af ​​filen.

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

Ovenstående cron-job kører hver dag kl. 5:30. Hvis certifikatet udløber, vil det automatisk blive fornyet.

Opret en ny serverblokfil til dotCMS-webstedet.

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

Udfyld 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 konfigurationen.

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

Genstart Nginx-webserveren, så ændringerne kan træde i kraft.

sudo systemctl restart nginx

DotCMS-applikationen er nu installeret på din server til produktionsbrug. Få adgang til det administrative dashboard på følgende adresse.

https://cms.example.com/dotAdmin

Log ind med den oprindelige administratorkonto [email protected] og adgangskoden admin. Skift standardadgangskoden umiddelbart efter login.

Tillykke, dotCMS indholdsstyringssystemet er nu installeret på din server. Du kan ændre demo-webstedet, eller du kan begynde at bygge dit websted fra bunden.


Sådan installeres Thelia 2.3 på Debian 9

Sådan installeres Thelia 2.3 på Debian 9

Bruger du et andet system? Thelia er et open source-værktøj til at skabe e-business-websteder og administrere onlineindhold skrevet i PHP. Thelia kildekode i

Sådan installeres Microweber på CentOS 7

Sådan installeres Microweber på CentOS 7

Bruger du et andet system? Microweber er en open source træk og slip CMS og online shop. Microweber-kildekoden er hostet på GitHub. Denne guide vil vise dig

Installation af Microweber på Ubuntu 16.04

Installation af Microweber på Ubuntu 16.04

Bruger du et andet system? Microweber er en open source træk og slip CMS og online shop. Microweber-kildekoden er hostet på GitHub. Denne guide vil vise dig

Sådan installeres dotCMS på Ubuntu 16.04

Sådan installeres dotCMS på Ubuntu 16.04

Bruger du et andet system? DotCMS er et open source, enterprise-grade content management system skrevet i Java. Den indeholder næsten alle nødvendige funktioner

Sådan installeres Pagekit 1.0 CMS på en FreeBSD 11 FAMP VPS

Sådan installeres Pagekit 1.0 CMS på en FreeBSD 11 FAMP VPS

Bruger du et andet system? Pagekit 1.0 CMS er et smukt, modulært, udvideligt og let, gratis og open source Content Management System (CMS) med

Sådan installeres BigTree CMS på en Fedora 26 LAMP VPS

Sådan installeres BigTree CMS på en Fedora 26 LAMP VPS

Bruger du et andet system? BigTree CMS 4.2 er et hurtigt og let, gratis og open source, enterprise-grade content management system (CMS) med omfattende

Installation af Pagekit CMS på Ubuntu 16.04 LTS

Installation af Pagekit CMS på Ubuntu 16.04 LTS

Bruger du et andet system? Pagekit er et open source CMS skrevet i PHP. Pagekit-kildekoden er hostet på GitHub. Denne vejledning viser dig, hvordan du installerer

Sådan installeres PyroCMS på Ubuntu 16.04

Sådan installeres PyroCMS på Ubuntu 16.04

Bruger du et andet system? PyroCMS er et open source CMS skrevet i PHP. PyroCMS-kildekoden er hostet på GitHub. I denne guide går du godt igennem det hele

Sådan installeres Subrion 4.1 CMS på en FreeBSD 11 FAMP VPS

Sådan installeres Subrion 4.1 CMS på en FreeBSD 11 FAMP VPS

Bruger du et andet system? Subrion 4.1 CMS er et kraftfuldt og fleksibelt open source Content Management System (CMS), der bringer et intuitivt og klart indhold

Sådan installeres Backdrop CMS 1.8.0 på en Debian 9 LAMP VPS

Sådan installeres Backdrop CMS 1.8.0 på en Debian 9 LAMP VPS

Bruger du et andet system? Backdrop CMS 1.8.0 er et enkelt og fleksibelt, mobilvenligt, gratis og open source Content Management System (CMS), der giver os mulighed for

Sådan installeres Roadiz CMS på Debian 9

Sådan installeres Roadiz CMS på Debian 9

Bruger du et andet system? Introduktion Roadiz er et moderne CMS designet til at håndtere mange typer tjenester. Baseret på Symfony-komponenter og Doctrin ORM, dvs

Installation af Microweber på Debian 9

Installation af Microweber på Debian 9

Bruger du et andet system? Microweber er en open source træk og slip CMS og online shop. Microweber-kildekoden er hostet på GitHub. Denne guide vil vise dig

Sådan installeres Grav CMS på Fedora 28

Sådan installeres Grav CMS på Fedora 28

Bruger du et andet system? Grav er et open source flad-fil CMS skrevet i PHP. Grav kildekode er offentligt hostet på GitHub. Denne vejledning viser dig, hvordan t

Sådan installeres Grav CMS på Debian 9

Sådan installeres Grav CMS på Debian 9

Bruger du et andet system? Grav er et open source flad-fil CMS skrevet i PHP. Grav kildekode er offentligt hostet på GitHub. Denne vejledning viser dig, hvordan t

Sådan installeres Automad CMS på CentOS 7

Sådan installeres Automad CMS på CentOS 7

Bruger du et andet system? Automad er et open source filbaseret indholdsstyringssystem (CMS) og skabelonmotor skrevet i PHP. Automad-kildekoden i

Sådan installeres Raneto på Ubuntu 17.10

Sådan installeres Raneto på Ubuntu 17.10

Raneto er en gratis og open source vidensbase, bygget på Node.js, der er nem at konfigurere og bruge, samt nem at administrere. Kategorier og sider ar

Sådan installeres Thelia 2.3 på Ubuntu 16.04

Sådan installeres Thelia 2.3 på Ubuntu 16.04

Bruger du et andet system? Thelia er et open source-værktøj til at skabe e-business-websteder og administrere onlineindhold skrevet i PHP. Thelia kildekode i

Sådan installeres oktober 1.0 CMS på en Debian 9 LAMP VPS

Sådan installeres oktober 1.0 CMS på en Debian 9 LAMP VPS

Bruger du et andet system? Oktober 1.0 CMS er et enkelt og pålideligt, gratis og open source Content Management System (CMS) bygget på Laravel-rammeværket

Sådan installeres ImpressPages CMS 5.0 på en Ubuntu 16.04 LAMPE VPS

Sådan installeres ImpressPages CMS 5.0 på en Ubuntu 16.04 LAMPE VPS

Bruger du et andet system? ImpressPages CMS 5.0 er et enkelt og effektivt, gratis og open source, brugervenligt, MVC-baseret Content Management System (CMS)

Sådan installeres CMS Made Simple 2.2 på en Debian 9 LAMP VPS

Sådan installeres CMS Made Simple 2.2 på en Debian 9 LAMP VPS

Bruger du et andet system? CMS Made Simple 2.2 er et fleksibelt og udvidelsesvenligt, gratis og open source Content Management System (CMS) intelligent designet til at b.

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 lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere