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

インターネットに接続していない状態でIPGeocoderモジュールを起動するための設定

written-by

Justin Choi

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

この記事では、IP Geocoderモジュールをインターネット接続なしで起動するように設定する方法について説明します。 デフォルトでは、このモジュールは起動時にインターネットに接続されている必要があります。 しかし、お客様によっては、接続性を確保することができず、Webに接続されていない環境のままになってしまうこともあります。 また、プロキシ接続を必要とするものもあります。 「プロキシ経由で接続するためのLCSの事前設定」 セクションを参照してください。

Web接続が必要な理由は、起動時に GeoIPCity.dat というファイルが、アプリケーションサーバーに新しく作られた /../liferay/geoip フォルダーに自動的にダウンロードされるからです。 (例えば、Apache Tomcatでは、 /temp/liferay/geoip フォルダにあります)。

そうでない場合は、起動時に以下のエラーが発生します:

	13:01:34,728 ERROR [main][IPGeocoderImpl:108] Unable to activate Liferay IP Geocoder
	java.net.ConnectException: Connection timed out (Connection timed out)
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:589)
	at java.net.Socket.connect(Socket.java:538)
	at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
	at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
	at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
	at sun.net.www.http.HttpClient.(HttpClient.java:211)
	at sun.net.www.http.HttpClient.New(HttpClient.java:308)
	at sun.net.www.http.HttpClient.New(HttpClient.java:326)
	at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1202)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1138)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1032)
	at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:966)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1546)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
	at com.liferay.ip.geocoder.internal.IPGeocoderImpl.getIPGeocoderFile(IPGeocoderImpl.java:138)
	at com.liferay.ip.geocoder.internal.IPGeocoderImpl.configure(IPGeocoderImpl.java:101)
	at com.liferay.ip.geocoder.internal.IPGeocoderImpl.activate(IPGeocoderImpl.java:60)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.felix.scr.impl.inject.BaseMethod.invokeMethod(BaseMethod.java:224)
	at org.apache.felix.scr.impl.inject.BaseMethod.access$500(BaseMethod.java:39)
	at org.apache.felix.scr.impl.inject.BaseMethod$Resolved.invoke(BaseMethod.java:617)
	at org.apache.felix.scr.impl.inject.BaseMethod.invoke(BaseMethod.java:501)
	at org.apache.felix.scr.impl.inject.ActivateMethod.invoke(ActivateMethod.java:302)
	at org.apache.felix.scr.impl.inject.ActivateMethod.invoke(ActivateMethod.java:294)
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:297)
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:108)
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:906)
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:879)
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:823)
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212)
	at java.security.AccessController.doPrivileged(Native Method)

解像度

この特定の使用例では、システム管理者は GeoLiteCity.dat.xz から GeoLite Legacy Downloadable Databasesをダウンロードする必要があります。

前述のように、デフォルトではこのファイルは自動的にダウンロードされますが、アプリケーションサーバーのキャッシュをクリアする際に削除される一時フォルダにダウンロードされるためです。 システム管理者は、以下の手順を踏む必要があります:

  1. 変更を適用する前に、アプリケーションサーバーを停止してください。
  2. .xz をキャッシュフォルダ以外の任意のフォルダに解凍する。
  3. /osgi/configs フォルダに、 com.liferay.ip.geocoder.internal.IPGeocoderConfiguration.cfgというファイルを作成します。
  4. テキストエディターを使用して、com.liferay.ip.geocoder.internal.IPGeocoderConfiguration.cfgファイルを開きます。
  5. filePath=/path/to/permanent/location/of/GeoLiteCity.dat (例: /opt/liferay/geoip/GeoLiteCity.dat) を入力してください。
  6. ファイルを保存します。
  7. /osgi/stateフォルダを削除します。
  8. アプリケーションサーバーを起動します。

これらの手順を適用することで、インターネットに接続することなく、プラットフォームを起動することができます。

追加情報

did-this-article-resolve-your-issue

legacy-knowledge-base