Ubuntu 16.04にdotCMSをインストールする方法

DotCMSは、Javaで書かれたオープンソースのエンタープライズグレードのコンテンツ管理システムです。それはあなたのビジネスのためのウェブサイトを作成するために必要なほぼすべての機能が含まれています。CRM、モバイルアプリケーションなどの他のサービスと統合するRESTful APIを提供します。コンテンツのリアルタイムインデックスにはElasticsearchを使用し、多層キャッシュの実装にはRedisを使用します。

前提条件

  • Vultr Ubuntu 16.04サーバーインスタンス。
  • sudoのユーザー
  • サーバーに向けられたドメイン名。

このチュートリアルでは192.168.0.1 、パブリックIPアドレスおよびcms.example.com Vultrインスタンスを指すドメイン名として使用 し ます。サンプルのドメイン名とパブリックIPアドレスのすべての出現箇所を実際のものに置き換えてください。

How to Update Ubuntu 16.04のガイドを使用してベースシステムを更新します 。システムが更新されたら、Javaのインストールに進みます。

Javaをインストールする

Oracle Java 8のUbuntuリポジトリを追加します。

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

Javaをインストールします。

sudo apt -y install oracle-java8-installer

Javaのバージョンを確認できます。

java -version

次の出力が表示されます。

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)

次のパッケージをインストールして、Javaのデフォルトパスを設定します。

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

JAVA_HOME設定されていることを確認できます。

echo $JAVA_HOME

次のようになります。

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

出力がまったく表示されない場合は、現在のシェルからログアウトして、再度ログインする必要があります。

PostgreSQLをインストールする

デフォルトでは、dotCMSはH2データベースエンジンを使用するように設定されています。H2データベースエンジンは、フラットファイルベースのデータベースエンジンです。本番環境での使用はお勧めしません。このチュートリアルでは、PostgreSQLサーバーを使用してdotCMSデータベースを格納します。

PostgreSQLは、オブジェクトリレーショナルデータベースシステムであり、その安定性と速度で知られています。デフォルトのUbuntuリポジトリには古いバージョンのPostgreSQLが含まれているため、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

PostgreSQLデータベースサーバーをインストールします。

sudo apt -y install postgresql

PostgreSQLサーバーを起動し、起動時に自動的に起動するようにします。

sudo systemctl start postgresql
sudo systemctl enable postgresql

デフォルトのPostgreSQLユーザーのパスワードを変更します。

sudo passwd postgres

PostgreSQLユーザーとしてログインします。

sudo su - postgres

dotCMSの新しいPostgreSQLユーザーを作成します。

createuser dotcms 

PostgreSQLは、psql データベースサーバーでクエリを実行するためのシェルを提供し ます。PostgreSQLシェルに切り替えます。

psql

dotCMSデータベースの新しく作成されたユーザーのパスワードを設定します。

ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';

データベースのユーザーパスワードDBPassword を安全なパスワードに置き換え ます。

dotCMSインストール用の新しいデータベースを作成します。

CREATE DATABASE dotcms OWNER dotcms;

psql シェルを終了し ます。

\q

sudo ユーザーに切り替え ます。

exit

dotCMSをインストールする

dotCMSアーカイブをダウンロードします。

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

アプリケーションの最新バージョンへのリンクは、 dotCMSダウンロードページにあります

dotCMSファイルを格納する新しいディレクトリを作成し、そこに抽出します。

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

データベース構成ファイルを開きます。

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

H2 ブロックを見つけ ます。

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

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

コメントH2 区切り文字--> をセクションの先頭からセクションの末尾に移動して、セクション 全体をコメント化し ます。次のようになります。

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

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

セクション--> の最後からコメント区切り文字を削除し、それを最上部のラッピングに配置すること により、PostgreSQLセクションのコメントを解除します POSTGRESQL。また、 既存の値を検索 username= して password=、PostgreSQLデータベースユーザーのユーザー名とパスワードに置き換えます。以外のデータベース名を使用した場合は、でデータベース名 dotcmsを変更する必要があります url=。構成が完了すると、ファイル内のPostgreSQLブロックは次のようになります。

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

すべての実行可能ファイルに実行権限を付与します。

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

DotCMSがサーバーにインストールされました。アプリケーションをすぐに実行するには、以下を実行します。

cd /opt/dotcms
sudo bin/startup.sh

サーバーが正常に起動すると、次の出力が表示されます。

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.

上記のコマンドは、ポートでアプリケーションを提供するためにTomcat Webサーバーを起動します 8080

お気に入りのブラウザを開き、にアクセスし http://192.168.0.1:8080ます。アプリケーションがデモWebサイトを実行していることがわかります。Webサイトが表示されない場合は、dotCMSサーバーがPostgreSQLデータベースにデータを書き込み、キャッシュを構築するのに5〜10分かかります。起動ログを確認することもできます。

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

Systemdを構成する

dotCMSサーバーは、インストーラーパッケージで提供される起動スクリプトを使用して直接起動できます。便宜上、dotCMSサーバー用のSystemdユニットファイルを設定する必要があります。これにより、システムの再起動や障害時にアプリケーションサーバーが自動的に起動するようになります。

