Jak nainstalovat dotCMS na CentOS 7

dotCMS je open source systém pro správu obsahu podnikové třídy napsaný v Javě. Obsahuje téměř všechny funkce potřebné k vytvoření webových stránek pro vaši firmu. Poskytuje RESTful API pro integraci s dalšími službami, jako je CRM, mobilní aplikace a další. Využívá Elasticsearch pro indexování obsahu v reálném čase a Redis pro implementaci vícevrstvé mezipaměti.

Tento článek byl napsán pro dotCMS 4.2.2, ale poskytnuté pokyny mohou fungovat i pro novější verze.

Předpoklady

  • Instance serveru Vultr CentOS 7.
  • Uživatel sudo .
  • Název domény směřující k serveru.

Pro tento tutoriál použijeme 192.168.0.1jako veřejnou IP adresu a cms.example.comjako název domény směřující k instanci Vultr. Ujistěte se, že jste nahradili všechny výskyty vzorového názvu domény a veřejné IP adresy skutečnými.

Aktualizujte svůj základní systém pomocí průvodce Jak aktualizovat CentOS 7 . Jakmile bude váš systém aktualizován, pokračujte v instalaci Javy.

Nainstalujte Javu

OpenJDK lze snadno nainstalovat, protože balíček je k dispozici ve výchozím úložišti YUM.

sudo yum -y install java-1.8.0-openjdk-devel

Pokud je Java správně nainstalována, budete moci ověřit její verzi.

java -version

Dostanete podobný výstup.

[user@vultr ~]$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)

Než budeme moci pokračovat dále, budeme muset nastavit proměnné prostředí JAVA_HOMEa JRE_HOME. Najděte absolutní cestu ke spustitelnému souboru Java ve vašem systému.

readlink -f $(which java)

Uvidíte podobný výstup.

[user@vultr ~]$ readlink -f $(which java)
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/bin/java

Nyní nastavte proměnné prostředí JAVA_HOMEa JRE_HOMEpodle cesty k adresáři Java.

echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64" >> ~/.bash_profile
echo "export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre" >> ~/.bash_profile

Spusťte bash_profilesoubor.

source ~/.bash_profile

Nyní můžete spustit echo $JAVA_HOMEpříkaz, abyste se ujistili, že je nastavena proměnná prostředí.

