Kako namestiti dotCMS na Ubuntu 16.04

DotCMS je odprtokodni sistem za upravljanje vsebin za podjetja, napisan v Javi. Vsebuje skoraj vse funkcije, potrebne za ustvarjanje spletnega mesta za vaše podjetje. Zagotavlja RESTful API za integracijo z drugimi storitvami, kot so CRM, mobilne aplikacije in drugo. Uporablja Elasticsearch za indeksiranje vsebine v realnem času in Redis za implementacijo večstopenjskega predpomnilnika.

Predpogoji

  • Primerek strežnika Vultr Ubuntu 16.04.
  • Uporabnik sudo .
  • Ime domene, usmerjeno proti strežniku.

Za to vadnico bomo uporabili 192.168.0.1 kot javni naslov IP in cms.example.com kot ime domene, usmerjeno proti primerku Vultr. Poskrbite, da boste zamenjali vse pojavitve vzorčnega imena domene in javnega naslova IP z dejanskim.

Posodobite svoj osnovni sistem z uporabo priročnika Kako posodobiti Ubuntu 16.04 . Ko je vaš sistem posodobljen, nadaljujte z namestitvijo Jave.

Namesti Java

Dodajte repozitorij Ubuntu za Oracle Java 8.

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

Namesti Java.

sudo apt -y install oracle-java8-installer

Preverili boste lahko različico Jave.

java -version

Videli boste naslednji izhod.

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)

Nastavite privzeto pot za Javo tako, da namestite naslednji paket.

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

Lahko preverite, da JAVA_HOMEje nastavljeno.

echo $JAVA_HOME

Videti bi morali naslednje.

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

Če izhoda sploh ne vidite, se boste morali odjaviti iz trenutne lupine in se znova prijaviti.

Namestite PostgreSQL

DotCMS je privzeto konfiguriran za uporabo motorja baze podatkov H2. Mehanizem baze podatkov H2 je mehanizem baze podatkov, ki temelji na ploščati datoteki. Ni priporočljivo uporabljati v proizvodnji. V tej vadnici bomo za shranjevanje baze podatkov dotCMS uporabili strežnik PostgreSQL.

PostgreSQL je objektno-relacijski sistem baz podatkov, znan po svoji stabilnosti in hitrosti. Privzeto skladišče Ubuntu vsebuje staro različico PostgreSQL, zato dodajte repozitorij PostgreSQL.

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

Namestite strežnik baze podatkov PostgreSQL.

sudo apt -y install postgresql

Zaženite strežnik PostgreSQL in omogočite, da se samodejno zažene ob zagonu.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Spremenite geslo za privzetega uporabnika PostgreSQL.

sudo passwd postgres

Prijavite se kot uporabnik PostgreSQL.

sudo su - postgres

Ustvarite novega uporabnika PostgreSQL za dotCMS.

createuser dotcms 

PostgreSQL ponuja psql lupino za izvajanje poizvedb na strežniku baze podatkov. Preklopite na lupino PostgreSQL.

psql

Nastavite geslo za novoustvarjenega uporabnika za bazo podatkov dotCMS.

ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';

Uporabniško geslo baze podatkov zamenjajte DBPassword z varnim geslom.

Ustvarite novo bazo podatkov za namestitev dotCMS.

CREATE DATABASE dotcms OWNER dotcms;

Izstopite iz psql lupine.

\q

Preklopite na sudo uporabnika.

exit

Namestite dotCMS

Prenesite arhiv dotCMS.

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

Povezavo do najnovejše različice aplikacije lahko vedno najdete na strani za prenos dotCMS .

Ustvarite nov imenik za shranjevanje datotek dotCMS in jih ekstrahirajte vanj.

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

Odprite konfiguracijsko datoteko baze podatkov.

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

Poiščite H2 blok.

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

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

Komentirajte celoten H2 razdelek tako, da premaknete ločilo komentarja --> z začetka razdelka na konec razdelka. To bi moralo izgledati takole.

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

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

