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

Fuel CMS installeren op Ubuntu 16.04 LTS

Fuel CMS installeren op Ubuntu 16.04 LTS

Gebruikt u een ander systeem? Fuel CMS is een op CodeIgniter gebaseerd contentmanagementsysteem. De broncode wordt gehost op GitHub. Deze gids laat zien hoe t

Hoe Neos CMS op FreeBSD 12 te installeren

Hoe Neos CMS op FreeBSD 12 te installeren

Gebruikt u een ander systeem? Neos is een Content Application Platform met een CMS en een applicatieframework als kern. Deze gids laat u zien hoe u kunt installeren

Couch CMS 2.0 installeren op een Debian 9 LAMP VPS

Couch CMS 2.0 installeren op een Debian 9 LAMP VPS

Gebruikt u een ander systeem? Couch CMS is een eenvoudig en flexibel, gratis en open source Content Management Systeem (CMS) waarmee webdesigners kunnen ontwerpen

Hoe Subrion 4.1 CMS te installeren op een Fedora 26 LAMP VPS

Hoe Subrion 4.1 CMS te installeren op een Fedora 26 LAMP VPS

Gebruikt u een ander systeem? Subrion 4.1 CMS is een krachtig en flexibel open source Content Management Systeem (CMS) dat een intuïtieve en duidelijke inhoud

BigTree CMS installeren op een Ubuntu 16.04 LAMP VPS

BigTree CMS installeren op een Ubuntu 16.04 LAMP VPS

Gebruikt u een ander systeem? BigTree CMS 4.2 is een snel en lichtgewicht, gratis en open source, enterprise-grade content management systeem (CMS) met uitgebreide en

Hoe Couch CMS 2.0 te installeren op een Fedora 26 LAMP VPS

Hoe Couch CMS 2.0 te installeren op een Fedora 26 LAMP VPS

Gebruikt u een ander systeem? Couch CMS is een eenvoudig en flexibel, gratis en open source Content Management Systeem (CMS) waarmee webdesigners kunnen ontwerpen

WonderCMS installeren op Fedora 29

WonderCMS installeren op Fedora 29

Gebruikt u een ander systeem? WonderCMS is een open source, snel en klein, plat bestand CMS geschreven in PHP. WonderCMS-broncode wordt gehost op Github. Deze gids zal

Hoe Neos CMS op Debian 9 te installeren

Hoe Neos CMS op Debian 9 te installeren

Gebruikt u een ander systeem? Neos is een Content Application Platform met een CMS en een applicatieframework als kern. Deze gids laat u zien hoe u kunt installeren

Hoe Alfresco Community Edition op CentOS 7 te installeren

Hoe Alfresco Community Edition op CentOS 7 te installeren

Gebruikt u een ander systeem? Alfresco Community Edition is een open source-versie van de Alfresco Content Services. Het is geschreven in Java en gebruikt PostgreSQL t

BigTree CMS 4.2 installeren op een CentOS 7 LAMP VPS

BigTree CMS 4.2 installeren op een CentOS 7 LAMP VPS

Gebruikt u een ander systeem? BigTree CMS 4.2 is een snel en lichtgewicht, gratis en open source, enterprise-grade Content Management System (CMS) met uitgebreide en

Hoe Omeka Classic 2.4 CMS op een FreeBSD 11 FAMP VPS te installeren

Hoe Omeka Classic 2.4 CMS op een FreeBSD 11 FAMP VPS te installeren

Gebruikt u een ander systeem? Omeka Classic 2.4 CMS is een gratis en open source digitaal publicatieplatform en Content Management System (CMS) voor het delen van digita

Hoe Craft CMS op CentOS 7 te installeren

Hoe Craft CMS op CentOS 7 te installeren

Gebruikt u een ander systeem? Craft CMS is een open source CMS geschreven in PHP. De broncode van Craft CMS wordt gehost op GitHub. Deze gids laat u zien hoe u kunt installeren

Hoe ImpressPages CMS 5.0 op een Debian 9 LAMP VPS te installeren

Hoe ImpressPages CMS 5.0 op een Debian 9 LAMP VPS te installeren

Gebruikt u een ander systeem? ImpressPages CMS 5.0 is een eenvoudig en effectief, gratis en open source, gebruiksvriendelijk, op MVC gebaseerd Content Management Systeem (CMS)

Hoe Automad CMS op CentOS 7 te installeren

Hoe Automad CMS op CentOS 7 te installeren

Gebruikt u een ander systeem? Automad is een open source file-based content management systeem (CMS) en template engine geschreven in PHP. De Automad-broncode i

Directus 6.4 CMS installeren op een FreeBSD 11 FAMP VPS

Directus 6.4 CMS installeren op een FreeBSD 11 FAMP VPS

Gebruikt u een ander systeem? Directus 6.4 CMS is een krachtig en flexibel, gratis en open source Headless Content Management System (CMS) dat ontwikkelaars voorziet

ProcessWire CMS 3.0 installeren op een Ubuntu 16.04 LAMP VPS

ProcessWire CMS 3.0 installeren op een Ubuntu 16.04 LAMP VPS

Gebruikt u een ander systeem? ProcessWire CMS 3.0 is een eenvoudig, flexibel en krachtig, gratis en open source Content Management System (CMS). ProcessWire CMS 3.

Hoe TYPO3 CMS op CentOS 7 te installeren

Hoe TYPO3 CMS op CentOS 7 te installeren

Gebruikt u een ander systeem? TYPO3 is een gratis en open source content management systeem voor bedrijven. Het is geschreven in PHP en gebruikt MySQL om de gegevens op te slaan. TYPFOUT

Hoe Backdrop CMS op een Ubuntu 16.04 LAMP VPS te installeren

Hoe Backdrop CMS op een Ubuntu 16.04 LAMP VPS te installeren

Gebruikt u een ander systeem? Backdrop CMS 1.8.0 is een eenvoudig en flexibel, mobielvriendelijk, gratis en open source Content Management System (CMS) waarmee we

Anchor CMS installeren op CentOS 7

Anchor CMS installeren op CentOS 7

Gebruikt u een ander systeem? Anchor is een lichtgewicht open source blog CMS geschreven in PHP. De broncode van Anchors wordt gehost op GitHub. Deze gids laat je zien ho

Microweber installeren op CentOS 7

Microweber installeren op CentOS 7

Gebruikt u een ander systeem? Microweber is een open source CMS voor slepen en neerzetten en een online winkel. De broncode van Microweber wordt gehost op GitHub. Deze gids zal je laten zien

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.