Sådan installeres dotCMS på CentOS 7

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 multi-tier cache.

Denne artikel er skrevet til dotCMS 4.2.2, men de medfølgende instruktioner fungerer muligvis også for nyere versioner.

Forudsætninger

  • En Vultr CentOS 7-serverinstans.
  • En sudo-bruger .
  • Et domænenavn pegede mod serveren.

Til denne vejledning vil vi bruge 192.168.0.1som den offentlige IP-adresse og cms.example.comsom 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 CentOS 7 . Når dit system er blevet opdateret, skal du fortsætte med at installere Java.

Installer Java

OpenJDK kan nemt installeres, da pakken er tilgængelig i standard YUM-lageret.

sudo yum -y install java-1.8.0-openjdk-devel

Hvis Java er installeret korrekt, vil du være i stand til at bekræfte dens version.

java -version

Du vil få et lignende output.

[user@vultr ~]$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)

Før vi kan gå videre, bliver vi nødt til at opsætte JAVA_HOMEog JRE_HOMEmiljøvariablerne. Find den absolutte sti til den eksekverbare Java på dit system.

readlink -f $(which java)

Du vil se et lignende output.

[user@vultr ~]$ readlink -f $(which java)
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/bin/java

Indstil nu JAVA_HOMEog JRE_HOMEmiljøvariablerne i henhold til stien til Java-mappen.

echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64" >> ~/.bash_profile
echo "export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre" >> ~/.bash_profile

Udfør bash_profilefilen.

source ~/.bash_profile

Nu kan du køre echo $JAVA_HOMEkommandoen for at sikre, at miljøvariablen er indstillet.

[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64

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 og kendt for dets stabilitet og hastighed. Tilføj lageret for den seneste udgivelse af PostgreSQL til systemet.

sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm

Installer PostgreSQL-databaseserveren.

sudo yum -y install postgresql10-server postgresql10-contrib postgresql10 

Initialiser databasen.

sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

Start PostgreSQL-serveren og aktiver den til at starte automatisk ved opstart.

sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10

Skift adgangskoden til standard PostgreSQL-brugeren.

sudo passwd postgres

Log ind som standard PostgreSQL-bruger.

sudo su - postgres

Opret en ny PostgreSQL-bruger til dotCMS.

createuser dotcms 

PostgreSQL leverer psqlskallen 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 DBPasswordmed en sikker adgangskode. Opret en ny database til dotCMS-installationen.

CREATE DATABASE dotcms OWNER dotcms;

Udgang fra psqlskallen.

\q

Skift til sudobrugeren.

exit

Installer dotCMS

Download dotCMS-arkivet.

wget https://dotcms.com/physical_downloads/release_builds/dotcms_4.2.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 H2blokken.

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

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

Kommenter hele H2sektionen ved at erstatte kommentarafgrænsningen -->fra begyndelsen af ​​sektionen til slutningen af ​​sektionen. 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, skal 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 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:        /
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. For at kontrollere, om dotCMS-webstedet fungerer, skal du tillade den nødvendige port 8080gennem systemets firewall.

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload

Åbn din yndlingsbrowser og gå til http://192.168.0.1:8080. Du bør se, at applikationen kører et demowebsted. Hvis du ikke kan se din hjemmeside, vent venligst, da den første opstart af dotCMS-serveren tager et par minutter, da den skriver data ind i PostgreSQL-databasen og bygger cachen. Du kan også tjekke opstartsloggene.

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

Konfigurer Systemd service

DotCMS-serveren kan startes direkte ved hjælp af opstartsscriptet i installationspakken. For nemheds skyld bør du konfigurere en Systemd-enhedsfil til dotCMS-serveren. Dette vil sikre, at applikationsserveren automatisk startes ved systemgenstart og fejl.

Stop den kørende dotCMS-server ved hjælp af shutdown-scriptet.

sudo bin/shutdown.sh

Opret en uprivilegeret bruger til at køre dotCMS-serveren af ​​sikkerhedsmæssige årsager.

sudo adduser -d /opt/dotcms -s /sbin/nologin dotcms

Giv ejerskab af filerne til dotCMS-brugeren.

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 omvendt proxy, så applikationen kan tilgås via standard HTTPog HTTPSporte. Vi vil også konfigurere Nginx til at bruge SSL genereret med Let's Encrypt gratis SSL.

Installer Nginx-webserveren.

sudo yum -y install nginx

Start webserveren og sæt den i stand til automatisk at starte ved opstart.

sudo systemctl start nginx
sudo systemctl enable nginx

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

sudo yum -y install certbot

Før du kan anmode om certifikaterne, skal du tillade porte 80og/ 443eller standard HTTPog HTTPStjenester gennem firewallen. Fjern også porten 8080fra listen over firewall-undtagelser, da den ikke længere er påkrævet.

sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload

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 /usr/share/nginx/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/conf.d/cms.example.com.conf

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;
    }
  }

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 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