legacy-knowledge-base
公開されました Sep. 10, 2025

JBoss 6 EAPでのLiferay Portalのセットアップについて

written-by

Liferay Support

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

この記事では、JBoss 6 EAPをセットアップし、このアプリケーションサーバーにLiferay 6.1 EEと6.2 EEをデプロイする方法の概要を説明します。

解像度

始める前に JBoss EAP 6.0.1 または 6.1 をダウンロードし、お好みの場所にインストールします。以後、 $JBOSS_HOMEと呼びます。

ご注意:Liferay Homeは、JBossを含むディレクトリをデフォルトとしています。 これは、以下のプロパティで変更可能です:

##
## Liferay Home ##
#
# Specify the Liferay home directory. #
liferay.home=${resource.repositories.root}

また、Liferay WAR の希望するバージョンは、ヘルプセンター (https://www.help.liferay.com)で確認することができます。 希望するバージョンのLiferay依存関係は、ヘルプセンターにあります (https://www.help.liferay.com)

依存性ジャー

1. $JBOSS_HOME/modules/com/liferay/portal/mainというフォルダを作成し、Liferay Portal Dependencies の zip ファイルにある jar ファイルをこのフォルダに解凍してください。

2. データベースドライバ .jar ファイルをダウンロードし、 $JBOSS_HOME/modules/com/liferay/portal/main フォルダにも入れてください。 例えば、MySQL Connector ドライバを http://dev.mysql.com/downloads/connector/j/ からダウンロードし、その .jar ファイルを $JBOSS_HOME/modules/com/liferay/portal/main フォルダに配置します。

3. module.xml$JBOSS_HOME/modules/com/liferay/portal/main フォルダに作成し、以下の行を挿入します:

<?xml version="1.0"?>
<module xmlns="urn:jboss:module:1.0"name="com.liferay.portal">
    <resources>
        <resource-root path="mysql-connector-[versionHere]-bin.jar" />
        <resource-root path="portal-service.jar" />
        <resource-root path="portlet.jar" />
    </resources>
    <dependencies>
        <module name="javaxapi" />
        <module name="javaxmailapi" />
        <module name="javaxservletapi" />
        <module name="javaxservletjspapi" />
        <module name="javaxtransactionapi" />
    </dependencies>
</module>

その他のデータベースドライバの場合は、MySQLリソースルートエントリのパスをデータベースコネクタjarの名前に置き換えてください。

Liferay On Jboss 6 EAP In Standalone Mode 対 Jboss 6 EAP In Standalone Mode。 ドメインモード

JBoss 6 EAPは、スタンドアロンモードまたはドメインモードで起動することができます。 ドメインモードでは、単一のコントロールポイントから複数のアプリケーションサーバーインスタンスを管理できます。 このようなアプリケーションサーバーの集合体をドメインと呼びます。 スタンドアロンモードとドメインモードの詳細については、『JBoss 6 EAP Admin Guide』のこのトピックに関するセクションを参照してください。 Liferayは、スタンドアローンモードで動作する場合はJBoss 6 EAPを完全にサポートしますが、ドメインモードで動作する場合はサポートしません。

Liferay on JBoss 6 EAPをドメインモードで動作させることは可能ですが、この方法は完全にはサポートされていません。 特に、JBoss 6 EAPではドメインモードでエクスプロードされていない.warファイルをデプロイできないため、Liferayのホットデプロイは機能しない。 その代わり、.war ファイルは domain/data/content ディレクトリにあります。 デプロイは、コマンドラインインターフェイスを使用してのみ可能です。 これにより、多くのLiferayプラグインが意図したとおりに動作しなくなります。 例えば、JSPフックはドメインモードで動作するJBoss 6 EAPでは機能しません。LiferayのJSPオーバーライド機構は、アプリケーションサーバーが分解されたプラグイン.warファイルの場所からカスタマイズされたJSPファイルを再ロードすることに依存するからです。 サービスやアクションフックなどの他のプラグインは、JBossがファイルシステム上の分解された.warファイルから何か(JSPファイルなど)にアクセスする必要がないため、依然として正常に動作するはずです。

注:これは、複数のJBossサーバー上のクラスタ環境でLiferayを実行することを妨げるものではありません。 スタンドアロンモードで動作するJBoss 6 EAPサーバー上で動作するLiferayインスタンスのクラスタを設定することができます。 Liferayクラスタの設定については、本ガイドの「Configuring Liferay for High Availability」の章を参照してください。

JBossの構成

XML ファイル $JBOSS_HOME/standalone/configuration/standalone.xmlで JBoss サーバーインスタンスの設定を指定します。 また、 $JBOSS_HOME/bin/ フォルダにあるコンフィグレーションスクリプトとスタートアップスクリプトをユーザーが一部修正する必要があります。

standalone.xmlを修正する。

1. enable-welcome-root="false"を指定して、Web サブシステムの仮想サーバーのデフォルトホストのウェルカムルートを無効化します。

<subsystem xmlns="urn:jboss:domain:web:1.1"default-virtual-server="defaulthost">
    <connector name="http" scheme="http" protocol="HTTP/1.1" socket-binding="http"/>
    <virtual-server name="defaulthost" enable-welcome-root="false">
        <alias name="localhost" />
        <alias name="examplecom" />
    </virtual-server>
</subsystem>

2. Web サブシステム要素内に、以下の <configuration> 要素を挿入する。

<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="defaulthost">.

<configuration>
    <jsp-configuration development="true" />
</configuration>

3. deployment-timeout="240" を設定し、デプロイスキャナーのタイムアウトを追加します。

<subsystem xmlns="urn:jboss:domain:deployment-scanner:1.1">
    <deployment-scanner name="default"
            path="deployments"
            scan-enabled="true"
            scan-interval="5000"
            relative-to="jboss.server.base.dir"
            deployment-timeout="240"/>
</subsystem>

4. エレメント <subsystem xmlns="urn:jboss:domain:security:1.2">で定義されたセキュリティサブシステム <security-domains> に、以下の JAAS セキュリティドメインを追加します。

<security-domain name="PortalRealm">
    <authentication>
        <login-module code="com.liferay.portal.security.jaas.PortalLoginModule" flag="required"/>
    </authentication>
</security-domain>


5. </extensions><management> のタグの間に、以下のシステムプロパティを追加します:

<system-properties>
    <property name="orgapachecatalinaconnectorURI_ENCODING" value="UTF-8" />
    <property name="orgapachecatalinaconnectorUSE_BODY_ENCODING_FOR_QUERY_STRING" value="true" />
</system-properties>
 

module.xmlを修正する。

$JBOSS_HOME/modules/sun/jdk/ main に配置されています。

<paths>...</paths> の要素に以下を追加します:

​<path name="com/sun/crypto"/>
<path name="com/sun/crypto/provider"/>
<path name="com/sun/image/codec/jpeg" />
<path name="com/sun/org/apache/xml/internal/resolver" />
<path name="com/sun/org/apache/xml/internal/resolver/tools" />

コンフィギュレーションとスタートアップスクリプト

1. $JBOSS_HOME/bin/ フォルダにあるスタンドアローンドメインの設定スクリプトファイル standalone.conf (Windows では standalone.conf.bat) を修正します。

これらの修正により、以下のオプションが変更されます:

  • ファイルエンコードを設定する
  • ユーザーのタイムゾーンを設定する
  • 優先プロトコルスタックを設定します。
  • 利用可能なデフォルトのメモリ容量を増やします。

WindowsでJVMの設定をする場合:

  • Windowsの場合、次の行のようにJAVA_OPTSの最初の割り当てをコメントアウトしてください:

    Rem # set "JAVA_OPTS=-Xms64M -Xmx512M -XX:MaxPermSize=256M

  • 次に、ファイルの最後にあるJAVA_OPTS_SETの行の1行上に、次のJAVA_OPTSの割り当てを追加します:
    set "JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8 -Djava.net.preferIPv4Stack=true -Djava.security.manager -Djava.security.policy=%JBOSS_HOME%/bin/server.policy -Djboss.home.dir=$JBOSS_HOME -Duser.timezone=GMT -Xmx1024m-XX:MaxPermSize=256m"​

UNIX/LinuxでJVMの設定を行う場合:

  • Unixの場合、JAVA_OPTSに以下のような値をマージしてください:
    if [ "x$JAVA_OPTS" = "x" ]; then
    JAVA_OPTS="-Xms1303m -Xmx1303m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true"
    JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8 -Djava.security.policy=server.policy -Djboss.home.dir=$JBOSS_HOME -Duser.timezone=GMT -Xmx2048m -XX:MaxPermSize=256m -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"

2. データベース設定

JBossを使用してデータソースを管理する場合は、このセクションの指示に従います。 組み込みのLiferayデータソースを使用する場合は、このセクションをスキップしてください。

standalone.xmlで、データソースサブシステムの <datasources> 要素内にデータソースとドライバを追加します。

  1. まず、 <subsystem xmlns="urn:jboss:domain:datasources:1.1">の <datasources> 要素内にデータソースを追加します。
        <datasource jndi-name="javajdbcLiferayPool" pool-name="LiferayPool" enabled="true" jta="true" use-java-context="true" use-ccm="true">
        <connection-url>jdbc:mysql:localhost/lportal</connection-url>
        <driver>mysql</driver>
        <security>
            <user-name>root</user-name>
            <password>root</password>
        </security>
        </datasource>
    

    URLのデータベース値(例:lportal)、ユーザー値、パスワード値は、必ずそのデータベース固有の値に置き換えてください。

  2. そして、 <datasources> 要素の中にある <drivers> 要素にもドライバを追加します。
        <drivers><driver name="mysql" module="comliferayportal"/></drivers>
       

最終的なデータソースサブシステムは次のようなものになるはずです:

<subsystem xmlns="urn:jboss:domain:datasources:1.1">
    <datasources>
        <datasource jndi-name="javajdbcLiferayPool"
                pool-name="LiferayPool"
                enabled="true"
                jta="true"
                use-java-context="true"
                use-ccm="true" >
            <connection-url>jdbc:mysql:localhost/lportal</connection-url>
            <driver>mysql</driver>
            <security>
                <user-name>root</user-name>
                <password>root</password>
            </security>
        </datasource>
        <drivers>
            <driver name="mysql" module="comliferayportal"/>
        </drivers>
    </datasources>
</subsystem>

メール設定

このドキュメントが書かれた時点では、JavaMailはまだJBoss AS 7.0.1に対応していませんでしたが、JBoss AS 7.1 alphaでは実装されています( https://issues.jboss.org/browse/AS7-1177を参照ください)。 ユーザーがJBossにメールセッションを管理させたい場合は、JBoss AS7.1 alphaにある実装に基づく以下の手順を使用してください。 ユーザーがLiferayのビルトインメールセッションを使用したい場合は、このセクションをスキップしてください。

standalone.xml が以下の例のように構成されていることを確認する:

<subsystem xmlns="urn:jboss:domain:mail:1.0">
    <mail-session jndi-name="javamailMailSession" >
        <smtp-server address="smtp.gmail.com" port="465">
            <login name="username" password="password"/>
        </smtp-server>
        <pop3-server address="pop.gmail.com" port="110"/>
        <imap-server address="imap.gmail.com" port="993">
            <login name="username" password="password"/>
        </imap-server>
    </mail-session>
</subsystem>

データソースとメールセッションを設定する

  1. まず、JBossのインストール先の1つ上のフォルダ(例: $JBOSS/...)にある、Liferay Homeフォルダに移動します。
  2. JBoss を使用してデータソースを管理する場合は、 Liferay Home の portal-ext.properties ファイルに以下を追加して、データソースを使用することを参照します:

    jdbc.default.jndi.name=java:jdbc/LiferayPool

  3. Liferay Portal を使用してデータソースを管理する場合は、 Deploy Liferay セクションの指示に従って、セットアップウィザードを使用してください。
  4. Liferay Portal を使用してメールセッションを管理する場合、この設定は Liferay Portal 内で行われます。
  5. コントロールパネル > サーバー管理 > メール にアクセスし、メールセッションの設定を入力します。
  6. メールセッションの管理に JBoss を使用している場合は、そのメールセッションを参照するために portal-ext.properties ファイルに以下を追加します:

    mail.session.jndi.name=java:mail/MailSession

セキュリティ構成

Marketplaceから他の人のアプリを使い始める準備ができたら、ポータルとJBossサーバーをセキュリティ脅威から保護したいと思うでしょう。 そのためには、JBossサーバーでJava Securityを有効にし、ポータルにサーバーへのアクセスを許可するセキュリティポリシーを指定します。

JBoss の設定」セクションで前述した standalone.conf.bat ファイルで -Djava.security.manager-Djava.security.policy の Java オプションを設定したことを思い出してください。 -Djava.security.manager Javaオプションは、JBoss上のセキュリティを有効にします。 同様に、 -Djava.security.policy Javaオプションは、サーバーのJavaセキュリティポリシーの許可をリストアップします。 これらのオプションを設定していない場合、Javaセキュリティを使用する前に設定する必要があります。

この設定により、すべてのパーミッションが開放されます。 後でポリシーで権限を調整することができます。 $JBOSS_HOME/bin/server.policy ファイルを作成し、以下の内容を追加します:

grant {
    permission java.security.AllPermission;
};

Java SE Security Architectureに関する広範な情報については、その仕様書(http://docs.oracle.com/javase/7/docs/technotes/guides/security/spec/security-spec.doc.html)を参照してください。 また、Liferayプラグインのリソースへのアクセスを設定する方法については、Developer's GuideのUnderstanding Plugin Security Managementのセクションを参照してください。

Liferayをデプロイする

  1. $JBOSS_HOME/standalone/deployments/ROOT.war というフォルダがすでに存在する場合は、そのサブフォルダとファイルをすべて削除してください。 それ以外の場合は、新しいフォルダ $JBOSS_HOME/standalone/deployments/ROOT.warを作成します。
  2. Liferay .war ファイルを ROOT.war フォルダに解凍します。
  3. ROOT.war ファイルで、 WEB-INF/jboss-deployment-structure.xml ファイルを開いてください。 このファイルで、 <module name="comliferayportal" /> の依存関係を次の構成に置き換えます:

    <module meta-inf="export" name="com.liferay.portal">
        <imports>
            <include path="META-INF" />
        </imports>
    </module>

    これにより、OSGiコンテナを通じてPortal APIを公開することで、Audience TargetingなどのOSGiプラグインが適切に動作するようになります。

  4. ROOT.warのデプロイを開始するには、 $JBOSS_HOME/standalone/deployments/フォルダにROOT.war.dodeployという空ファイルを作成します。 起動時にJBossはこのファイルの存在を検出し、Webアプリケーションとしてデプロイします。
  5. eclipselink.jar で提供されるものではなく、Hibernate の永続性プロバイダーが使用されるように、 $JBOSS_HOME/standalone/deployments/ROOT.war/WEB-INF/lib から eclipselink.jar を削除します。
  6. Liferay Portalを初めて起動する場合、サーバー起動時にセットアップウィザードが起動されます。 ウィザードを再実行したい場合は、プロパティファイル(例:portal-setup-wizard.properties)に setup.wizard.enabled=true を指定してください。 Liferay Portal と共にセットアップウィザードを開始する - ユーザーがポータルの設定、サイトの管理アカウントの設定、Liferay内でのデータベース管理を行う場合に行います。
  7. それ以外の場合、ユーザーが で現在のポータル設定を保持したい場合、、セットアップウィザードを起動せずにポータルを起動することができます。

    セットアップウィザードを起動せずにサーバーを起動するには、portal-ext.properties に setup.wizard.enabled=false を指定してください。 ユーザーは、portal.propertiesを修正することを強く推奨します。

    注: portal-setup-wizard.properties のプロパティ値は、 portal-ext.propertiesのプロパティ値より優先されます。

  8. JBoss アプリケーションサーバーを起動します。コマンドコンソールで次のように入力します。 standalone.bat (./standalone.sh UNIX/Linux 環境の場合)。
    • セットアップウィザードが無効の場合、サイトのホームページは、ブラウザで自動的に http://localhost:8080で開きます。
    • それ以外の場合は、セットアップウィザードがブラウザで開きます。

追加情報

JBoss EAPバンドルには、単なるアプリケーションサーバーだけでなく、最新のJBoss EAPにはスタンドアロンインスタンスとクラスタ環境用のドメインモードが含まれています。 バンドルには、AS 7.xのコミュニティ版に加え、エンタープライズレベルの製品も含まれています。 AS 7の代替バージョンはWildflyです。WildflyのXSDは、6.3バージョン以上で見られます。

その他、jbossドメインやウェブサービスなど、バックエンドのすべてをアップグレードしています。 ユーザーは、スキーマだけでなく、⾳⽊⽊⽊⽊の増⼤を⾒ることができます。 ドメインのセキュリティ管理には、提案されたパスワードが要件を満たさない場合にヒントを与える、ユーザーパスワードの追加ポリシーがより使いやすいと思います。

詳しくは、 JBoss EAP リリースノートの変更ログを参照してください。

既知の問題

JBoss 6.x EAP上でポータルが動作している場合、ポータルのログに以下のような警告メッセージが表示されることがあります:

19:55:18,123 WARN [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015960: Class Path entry unoloader.jar in /JBOSS_HOME/jboss-eap-6.1/standalone/deployments/ROOT.war/WEB-INF/lib/jurt.jar does not point to a valid jar for a Class-Path reference.
19:55:18,124 WARN [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015960: Class Path entry ../../lib/ in /JBOSS_HOME/jboss-eap-6.1/standalone/deployments/ROOT.war/WEB-INF/lib/jurt.jar does not point to a valid jar for a Class-Path reference.
19:55:18,124 WARN [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015960: Class Path entry ../bin/ in /JBOSS_HOME/jboss-eap-6.1/standalone/deployments/ROOT.war/WEB-INF/lib/jurt.jar does not point to a valid jar for a Class-Path reference.

解像度

これらの警告はポータルの機能には影響しませんが、jbossの問題に起因しています。 解決策は、Redhat こちらから提供されています。 なお、このソリューションを使用するには、Redhatの契約者である必要があります。

did-this-article-resolve-your-issue

legacy-knowledge-base