[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64

Nainstalujte PostgreSQL

Ve výchozím nastavení je dotCMS nakonfigurován pro použití databázového stroje H2. Databázový stroj H2 je databázový stroj založený na plochých souborech. Nedoporučuje se používat ve výrobě. V tomto tutoriálu použijeme PostgreSQL server k uložení databáze dotCMS.

PostgreSQL je objektově relační databázový systém známý svou stabilitou a rychlostí. Přidejte do systému úložiště nejnovější verze PostgreSQL.

sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm

Nainstalujte databázový server PostgreSQL.

sudo yum -y install postgresql10-server postgresql10-contrib postgresql10 

Inicializujte databázi.

sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

Spusťte PostgreSQL server a povolte jeho automatické spouštění při bootování.

sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10

Změňte heslo pro výchozího uživatele PostgreSQL.

sudo passwd postgres

Přihlaste se jako výchozí uživatel PostgreSQL.

sudo su - postgres

Vytvořte nového uživatele PostgreSQL pro dotCMS.

createuser dotcms 

PostgreSQL poskytuje psqlprostředí pro spouštění dotazů na databázovém serveru. Přepněte do prostředí PostgreSQL.

psql

Nastavte heslo pro nově vytvořeného uživatele pro databázi dotCMS.

ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';

Nahraďte heslo uživatele databáze DBPasswordbezpečným heslem. Vytvořte novou databázi pro instalaci dotCMS.

CREATE DATABASE dotcms OWNER dotcms;

Vyjděte ze psqlskořápky.

\q

Přepnout na sudouživatele.

exit

Nainstalujte dotCMS

Stáhněte si archiv dotCMS.

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

Odkaz na nejnovější verzi aplikace vždy najdete na stránce ke stažení dotCMS .

Vytvořte nový adresář pro uložení souborů dotCMS a extrahujte je do něj.

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

Otevřete konfigurační soubor databáze.

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

Najděte H2blok.

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

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

Zakomentujte celou H2sekci nahrazením oddělovače komentáře -->od začátku sekce do konce sekce. Mělo by to vypadat následovně.

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

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

Odkomentujte sekci PostgreSQL odstraněním oddělovače komentáře -->z konce sekce a jeho umístěním na horní obal POSTGRESQL. Také vyhledejte username=a password=nahraďte existující hodnoty uživatelským jménem a heslem uživatele vaší databáze PostgreSQL. Pokud jste použili jiný název databáze než dotcms, budete muset změnit název databáze v url=. Po konfiguraci by blok PostgreSQL v souboru měl vypadat následovně.

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

Poskytněte oprávnění ke spuštění pro všechny spustitelné soubory.

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

dotCMS je nyní nainstalován na vašem serveru. Pro okamžité spuštění aplikace proveďte následující.

cd /opt/dotcms
sudo bin/startup.sh

Po úspěšném spuštění serveru uvidíte následující výstup.

[user@vultr 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:        /
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.

Výše uvedený příkaz spustí webový server Tomcat, aby obsluhoval aplikaci na portu 8080. Chcete-li zkontrolovat, zda web dotCMS funguje, povolte požadovaný port 8080přes systémovou bránu firewall.

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload

Otevřete svůj oblíbený prohlížeč a přejděte na http://192.168.0.1:8080. Měli byste vidět, že aplikace spouští ukázkovou webovou stránku. Pokud nevidíte svůj web, počkejte prosím, protože první spuštění serveru dotCMS trvá několik minut, než zapíše data do databáze PostgreSQL a vytvoří mezipaměť. Můžete také zkontrolovat spouštěcí protokoly.

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

Nakonfigurujte službu Systemd

Server dotCMS lze spustit přímo pomocí spouštěcího skriptu, který je součástí instalačního balíčku. Z důvodu pohodlí byste měli nastavit soubor jednotky Systemd pro server dotCMS. To zajistí, že se aplikační server automaticky spustí při restartu systému a selhání.

Zastavte běžící server dotCMS pomocí vypínacího skriptu.

sudo bin/shutdown.sh

Z bezpečnostních důvodů vytvořte neprivilegovaného uživatele pro provozování serveru dotCMS.

sudo adduser -d /opt/dotcms -s /sbin/nologin dotcms

Poskytněte uživateli dotCMS vlastnictví souborů.

sudo chown -R dotcms:dotcms /opt/dotcms

Vytvořte novou službu Systemd.

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

Vyplňte soubor.

[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

Spusťte aplikaci a povolte její automatické spouštění při spouštění.

sudo systemctl start dotcms
sudo systemctl enable dotcms

Ujistěte se, že služba běží.

sudo systemctl status dotcms

Nakonfigurujte reverzní proxy

Server dotCMS standardně naslouchá na portu 8080. Nakonfigurujeme Nginx jako reverzní proxy, aby bylo možné přistupovat k aplikaci přes standardní HTTPa HTTPSporty. Nakonfigurujeme také Nginx tak, aby používal SSL generovaný pomocí Let's Encrypt free SSL.

Nainstalujte webový server Nginx.

sudo yum -y install nginx

Spusťte webový server a povolte jeho automatické spouštění při spouštění.

sudo systemctl start nginx
sudo systemctl enable nginx

Nainstalujte Certbot, což je klientská aplikace pro Let's Encrypt CA.

sudo yum -y install certbot

Než budete moci požádat o certifikáty, budete muset povolit porty 80a/ 443nebo standard HTTPa HTTPSslužby přes bránu firewall. Také odeberte port 8080ze seznamu výjimek brány firewall, protože již není vyžadován.

sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload

Poznámka: Chcete-li získat certifikáty od Let's Encrypt CA, doména, pro kterou mají být certifikáty generovány, musí být nasměrována na server. Pokud ne, proveďte potřebné změny v záznamech DNS domény a počkejte, až se DNS rozšíří, než znovu požádáte o certifikát. Certbot před poskytnutím certifikátů zkontroluje autoritu domény.

Vygenerujte certifikáty SSL.

sudo certbot certonly --webroot -w /usr/share/nginx/html -d cms.example.com

Vygenerované certifikáty budou pravděpodobně uloženy ve formátu /etc/letsencrypt/live/cms.example.com/. Platnost certifikátů Let's Encrypt vyprší za 90 dní, proto se doporučuje nastavit automatické obnovování certifikátů pomocí úloh Cron.

Otevřete soubor úlohy cron.

sudo crontab -e

Přidejte následující řádek na konec souboru.

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

Výše uvedená úloha cron se spustí každý den v 5:30. Pokud má platnost certifikátu vypršet, bude automaticky obnoven.

Vytvořte nový soubor bloku serveru pro web dotCMS.

sudo nano /etc/nginx/conf.d/cms.example.com.conf

Vyplňte soubor.

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

Restartujte webový server Nginx, aby se změny projevily.

sudo systemctl restart nginx

Aplikace dotCMS je nyní nainstalována na vašem serveru pro produkční použití. Přístup k administrativnímu panelu na následující adrese.

https://cms.example.com/dotAdmin

Přihlaste se pomocí počátečního účtu správce [email protected]a admin. Ihned po přihlášení změňte výchozí heslo.

Gratulujeme, systém pro správu obsahu dotCMS je nyní nainstalován na vašem serveru. Můžete upravit demo stránku nebo můžete začít budovat svůj web od začátku.


Jak nainstalovat Thelia 2.3 na Debian 9

Jak nainstalovat Thelia 2.3 na Debian 9

Používáte jiný systém? Thelia je open source nástroj pro vytváření webových stránek pro e-business a správu online obsahu napsaného v PHP. Zdrojový kód Thelia i

Jak nainstalovat Microweber na CentOS 7

Jak nainstalovat Microweber na CentOS 7

Používáte jiný systém? Microweber je open source drag and drop CMS a online obchod. Zdrojový kód Microweber je hostován na GitHubu. Tento průvodce vám to ukáže

Instalace Microweber na Ubuntu 16.04

Instalace Microweber na Ubuntu 16.04

Používáte jiný systém? Microweber je open source drag and drop CMS a online obchod. Zdrojový kód Microweber je hostován na GitHubu. Tento průvodce vám to ukáže

Jak nainstalovat dotCMS na Ubuntu 16.04

Jak nainstalovat dotCMS na Ubuntu 16.04

Používáte jiný systém? DotCMS je open-source podnikový systém pro správu obsahu napsaný v Javě. Obsahuje téměř všechny požadované funkce t

Jak nainstalovat Pagekit 1.0 CMS na FreeBSD 11 FAMP VPS

Jak nainstalovat Pagekit 1.0 CMS na FreeBSD 11 FAMP VPS

Používáte jiný systém? Pagekit 1.0 CMS je krásný, modulární, rozšiřitelný a lehký, bezplatný a open source systém správy obsahu (CMS) s

Jak nainstalovat BigTree CMS na Fedora 26 LAMP VPS

Jak nainstalovat BigTree CMS na Fedora 26 LAMP VPS

Používáte jiný systém? BigTree CMS 4.2 je rychlý a lehký, bezplatný a open source podnikový systém pro správu obsahu (CMS) s rozsáhlým

Instalace Pagekit CMS na Ubuntu 16.04 LTS

Instalace Pagekit CMS na Ubuntu 16.04 LTS

Používáte jiný systém? Pagekit je open source CMS napsaný v PHP. Zdrojový kód Pagekitu je hostován na GitHubu. Tato příručka vám ukáže, jak nainstalovat

Jak nainstalovat PyroCMS na Ubuntu 16.04

Jak nainstalovat PyroCMS na Ubuntu 16.04

Používáte jiný systém? PyroCMS je open source CMS napsaný v PHP. Zdrojový kód PyroCMS je hostován na GitHubu. V tomto průvodci si dobře projděte celý

Jak nainstalovat Subrion 4.1 CMS na FreeBSD 11 FAMP VPS

Jak nainstalovat Subrion 4.1 CMS na FreeBSD 11 FAMP VPS

Používáte jiný systém? Subrion 4.1 CMS je výkonný a flexibilní open source systém správy obsahu (CMS), který přináší intuitivní a jasný obsah

Jak nainstalovat Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Jak nainstalovat Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Používáte jiný systém? Backdrop CMS 1.8.0 je jednoduchý a flexibilní, mobilní, bezplatný a open source systém správy obsahu (CMS), který nám umožňuje

Jak nainstalovat Roadiz CMS na Debian 9

Jak nainstalovat Roadiz CMS na Debian 9

Používáte jiný systém? Úvod Roadiz je moderní CMS navržený pro práci s mnoha typy služeb. Na základě komponent Symfony a Doctrine ORM, tj

Instalace Microweber na Debian 9

Instalace Microweber na Debian 9

Používáte jiný systém? Microweber je open source drag and drop CMS a online obchod. Zdrojový kód Microweber je hostován na GitHubu. Tento průvodce vám to ukáže

Jak nainstalovat Grav CMS na Fedoru 28

Jak nainstalovat Grav CMS na Fedoru 28

Používáte jiný systém? Grav je open source plochý CMS napsaný v PHP. Zdrojový kód Grav je veřejně hostován na GitHubu. Tato příručka vám ukáže, jak t

Jak nainstalovat Grav CMS na Debian 9

Jak nainstalovat Grav CMS na Debian 9

Používáte jiný systém? Grav je open source plochý CMS napsaný v PHP. Zdrojový kód Grav je veřejně hostován na GitHubu. Tato příručka vám ukáže, jak t

Jak nainstalovat Automad CMS na CentOS 7

Jak nainstalovat Automad CMS na CentOS 7

Používáte jiný systém? Automad je open source souborový redakční systém (CMS) a šablonový engine napsaný v PHP. Zdrojový kód Automad i

Jak nainstalovat Raneto na Ubuntu 17.10

Jak nainstalovat Raneto na Ubuntu 17.10

Raneto je bezplatná znalostní báze s otevřeným zdrojovým kódem postavená na Node.js, která se snadno nastavuje a používá a také se snadno spravuje. Kategorie a stránky ar

Jak nainstalovat Thelia 2.3 na Ubuntu 16.04

Jak nainstalovat Thelia 2.3 na Ubuntu 16.04

Používáte jiný systém? Thelia je open source nástroj pro vytváření webových stránek pro e-business a správu online obsahu napsaného v PHP. Zdrojový kód Thelia i

Jak nainstalovat Říjen 1.0 CMS na Debian 9 LAMP VPS

Jak nainstalovat Říjen 1.0 CMS na Debian 9 LAMP VPS

Používáte jiný systém? Říjen 1.0 CMS je jednoduchý a spolehlivý, bezplatný a open source systém správy obsahu (CMS) postavený na frameworku Laravel.

Jak nainstalovat ImpressPages CMS 5.0 na Ubuntu 16.04 LAMP VPS

Jak nainstalovat ImpressPages CMS 5.0 na Ubuntu 16.04 LAMP VPS

Používáte jiný systém? ImpressPages CMS 5.0 je jednoduchý a efektivní, bezplatný a open source, uživatelsky přívětivý systém pro správu obsahu (CMS) založený na MVC.

Jak nainstalovat CMS Made Simple 2.2 na Debian 9 LAMP VPS

Jak nainstalovat CMS Made Simple 2.2 na Debian 9 LAMP VPS

Používáte jiný systém? CMS Made Simple 2.2 je flexibilní a rozšiřitelný, bezplatný a open source systém správy obsahu (CMS) inteligentně navržený tak, aby

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více