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

Ostavite komentar

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.

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.

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.

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