A dotCMS telepítése Ubuntu 16.04-re

A DotCMS egy nyílt forráskódú, vállalati szintű, Java nyelven írt tartalomkezelő rendszer. Szinte minden olyan funkciót tartalmaz, amelyre szükség van egy webhely létrehozásához vállalkozása számára. RESTful API-t biztosít más szolgáltatásokkal, például CRM-mel, mobilalkalmazásokkal és egyebekkel való integrációhoz. Az Elasticsearch-et használja a tartalom valós idejű indexeléséhez, a Redis-t pedig a többszintű gyorsítótár megvalósításához.

Előfeltételek

  • Egy Vultr Ubuntu 16.04 szerverpéldány.
  • Egy sudo felhasználó .
  • Egy domain név a szerverre mutatott.

Ebben az oktatóanyagban 192.168.0.1 nyilvános IP-címként és cms.example.com a Vultr példány felé mutató tartománynévként fogjuk használni . Kérjük, ügyeljen arra, hogy a példa domain név és nyilvános IP-cím minden előfordulását lecserélje a ténylegesre.

Frissítse alaprendszerét az Ubuntu 16.04 frissítése útmutató segítségével . A rendszer frissítése után folytassa a Java telepítésével.

Java telepítése

Adja hozzá az Oracle Java 8 Ubuntu tárházát.

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

Java telepítése.

sudo apt -y install oracle-java8-installer

Ellenőrizheti a Java verzióját.

java -version

A következő kimenetet fogja látni.

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)

Állítsa be a Java alapértelmezett elérési útját a következő csomag telepítésével.

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

Ellenőrizheti, hogy be JAVA_HOMEvan állítva.

echo $JAVA_HOME

A következőket kell látnod.

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

Ha egyáltalán nem látja a kimenetet, ki kell jelentkeznie az aktuális shellből, majd újra be kell jelentkeznie.

Telepítse a PostgreSQL-t

Alapértelmezés szerint a dotCMS a H2 adatbázismotor használatára van beállítva. A H2 adatbázismotor egy lapos fájl alapú adatbázismotor. Nem ajánlott gyártásban használni. Ebben az oktatóanyagban a PostgreSQL szervert fogjuk használni a dotCMS adatbázis tárolására.

A PostgreSQL egy objektum-relációs adatbázisrendszer, amely stabilitásáról és sebességéről ismert. Az alapértelmezett Ubuntu-tárház a PostgreSQL régi verzióját tartalmazza, ezért adja hozzá a PostgreSQL-tárat.

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

Telepítse a PostgreSQL adatbázis-kiszolgálót.

sudo apt -y install postgresql

Indítsa el a PostgreSQL-kiszolgálót, és engedélyezze, hogy rendszerindításkor automatikusan elinduljon.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Módosítsa az alapértelmezett PostgreSQL-felhasználó jelszavát.

sudo passwd postgres

Jelentkezzen be PostgreSQL felhasználóként.

sudo su - postgres

Hozzon létre egy új PostgreSQL-felhasználót a dotCMS-hez.

createuser dotcms 

A PostgreSQL biztosítja a psql parancsértelmezőt a lekérdezések futtatásához az adatbázis-kiszolgálón. Váltson a PostgreSQL rendszerhéjra.

psql

Állítson be jelszót az újonnan létrehozott felhasználó számára a dotCMS adatbázishoz.

ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';

Cserélje ki az adatbázis felhasználói jelszavát DBPassword egy biztonságos jelszóra.

Hozzon létre egy új adatbázist a dotCMS telepítéséhez.

CREATE DATABASE dotcms OWNER dotcms;

Kilépés a psql héjból.

\q

Váltás a sudo felhasználóra.

exit

Telepítse a dotCMS-t

Töltse le a dotCMS archívumot.

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

A dotCMS letöltési oldalán mindig megtalálja az alkalmazás legújabb verziójára mutató hivatkozást .