Odkomentirajte razdelek PostgreSQL tako, da odstranite ločilo komentarjev --> s konca razdelka in ga postavite na zgornji ovoj POSTGRESQL. Prav tako poiščite username= in password= zamenjajte obstoječe vrednosti z uporabniškim imenom in geslom uporabnika vaše baze podatkov PostgreSQL. Če ste uporabili drugo ime baze podatkov kot dotcms, boste morali spremeniti ime baze podatkov v url=. Ko je konfiguriran, bo blok PostgreSQL v datoteki videti takole.

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

Zagotovite dovoljenje za izvajanje za vse izvedljive datoteke.

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

DotCMS je zdaj nameščen na vašem strežniku. Če želite takoj zagnati aplikacijo, izvedite naslednje.

cd /opt/dotcms
sudo bin/startup.sh

Ko se strežnik uspešno zažene, boste videli naslednji izhod.

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.

Zgornji ukaz bo zagnal spletni strežnik Tomcat, ki bo stregel aplikaciji na vratih 8080.

Odprite svoj najljubši brskalnik in poiščite http://192.168.0.1:8080. Videli boste, da aplikacija izvaja demo spletno mesto. Če ne vidite svojega spletnega mesta, počakajte, saj prvi zagon strežnika dotCMS traja pet do deset minut, ko zapiše podatke v bazo podatkov PostgreSQL in zgradi predpomnilnik. Preverite lahko tudi dnevnike zagona.

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

Konfigurirajte Systemd

Strežnik dotCMS je mogoče zagnati neposredno z uporabo zagonskega skripta, ki je na voljo v namestitvenem paketu. Zaradi priročnosti bi morali nastaviti datoteko enote Systemd za strežnik dotCMS. To bo zagotovilo, da se aplikacijski strežnik samodejno zažene ob ponovnem zagonu sistema in napakah.

Ustavite delujoči strežnik dotCMS s skriptom za zaustavitev.

sudo bin/shutdown.sh

Iz varnostnih razlogov ustvarite neprivilegiranega uporabnika za zagon strežnika dotCMS.

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

Zagotovite lastništvo datotek uporabniku dotCMS.

sudo chown -R dotcms:dotcms /opt/dotcms

Ustvarite novo storitev Systemd.

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

Izpolnite datoteko.

