AWSでABAP(SAP Netweaver)環境を構築する方法

# 概要
AWS EC2にUbuntuのサーバーを立ててSAP Netweaverをインストールし、ローカルのSAPGUIから接続する方法

# 環境構成
* EC2
 * OS:Ubuntu Server 18.04
 * インスタンスタイプ:t2.learge
 * ストレージ:120GB
 * アプリケーション:SAP Netweaver AS ABAP Developer Edition 7.52 SP01
* ローカル
 * OS:macOS High Sierra
 * メモリ：4GB
 * ストレージの空き容量:30GBくらい
 * アプリケーション:SAP GUI for JAVA 7.50 rev1

# 詳細手順
要するに、下記のリンク(おそらくこれが公式)で解説された手順を、AWSのEC2で立てたインスタンスで実施します。

[SAP AS ABAP 7.51 SP2 – Developer Edition to Download: Concise Installation Guide](https://blogs.sap.com/2017/09/04/sap-as-abap-7.51-sp2-developer-edition-to-download-concise-installation-guide/ "SAP AS ABAP 7.51 SP2 – Developer Edition to Download: Concise Installation Guide")


手順は以下の通り
1: AWSの初期設定
2: P-UserID作成
3: SAP GUIのダウンロード・インストール
4: AWSでLinuxのインスタンス_Ubuntuを立てる
5: MACからSSHで接続
6: 各種設定
7: リモデする
8: ブラウザ経由でNetweaverのインストーラーをダウンロード
9: Netweaverのインストーラーを解凍
10:nanoのインストール
11: host名などの設定
12:ライブラリのインストール
13:Netweaverをインストール
14:Port番号を開ける
15:SAP GUIの設定
16:ログイン→ライセンスのインポート
17:ログインし直し→SE38実行

## 1: AWSの初期設定

アカウントを作ったりクレジットカードの登録をしたりします。
あとセキュリティの設定とか。
https://qiita.com/tmknom/items/303db2d1d928db720888

AWSはアカウントが乗っ取られると大変なことになるみたいです。
https://qiita.com/mochizukikotaro/items/a0e98ff0063a77e7b694

## 2: P-UserID作成
P-UserIDはNetweaverのインストーラーをDLする時に使います。
あらかじめ先に作ってきます。
https://www.sap.com/community.html
↓のRegisterからメールアドレスなどを登録します。
![P-UserID作成.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378457/b56c803e-20d6-6be1-e0e8-134e4aea839e.png)


## 3: SAP GUIのダウンロード・インストール
何らかの方法でGUIが手に入るなら。この方法でなくても良いと思います。

SAP Netweaverのインストーラーをダウンロードします。Netweaver自体をローカルにインストールするのではなく、中に入っているGUIをインストールします。

公式からもたどれますが、ここからDLします。
https://www.sap.com/developer/trials-downloads/additional-downloads/sap-netweaver-as-abap-developer-edition-sp01-7-52-15510.html

Part1から10まで全部DLします。(結構重いので時間かかります。)
ファイル「TD752SP01.part01.rar」
を指定して解凍すると、全部解凍されます。

なおこの段階でやらなくても、9:まで進めてしまった後にUbuntuの側からSAP GUIのインストーラーだけローカルに持ってきても良いと思います。

GUIのインストールについては、下記を参照
https://matsukawar.hatenablog.com/entry/2019/05/06/172154#SAP-GUI-for-JAVA

## 4: AWSでLinuxのインスタンス_Ubuntuを立てる
EC2で下記のインスタンスを立てます。

* Ubuntu Server 18.04 LTS (HVM), SSD Volume Type - ami-09b68f5653871885f

  * 公式ではOpenSUSEだけど、日本語の情報が少ないためUbuntuを選択。Ubuntuのサブバージョンについては、正直よくわかりません(適当)

  * Ubuntuがサポートされていることは確認済み。
https://blogs.sap.com/2016/11/03/sap-nw-as-abap-750-sp02-developer-edition-to-download/

* インスタンスタイプ：t2.learge
  * 公式のハードウェア要件の　at least 4 GB RAM and about 8 GB swap spaceに対応
* ストレージ:120GB
  * 公式のハードウェア要件の　about 100 GB free disk space for the server installation に対応

完全にAWSの無料枠を超えているのでお金かかります。ご注意を。

## 5: MACからSSHで接続
SSH接続のやり方は下記を参考
https://dev.classmethod.jp/cloud/aws/first-login-to-ec2-linux/

著者はMacなので、ターミナルから接続しました。
デスクトップに鍵を置いている場合は、cdでデスクトップに移動して下記を実行
```$ chmod 400 ~/Desktop/[鍵のファイル名(拡張子含む)]
ssh -i ~/Desktop/[鍵のファイル名(拡張子含む)] ubuntu@[パブリックIP]
```
WindowsユーザーならTera Term や PuTTYでSSH接続します。

## 6: 各種設定

[SAP AS ABAP 7.51 SP2 – Developer Edition to Download: Concise Installation Guide](https://blogs.sap.com/2017/09/04/sap-as-abap-7.51-sp2-developer-edition-to-download-concise-installation-guide/ "SAP AS ABAP 7.51 SP2 – Developer Edition to Download: Concise Installation Guide")
に書いてある↓をやります。

>Additional software requirement

>The following software packages are required:
>* csh – Ubuntu and Debian require you to install csh before you start the ABAP installation
* libaio – SAP Sybase ASE requires the libaio library to start the installation
* uuidd  – SAP AS ABAP requires the OS to run uuidd service to ensure the uniqueness of GUIDs. For more information – eg on why this is extremely important – please see >archive thread 3379688: Is it mandatory to have uuidd for SAP installation


打つコマンドは下記を参照。
https://eprs.online/2018/09/18/installing-as-abap-752-sp01-with-ubuntu-18-04-1-lts/?print=print#install-ubuntu

下記のコマンドだけはなぜか通らなかったですが、先に進めたので特に問題ないと思います。

```
sudo update-locale LANG=”en_US.UTF-8
```

## 7: リモデする
リモートデスクトップします。
リモデする理由は、Ubuntuの側からブラウザ経由でNetweaverのインストーラーを落としてくるためです。
（「3: SAP GUIのダウンロード・インストール」でローカルにインストーラーファイルを落とした場合、そいつらをローカルからUbutuにアップできるなら必要ないかも。。）

方法は下記を参照。
https://qiita.com/yonell/items/cb1a735bed2d7b9c6b45

デスクトップは、Xfceを使いました。

成功したらこんな感じです。
![成功したらこんな感じです。.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378457/225f483b-ecc3-2d2d-b246-e21aa4afe78e.png)

ちなみに、EC2を再起動したら都度下記のコマンドを実行しないとリモデできません。
```
tightvncserver
```

## 8: ブラウザ経由でNetweaverのインストーラーをダウンロード
FireFoxをインストールします。
下記のリンク参照。
https://lookbackmargin.home.blog/2017/11/15/52196065/

下記のダウンロードページ(3でアクセスしたのと同じ)にたどり着きます。
https://www.sap.com/developer/trials-downloads/additional-downloads/sap-netweaver-as-abap-developer-edition-sp01-7-52-15510.html
![下記の公式のページにたどり着きます.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378457/b59267f4-6f94-d49c-3b87-7debb06af5cb.png)

こんな感じで、ファイル「TD752SP01.part01」から「TD752SP01.part10」まで、粛々とダウンロードします。
![粛々とダウンロードします。.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378457/4ffde873-0fcc-d6e1-15fd-07aab3f2e261.png)

特にダウンロード先を指定しなければ、下記のディレクトリにファイルがダウンロードされます。
/home/ubuntu/Downloads

## 9: Netweaverのインストーラーを解凍
rarファイルはデフォルトでは解凍できないそうなので、「unrar」ってのをインストールします。
https://zaka-think.com/linux/ubuntu/ubuntu-で「-rar」を解凍する方法/

unrarの使い方は以下を参照。
https://yatta47.hateblo.jp/entry/2019/03/04/060000

↓こんな感じで解凍しました。
```unrar x TD752SP01.part01.rar
```

解凍したら、こんな感じです。
![解凍したら、こんな感じです。.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378457/d145f38e-8c9a-e3cb-f3a5-a8b3da6a2f39.png)


## 10: nanoのインストール
Ubuntuで使うエディタをインストールします。
著者は「nano」というエディタを選びました。
http://dotnsf.blog.jp/archives/1066662653.html

## 11: host名などの設定

↓のリンクのSystem Configurationをやります。
https://eprs.online/2018/09/18/installing-as-abap-752-sp01-with-ubuntu-18-04-1-lts/?print=print#install-ubuntu

コマンドのgeditはnanoに読み替えてください。

> System Configuration

> * Start UUIDD Service
    * sudo service uuidd start
* Update Hostname
    * sudo gedit /etc/hostname
* Check the IP Address
    * sudo ip addr show
* Update Hosts sudo gedit /etc/hosts
* Restart System after changes and validate the changes
    * sudo reboot
* Check Hosts and Hostname
    * sudo cat /etc/hosts
>     * sudo cat /etc/hostname

入力するIPアドレスは、EC2のプライベートIPを指定します。

* 注意

上記リンクではUpdate Hosts sudo gedit /etc/hostsの設定が

```
[IPアドレス] vhcalnplci vhcalnplci.dummy.nodomai
```

となってますが、正しくは、

```
[IPアドレス] vhcalnplci.dummy.nodomain vhcalnplci
```

です。
下記の通りになっていれば正解です。

```
ubuntu@vhcalnplci:~$ hostname -f
vhcalnplci.dummy.nodomain
ubuntu@vhcalnplci:~$ hostname -s
vhcalnplci
ubuntu@vhcalnplci:~$ hostname
vhcalnplci
```

## 12:ライブラリのインストール
下記のライブラリをインストールします。

```
ubuntu@vhcalnplci:~$ sudo apt install libc6
```


## 13: Netweaverをインストール
https://eprs.online/2018/09/18/installing-as-abap-752-sp01-with-ubuntu-18-04-1-lts/?print=print#install-ubuntu

上記リンクに出ている下記の操作をします。

* 注意
結構な時間がかかります。
私は2時間くらいでした。

> Install AS ABAP and Post-Installation Settings

> * Open Terminal
* Go To Root User environment
    * sudo -i
* Navigate to folder having AS ABAP Installation Content e.g.
    * cd /media/sf_<shared-folder>
        * if content is further deep then navigate to that folder
Further please refer SAP Guide for the installation, from Section D Page 10 onward ( > Install the AS ABAP Server )

コマンドは以下の通り

```
ubuntu@vhcalnplci:~$ sudo -i
root@vhcalnplci:~# cd /home/ubuntu/Downloads
root@vhcalnplci:/home/ubuntu/Downloads# chmod +x install.sh
root@vhcalnplci:/home/ubuntu/Downloads# ./install.sh
```

以下のような結果になりました。

```
-------------------------------------------
Waiting for cleanup of resources
..
stopping database NPL ...
stop database completed successfully
Checking syb Database
Database is not available via R3trans
-------------------------------------------
Checking syb Database
Database is not available via R3trans
-------------------------------------------
starting database NPL ...
Log file: /sybase/NPL/startdb.log
parse level 0: identified message 'Database 'master' is now online.'
parse level 1: identified message 'Database 'tempdb' is now online.'
parse level 2: identified message 'Database 'sybsystemprocs' is now online.'
parse level 3: identified message 'Recovery complete.'
Recovery Complete
startdb completed successfully
Starting Startup Agent sapstartsrv
OK
Instance Service on host vhcalnplci started
starting SAP Instance ASCS01
Startup-Log is written to /home/npladm/startsap_ASCS01.log
-------------------------------------------
/usr/sap/NPL/ASCS01/exe/sapcontrol -prot NI_HTTP -nr 01 -function Start
Instance on host vhcalnplci started
Starting Startup Agent sapstartsrv
OK
Instance Service on host vhcalnplci started
-------------------------------------------
starting SAP Instance D00
Startup-Log is written to /home/npladm/startsap_D00.log
-------------------------------------------
/usr/sap/NPL/D00/exe/sapcontrol -prot NI_HTTP -nr 00 -function Start
Instance on host vhcalnplci started
Installation of NPL successful
```

最後にInstallation of NPL successfulと出ていれば成功っぽいです。

インストールが完了したら、下記リンクを参考にAS ABAPのサービスを開始します。

https://matsukawar.hatenablog.com/entry/2019/05/06/172154#ハードウェアキーの取得

## 14:Port番号を開く
AWSのコンソールを開きます。
EC2にひもづくセキュリティグループ＞アクション＞インバウンドのルールの編集
下記の通り80, 443, 3300, 3200のポート番号を開けます

![ポート番号.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378457/b4b19fa4-ff8c-b1d6-8309-90a156c2b9ff.png)

下記のリンクを参考にしました。
[SAP AS ABAP 7.51 SP2 – Developer Edition to Download: Concise Installation Guide](https://blogs.sap.com/2017/09/04/sap-as-abap-7.51-sp2-developer-edition-to-download-concise-installation-guide/ "SAP AS ABAP 7.51 SP2 – Developer Edition to Download: Concise Installation Guide")


## 15:SAP GUIの設定
↓こちらのリンクを参考に設定します
https://matsukawar.hatenablog.com/entry/2019/05/06/172154#SAP-GUI-for-JAVA

↓ここは、EC2のパブリックIPを指定します
conn=/H/[パブリックIP]/S/3200

## 16:ログイン→ライセンスのインポート
ハードウェアキーの取得、ライセンスファイルの取得、ライセンスファイルの適用を行います。

下記リンクを参考。
https://matsukawar.hatenablog.com/entry/2019/05/06/172154#SAP-GUI-for-JAVA

ログイン情報は、上記リンクとちょっと違ってたみたいなので、下記の情報でログインしました。
Client:000
User:SAP*
PW:Down1oad
Language:EN

ライセンスをインポートする前に既存のライセンスを削除しておく必要があるので注意

## 17:ログインし直し→SE38実行
下記の情報でログインします。
Client:001
User:DEVELOPER
PW:Down1oad
Language:EN

TRCD:se38でABAPエディタに移動します。
こんな感じで、プログラムの実装ができました！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378457/b0b968fc-da24-3397-7f07-36cae823ba20.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378457/b421a421-feb2-8711-cbdc-804b7d837f8f.png)


# 参考
[SAP AS ABAP 7.51 SP2 – Developer Edition to Download: Concise Installation Guide](https://blogs.sap.com/2017/09/04/sap-as-abap-7.51-sp2-developer-edition-to-download-concise-installation-guide/ "SAP AS ABAP 7.51 SP2 – Developer Edition to Download: Concise Installation Guide")

[Newbies Guide: Installing AS ABAP 7.52 SP01 dev edition on Virtual Box and Linux](https://www.sap.com/documents/2018/09/92ffae89-1c7d-0010-87a3-c30de2ffd8ff.html "Newbies Guide: Installing AS ABAP 7.52 SP01 dev edition on Virtual Box and Linux")