Hozzon létre egy új könyvtárat a dotCMS fájlok tárolására, és bontsa ki őket abba.

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

Nyissa meg az adatbázis konfigurációs fájlját.

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

Keresse meg a H2 blokkot.

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

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

Írja megjegyzésbe a teljes H2 szakaszt úgy, hogy a megjegyzés határolót --> a szakasz elejétől a szakasz végéig mozgassa . A következőképpen kell kinéznie.

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

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

Törölje a PostgreSQL szakasz megjegyzéseit úgy, hogy eltávolítja a megjegyzés határolót --> a szakasz végéről, és a felső burkolólapra helyezi POSTGRESQL. Ezenkívül keresse meg username= és password= cserélje ki a meglévő értékeket a PostgreSQL adatbázis-felhasználó felhasználónevével és jelszavával. Ha a névtől eltérő adatbázisnevet használt dotcms, akkor meg kell változtatnia az adatbázis nevét a -ban url=. A konfigurálás után a fájl PostgreSQL blokkja a következőképpen fog kinézni.

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

Adja meg a végrehajtási engedélyt az összes végrehajtható fájlhoz.

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

A DotCMS most telepítve van a szerverére. Az alkalmazás azonnali futtatásához hajtsa végre a következőket.

cd /opt/dotcms
sudo bin/startup.sh

A következő kimenetet fogja látni, amikor a szerver sikeresen elindult.

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.

A fenti parancs elindítja a Tomcat webszervert, hogy kiszolgálja az alkalmazást a porton 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

Hozzon létre egy új Systemd szolgáltatást.

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

Töltse fel a fájlt.

