Hur man installerar dotCMS på CentOS 7

dotCMS är ett open source-innehållshanteringssystem för företagsklass skrivet i Java. Den innehåller nästan alla funktioner som krävs för att skapa en webbplats för ditt företag. Den tillhandahåller ett RESTful API för att integrera med andra tjänster som CRM, mobilapplikationer och mer. Den använder Elasticsearch för realtidsindexering av innehåll och Redis för att implementera multi-tier cache.

Den här artikeln skrevs för dotCMS 4.2.2, men instruktionerna kan även fungera för nyare versioner.

Förutsättningar

  • En Vultr CentOS 7-serverinstans.
  • En sudo-användare .
  • Ett domännamn pekade mot servern.

För den här handledningen kommer vi att använda 192.168.0.1som den offentliga IP-adressen och cms.example.comsom domännamnet pekade mot Vultr-instansen. Se till att ersätta alla förekomster av exemplets domännamn och offentliga IP-adress med den faktiska.

Uppdatera ditt bassystem med hjälp av guiden Hur man uppdaterar CentOS 7 . När ditt system har uppdaterats, fortsätt att installera Java.

Installera Java

OpenJDK kan enkelt installeras eftersom paketet är tillgängligt i standard YUM-förvaret.

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

Om Java är korrekt installerat kommer du att kunna verifiera dess version.

java -version

Du kommer att få en liknande utgång.

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

Innan vi kan gå vidare måste vi ställa in variablerna JAVA_HOMEoch JRE_HOMEmiljö. Hitta den absoluta sökvägen för den körbara Java-filen på ditt system.

readlink -f $(which java)

Du kommer att se en liknande utgång.

