Kako instalirati dotCMS na Ubuntu 16.04

DotCMS je open-source sustav za upravljanje sadržajem poslovnog razreda napisan na Javi. Sadrži gotovo sve značajke potrebne za izradu web stranice za vašu tvrtku. Pruža RESTful API za integraciju s drugim uslugama kao što su CRM, mobilne aplikacije i još mnogo toga. Koristi Elasticsearch za indeksiranje sadržaja u stvarnom vremenu i Redis za implementaciju višeslojne predmemorije.

Preduvjeti

  • Instanca poslužitelja Vultr Ubuntu 16.04.
  • Korisnik sudoa .
  • Naziv domene usmjeren prema poslužitelju.

Za ovaj vodič koristit ćemo 192.168.0.1 kao javnu IP adresu i cms.example.com kao ime domene usmjereno na Vultr instancu. Svakako zamijenite sva pojavljivanja primjera naziva domene i javne IP adrese stvarnim.

Ažurirajte svoj osnovni sustav pomoću vodiča Kako ažurirati Ubuntu 16.04 . Nakon što se vaš sustav ažurira, nastavite s instalacijom Jave.

Instalirajte Javu

Dodajte Ubuntu spremište za Oracle Java 8.

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

Instalirajte Javu.

sudo apt -y install oracle-java8-installer

Moći ćete provjeriti verziju Jave.

java -version

Vidjet ćete sljedeći izlaz.

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)

Postavite zadani put za Javu instaliranjem sljedećeg paketa.

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

Možete provjeriti da JAVA_HOMEje postavljeno.

echo $JAVA_HOME

Trebali biste vidjeti sljedeće.

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

Ako uopće ne vidite nikakav izlaz, morat ćete se odjaviti iz trenutne ljuske i ponovno se prijaviti.

Instalirajte PostgreSQL

Prema zadanim postavkama, dotCMS je konfiguriran za korištenje H2 baze podataka. Mehanizam baze podataka H2 je motor baze podataka baziran na ravnoj datoteci. Ne preporuča se koristiti u proizvodnji. U ovom vodiču koristit ćemo PostgreSQL poslužitelj za pohranu dotCMS baze podataka.

PostgreSQL je objektno-relacijski sustav baze podataka, poznat po svojoj stabilnosti i brzini. Zadano Ubuntu spremište sadrži staru verziju PostgreSQL-a, stoga dodajte PostgreSQL spremište.

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

Instalirajte PostgreSQL poslužitelj baze podataka.

sudo apt -y install postgresql

Pokrenite PostgreSQL poslužitelj i omogućite mu automatsko pokretanje prilikom pokretanja.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Promijenite lozinku za zadanog korisnika PostgreSQL.

sudo passwd postgres

Prijavite se kao korisnik PostgreSQL-a.

sudo su - postgres

Stvorite novog PostgreSQL korisnika za dotCMS.

createuser dotcms 

PostgreSQL pruža psql ljusku za pokretanje upita na poslužitelju baze podataka. Prijeđite na ljusku PostgreSQL.

psql

Postavite lozinku za novostvorenog korisnika za dotCMS bazu podataka.

ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';

Zamijenite korisničku lozinku baze podataka DBPassword sigurnom lozinkom.

Napravite novu bazu podataka za instalaciju dotCMS-a.

CREATE DATABASE dotcms OWNER dotcms;

Izađite iz psql ljuske.

\q

Prebacite se na sudo korisnika.

exit

Instalirajte dotCMS

Preuzmite dotCMS arhivu.

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

Link na najnoviju verziju aplikacije uvijek možete pronaći na stranici za preuzimanje dotCMS-a .

Napravite novi direktorij za pohranu dotCMS datoteka i izdvojite ih u njega.

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

Otvorite konfiguracijsku datoteku baze podataka.

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

Pronađite H2 blok.

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

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

Komentirajte cijeli H2 odjeljak pomicanjem graničnika komentara --> s početka odjeljka na kraj odjeljka. Trebalo bi izgledati ovako.

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

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

Dekomentirajte odjeljak PostgreSQL tako da uklonite graničnik komentara --> s kraja odjeljka i stavite ga na gornji omotač POSTGRESQL. Također, pronađite username= i password= zamijenite postojeće vrijednosti korisničkim imenom i lozinkom vašeg korisnika PostgreSQL baze podataka. Ako ste koristili naziv baze podataka koji nije dotcms, tada ćete morati promijeniti naziv baze podataka u url=. Nakon što je konfiguriran, PostgreSQL blok u datoteci će izgledati ovako.

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

Osigurajte dopuštenje za izvršenje za sve izvršne datoteke.

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

DotCMS je sada instaliran na vašem poslužitelju. Da biste odmah pokrenuli aplikaciju, izvršite sljedeće.

cd /opt/dotcms
sudo bin/startup.sh

Vidjet ćete sljedeći izlaz kada se poslužitelj uspješno pokrene.

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.

Gornja naredba će pokrenuti Tomcat web poslužitelj za posluživanje aplikacije na portu 8080.

