Hoe dotCMS op Ubuntu 16.04 te installeren

DotCMS is een open source, enterprise-grade content management systeem geschreven in Java. Het bevat bijna alle functies die nodig zijn om een ​​website voor uw bedrijf te maken. Het biedt een RESTful API om te integreren met andere services zoals CRM, mobiele applicaties en meer. Het gebruikt Elasticsearch voor real-time indexering van inhoud en Redis voor het implementeren van een cache met meerdere niveaus.

Vereisten

  • Een Vultr Ubuntu 16.04-serverinstantie.
  • Een sudo-gebruiker .
  • Een domeinnaam wees naar de server.

Voor deze tutorial zullen we gebruiken 192.168.0.1 als het openbare IP-adres en cms.example.com als de domeinnaam die naar de Vultr-instantie verwijst. Zorg ervoor dat u alle exemplaren van de voorbeelddomeinnaam en het openbare IP-adres vervangt door de werkelijke.

Update uw basissysteem met behulp van de handleiding Ubuntu 16.04 bijwerken . Zodra uw systeem is bijgewerkt, gaat u verder met de installatie van Java.

Installeer Java

Voeg de Ubuntu-repository voor Oracle Java 8 toe.

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

Installeer Java.

sudo apt -y install oracle-java8-installer

U zult de versie van Java kunnen verifiëren.

java -version

Je ziet de volgende output.

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)

Stel het standaardpad voor Java in door het volgende pakket te installeren.

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

U kunt controleren of dit JAVA_HOMEis ingesteld.

echo $JAVA_HOME

Je zou het volgende moeten zien.

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

Als u helemaal geen uitvoer ziet, moet u zich afmelden bij de huidige shell en weer inloggen.

Installeer PostgreSQL

DotCMS is standaard geconfigureerd om de H2-database-engine te gebruiken. De H2-database-engine is een platte database-database-engine. Het wordt niet aanbevolen om in productie te gebruiken. In deze tutorial gebruiken we de PostgreSQL-server om de dotCMS-database op te slaan.

PostgreSQL is een object-relationeel databasesysteem, bekend om zijn stabiliteit en snelheid. De standaard Ubuntu-repository bevat een oude versie van PostgreSQL, dus voeg de PostgreSQL-repository toe.

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

Installeer de PostgreSQL-databaseserver.

sudo apt -y install postgresql

Start de PostgreSQL-server en schakel deze in om automatisch te starten tijdens het opstarten.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Wijzig het wachtwoord voor de standaard PostgreSQL-gebruiker.

sudo passwd postgres

Log in als de PostgreSQL-gebruiker.

sudo su - postgres

Maak een nieuwe PostgreSQL-gebruiker voor dotCMS.

createuser dotcms 

PostgreSQL biedt de psql shell om query's op de databaseserver uit te voeren. Schakel over naar de PostgreSQL-shell.

psql

Stel een wachtwoord in voor de nieuw aangemaakte gebruiker voor de dotCMS-database.

ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';

Vervang het databasegebruikerswachtwoord DBPassword door een veilig wachtwoord.

Maak een nieuwe database voor de dotCMS-installatie.

CREATE DATABASE dotcms OWNER dotcms;

Verlaat de psql schelp.

\q

Schakel over naar de sudo gebruiker.

exit

Installeer dotCMS

Download het dotCMS-archief.

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

De link naar de laatste versie van de applicatie vind je altijd op de dotCMS downloadpagina .

Maak een nieuwe map aan om de dotCMS-bestanden op te slaan en uit te pakken.

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

Open het databaseconfiguratiebestand.

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

Vind het H2 blok.

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

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

Geef commentaar op de hele H2 sectie door het scheidingsteken voor opmerkingen --> van het begin van de sectie naar het einde van de sectie te verplaatsen . Het zou er als volgt uit moeten zien.

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

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

Maak commentaar op de PostgreSQL-sectie door het scheidingsteken voor opmerkingen --> aan het einde van de sectie te verwijderen en op de bovenste verpakking te plaatsen POSTGRESQL. Zoek username= en password= vervang ook de bestaande waarden door de gebruikersnaam en het wachtwoord van uw PostgreSQL-databasegebruiker. Als u een andere databasenaam hebt gebruikt dan dotcms, moet u de databasenaam wijzigen in url=. Eenmaal geconfigureerd, ziet het PostgreSQL-blok in het bestand er als volgt uit.

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

