Hur man installerar dotCMS på Ubuntu 16.04

DotCMS är ett open-source, företagsklassat innehållshanteringssystem 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 en multi-tier cache.

Förutsättningar

  • En Vultr Ubuntu 16.04-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.1 som den offentliga IP-adressen och cms.example.com som 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 Ubuntu 16.04 . När ditt system har uppdaterats, fortsätt att installera Java.

Installera Java

Lägg till Ubuntu-förvaret för Oracle Java 8.

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

Installera Java.

sudo apt -y install oracle-java8-installer

Du kommer att kunna verifiera Javas version.

java -version

Du kommer att se följande utdata.

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)

Ställ in standardsökvägen för Java genom att installera följande paket.

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

Du kan verifiera att det JAVA_HOMEär inställt.

echo $JAVA_HOME

Du bör se följande.

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

Om du inte ser någon utdata alls måste du logga ut från det aktuella skalet och logga in igen.

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, känt för sin stabilitet och hastighet. Standardförvaret i Ubuntu innehåller en gammal version av PostgreSQL, så lägg till PostgreSQL-förvaret.

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

Installera PostgreSQL-databasservern.

sudo apt -y install postgresql

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

sudo systemctl start postgresql
sudo systemctl enable postgresql

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

sudo passwd postgres

Logga in som PostgreSQL-användare.

sudo su - postgres

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

createuser dotcms 

PostgreSQL tillhandahåller psql skalet 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 DBPassword med ett säkert lösenord.

Skapa en ny databas för dotCMS-installationen.

CREATE DATABASE dotcms OWNER dotcms;

Gå ut ur psql skalet.

\q

Växla till sudo användaren.

exit

Installera dotCMS

Ladda ner dotCMS-arkivet.

wget https://dotcms.com/physical_downloads/release_builds/dotcms_4.3.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 H2 blocket.

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

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

Kommentera hela H2 avsnittet genom att flytta 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 kommer PostgreSQL-blocket i filen att 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:/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.

Kommandot ovan kommer att starta Tomcat-webbservern för att servera applikationen på port 8080.

Öppna din favoritwebbläsare och bläddra till http://192.168.0.1:8080. Du kommer att 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 fem till tio minuter när 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

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 --home /opt/dotcms -gecos "dotCMS User" --disabled-password --disabled-login 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 standarden HTTP och HTTPS portarna. Vi kommer också att konfigurera Nginx att använda SSL som genereras med Let's Encrypt.

Installera Nginx.

sudo apt -y install nginx

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

sudo systemctl start nginx
sudo systemctl enable nginx

Lägg till Certbot-förvaret.

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

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

sudo apt -y install certbot

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 /var/www/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/sites-available/dotcms

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

Aktivera konfigurationen.

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

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 lösenordet 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