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 admin@dotcms.com 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č.

Pusti komentar

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.

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.

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.

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č