Geef de uitvoeringsmachtiging voor alle uitvoerbare bestanden.

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

DotCMS is nu op uw server geïnstalleerd. Voer het volgende uit om de applicatie onmiddellijk uit te voeren.

cd /opt/dotcms
sudo bin/startup.sh

U zult de volgende uitvoer zien wanneer de server succesvol is gestart.

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.

De bovenstaande opdracht start de Tomcat-webserver om de applicatie op de poort te bedienen 8080.

Open uw favoriete browser en blader naar http://192.168.0.1:8080. U zult zien dat de applicatie een demo-website heeft. Als u uw website niet ziet, wacht dan alstublieft, aangezien de eerste keer opstarten van de dotCMS-server vijf tot tien minuten duurt, aangezien het gegevens naar de PostgreSQL-database schrijft en de cache bouwt. U kunt ook de opstartlogboeken controleren.

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

Configureer Systemd

De dotCMS-server kan direct worden gestart met behulp van het opstartscript in het installatiepakket. Gemakshalve moet u een Systemd-eenheidsbestand voor de dotCMS-server opzetten. Dit zorgt ervoor dat de toepassingsserver automatisch wordt gestart bij het herstarten van het systeem en storingen.

Stop de actieve dotCMS-server met behulp van het shutdown-script.

sudo bin/shutdown.sh

Maak om veiligheidsredenen een onbevoegde gebruiker voor het uitvoeren van de dotCMS-server.

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

Geef de bestanden eigendom aan de dotCMS-gebruiker.

sudo chown -R dotcms:dotcms /opt/dotcms

Maak een nieuwe Systemd-service.

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

Vul het bestand in.

[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

Start de applicatie en schakel deze automatisch in tijdens het opstarten.

sudo systemctl start dotcms
sudo systemctl enable dotcms

Zorg ervoor dat de service actief is.

sudo systemctl status dotcms

Configureer de Reverse Proxy

Standaard luistert de dotCMS-server op poort 8080. We zullen Nginx configureren als de reverse proxy, zodat de applicatie toegankelijk is via de standaard HTTP en HTTPS poorten. We zullen ook Nginx configureren om de SSL te gebruiken die is gegenereerd met Let's Encrypt.

Installeer Nginx.

sudo apt -y install nginx

Start Nginx en schakel het automatisch in tijdens het opstarten.

sudo systemctl start nginx
sudo systemctl enable nginx

Voeg de Certbot-repository toe.

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

Installeer Certbot, de clienttoepassing voor Let's Encrypt CA.

sudo apt -y install certbot

Opmerking: om certificaten van Let's Encrypt CA te verkrijgen, moet het domein waarvoor de certificaten moeten worden gegenereerd, naar de server worden gericht. Zo niet, breng dan de nodige wijzigingen aan in de DNS-records van het domein en wacht tot de DNS is gepropageerd voordat u opnieuw een certificaataanvraag indient. Certbot controleert de domeinautoriteit voordat de certificaten worden verstrekt.

Genereer de SSL-certificaten.

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

De gegenereerde certificaten worden waarschijnlijk opgeslagen in /etc/letsencrypt/live/cms.example.com/. Let's Encrypt-certificaten verlopen over 90 dagen, daarom wordt aanbevolen om de automatische verlenging van de certificaten in te stellen met Cron-taken.

Open het cron-taakbestand.

sudo crontab -e

Voeg de volgende regel toe aan het einde van het bestand.

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

De bovenstaande cron-taak wordt elke dag om 05.30 uur uitgevoerd. Als het certificaat vervalt, wordt het automatisch verlengd.

Maak een nieuw serverblokbestand voor de dotCMS-site.

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

Vul het bestand in.

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

Activeer de configuratie.

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

Start de Nginx-webserver opnieuw op, zodat de wijzigingen van kracht kunnen worden.

sudo systemctl restart nginx

De dotCMS-applicatie is nu op uw server geïnstalleerd voor productiegebruik. Ga naar het administratieve dashboard op het volgende adres.

https://cms.example.com/dotAdmin

Log in met het initiële beheerdersaccount [email protected] en het wachtwoord admin. Wijzig het standaardwachtwoord onmiddellijk na het inloggen.

Gefeliciteerd, het contentbeheersysteem dotCMS is nu op uw server geïnstalleerd. U kunt de demosite wijzigen of u kunt helemaal opnieuw beginnen met het bouwen van uw site.



Leave a Comment

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.