Jak zainstalować dotCMS na Ubuntu 16.04

DotCMS to otwarty system zarządzania treścią klasy korporacyjnej napisany w Javie. Zawiera prawie wszystkie funkcje wymagane do stworzenia strony internetowej dla Twojej firmy. Zapewnia interfejs API RESTful do integracji z innymi usługami, takimi jak CRM, aplikacje mobilne i inne. Wykorzystuje Elasticsearch do indeksowania treści w czasie rzeczywistym i Redis do implementacji wielowarstwowej pamięci podręcznej.

Wymagania wstępne

  • Instancja serwera Vultr Ubuntu 16.04.
  • Użytkownik sudo .
  • Nazwa domeny wskazuje na serwer.

W tym samouczku użyjemy 192.168.0.1 jako publicznego adresu IP i cms.example.com nazwy domeny wskazanej na instancję Vultr. Pamiętaj, aby zastąpić wszystkie wystąpienia przykładowej nazwy domeny i publicznego adresu IP faktycznym.

Zaktualizuj system podstawowy, korzystając z przewodnika Jak zaktualizować system Ubuntu 16.04 . Po zaktualizowaniu systemu przejdź do instalacji Java.

Zainstaluj Javę

Dodaj repozytorium Ubuntu dla Oracle Java 8.

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

Zainstaluj Javę.

sudo apt -y install oracle-java8-installer

Będziesz mógł zweryfikować wersję Javy.

java -version

Zobaczysz następujące dane wyjściowe.

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)

Ustaw domyślną ścieżkę dla Java, instalując następujący pakiet.

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

Możesz sprawdzić, czy JAVA_HOMEjest ustawiony.

echo $JAVA_HOME

Powinieneś zobaczyć następujące.

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

Jeśli nie widzisz żadnych danych wyjściowych, musisz wylogować się z bieżącej powłoki i zalogować się ponownie.

Zainstaluj PostgreSQL

Domyślnie dotCMS jest skonfigurowany do korzystania z silnika bazy danych H2. Aparat bazy danych H2 jest silnikiem bazy danych opartym na plikach płaskich. Nie zaleca się stosowania w produkcji. W tym samouczku użyjemy serwera PostgreSQL do przechowywania bazy danych dotCMS.

PostgreSQL to obiektowo-relacyjny system bazy danych, znany ze swojej stabilności i szybkości. Domyślne repozytorium Ubuntu zawiera starą wersję PostgreSQL, więc dodaj repozytorium PostgreSQL.

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

Zainstaluj serwer bazy danych PostgreSQL.

sudo apt -y install postgresql

Uruchom serwer PostgreSQL i włącz go automatycznie podczas uruchamiania.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Zmień hasło dla domyślnego użytkownika PostgreSQL.

sudo passwd postgres

Zaloguj się jako użytkownik PostgreSQL.

sudo su - postgres

Utwórz nowego użytkownika PostgreSQL dla dotCMS.

createuser dotcms 

PostgreSQL zapewnia psql powłokę do uruchamiania zapytań na serwerze bazy danych. Przejdź do powłoki PostgreSQL.

psql

Ustaw hasło dla nowo utworzonego użytkownika do bazy danych dotCMS.

ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';

Zastąp hasło użytkownika bazy danych DBPassword bezpiecznym hasłem.

Utwórz nową bazę danych dla instalacji dotCMS.

CREATE DATABASE dotcms OWNER dotcms;

Wyjdź ze psql skorupy.

\q

Przejdź do sudo użytkownika.

exit

Zainstaluj dotCMS

Pobierz archiwum dotCMS.

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

Zawsze możesz znaleźć link do najnowszej wersji aplikacji na stronie pobierania dotCMS .

Utwórz nowy katalog do przechowywania plików dotCMS i rozpakuj je do niego.

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

Otwórz plik konfiguracyjny bazy danych.

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

Znajdź H2 blok.

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

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

Skomentuj całą H2 sekcję, przenosząc ogranicznik komentarza --> z początku sekcji na koniec sekcji. Powinno to wyglądać następująco.

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

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