シャットダウンスクリプトを使用して、実行中のdotCMSサーバーを停止します。

sudo bin/shutdown.sh

セキュリティ上の理由から、dotCMSサーバーを実行するための非特権ユーザーを作成します。

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

dotCMSユーザーにファイルの所有権を提供します。

sudo chown -R dotcms:dotcms /opt/dotcms

新しいSystemdサービスを作成します。

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

ファイルに入力します。

[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

アプリケーションを起動し、起動時に自動的に起動するようにします。

sudo systemctl start dotcms
sudo systemctl enable dotcms

サービスが実行されていることを確認します。

sudo systemctl status dotcms

リバースプロキシの構成

デフォルトでは、dotCMSサーバーはポートでリッスンします 8080。Nginxをリバースプロキシとして構成し、標準HTTP およびHTTPS ポートを介してアプリケーションにアクセスできるようにし ます。Let's Encryptで生成されたSSLを使用するようにNginxを構成します。

Nginxをインストールします。

sudo apt -y install nginx

Nginxを起動し、起動時に自動的に起動するようにします。

sudo systemctl start nginx
sudo systemctl enable nginx

Certbotリポジトリを追加します。

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

Let's Encrypt CAのクライアントアプリケーションであるCertbotをインストールします。

sudo apt -y install certbot

注: Let's Encrypt CAから証明書を取得するには、証明書を生成するドメインをサーバーに向ける必要があります。そうでない場合は、ドメインのDNSレコードに必要な変更を加え、DNSが伝播するのを待ってから、証明書要求を再度行ってください。証明書ボットは、証明書を提供する前にドメイン認証局をチェックします。

SSL証明書を生成します。

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

生成された証明書は、おそらくに保存され /etc/letsencrypt/live/cms.example.com/ます。Let's Encrypt証明書は90日で期限切れになるため、cronジョブを使用して証明書の自動更新を設定することをお勧めします。

cronジョブファイルを開きます。

sudo crontab -e

ファイルの最後に次の行を追加します。

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

上記のcronジョブは、毎日午前5時30分に実行されます。証明書の有効期限が切れる場合、証明書は自動的に更新されます。

dotCMSサイトの新しいサーバーブロックファイルを作成します。

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

ファイルに入力します。

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

構成をアクティブにします。

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

Nginx Webサーバーを再起動して、変更を有効にします。

sudo systemctl restart nginx

dotCMSアプリケーションがサーバーにインストールされ、運用環境で使用できるようになりました。次のアドレスの管理ダッシュボードにアクセスします。

https://cms.example.com/dotAdmin

初期管理者アカウント[email protected] とパスワードを使用してログインし ますadmin。ログイン直後にデフォルトのパスワードを変更します。

おめでとうございます。dotCMSコンテンツ管理システムがサーバーにインストールされました。デモサイトを変更することも、ゼロからサイトを構築することもできます。



Leave a Comment

FreeBSD 12にNeos CMSをインストールする方法

FreeBSD 12にNeos CMSをインストールする方法

別のシステムを使用していますか?Neosは、CMSとアプリケーションフレームワークをコアとするコンテンツアプリケーションプラットフォームです。このガイドでは、インストール方法を説明します

Ubuntu 16.04 LAMP VPSにBigTree CMSをインストールする方法

Ubuntu 16.04 LAMP VPSにBigTree CMSをインストールする方法

別のシステムを使用していますか?BigTree CMS 4.2は、高速で軽量な無料のオープンソースのエンタープライズグレードのコンテンツ管理システム(CMS)であり、

Ubuntu 16.04 LAMP VPSにBlogoText CMSをインストールする方法

Ubuntu 16.04 LAMP VPSにBlogoText CMSをインストールする方法

別のシステムを使用していますか?BlogoText CMSは、シンプルで軽量な無料のオープンソースコンテンツ管理システム(CMS)とシンプルなブログエンジンです。

Fedora 29にWonderCMSをインストールする方法

Fedora 29にWonderCMSをインストールする方法

別のシステムを使用していますか?WonderCMSは、PHPで書かれたオープンソースの高速で小さなフラットファイルCMSです。WonderCMSソースコードはGithubでホストされています。このガイドは

Debian 9にNeos CMSをインストールする方法

Debian 9にNeos CMSをインストールする方法

別のシステムを使用していますか?Neosは、CMSとアプリケーションフレームワークをコアとするコンテンツアプリケーションプラットフォームです。このガイドでは、インストール方法を説明します

CentOS 7 LAMP VPSにTextPattern CMSをインストールする方法

CentOS 7 LAMP VPSにTextPattern CMSをインストールする方法

別のシステムを使用していますか?TextPattern CMS 4.6.2はシンプルで柔軟な無料のオープンソースコンテンツ管理システム(CMS)であり、Webデザイナーが

Ubuntu 16.04でNginxリバースプロキシを使用してKeystone.jsサーバーをセットアップする

Ubuntu 16.04でNginxリバースプロキシを使用してKeystone.jsサーバーをセットアップする

このチュートリアルでは、リバースプロキシを使用してWebサーバーをセットアップします。使用するCMSは、有名なWebアプリケーションフレームワークであるKeystone.jsです。

Ubuntu 16.04 LAMP VPSに10月1.0 CMSをインストールする方法

Ubuntu 16.04 LAMP VPSに10月1.0 CMSをインストールする方法

別のシステムを使用していますか?10月1.0 CMSは、Laravelフレームワーク上に構築されたシンプルで信頼性の高い無料のオープンソースコンテンツ管理システム(CMS)です。

FreeBSD 11 FAMP VPSにOmeka Classic 2.4 CMSをインストールする方法

FreeBSD 11 FAMP VPSにOmeka Classic 2.4 CMSをインストールする方法

別のシステムを使用していますか?Omeka Classic 2.4 CMSは、デジタルを共有するための無料のオープンソースのデジタル出版プラットフォームおよびコンテンツ管理システム(CMS)です。

CentOS 7にAutomad CMSをインストールする方法

CentOS 7にAutomad CMSをインストールする方法

別のシステムを使用していますか?Automadは、オープンソースのファイルベースのコンテンツ管理システム(CMS)であり、PHPで記述されたテンプレートエンジンです。Automadソースコードi

Directus 6.4 CMSをFreeBSD 11 FAMP VPSにインストールする方法

Directus 6.4 CMSをFreeBSD 11 FAMP VPSにインストールする方法

別のシステムを使用していますか?Directus 6.4 CMSは、強力で柔軟な無料のオープンソースヘッドレスコンテンツ管理システム(CMS)であり、開発者に提供します。

FreeBSD 11にPyroCMSをインストールする方法

FreeBSD 11にPyroCMSをインストールする方法

別のシステムを使用していますか?PyroCMSは、PHPで記述されたオープンソースのCMSです。PyroCMSソースコードはGitHubでホストされています。このガイドでは、entirをよく歩いてください

CentOS 7にMicroweberをインストールする方法

CentOS 7にMicroweberをインストールする方法

別のシステムを使用していますか?Microweberは、オープンソースのドラッグアンドドロップCMSとオンラインショップです。MicroweberのソースコードはGitHubでホストされています。このガイドはあなたを示します

Ubuntu 16.04へのMicroweberのインストール

Ubuntu 16.04へのMicroweberのインストール

別のシステムを使用していますか?Microweberは、オープンソースのドラッグアンドドロップCMSとオンラインショップです。MicroweberのソースコードはGitHubでホストされています。このガイドはあなたを示します

CentOS 7 LAMP VPSにImpressPages CMS 5.0をインストールする方法

CentOS 7 LAMP VPSにImpressPages CMS 5.0をインストールする方法

別のシステムを使用していますか?ImpressPages CMS 5.0は、シンプルで効果的な無料のオープンソース、ユーザーフレンドリーなMVCベースのコンテンツ管理システム(CMS)です。

CentOS 7にWonderCMSをインストールする方法

CentOS 7にWonderCMSをインストールする方法

別のシステムを使用していますか?WonderCMSは、PHPで書かれたオープンソースの高速で小さなフラットファイルCMSです。WonderCMSソースコードはGithubでホストされています。このガイドは

Ubuntu 16.04 LAMP VPSにDirectus 6.4 CMSをインストールする方法

Ubuntu 16.04 LAMP VPSにDirectus 6.4 CMSをインストールする方法

別のシステムを使用していますか?Directus 6.4 CMSは、強力で柔軟な無料のオープンソースヘッドレスコンテンツ管理システム(CMS)であり、開発者に提供します。

FreeBSD 11 FAMP VPSにRedaxscript 3.2 CMSをインストールする方法

FreeBSD 11 FAMP VPSにRedaxscript 3.2 CMSをインストールする方法

別のシステムを使用していますか?Redaxscript 3.2 CMSは、最新で超軽量の無料のオープンソースのコンテンツ管理システム(CMS)です。

TYPO3 CMSをUbuntu 16.04にインストールする方法

TYPO3 CMSをUbuntu 16.04にインストールする方法

別のシステムを使用していますか?TYPO3は無料でオープンソースのエンタープライズコンテンツ管理システムです。PHPで記述され、MySQLを使用してデータを格納します。打ち間違え

Fedora 26 LAMP VPSにTextPattern CMS 4.6.2をインストールする方法

Fedora 26 LAMP VPSにTextPattern CMS 4.6.2をインストールする方法

別のシステムを使用していますか?TextPattern CMS 4.6.2はシンプルで柔軟な無料のオープンソースコンテンツ管理システム(CMS)であり、Webデザイナーが

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください

原子力が必ずしも悪ではないことを証明する5つの例

原子力が必ずしも悪ではないことを証明する5つの例

原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true

ビッグデータは人工知能をどのように変えていますか?

ビッグデータは人工知能をどのように変えていますか?

ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、