So installieren Sie dotCMS unter CentOS 7

dotCMS ist ein Open Source-Content-Management-System für Unternehmen, das in Java geschrieben wurde. Es enthält fast alle Funktionen, die zum Erstellen einer Website für Ihr Unternehmen erforderlich sind. Es bietet eine RESTful-API zur Integration in andere Dienste wie CRM, mobile Anwendungen und mehr. Es verwendet Elasticsearch für die Echtzeitindizierung von Inhalten und Redis für die Implementierung eines mehrschichtigen Caches.

Dieser Artikel wurde für dotCMS 4.2.2 geschrieben. Die bereitgestellten Anweisungen funktionieren jedoch möglicherweise auch für neuere Versionen.

Voraussetzungen

  • Eine Vultr CentOS 7-Serverinstanz.
  • Ein Sudo-Benutzer .
  • Ein Domainname zeigte auf den Server.

In diesem Tutorial verwenden wir 192.168.0.1als öffentliche IP-Adresse und cms.example.comals Domainnamen, der auf die Vultr-Instanz verweist. Stellen Sie sicher, dass alle Vorkommen des Beispieldomänennamens und der öffentlichen IP-Adresse durch die tatsächliche ersetzt werden.

Aktualisieren Sie Ihr Basissystem mithilfe der Anleitung zum Aktualisieren von CentOS 7 . Fahren Sie nach der Aktualisierung Ihres Systems mit der Installation von Java fort.

Installieren Sie Java

OpenJDK kann einfach installiert werden, da das Paket im Standard-YUM-Repository verfügbar ist.

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

Wenn Java korrekt installiert ist, können Sie die Version überprüfen.

java -version

Sie erhalten eine ähnliche Ausgabe.

[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)

Bevor wir fortfahren können, müssen wir die Variablen JAVA_HOMEund JRE_HOMEumgebungsvariablen einrichten . Finden Sie den absoluten Pfad der ausführbaren Java-Datei auf Ihrem System.

readlink -f $(which java)

Sie sehen eine ähnliche Ausgabe.