[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

Zaženite aplikacijo in omogočite, da se samodejno zažene ob zagonu.

sudo systemctl start dotcms
sudo systemctl enable dotcms

Prepričajte se, da storitev deluje.

sudo systemctl status dotcms

Konfigurirajte povratni proxy

Strežnik dotCMS privzeto posluša vrata 8080. Nginx bomo konfigurirali kot povratni proxy, tako da bo do aplikacije mogoče dostopati prek standarda HTTP in HTTPS vrat. Nginx bomo tudi konfigurirali za uporabo SSL-ja, ustvarjenega z Let's Encrypt.

Namestite Nginx.

sudo apt -y install nginx

Zaženite Nginx in omogočite, da se samodejno zažene ob zagonu.

sudo systemctl start nginx
sudo systemctl enable nginx

Dodajte repozitorij Certbot.

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

Namestite Certbot, ki je odjemalska aplikacija za Let's Encrypt CA.

sudo apt -y install certbot

Opomba: Če želite pridobiti potrdila od Let's Encrypt CA, mora biti domena, za katero naj bi bila generirana potrdila, usmerjena proti strežniku. Če ne, naredite potrebne spremembe v zapisih DNS domene in počakajte, da se DNS razširi, preden znova pošljete zahtevo za potrdilo. Certbot preveri avtoriteto domene, preden zagotovi potrdila.

Ustvarite SSL potrdila.

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

Ustvarjena potrdila bodo verjetno shranjena v /etc/letsencrypt/live/cms.example.com/. Potrdila Let's Encrypt potečejo v 90 dneh, zato je priporočljivo, da nastavite samodejno obnavljanje potrdil s pomočjo opravil Cron.

Odprite datoteko opravila cron.

sudo crontab -e

Dodajte naslednjo vrstico na konec datoteke.

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

Zgornje opravilo cron se bo izvajalo vsak dan ob 5.30. Če potrdilo poteče, se samodejno podaljša.

Ustvarite novo datoteko blokov strežnika za spletno mesto dotCMS.

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

Izpolnite datoteko.

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

Aktivirajte konfiguracijo.

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

Znova zaženite spletni strežnik Nginx, da bodo spremembe začele veljati.

sudo systemctl restart nginx

Aplikacija dotCMS je zdaj nameščena na vašem strežniku za produkcijsko uporabo. Dostopite do skrbniške nadzorne plošče na naslednjem naslovu.

https://cms.example.com/dotAdmin

Prijavite se z začetnim skrbniškim računom [email protected] in geslom admin. Spremenite privzeto geslo takoj po prijavi.

Čestitamo, sistem za upravljanje vsebine dotCMS je zdaj nameščen na vašem strežniku. Lahko spremenite demo stran ali pa začnete graditi svoje spletno mesto iz nič.


Kako namestiti Thelia 2.3 na Debian 9

Kako namestiti Thelia 2.3 na Debian 9

Uporaba drugega sistema? Thelia je odprtokodno orodje za ustvarjanje spletnih strani e-poslovanja in upravljanje spletnih vsebin, napisanih v PHP. Izvorna koda Thelia i

Kako namestiti Microweber na CentOS 7

Kako namestiti Microweber na CentOS 7

Uporaba drugega sistema? Microweber je odprtokodna povleci in spusti CMS in spletna trgovina. Izvorna koda Microweber gostuje na GitHubu. Ta vodnik vam bo pokazal

Namestitev Microweberja na Ubuntu 16.04

Namestitev Microweberja na Ubuntu 16.04

Uporaba drugega sistema? Microweber je odprtokodna povleci in spusti CMS in spletna trgovina. Izvorna koda Microweber gostuje na GitHubu. Ta vodnik vam bo pokazal

Kako namestiti dotCMS na Ubuntu 16.04

Kako namestiti dotCMS na Ubuntu 16.04

Uporaba drugega sistema? DotCMS je odprtokodni sistem za upravljanje vsebin za podjetja, napisan v Javi. Vsebuje skoraj vse zahtevane funkcije t

Kako namestiti Pagekit 1.0 CMS na FreeBSD 11 FAMP VPS

Kako namestiti Pagekit 1.0 CMS na FreeBSD 11 FAMP VPS

Uporaba drugega sistema? Pagekit 1.0 CMS je lep, modularen, razširljiv in lahek, brezplačen in odprtokoden sistem za upravljanje vsebine (CMS) z

Kako namestiti BigTree CMS na Fedora 26 LAMP VPS

Kako namestiti BigTree CMS na Fedora 26 LAMP VPS

Uporaba drugega sistema? BigTree CMS 4.2 je hiter in lahek, brezplačen in odprtokoden sistem za upravljanje vsebin podjetja (CMS) z obsežnim

Namestitev Pagekit CMS na Ubuntu 16.04 LTS

Namestitev Pagekit CMS na Ubuntu 16.04 LTS

Uporaba drugega sistema? Pagekit je odprtokodni CMS, napisan v PHP. Izvorna koda Pagekit gostuje na GitHubu. Ta priročnik vam bo pokazal, kako namestiti

Kako namestiti PyroCMS na Ubuntu 16.04

Kako namestiti PyroCMS na Ubuntu 16.04

Uporaba drugega sistema? PyroCMS je odprtokodni CMS, napisan v PHP. Izvorna koda PyroCMS gostuje na GitHubu. V tem vodniku se dobro sprehodite po celem

Kako namestiti Subrion 4.1 CMS na FreeBSD 11 FAMP VPS

Kako namestiti Subrion 4.1 CMS na FreeBSD 11 FAMP VPS

Uporaba drugega sistema? Subrion 4.1 CMS je zmogljiv in prilagodljiv odprtokodni sistem za upravljanje vsebine (CMS), ki prinaša intuitivno in jasno vsebino.

Kako namestiti Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Kako namestiti Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Uporaba drugega sistema? Backdrop CMS 1.8.0 je preprost in prilagodljiv, mobilnim prijazen, brezplačen in odprtokoden sistem za upravljanje vsebine (CMS), ki nam omogoča

Kako namestiti Roadiz CMS na Debian 9

Kako namestiti Roadiz CMS na Debian 9

Uporaba drugega sistema? Uvod Roadiz je sodoben CMS, zasnovan za obdelavo številnih vrst storitev. Na podlagi komponent Symfony in Doctrine ORM, tj

Namestitev Microweberja v Debian 9

Namestitev Microweberja v Debian 9

Uporaba drugega sistema? Microweber je odprtokodna povleci in spusti CMS in spletna trgovina. Izvorna koda Microweber gostuje na GitHubu. Ta vodnik vam bo pokazal

Kako namestiti Grav CMS na Fedora 28

Kako namestiti Grav CMS na Fedora 28

Uporaba drugega sistema? Grav je odprtokodni CMS s ploščatimi datotekami, napisan v PHP. Izvorna koda Grav je javno gostovana na GitHubu. Ta vodnik vam bo pokazal, kako t

Kako namestiti Grav CMS na Debian 9

Kako namestiti Grav CMS na Debian 9

Uporaba drugega sistema? Grav je odprtokodni CMS s ploščatimi datotekami, napisan v PHP. Izvorna koda Grav je javno gostovana na GitHubu. Ta vodnik vam bo pokazal, kako t

Kako namestiti Automad CMS na CentOS 7

Kako namestiti Automad CMS na CentOS 7

Uporaba drugega sistema? Automad je odprtokodni sistem za upravljanje vsebin (CMS), ki temelji na datotekah, in mehanizem za predloge, napisan v PHP. Izvorna koda Automad i

Kako namestiti Raneto na Ubuntu 17.10

Kako namestiti Raneto na Ubuntu 17.10

Raneto je brezplačna in odprtokodna baza znanja, zgrajena na Node.js, ki je enostavna za nastavitev in uporabo ter enostavna za upravljanje. Kategorije in strani ar

Kako namestiti Thelia 2.3 na Ubuntu 16.04

Kako namestiti Thelia 2.3 na Ubuntu 16.04

Uporaba drugega sistema? Thelia je odprtokodno orodje za ustvarjanje spletnih strani e-poslovanja in upravljanje spletnih vsebin, napisanih v PHP. Izvorna koda Thelia i

Kako namestiti oktober 1.0 CMS na Debian 9 LAMP VPS

Kako namestiti oktober 1.0 CMS na Debian 9 LAMP VPS

Uporaba drugega sistema? October 1.0 CMS je preprost in zanesljiv, brezplačen in odprtokoden sistem za upravljanje vsebine (CMS), zgrajen na ogrodju Laravel

Kako namestiti ImpressPages CMS 5.0 na Ubuntu 16.04 LAMP VPS

Kako namestiti ImpressPages CMS 5.0 na Ubuntu 16.04 LAMP VPS

Uporaba drugega sistema? ImpressPages CMS 5.0 je preprost in učinkovit, brezplačen in odprtokoden, uporabniku prijazen sistem za upravljanje vsebine (CMS), ki temelji na MVC.

Kako namestiti CMS Made Simple 2.2 na Debian 9 LAMP VPS

Kako namestiti CMS Made Simple 2.2 na Debian 9 LAMP VPS

Uporaba drugega sistema? CMS Made Simple 2.2 je prilagodljiv in razširljiv, brezplačen in odprtokoden sistem za upravljanje vsebine (CMS), ki je inteligentno zasnovan za

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več