[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

Nu, ställa in JAVA_HOMEoch JRE_HOMEmiljövariabler enligt sökvägen till Java-katalogen.

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

Kör bash_profilefilen.

source ~/.bash_profile

Nu kan du köra echo $JAVA_HOMEkommandot för att säkerställa att miljövariabeln är inställd.

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

Installera PostgreSQL

Som standard är dotCMS konfigurerat för att använda H2-databasmotorn. H2 databasmotorn är en platt filbaserad databasmotor. Det rekommenderas inte att använda i produktionen. I den här handledningen kommer vi att använda PostgreSQL-servern för att lagra dotCMS-databasen.

PostgreSQL är ett objektrelationellt databassystem och känt för sin stabilitet och hastighet. Lägg till arkivet för den senaste versionen av PostgreSQL i systemet.

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

Installera PostgreSQL-databasservern.

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

Initiera databasen.

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

Starta PostgreSQL-servern och låt den starta automatiskt vid uppstart.

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

Ändra lösenordet för standardpostgreSQL-användaren.

sudo passwd postgres

Logga in som standard PostgreSQL-användare.

sudo su - postgres

Skapa en ny PostgreSQL-användare för dotCMS.

createuser dotcms 

PostgreSQL tillhandahåller psqlskalet för att köra frågor på databasservern. Byt till PostgreSQL-skalet.

psql

Ställ in ett lösenord för den nyskapade användaren för dotCMS-databasen.

ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';

Ersätt databasens användarlösenord DBPasswordmed ett säkert lösenord. Skapa en ny databas för dotCMS-installationen.

CREATE DATABASE dotcms OWNER dotcms;

Gå ut ur psqlskalet.

\q

Växla till sudoanvändaren.

exit

Installera dotCMS

Ladda ner dotCMS-arkivet.

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

Du kan alltid hitta länken till den senaste versionen av applikationen på dotCMS nedladdningssida .

Skapa en ny katalog för att lagra dotCMS-filerna och extrahera dem i den.

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

Öppna databasens konfigurationsfil.

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

Hitta H2blocket.

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

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

Kommentera hela H2avsnittet genom att ersätta kommentaravgränsaren -->från början av avsnittet till slutet av avsnittet. Det ska se ut som följande.

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

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

Avkommentera PostgreSQL-sektionen genom att ta bort kommentaravgränsaren -->från slutet av sektionen och placera den på den översta omslaget POSTGRESQL. Hitta username=och password=ersätt också de befintliga värdena med användarnamnet och lösenordet för din PostgreSQL-databasanvändare. Om du har använt ett annat databasnamn än dotcms, måste du ändra databasnamnet i url=. När det väl är konfigurerat bör PostgreSQL-blocket i filen se ut så här.

<!-- 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" />

Ange körningsbehörighet för alla körbara filer.

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

dotCMS är nu installerat på din server. För att omedelbart köra programmet, kör följande.

cd /opt/dotcms
sudo bin/startup.sh

Du kommer att se följande utdata när servern har startat framgångsrikt.

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

Kommandot ovan kommer att starta Tomcat-webbservern för att servera applikationen på port 8080. För att kontrollera om dotCMS-webbplatsen fungerar, tillåt den nödvändiga porten 8080genom systemets brandvägg.

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

Öppna din favoritwebbläsare och bläddra till http://192.168.0.1:8080. Du bör se att applikationen kör en demowebbplats. Om du inte ser din webbplats, vänligen vänta eftersom den första uppstarten av dotCMS-servern tar ett par minuter eftersom den skriver data till PostgreSQL-databasen och bygger cachen. Du kan också kontrollera startloggarna.

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

Konfigurera Systemd-tjänsten

DotCMS-servern kan startas direkt med hjälp av startskriptet som finns i installationspaketet. För enkelhets skull bör du ställa in en Systemd-enhetsfil för dotCMS-servern. Detta kommer att säkerställa att applikationsservern startas automatiskt vid omstart av systemet och fel.

Stoppa den körande dotCMS-servern med avstängningsskriptet.

sudo bin/shutdown.sh

Skapa en oprivilegierad användare för att köra dotCMS-servern av säkerhetsskäl.

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

Ge äganderätten till filerna till dotCMS-användaren.

sudo chown -R dotcms:dotcms /opt/dotcms

Skapa en ny Systemd-tjänst.

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

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

Starta programmet och låt det starta automatiskt vid uppstart.

sudo systemctl start dotcms
sudo systemctl enable dotcms

Se till att tjänsten körs.

sudo systemctl status dotcms

Konfigurera omvänd proxy

Som standard lyssnar dotCMS-servern på port 8080. Vi kommer att konfigurera Nginx som omvänd proxy så att applikationen kan nås via standard HTTPoch HTTPSportar. Vi kommer också att konfigurera Nginx att använda SSL som genereras med Let's Encrypt gratis SSL.

Installera Nginx webbserver.

sudo yum -y install nginx

Starta webbservern och låt den starta automatiskt vid uppstart.

sudo systemctl start nginx
sudo systemctl enable nginx

Installera Certbot, som är en klientapplikation för Let's Encrypt CA.

sudo yum -y install certbot

Innan du kan begära certifikaten måste du tillåta portarna 80och/ 443eller standarden HTTPoch HTTPStjänsterna genom brandväggen. Ta också bort port 8080från listan över brandväggsundantag eftersom det inte längre behövs.

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

Obs: För att få certifikat från Let's Encrypt CA måste domänen för vilken certifikaten ska genereras peka mot servern. Om inte, gör de nödvändiga ändringarna i domänens DNS-poster och vänta tills DNS:n sprider sig innan du gör certifikatbegäran igen. Certbot kontrollerar domänmyndigheten innan certifikaten tillhandahålls.

Generera SSL-certifikaten.

sudo certbot certonly --webroot -w /usr/share/nginx/html -d cms.example.com

De genererade certifikaten kommer sannolikt att lagras i /etc/letsencrypt/live/cms.example.com/. Låt oss kryptera certifikaten går ut om 90 dagar, därför rekommenderas det att ställa in automatisk förnyelse av certifikaten med Cron-jobb.

Öppna cron-jobbfilen.

sudo crontab -e

Lägg till följande rad i slutet av filen.

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

Ovanstående cron-jobb kommer att köras varje dag klockan 5:30. Om certifikatet löper ut kommer det automatiskt att förnyas.

Skapa en ny serverblockfil för dotCMS-webbplatsen.

sudo nano /etc/nginx/conf.d/cms.example.com.conf

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

Starta om Nginx-webbservern så att ändringarna kan träda i kraft.

sudo systemctl restart nginx

DotCMS-applikationen är nu installerad på din server för produktionsanvändning. Gå till den administrativa instrumentpanelen på följande adress.

https://cms.example.com/dotAdmin

Logga in med det ursprungliga administratörskontot [email protected]och admin. Ändra standardlösenordet direkt efter inloggning.

Grattis, dotCMS innehållshanteringssystem är nu installerat på din server. Du kan ändra demosidan eller så kan du börja bygga din webbplats från början.


Hur man installerar Thelia 2.3 på Debian 9

Hur man installerar Thelia 2.3 på Debian 9

Använder du ett annat system? Thelia är ett verktyg med öppen källkod för att skapa e-handelswebbplatser och hantera onlineinnehåll skrivet i PHP. Thelia källkod i

Hur man installerar Microweber på CentOS 7

Hur man installerar Microweber på CentOS 7

Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig

Installera Microweber på Ubuntu 16.04

Installera Microweber på Ubuntu 16.04

Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig

Hur man installerar dotCMS på Ubuntu 16.04

Hur man installerar dotCMS på Ubuntu 16.04

Använder du ett annat system? DotCMS är ett open-source, företagsklassat innehållshanteringssystem skrivet i Java. Den innehåller nästan alla funktioner som krävs

Hur man installerar Pagekit 1.0 CMS på en FreeBSD 11 FAMP VPS

Hur man installerar Pagekit 1.0 CMS på en FreeBSD 11 FAMP VPS

Använder du ett annat system? Pagekit 1.0 CMS är ett vackert, modulärt, utbyggbart och lätt, gratis och öppen källkod Content Management System (CMS) med

Hur man installerar BigTree CMS på en Fedora 26 LAMP VPS

Hur man installerar BigTree CMS på en Fedora 26 LAMP VPS

Använder du ett annat system? BigTree CMS 4.2 är ett snabbt och lätt, gratis och öppen källkod, företagsklassat innehållshanteringssystem (CMS) med omfattande

Installera Pagekit CMS på Ubuntu 16.04 LTS

Installera Pagekit CMS på Ubuntu 16.04 LTS

Använder du ett annat system? Pagekit är ett CMS med öppen källkod skrivet i PHP. Pagekit-källkoden finns på GitHub. Den här guiden visar hur du installerar

Hur man installerar PyroCMS på Ubuntu 16.04

Hur man installerar PyroCMS på Ubuntu 16.04

Använder du ett annat system? PyroCMS är ett open source CMS skrivet i PHP. PyroCMS källkod finns på GitHub. I denna guide går du väl igenom hela

Hur man installerar Subrion 4.1 CMS på en FreeBSD 11 FAMP VPS

Hur man installerar Subrion 4.1 CMS på en FreeBSD 11 FAMP VPS

Använder du ett annat system? Subrion 4.1 CMS är ett kraftfullt och flexibelt innehållshanteringssystem (CMS) med öppen källkod som ger ett intuitivt och tydligt innehåll

Hur man installerar Backdrop CMS 1.8.0 på en Debian 9 LAMP VPS

Hur man installerar Backdrop CMS 1.8.0 på en Debian 9 LAMP VPS

Använder du ett annat system? Backdrop CMS 1.8.0 är ett enkelt och flexibelt, mobilvänligt, gratis och open source Content Management System (CMS) som låter oss

Hur man installerar Roadiz CMS på Debian 9

Hur man installerar Roadiz CMS på Debian 9

Använder du ett annat system? Inledning Roadiz är ett modernt CMS designat för att hantera många typer av tjänster. Baserat på Symfony-komponenter och Doctrin ORM, dvs

Installera Microweber på Debian 9

Installera Microweber på Debian 9

Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig

Hur man installerar Grav CMS på Fedora 28

Hur man installerar Grav CMS på Fedora 28

Använder du ett annat system? Grav är ett platt-fil-CMS med öppen källkod skrivet i PHP. Grav källkod är offentligt värd på GitHub. Den här guiden visar dig hur t

Hur man installerar Grav CMS på Debian 9

Hur man installerar Grav CMS på Debian 9

Använder du ett annat system? Grav är ett platt-fil-CMS med öppen källkod skrivet i PHP. Grav källkod är offentligt värd på GitHub. Den här guiden visar dig hur t

Hur man installerar Automad CMS på CentOS 7

Hur man installerar Automad CMS på CentOS 7

Använder du ett annat system? Automad är ett filbaserat innehållshanteringssystem (CMS) och mallmotor med öppen källkod skriven i PHP. Källkoden för Automad i

Hur man installerar Raneto på Ubuntu 17.10

Hur man installerar Raneto på Ubuntu 17.10

Raneto är en gratis kunskapsbas med öppen källkod, byggd på Node.js som är enkel att installera och använda, samt lätt att administrera. Kategorier och sidor ar

Hur man installerar Thelia 2.3 på Ubuntu 16.04

Hur man installerar Thelia 2.3 på Ubuntu 16.04

Använder du ett annat system? Thelia är ett verktyg med öppen källkod för att skapa e-handelswebbplatser och hantera onlineinnehåll skrivet i PHP. Thelia källkod i

Hur man installerar oktober 1.0 CMS på en Debian 9 LAMP VPS

Hur man installerar oktober 1.0 CMS på en Debian 9 LAMP VPS

Använder du ett annat system? Oktober 1.0 CMS är ett enkelt och pålitligt, gratis och öppen källkodsinnehållshanteringssystem (CMS) byggt på Laravel-ramverket

Hur man installerar ImpressPages CMS 5.0 på en Ubuntu 16.04 LAMP VPS

Hur man installerar ImpressPages CMS 5.0 på en Ubuntu 16.04 LAMP VPS

Använder du ett annat system? ImpressPages CMS 5.0 är ett enkelt och effektivt, gratis och öppen källkod, användarvänligt, MVC-baserat Content Management System (CMS)

Hur man installerar CMS Made Simple 2.2 på en Debian 9 LAMP VPS

Hur man installerar CMS Made Simple 2.2 på en Debian 9 LAMP VPS

Använder du ett annat system? CMS Made Simple 2.2 är ett flexibelt och utbyggbart, gratis och open source Content Management System (CMS) intelligent designat för att

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer