DelphiのLinux向け開発で使うPAServerをteratermやwgetでUbuntu, RHEL, CentOSに転送する

# PAServer を Linux にコピーって、具体的にはどうやればいいの？

Delphi / RAD Studio 10.2 Tokyo や 10.3 Rio では Linux 向け開発が可能となり、さらに 10.3.1 では FMX Linux がバンドルされて Linux 向け GUI アプリケーションもできるようになりましたが、このときに PAServer というアシスタントサーバプログラムを Linux 上にて実行させる必要があります。

これについては DocWiki 上の次の文書で説明されていますが、内容はわりとあっさりしています。

[http://docwiki.embarcadero.com/RADStudio/Tokyo/ja/Linux_でのプラットフォーム_アシスタントのインストール](http://docwiki.embarcadero.com/RADStudio/Tokyo/ja/Linux_%E3%81%A7%E3%81%AE%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0_%E3%82%A2%E3%82%B7%E3%82%B9%E3%82%BF%E3%83%B3%E3%83%88%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)
[http://docwiki.embarcadero.com/RADStudio/Rio/ja/Linux_でのプラットフォーム_アシスタントのインストール](http://docwiki.embarcadero.com/RADStudio/Rio/ja/Linux_%E3%81%A7%E3%81%AE%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0_%E3%82%A2%E3%82%B7%E3%82%B9%E3%82%BF%E3%83%B3%E3%83%88%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)


```
ファイルを上記の場所から、Linux マシン上のローカル ディレクトリにコピーします。
```

しかし Windows 環境向けの業務アプリケーション開発ばかりを行っていると、意外に Linux に触る機会が少ない場合があるため、このようなあっさり目の説明では微妙に不親切です。


そこで、ここでは DocWiki に書かれていない説明を少々盛ってみます。

# 事前準備
## TeraTerm をインストールしておく

TeraTerm は Windows 向けのターミナルエミュレータであり、COMポート、telnet、ssh に対応しています。Linux サーバのコンソールを直接操作してもよいのですが、Windows 側から ssh 経由でログインしたほうが便利なので、TeraTerm をインストールすることにします。

TeraTerm の一次サイトは下記のURLですので、ここからダウンロードするのが良いでしょう。
https://ja.osdn.net/projects/ttssh2/

## 対象インスタンスのIPアドレスを確認しておく

対象インスタンスで ip addr show や ifconfig を実行すればIPアドレスが分かります。

![image](https://qiita-image-store.s3.amazonaws.com/0/149350/5edb242b-cd17-c25a-b606-d661f44a42b8.png)

以後の作業は TeraTerm から対象インスタンスに ssh 接続して行います。

# コピー方法５種類のご紹介

## 方法1: TeraTerm Pro で対象インスタンスにログインして、ドラッグ＆ドロップする

TeraTerm には SCP という機能が内包されていて、エクスプローラからドラッグ＆ドロップするだけでファイル転送が行えます。以下のスクリーンショットは ssh でログインし、ドラッグ&ドロップでファイル転送後、アーカイブを展開して PAServer を実行するまでの作業を示しています。

![copy_paserver_with_teraterm.gif](https://qiita-image-store.s3.amazonaws.com/0/149350/b72a5fc7-70d2-8216-ca58-139c2c7bb3ec.gif)

Delphi / RAD Studio の開発環境から PAServer を直接コピーする場合は、これが最もカンタンなコピー方法です。

# その他のコピー方法
## 方法2: Ubuntu/RHEL/CentOS で samba をセットアップしてファイルコピーする

エンバカデロのMVPである Jun HOSOKAWA さん @pik が書かれた記事 [Delphi 用に Hyper-V で Ubuntu 環境を作る](http://qiita.com/pik/items/adb846ef7fe251002bc7) の中で紹介されている方法です。

この方法は PAServer のコピー以外でも汎用的に使えます。そして複数ファイルを一度に取り扱うこともできるので、これもおススメの方法の一つです。ただしサーバを立てるという行為はセキュリティ上のリスクを伴う作業であることにご注意ください。

## 方法3: WinSCP でコピーする

エンバカデロ本社のエバンジェリストがデモでよく行う方法がコレですが、説明は省略します。行う内容は teraterm に対してドラッグ＆ドロップするのと大差はありません。

## 方法4: USBメモリ経由でコピーする
実サーバやUSBをサポートする仮想マシンなら、この方法も使えます。

ただし Linux を CUI でインストールした場合やリモートログインで作業する場合は USB メモリを含むリムーバブルデバイスの操作の難易度が少しだけ上がります。やることは mount コマンドや umount コマンドを使うだけですが、UNIX の経験値が少ない方には「なにソレ？」的な操作なので、積極的にはおススメしません。

## 方法5: インターネットから wget でダウンロードするのもありです

PAServer のダウンロードURLは前述の DocWiki のドキュメントに記載されていますので、これを Linux 側のシェルから wget で直接ダウンロードしてもよいと思います。wget は Unix で標準的に用いられるダウンローダです。

ただし、Delphi / RAD Studio のインストール後にホットフィックスを適用していて、そのホットフィックスに PAServer が含まれている場合は、それらに添付のものをご使用ください。Delphi / RAD Studio の IDE が要求する PAServer のバージョンと実際に稼働する PAServer のバージョンが異なる場合は IDE 側から正しく連携できません。

実際の実行例はこちらです。

![copy_paserver_from_internet.gif](https://qiita-image-store.s3.amazonaws.com/0/149350/1627c658-8431-2586-0a72-476254050d41.gif)

実行例ではURLをわざわざ手打ちしてますけど、普通はコピペしてください。