Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
Delphiニュース

WSL2を使用してFMXLinuxをUbuntuへWeb配置する

FMXLinuxアプリケーションは、Webブラウザ でHTML5のWebアプリケーションとして実行することができます。このブログでは、WSL2を使用してFMXLinuxをUbuntuへWeb配置する方法について解説します。

DelphiのFMXLinuxを配布する最も簡単な方法は、Windows Subsystem for Linux(WSL)を使用することです。 Windows 10バージョン 2004(ビルド19041)の時点で、WSL2には完全なLinuxカーネルが含まれているため、デバッグなども含めてすべて期待どおりに機能します。

1. WSL2をインストール

WSL2を使用する場合にはWindows 10 バージョン2004(May 2020 Update ビルド番号 19041)への更新が必要です。Windows 10のシステム情報からOSビルド番号が確認できます。

  1. Windowsメニューの[Windows システムツール]-[コントロールパネル]を選択
  2. コントロールパネルの[プログラムと機能]を選択 (表示方法が大きいアイコンの場合)
  3. [Windowsの機能の有効化または無効化]を選択
  4. 機能の一覧から[Linux用 Windows サブシステム] にチェックオン
  5. WSL2をインストール後、OSを再起動
windows setting wsl ja 1469002

2. Microsoft Store経由でUbuntuをインストール

バージョン番号のないUbuntuは現在のLTS版で、今後アップデートされます。同様にMicrosoft Store経由で他のディストリビューション(KaliPegwinAlpine WSLなど)もインストールできますが、Ubuntuとはどれも少し異なります。

msstore via ubuntu ja 4332064

3. Ubuntuの起動

Windowsのスタートメニューまたは PowerShell/ターミナル/CLI ウィンドウから WSL もしくは Ubuntu コマンドを使用して起動します。複数のLinuxをインストールしている場合は、WSLはデフォルトのLinuxを起動します。 初めて起動するときは、数分かかることに注意してください。そして新しいLinux資格情報の入力を求められます。

4. SetupUbuntu4Delphi21.shを実行

Delphiからターゲットにする準備をするために、Ubuntuのすべてのセットアップを行うスクリプトをgistで作ってみました。wgetを使用してダウンロードするか、コマンドを手動で入力することができます。ホームフォルダに pa21.sh というスクリプトファイルを作成し、PAServer を起動します。これを変更して、デフォルトの設定を渡すことができます。

#!/bin/bash
echo Updating the local package directory
sudo apt update
echo Upgrade any outdated pacakges
sudo apt full-upgrade -y
echo Intall new packages necessary for Delphi
sudo apt install joe wget p7zip-full curl openssh-server build-essential zlib1g-dev libcurl4-gnutls-dev libncurses5 xorg libgl1-mesa-dev libosmesa-dev libgtk-3-bin -y
echo Clean-up unused packages
sudo apt autoremove -y
cd ~
echo Downloading LinuxPAServer for Sydney 10.4 (21.0) Update 1
wget https://altd.embarcadero.com/releases/studio/21.0/1/PAServer/LinuxPAServer21.0.tar.gz
echo Setting up directories to extract PA Server into
mkdir PAServer
mkdir PAServer/21.0
tar xvf LinuxPAServer21.0.tar.gz -C PAServer/21.0 --strip-components=1
rm LinuxPAServer21.0.tar.gz
echo \#\!\/bin\/bash >pa21.sh
echo ~/PAServer/21.0/paserver >>pa21.sh
chmod +x pa21.sh
echo -----------------------------------
echo To launch PAServer type \~/pa21.sh
echo -----------------------------------
~/pa21.sh

5. GetItからFMXLinuxをインストール

getit fmxlinux ja 6510913

6. broadwayd サーバーの実行

上記のスクリプトによる起動で、既にPAServerを実行しているはずですが、broadwaydを起動できる新しいUbuntuターミナルウィンドウが必要になる可能性があります。新しいWindowsターミナルを使用すると、複数のタブを簡単に開くことができ、WSLとうまく統合できるのでお勧めします。

7. Delphi IDEでLinux SDKをインポート

Delphi IDEのメインメニューの[ツール]-[オプション]-[配置]-[SDKマネージャ]でLinuxで実行しているPAServerへ接続します。 PAServerのIP アドレスは、 localhost / 127.0.0.1 ですので、WSLインスタンスとホストOSであるWindows 10との間でポートを共有していることに注意してください。

options deployment connection sdk linux wsl ja

あとは、FireMonkyプロジェクトを実行して、Webブラウザからlocalhost:8080に接続するだけです。

1つだけ留意すべきことは、各クライアントのサーバー上で実行されているアプリの1つのインスタンスがあり、それぞれが独自のポート番号を持っているということです。 ちょっとした工夫でサーバー上で管理する方法もありますが、その方法はまた別ブログ記事で紹介いたします。

関連情報

http://docwiki.embarcadero.com/RADStudio/Sydney/ja/FireMonkey_for_Linux

RAD Studio 13.1 Florence Now Available See What's New in RAD Studio 13.1 Delphi is 31 - Webinar Replay

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.

Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

IN THE ARTICLES