Odkomentuj sekcję PostgreSQL, usuwając separator komentarza --> z końca sekcji i umieszczając go na górnym opakowaniu POSTGRESQL. Znajdź username= i password= zamień istniejące wartości na nazwę użytkownika i hasło użytkownika bazy danych PostgreSQL. Jeśli użyłeś innej nazwy bazy danych dotcms, musisz zmienić nazwę bazy danych w url=. Po skonfigurowaniu blok PostgreSQL w pliku będzie wyglądał następująco.

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

Podaj uprawnienia do wykonywania wszystkich plików wykonywalnych.

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

DotCMS jest teraz zainstalowany na twoim serwerze. Aby natychmiast uruchomić aplikację, wykonaj następujące czynności.

cd /opt/dotcms
sudo bin/startup.sh

Po pomyślnym uruchomieniu serwera zobaczysz następujące dane wyjściowe.

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.

Powyższe polecenie spowoduje uruchomienie serwera WWW Tomcat w celu obsługi aplikacji na porcie 8080.

Otwórz swoją ulubioną przeglądarkę i przejdź do http://192.168.0.1:8080. Zobaczysz, że aplikacja prowadzi witrynę demonstracyjną. Jeśli nie widzisz swojej witryny, poczekaj, ponieważ pierwsze uruchomienie serwera dotCMS zajmuje od pięciu do dziesięciu minut, ponieważ zapisuje dane w bazie danych PostgreSQL i buduje pamięć podręczną. Możesz także sprawdzić dzienniki uruchamiania.

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

Skonfiguruj Systemd

Serwer dotCMS można uruchomić bezpośrednio za pomocą skryptu uruchamiania dostarczonego w pakiecie instalatora. Dla wygody należy skonfigurować plik jednostki Systemd dla serwera dotCMS. Zapewni to automatyczne uruchomienie serwera aplikacji przy ponownym uruchomieniu systemu i awarii.

Zatrzymaj działający serwer dotCMS za pomocą skryptu zamykania.

sudo bin/shutdown.sh

Ze względów bezpieczeństwa utwórz nieuprzywilejowanego użytkownika do uruchamiania serwera dotCMS.

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

Przekaż własność plików użytkownikowi dotCMS.

sudo chown -R dotcms:dotcms /opt/dotcms

Utwórz nową usługę Systemd.

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

Wypełnij plik.