[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

Legen Sie nun die Umgebungsvariablen JAVA_HOMEund den JRE_HOMEUmgebungsvariablen entsprechend dem Pfad des Java-Verzeichnisses fest.

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

Führen Sie die bash_profileDatei aus.

source ~/.bash_profile

Jetzt können Sie den echo $JAVA_HOMEBefehl ausführen, um sicherzustellen, dass die Umgebungsvariable festgelegt ist.

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

Installieren Sie PostgreSQL

Standardmäßig ist dotCMS für die Verwendung des H2-Datenbankmoduls konfiguriert. Das H2-Datenbankmodul ist ein auf Flatfiles basierendes Datenbankmodul. Es wird nicht empfohlen, in der Produktion zu verwenden. In diesem Tutorial verwenden wir den PostgreSQL-Server zum Speichern der dotCMS-Datenbank.

PostgreSQL ist ein objektrelationales Datenbanksystem, das für seine Stabilität und Geschwindigkeit bekannt ist. Fügen Sie das Repository der neuesten Version von PostgreSQL zum System hinzu.

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

Installieren Sie den PostgreSQL-Datenbankserver.

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

Initialisieren Sie die Datenbank.

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

Starten Sie den PostgreSQL-Server und aktivieren Sie ihn beim Start automatisch.

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

Ändern Sie das Kennwort für den Standardbenutzer von PostgreSQL.

sudo passwd postgres

Melden Sie sich als Standard-PostgreSQL-Benutzer an.

sudo su - postgres

Erstellen Sie einen neuen PostgreSQL-Benutzer für dotCMS.

createuser dotcms 

PostgreSQL bietet die psqlShell zum Ausführen von Abfragen auf dem Datenbankserver. Wechseln Sie zur PostgreSQL-Shell.

psql

Legen Sie ein Kennwort für den neu erstellten Benutzer für die dotCMS-Datenbank fest.

ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';

Ersetzen Sie das Datenbankbenutzerkennwort DBPassworddurch ein sicheres Kennwort. Erstellen Sie eine neue Datenbank für die dotCMS-Installation.

CREATE DATABASE dotcms OWNER dotcms;

Verlasse die psqlShell.

\q

Wechseln Sie zum sudoBenutzer.

exit

Installieren Sie dotCMS

Laden Sie das dotCMS-Archiv herunter.

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

Den Link zur neuesten Version der Anwendung finden Sie immer auf der dotCMS-Downloadseite .

Erstellen Sie ein neues Verzeichnis, um die dotCMS-Dateien zu speichern und in dieses zu extrahieren.

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

Öffnen Sie die Datenbankkonfigurationsdatei.

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

Finde den H2Block.

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

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

Kommentieren Sie den gesamten H2Abschnitt aus, indem Sie den Kommentarbegrenzer -->vom Anfang des Abschnitts bis zum Ende des Abschnitts ersetzen . Es sollte wie folgt aussehen.

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

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

Kommentieren Sie den PostgreSQL-Abschnitt aus, indem Sie das Kommentar-Trennzeichen -->am Ende des Abschnitts entfernen und auf der oberen Umhüllung platzieren POSTGRESQL. Suchen username=und password=ersetzen Sie außerdem die vorhandenen Werte durch den Benutzernamen und das Kennwort Ihres PostgreSQL-Datenbankbenutzers. Wenn Sie einen anderen Datenbanknamen als verwendet haben dotcms, müssen Sie den Datenbanknamen in ändern url=. Nach der Konfiguration sollte der PostgreSQL-Block in der Datei wie folgt aussehen.

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

Geben Sie die Ausführungsberechtigung für alle ausführbaren Dateien an.

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

dotCMS ist jetzt auf Ihrem Server installiert. Führen Sie die folgenden Schritte aus, um die Anwendung sofort auszuführen.

cd /opt/dotcms
sudo bin/startup.sh

Die folgende Ausgabe wird angezeigt, wenn der Server erfolgreich gestartet wurde.

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

Mit dem obigen Befehl wird der Tomcat-Webserver gestartet, um die Anwendung am Port bereitzustellen 8080. Um zu überprüfen, ob die dotCMS-Website funktioniert, lassen Sie den erforderlichen Port 8080durch die Systemfirewall zu .

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

Öffnen Sie Ihren Lieblingsbrowser und navigieren Sie zu http://192.168.0.1:8080. Sie sollten sehen, dass auf der Anwendung eine Demo-Website ausgeführt wird. Wenn Sie Ihre Website nicht sehen, warten Sie bitte, da der erste Start des dotCMS-Servers einige Minuten dauert, da er Daten in die PostgreSQL-Datenbank schreibt und den Cache erstellt. Sie können auch die Startprotokolle überprüfen.

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

Konfigurieren Sie den Systemd-Dienst

Der dotCMS-Server kann direkt mit dem im Installationspaket enthaltenen Startskript gestartet werden. Aus praktischen Gründen sollten Sie eine Systemd-Einheitendatei für den dotCMS-Server einrichten. Dadurch wird sichergestellt, dass der Anwendungsserver beim Neustart des Systems und bei Fehlern automatisch gestartet wird.

Stoppen Sie den laufenden dotCMS-Server mithilfe des Shutdown-Skripts.

sudo bin/shutdown.sh

Erstellen Sie aus Sicherheitsgründen einen nicht privilegierten Benutzer zum Ausführen des dotCMS-Servers.

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

Stellen Sie dem dotCMS-Benutzer das Eigentum an den Dateien zur Verfügung.

sudo chown -R dotcms:dotcms /opt/dotcms

Erstellen Sie einen neuen Systemd-Dienst.

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

Füllen Sie die Datei.

[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

Starten Sie die Anwendung und aktivieren Sie sie, um beim Start automatisch gestartet zu werden.

sudo systemctl start dotcms
sudo systemctl enable dotcms

Stellen Sie sicher, dass der Dienst ausgeführt wird.

sudo systemctl status dotcms

Konfigurieren Sie den Reverse Proxy

Standardmäßig überwacht der dotCMS-Server den Port 8080. Wir werden Nginx als Reverse-Proxy konfigurieren, damit auf die Anwendung über Standard HTTPund HTTPSPorts zugegriffen werden kann . Wir werden Nginx auch so konfigurieren, dass SSL verwendet wird, das mit Let's Encrypt Free SSL generiert wurde.

Installieren Sie den Nginx-Webserver.

sudo yum -y install nginx

Starten Sie den Webserver und aktivieren Sie ihn, um beim Start automatisch zu starten.

sudo systemctl start nginx
sudo systemctl enable nginx

Installieren Sie Certbot, eine Clientanwendung für Let's Encrypt CA.

sudo yum -y install certbot

Bevor Sie die Zertifikate anfordern können, müssen Sie die Ports 80und / 443oder Standards HTTPund HTTPSDienste durch die Firewall zulassen . Entfernen Sie außerdem den Port 8080aus der Liste der Firewall-Ausnahmen, da er nicht mehr benötigt wird.

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

Hinweis: Um Zertifikate von Let's Encrypt CA zu erhalten, muss die Domäne, für die die Zertifikate generiert werden sollen, auf den Server gerichtet sein. Wenn nicht, nehmen Sie die erforderlichen Änderungen an den DNS-Einträgen der Domäne vor und warten Sie, bis sich der DNS verbreitet hat, bevor Sie die Zertifikatanforderung erneut stellen. Certbot überprüft die Domänenautorität, bevor die Zertifikate bereitgestellt werden.

Generieren Sie die SSL-Zertifikate.

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

Die generierten Zertifikate werden wahrscheinlich in gespeichert /etc/letsencrypt/live/cms.example.com/. Lassen Sie uns Zertifikate verschlüsseln, die in 90 Tagen ablaufen. Daher wird empfohlen, die automatische Erneuerung der Zertifikate mithilfe von Cron-Jobs einzurichten.

Öffnen Sie die Cron-Jobdatei.

sudo crontab -e

Fügen Sie am Ende der Datei die folgende Zeile hinzu.

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

Der oben genannte Cron-Job wird jeden Tag um 5:30 Uhr ausgeführt. Wenn das Zertifikat abläuft, wird es automatisch erneuert.

Erstellen Sie eine neue Serverblockdatei für die dotCMS-Site.

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

Füllen Sie die Datei.

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

Starten Sie den Nginx-Webserver neu, damit die Änderungen wirksam werden.

sudo systemctl restart nginx

Die dotCMS-Anwendung ist jetzt für die Produktion auf Ihrem Server installiert. Greifen Sie unter der folgenden Adresse auf das administrative Dashboard zu.

https://cms.example.com/dotAdmin

Melden Sie sich mit dem ursprünglichen Administratorkonto an admin@dotcms.comund admin. Ändern Sie das Standardkennwort sofort nach der Anmeldung.

Herzlichen Glückwunsch, das dotCMS Content Management System ist jetzt auf Ihrem Server installiert. Sie können die Demo-Site ändern oder Ihre Site von Grund auf neu erstellen.

Einen Kommentar hinterlassen

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.