[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

Indítsa el az alkalmazást, és engedélyezze, hogy rendszerindításkor automatikusan elinduljon.

sudo systemctl start dotcms
sudo systemctl enable dotcms

Győződjön meg arról, hogy a szolgáltatás fut.

sudo systemctl status dotcms

Konfigurálja a fordított proxyt

Alapértelmezés szerint a dotCMS szerver a porton figyel 8080. Az Nginx-et fordított proxyként konfiguráljuk, hogy az alkalmazás a szabványon HTTP és a HTTPS portokon keresztül elérhető legyen . Az Nginxet a Let's Encrypt segítségével generált SSL használatára is beállítjuk.

Telepítse az Nginx-et.

sudo apt -y install nginx

Indítsa el az Nginx-et, és engedélyezze, hogy rendszerindításkor automatikusan elinduljon.

sudo systemctl start nginx
sudo systemctl enable nginx

Adja hozzá a Certbot adattárat.

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

Telepítse a Certbotot, amely a Let's Encrypt CA ügyfélalkalmazása.

sudo apt -y install certbot

Megjegyzés: A Let's Encrypt CA-tól tanúsítványok beszerzéséhez a tartományt, amelyhez a tanúsítványokat elő kell állítani, a szerver felé kell mutatni. Ha nem, hajtsa végre a szükséges módosításokat a tartomány DNS-rekordjain, és várja meg, amíg a DNS továbbterjed, mielőtt ismét kérelmet küldene. A Certbot a tanúsítványok kiadása előtt ellenőrzi a tartományi hatóságot.

Hozza létre az SSL-tanúsítványokat.

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

A generált tanúsítványok valószínűleg a következő helyen lesznek tárolva /etc/letsencrypt/live/cms.example.com/. A Titkosított tanúsítványok 90 napon belül lejárnak, ezért ajánlatos beállítani a tanúsítványok automatikus megújítását Cron jobokkal.

Nyissa meg a cron feladatfájlt.

sudo crontab -e

Adja hozzá a következő sort a fájl végéhez.

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

A fenti cron-feladat minden nap 5:30-kor fog futni. Ha a tanúsítvány lejárt, az automatikusan megújul.

Hozzon létre egy új szerverblokk fájlt a dotCMS webhelyhez.

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

Töltse fel a fájlt.

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

Aktiválja a konfigurációt.

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

Indítsa újra az Nginx webszervert, hogy a változtatások érvénybe lépjenek.

sudo systemctl restart nginx

A dotCMS alkalmazás most már telepítve van a szerverére éles használatra. Nyissa meg az adminisztrációs irányítópultot a következő címen.

https://cms.example.com/dotAdmin

Jelentkezzen be a kezdeti rendszergazdai fiókkal [email protected] és a jelszóval admin. A bejelentkezés után azonnal módosítsa az alapértelmezett jelszót.

Gratulálunk, a dotCMS tartalomkezelő rendszer most telepítve van a szerverére. Módosíthatja a bemutató oldalt, vagy elkezdheti a webhely felépítését a nulláról.


A Thelia 2.3 telepítése Debian 9 rendszeren

A Thelia 2.3 telepítése Debian 9 rendszeren

Más rendszert használ? A Thelia egy nyílt forráskódú eszköz e-üzleti webhelyek létrehozására és PHP-ben írt online tartalmak kezelésére. Thelia forráskód i

A Microweber telepítése CentOS 7 rendszeren

A Microweber telepítése CentOS 7 rendszeren

Más rendszert használ? A Microweber egy nyílt forráskódú drag and drop CMS és online bolt. A Microweber forráskódja a GitHubon található. Ez az útmutató megmutatja neked

A Microweber telepítése Ubuntu 16.04-re

A Microweber telepítése Ubuntu 16.04-re

Más rendszert használ? A Microweber egy nyílt forráskódú drag and drop CMS és online bolt. A Microweber forráskódja a GitHubon található. Ez az útmutató megmutatja neked

A dotCMS telepítése Ubuntu 16.04-re

A dotCMS telepítése Ubuntu 16.04-re

Más rendszert használ? A DotCMS egy nyílt forráskódú, vállalati szintű, Java nyelven írt tartalomkezelő rendszer. Szinte minden szükséges funkciót tartalmaz t

A Pagekit 1.0 CMS telepítése FreeBSD 11 FAMP VPS-re

A Pagekit 1.0 CMS telepítése FreeBSD 11 FAMP VPS-re

Más rendszert használ? A Pagekit 1.0 CMS egy gyönyörű, moduláris, bővíthető és könnyű, ingyenes és nyílt forráskódú tartalomkezelő rendszer (CMS)

A BigTree CMS telepítése Fedora 26 LAMP VPS-re

A BigTree CMS telepítése Fedora 26 LAMP VPS-re

Más rendszert használ? A BigTree CMS 4.2 egy gyors és könnyű, ingyenes és nyílt forráskódú, vállalati szintű tartalomkezelő rendszer (CMS), amely kiterjedt

A Pagekit CMS telepítése Ubuntu 16.04 LTS-re

A Pagekit CMS telepítése Ubuntu 16.04 LTS-re

Más rendszert használ? A Pagekit egy PHP nyelven írt nyílt forráskódú CMS. A Pagekit forráskódja a GitHubon található. Ez az útmutató megmutatja, hogyan kell telepíteni

A PyroCMS telepítése az Ubuntu 16.04 rendszeren

A PyroCMS telepítése az Ubuntu 16.04 rendszeren

Más rendszert használ? A PyroCMS egy PHP nyelven írt nyílt forráskódú CMS. A PyroCMS forráskódja a GitHubon található. Ebben az útmutatóban jól járja végig az egészet

A Subrion 4.1 CMS telepítése FreeBSD 11 FAMP VPS-re

A Subrion 4.1 CMS telepítése FreeBSD 11 FAMP VPS-re

Más rendszert használ? A Subrion 4.1 CMS egy hatékony és rugalmas nyílt forráskódú tartalomkezelő rendszer (CMS), amely intuitív és világos tartalmat biztosít.

A Backdrop CMS 1.8.0 telepítése Debian 9 LAMP VPS-re

A Backdrop CMS 1.8.0 telepítése Debian 9 LAMP VPS-re

Más rendszert használ? A Backdrop CMS 1.8.0 egy egyszerű és rugalmas, mobilbarát, ingyenes és nyílt forráskódú tartalomkezelő rendszer (CMS), amely lehetővé teszi

A Roadiz CMS telepítése Debian 9 rendszeren

A Roadiz CMS telepítése Debian 9 rendszeren

Más rendszert használ? Bevezetés A Roadiz egy modern CMS, amelyet számos szolgáltatás kezelésére terveztek. A Symfony összetevői és a Doctrine ORM alapján, i

A Microweber telepítése Debian 9 rendszerre

A Microweber telepítése Debian 9 rendszerre

Más rendszert használ? A Microweber egy nyílt forráskódú drag and drop CMS és online bolt. A Microweber forráskódja a GitHubon található. Ez az útmutató megmutatja neked

A Grav CMS telepítése a Fedora 28-ra

A Grav CMS telepítése a Fedora 28-ra

Más rendszert használ? A Grav egy nyílt forráskódú, lapos fájlú CMS, amelyet PHP-ben írtak. A Grav-forráskód nyilvánosan a GitHubon található. Ez az útmutató megmutatja, hogyan t

A Grav CMS telepítése Debian 9 rendszeren

A Grav CMS telepítése Debian 9 rendszeren

Más rendszert használ? A Grav egy nyílt forráskódú, lapos fájlú CMS, amelyet PHP-ben írtak. A Grav-forráskód nyilvánosan a GitHubon található. Ez az útmutató megmutatja, hogyan t

Az Automad CMS telepítése CentOS 7 rendszeren

Az Automad CMS telepítése CentOS 7 rendszeren

Más rendszert használ? Az Automad egy nyílt forráskódú fájl alapú tartalomkezelő rendszer (CMS) és PHP nyelven írt sablonmotor. Az Automad forráskód i

A Raneto telepítése Ubuntu 17.10-re

A Raneto telepítése Ubuntu 17.10-re

A Raneto egy ingyenes, nyílt forráskódú tudásbázis, amely Node.js-re épül, és amely könnyen beállítható és használható, valamint könnyen adminisztrálható. Kategóriák és oldalak ar

A Thelia 2.3 telepítése Ubuntu 16.04-re

A Thelia 2.3 telepítése Ubuntu 16.04-re

Más rendszert használ? A Thelia egy nyílt forráskódú eszköz e-üzleti webhelyek létrehozására és PHP-ben írt online tartalmak kezelésére. Thelia forráskód i

Az October 1.0 CMS telepítése Debian 9 LAMP VPS-re

Az October 1.0 CMS telepítése Debian 9 LAMP VPS-re

Más rendszert használ? Az október 1.0 CMS egy egyszerű és megbízható, ingyenes és nyílt forráskódú tartalomkezelő rendszer (CMS), amely a Laravel keretrendszerre épül.

Az ImpressPages CMS 5.0 telepítése Ubuntu 16.04 LAMP VPS-re

Az ImpressPages CMS 5.0 telepítése Ubuntu 16.04 LAMP VPS-re

Más rendszert használ? Az ImpressPages CMS 5.0 egy egyszerű és hatékony, ingyenes és nyílt forráskódú, felhasználóbarát, MVC-alapú tartalomkezelő rendszer (CMS).

A CMS Made Simple 2.2 telepítése Debian 9 LAMP VPS-re

A CMS Made Simple 2.2 telepítése Debian 9 LAMP VPS-re

Más rendszert használ? A CMS Made Simple 2.2 egy rugalmas és bővíthető, ingyenes és nyílt forráskódú tartalomkezelő rendszer (CMS), amelyet intelligensen terveztek

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

Az Apple a közelmúltban kiadott egy kiegészítést a macOS Catalina 10.15.4-hez a problémák megoldására, de úgy tűnik, hogy a frissítés több problémát okoz, ami a Mac gépek blokkolásához vezet. További információért olvassa el ezt a cikket