[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

Uruchom aplikację i włącz automatyczne uruchamianie podczas uruchamiania.

sudo systemctl start dotcms
sudo systemctl enable dotcms

Upewnij się, że usługa jest uruchomiona.

sudo systemctl status dotcms

Skonfiguruj odwrotny serwer proxy

Domyślnie serwer dotCMS nasłuchuje na porcie 8080. Skonfigurujemy Nginx jako zwrotny serwer proxy, aby aplikacja była dostępna za pośrednictwem standardu HTTP i HTTPS portów. Skonfigurujemy również Nginx do korzystania z SSL wygenerowanego za pomocą Let's Encrypt.

Zainstaluj Nginx.

sudo apt -y install nginx

Uruchom Nginx i włącz automatyczne uruchamianie podczas uruchamiania.

sudo systemctl start nginx
sudo systemctl enable nginx

Dodaj repozytorium Certbot.

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

Zainstaluj Certbot, czyli aplikację kliencką Let's Encrypt CA.

sudo apt -y install certbot

Uwaga: Aby uzyskać certyfikaty z Let's Encrypt CA, domena, dla której mają być generowane certyfikaty, musi być skierowana w stronę serwera. Jeśli nie, dokonaj niezbędnych zmian w rekordach DNS domeny i poczekaj na propagację DNS przed ponownym żądaniem certyfikatu. Certbot sprawdza urząd domeny przed podaniem certyfikatów.

Wygeneruj certyfikaty SSL.

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

Wygenerowane certyfikaty prawdopodobnie będą przechowywane /etc/letsencrypt/live/cms.example.com/. Ważność certyfikatów Let's Encrypt wygasa za 90 dni, dlatego zaleca się skonfigurowanie automatycznego odnawiania certyfikatów za pomocą zadań Cron.

Otwórz plik zadania cron.

sudo crontab -e

Dodaj następujący wiersz na końcu pliku.

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

Powyższe zadanie crona będzie uruchamiane codziennie o 5:30. Jeśli certyfikat wygasa, zostanie automatycznie odnowiony.

Utwórz nowy plik bloku serwera dla witryny dotCMS.

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

Wypełnij plik.

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

Aktywuj konfigurację.

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

Uruchom ponownie serwer WWW Nginx, aby zmiany mogły zostać wprowadzone.

sudo systemctl restart nginx

Aplikacja dotCMS jest teraz zainstalowana na serwerze do użytku produkcyjnego. Uzyskaj dostęp do administracyjnego pulpitu nawigacyjnego pod następującym adresem.

https://cms.example.com/dotAdmin

Zaloguj się przy użyciu początkowego konta administratora [email protected] i hasła admin. Zmień domyślne hasło natychmiast po zalogowaniu.

Gratulacje, system zarządzania treścią dotCMS jest teraz zainstalowany na twoim serwerze. Możesz zmodyfikować witrynę demonstracyjną lub rozpocząć tworzenie witryny od zera.



Jak zainstalować Anchor CMS na CentOS 7 LAMP VPS

Jak zainstalować Anchor CMS na CentOS 7 LAMP VPS

Używasz innego systemu? Anchor CMS to bardzo prosty i niezwykle lekki, darmowy i otwarty system zarządzania treścią (CMS) Blog Engine, który

Jak zainstalować TextPattern CMS 4.6.2 na FreeBSD 11 FAMP VPS

Jak zainstalować TextPattern CMS 4.6.2 na FreeBSD 11 FAMP VPS

Używasz innego systemu? TextPattern CMS 4.6.2 to prosty, elastyczny, bezpłatny i otwarty system zarządzania treścią (CMS), który umożliwia projektantom stron internetowych

Jak zainstalować BlogoText CMS na Debian 9 LAMP VPS

Jak zainstalować BlogoText CMS na Debian 9 LAMP VPS

Używasz innego systemu? BlogoText CMS to prosty i lekki, bezpłatny i otwarty system zarządzania treścią (CMS) oraz minimalistyczny silnik blogów

Instalowanie Bolt CMS na CentOS 7

Instalowanie Bolt CMS na CentOS 7

Bolt to open source CMS napisany w PHP. Kod źródłowy Bolts jest hostowany na GitHub. Ten przewodnik pokaże Ci, jak zainstalować Bolt CMS na nowym CentOS 7 Vult

Jak zainstalować PyroCMS na Ubuntu 16.04

Jak zainstalować PyroCMS na Ubuntu 16.04

Używasz innego systemu? PyroCMS to open source CMS napisany w PHP. Kod źródłowy PyroCMS jest hostowany na GitHub. W tym przewodniku również przejdź przez entir

Jak zainstalować Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Jak zainstalować Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Używasz innego systemu? Tło CMS 1.8.0 to prosty i elastyczny, przyjazny dla urządzeń mobilnych, bezpłatny i otwarty system zarządzania treścią (CMS), który pozwala nam

Jak zainstalować Pagekit 1.0 CMS na Debian 9 LAMP VPS

Jak zainstalować Pagekit 1.0 CMS na Debian 9 LAMP VPS

Używasz innego systemu? Pagekit 1.0 CMS to piękny, modułowy, rozszerzalny i lekki, bezpłatny i otwarty system zarządzania treścią (CMS) z

Jak zainstalować Anchor CMS na FreeBSD 11 FAMP VPS

Jak zainstalować Anchor CMS na FreeBSD 11 FAMP VPS

Używasz innego systemu? Anchor CMS to bardzo prosty i niezwykle lekki, darmowy i otwarty system zarządzania treścią (CMS) Blog Engine, który

Jak zainstalować Subrion 4.1 CMS na Debian 9 LAMP VPS

Jak zainstalować Subrion 4.1 CMS na Debian 9 LAMP VPS

Używasz innego systemu? Subrion 4.1 CMS to potężny i elastyczny system zarządzania treścią typu open source (CMS), który zapewnia intuicyjny i przejrzysty kontekst

Jak zainstalować TextPattern CMS 4.6.2 na Ubuntu 16.04 LAMP VPS

Jak zainstalować TextPattern CMS 4.6.2 na Ubuntu 16.04 LAMP VPS

Używasz innego systemu? TextPattern CMS 4.6.2 to prosty, elastyczny, bezpłatny i otwarty system zarządzania treścią (CMS), który umożliwia projektantom stron internetowych

Jak zainstalować CMS z października 1.0 na Debianie 9 LAMP VPS

Jak zainstalować CMS z października 1.0 na Debianie 9 LAMP VPS

Używasz innego systemu? 1.0 października CMS to prosty i niezawodny, bezpłatny i otwarty system zarządzania treścią (CMS) oparty na platformie Laravel

Jak zainstalować Subrion 4.1 CMS na CentOS 7 LAMP VPS

Jak zainstalować Subrion 4.1 CMS na CentOS 7 LAMP VPS

Używasz innego systemu? Subrion 4.1 CMS to potężny i elastyczny system zarządzania treścią typu open source (CMS), który zapewnia intuicyjny i przejrzysty kontekst

Jak zainstalować WonderCMS na FreeBSD 12

Jak zainstalować WonderCMS na FreeBSD 12

Używasz innego systemu? WonderCMS jest otwartym, szybkim i małym, płaskim plikiem CMS napisanym w PHP. Kod źródłowy WonderCMS jest hostowany na Github. Ten przewodnik wil

Zainstaluj Tiki Wiki CMS Groupware na Ubuntu 18.04 LTS

Zainstaluj Tiki Wiki CMS Groupware na Ubuntu 18.04 LTS

Używasz innego systemu? Wprowadzenie Tiki Wiki CMS Groupware, znany również jako Tiki, to darmowy system zarządzania treścią typu wiki typu open source. Funkcja Tikis

Jak zainstalować BoltWire na Ubuntu 18.04

Jak zainstalować BoltWire na Ubuntu 18.04

Używasz innego systemu? Wprowadzenie BoltWire to darmowy i lekki system zarządzania treścią napisany w języku PHP. W porównaniu do większości innych menedżerów treści

Jak zainstalować ApostropheCMS na Ubuntu 18.04

Jak zainstalować ApostropheCMS na Ubuntu 18.04

ApostropheCMS to nowoczesny system zarządzania treścią zbudowany na NodeJS z naciskiem na rozszerzalne narzędzia do edycji kontekstowej. W tym samouczku nauczysz się ho

Jak zainstalować BigTree CMS 4.2 na FreeBSD FAMP VPS

Jak zainstalować BigTree CMS 4.2 na FreeBSD FAMP VPS

Używasz innego systemu? BigTree CMS 4.2 to szybki i lekki, bezpłatny i otwarty system zarządzania treścią dla przedsiębiorstw (CMS) z rozbudowanym

Jak zainstalować Microweber na CentOS 7

Jak zainstalować Microweber na CentOS 7

Używasz innego systemu? Microweber to otwarty system CMS typu „przeciągnij i upuść” oraz sklep internetowy. Kod źródłowy Microweber jest hostowany na GitHub. Ten przewodnik pokaże ci yo

Jak zainstalować Directus 6.4 CMS na CentOS 7 LAMP VPS

Jak zainstalować Directus 6.4 CMS na CentOS 7 LAMP VPS

Używasz innego systemu? Directus 6.4 CMS to potężny i elastyczny, bezpłatny i otwarty system zarządzania treścią bez głowy (CMS), który zapewnia programistom

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.