Open your favorite browser and browse to http://192.168.0.1:8080. You will see that the application is running a demo website. If you do not see your website, please wait as the first startup of the dotCMS server takes five to ten minutes as it writes data into the PostgreSQL database and builds the cache. You can also check the startup logs.

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

Configure Systemd

The dotCMS server can be started directly using the startup script provided in the installer package. As a matter of convenience, you should set up a Systemd unit file for the dotCMS server. This will ensure that the application server is automatically started on system restart and failures.

Stop the running dotCMS server using the shutdown script.

sudo bin/shutdown.sh

Create an unprivileged user for running the dotCMS server, for security reasons.

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

Provide ownership of the files to the dotCMS user.

sudo chown -R dotcms:dotcms /opt/dotcms

Napravite novu Systemd uslugu.

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

Popunite datoteku.

[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

Pokrenite aplikaciju i omogućite joj automatsko pokretanje prilikom pokretanja.

sudo systemctl start dotcms
sudo systemctl enable dotcms

Provjerite je li usluga pokrenuta.

sudo systemctl status dotcms

Konfigurirajte obrnuti proxy

Prema zadanim postavkama, dotCMS poslužitelj sluša port 8080. Nginx ćemo konfigurirati kao obrnuti proxy tako da se aplikaciji može pristupiti putem standarda HTTP i HTTPS portova. Također ćemo konfigurirati Nginx da koristi SSL generiran pomoću Let's Encrypt.

Instalirajte Nginx.

sudo apt -y install nginx

Pokrenite Nginx i omogućite mu automatsko pokretanje prilikom pokretanja.

sudo systemctl start nginx
sudo systemctl enable nginx

Dodajte Certbot repozitorij.

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

Instalirajte Certbot, klijentsku aplikaciju za Let's Encrypt CA.

sudo apt -y install certbot

Napomena: Za dobivanje certifikata od Let's Encrypt CA, domena za koju se certifikati trebaju generirati mora biti usmjerena prema poslužitelju. Ako nije, izvršite potrebne promjene u DNS zapisima domene i pričekajte da se DNS širi prije nego što ponovno uputite zahtjev za certifikatom. Certbot provjerava autoritet domene prije pružanja certifikata.

Generirajte SSL certifikate.

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

Generirani certifikati vjerojatno će biti pohranjeni u /etc/letsencrypt/live/cms.example.com/. Let's Encrypt certifikati istječu za 90 dana, stoga je preporučljivo postaviti automatsku obnovu certifikata pomoću Cron poslova.

Otvorite cron datoteku posla.

sudo crontab -e

Dodajte sljedeći redak na kraj datoteke.

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

Gornji cron posao će se izvoditi svaki dan u 5:30 ujutro. Ako potvrda istekne, automatski će se obnoviti.

Izradite novu datoteku bloka poslužitelja za dotCMS mjesto.

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

Popunite datoteku.

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

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

Ponovno pokrenite Nginx web poslužitelj kako bi promjene mogle stupiti na snagu.

sudo systemctl restart nginx

Aplikacija dotCMS sada je instalirana na vašem poslužitelju za upotrebu u proizvodnji. Pristupite administrativnoj nadzornoj ploči na sljedećoj adresi.

https://cms.example.com/dotAdmin

Prijavite se pomoću početnog administratorskog računa [email protected] i lozinke admin. Promijenite zadanu lozinku odmah nakon prijave.

Čestitamo, sustav za upravljanje sadržajem dotCMS sada je instaliran na vašem poslužitelju. Možete izmijeniti demo stranicu ili možete početi graditi svoju stranicu od nule.


Kako instalirati Thelia 2.3 na Debian 9

Kako instalirati Thelia 2.3 na Debian 9

Korištenje drugog sustava? Thelia je alat otvorenog koda za izradu web stranica e-poslovanja i upravljanje online sadržajem napisanim u PHP-u. Thelia izvorni kod i

Kako instalirati Microweber na CentOS 7

Kako instalirati Microweber na CentOS 7

Korištenje drugog sustava? Microweber je CMS i internetska trgovina otvorenog koda povuci i ispusti. Izvorni kod Microwebera nalazi se na GitHubu. Ovaj vodič će vam pokazati

Instalacija Microwebera na Ubuntu 16.04

Instalacija Microwebera na Ubuntu 16.04

Korištenje drugog sustava? Microweber je CMS i internetska trgovina otvorenog koda povuci i ispusti. Izvorni kod Microwebera nalazi se na GitHubu. Ovaj vodič će vam pokazati

Kako instalirati dotCMS na Ubuntu 16.04

Kako instalirati dotCMS na Ubuntu 16.04

Korištenje drugog sustava? DotCMS je open-source sustav za upravljanje sadržajem poslovnog razreda napisan na Javi. Sadrži gotovo sve potrebne značajke t

Kako instalirati Pagekit 1.0 CMS na FreeBSD 11 FAMP VPS

Kako instalirati Pagekit 1.0 CMS na FreeBSD 11 FAMP VPS

Korištenje drugog sustava? Pagekit 1.0 CMS je prekrasan, modularan, proširiv i lagan, besplatan i otvoreni sustav za upravljanje sadržajem (CMS) s

Kako instalirati BigTree CMS na Fedora 26 LAMP VPS

Kako instalirati BigTree CMS na Fedora 26 LAMP VPS

Korištenje drugog sustava? BigTree CMS 4.2 brz je i lagan, besplatan i otvoreni izvor, sustav upravljanja sadržajem (CMS) poslovnog ranga s opsežnim

Instalacija Pagekit CMS-a na Ubuntu 16.04 LTS

Instalacija Pagekit CMS-a na Ubuntu 16.04 LTS

Korištenje drugog sustava? Pagekit je CMS otvorenog koda napisan u PHP-u. Izvorni kod Pagekita nalazi se na GitHubu. Ovaj vodič će vam pokazati kako instalirati

Kako instalirati PyroCMS na Ubuntu 16.04

Kako instalirati PyroCMS na Ubuntu 16.04

Korištenje drugog sustava? PyroCMS je CMS otvorenog koda napisan u PHP-u. PyroCMS izvorni kod se nalazi na GitHubu. U ovom vodiču dobro prošetajte cijelim

Kako instalirati Subrion 4.1 CMS na FreeBSD 11 FAMP VPS

Kako instalirati Subrion 4.1 CMS na FreeBSD 11 FAMP VPS

Korištenje drugog sustava? Subrion 4.1 CMS je moćan i fleksibilan sustav upravljanja sadržajem otvorenog koda (CMS) koji donosi intuitivan i jasan sadržaj

Kako instalirati Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Kako instalirati Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Korištenje drugog sustava? Backdrop CMS 1.8.0 je jednostavan i fleksibilan, prilagođen mobilnim uređajima, besplatan i otvoreni sustav za upravljanje sadržajem (CMS) koji nam omogućuje

Kako instalirati Roadiz CMS na Debian 9

Kako instalirati Roadiz CMS na Debian 9

Korištenje drugog sustava? Uvod Roadiz je moderan CMS dizajniran za rukovanje mnogim vrstama usluga. Na temelju Symfony komponenti i Doctrine ORM, tj

Instalacija Microwebera na Debian 9

Instalacija Microwebera na Debian 9

Korištenje drugog sustava? Microweber je CMS i internetska trgovina otvorenog koda povuci i ispusti. Izvorni kod Microwebera nalazi se na GitHubu. Ovaj vodič će vam pokazati

Kako instalirati Grav CMS na Fedora 28

Kako instalirati Grav CMS na Fedora 28

Korištenje drugog sustava? Grav je CMS otvorenog koda s ravnim datotekama napisan u PHP-u. Izvorni kod Grav-a javno se nalazi na GitHubu. Ovaj vodič će vam pokazati kako t

Kako instalirati Grav CMS na Debian 9

Kako instalirati Grav CMS na Debian 9

Korištenje drugog sustava? Grav je CMS otvorenog koda s ravnim datotekama napisan u PHP-u. Izvorni kod Grav-a javno se nalazi na GitHubu. Ovaj vodič će vam pokazati kako t

Kako instalirati Automad CMS na CentOS 7

Kako instalirati Automad CMS na CentOS 7

Korištenje drugog sustava? Automad je open source sustav za upravljanje sadržajem (CMS) i predložak napisan u PHP-u. Izvorni kod Automada i

Kako instalirati Raneto na Ubuntu 17.10

Kako instalirati Raneto na Ubuntu 17.10

Raneto je besplatna baza znanja otvorenog koda, izgrađena na Node.js koja je jednostavna za postavljanje i korištenje, kao i za administraciju. Kategorije i stranice ar

How to Install Thelia 2.3 on Ubuntu 16.04

How to Install Thelia 2.3 on Ubuntu 16.04

Using a Different System? Thelia is an open source tool for creating e-business websites and managing online content written in PHP. Thelia source code i

Kako instalirati listopad 1.0 CMS na Debian 9 LAMP VPS

Kako instalirati listopad 1.0 CMS na Debian 9 LAMP VPS

Korištenje drugog sustava? Listopad 1.0 CMS je jednostavan i pouzdan, besplatan i otvoreni sustav za upravljanje sadržajem (CMS) izgrađen na Laravel okviru

Kako instalirati ImpressPages CMS 5.0 na Ubuntu 16.04 LAMP VPS

Kako instalirati ImpressPages CMS 5.0 na Ubuntu 16.04 LAMP VPS

Korištenje drugog sustava? ImpressPages CMS 5.0 je jednostavan i učinkovit, besplatan i otvorenog koda, prilagođen korisniku, baziran na MVC-u, sustav za upravljanje sadržajem (CMS)

Kako instalirati CMS Made Simple 2.2 na Debian 9 LAMP VPS

Kako instalirati CMS Made Simple 2.2 na Debian 9 LAMP VPS

Korištenje drugog sustava? CMS Made Simple 2.2 je fleksibilan i proširiv, besplatan i otvoreni sustav za upravljanje sadržajem (CMS) inteligentno dizajniran za b

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više