【SAP】NW AS ABAP Developer Editionで開発環境を作る(1)
はじめに
個人でABAPを書いたりCDSビューを作ったりする環境、みなさんはどうしていますか?私は現在、とあるABAP環境をサブスクしています。当然ながら毎月料金がかかるので、自分だけの環境があればいいなと思っていました。
そんなとき、こんな動画に出会いました。
SAP ABAP Trial in Docker | Windows Setup Guide [Tutorial]
Docker環境があったのでやってみることにしました。動画も10分弱と短く、手軽に始められそうです。
NW AS ABAP Developer Editionとは?
ASEというデータベース(HANAではない!)で稼働するABAPアプリケーションサーバで、ABAP開発ツール、Fiori Launchpad、Cloud Connector、ロール、サンプルアプリケーションなどが使用できるということです。
参考:AS ABAP 752 SP04, developer edition: NOW AVAILABLE
やったこと
せっかくなので、トライアル環境でどこまでできるか色々と試してみました。
- NW AS ABAP Developer Editionをインストール(今回の記事)
- Cloud Connectorの設定、Cloud PlatformのDestinationに登録
- Cloud Platformで開発したアプリをデプロイ
- Fiori Launchpadでアプリを開く
- abapGitをインストール
NW AS ABAP Developer Editionをインストール
環境
動画では、DockerがインストールされたWindows端末を使って説明していました。
私が使用した環境はAWSのEC2上のUbuntu(18.04)です。WindowsでもLinuxでも手順に変わりはありません。
ハードウェア要件
こちらのブログにハードウェア要件が記載されています。100 GB free disk spaceというのが鬼門で、EC2のインスタンスにボリュームを追加せざるを得ませんでした。
- x86_64 processor based hardware
- at least 4 GB RAM and about 8 GB swap space
- about 100 GB free disk space for the server installation
- about 2 GB free disk space for the client installation
インストールの流れ
手順については動画とGitHubを見れば大体わかります。ただ、動画になかった超ベーシックなところで迷ったので、そこを中心に記載します(ステップ1~2)。あとは動画を見ながら手を動かせばスムーズにいくと思います。(繰り返しですがディスク容量には余裕をもって!)
1. Gitリポジトリをクローン
任意のフォルダを作成し、Gitリポジトリをクローンします。リポジトリにはNW AS ABAPをインストールするためのDockerfileなどが入っています。
2. SAP NetWeaver AS ABAP Developer Editionのインストーラをダウンロード
こちらからSAP NetWeaver AS ABAP Developer Edition 7.52 SP04のrarファイルをダウンロードします。SAP ABAP AS Part1~Part11まで、全てです。結構時間がかかりますので、気長に待ちます。
ダウンロードしたら、7-zipなどを使ってPart1のファイルを解凍します。すると、すべてのファイルが格納され以下のような状態になります。
1.でクローンしたフォルダの中にsapdownloadsというフォルダを新たに作成し、解凍されたものを格納します。
3. Dockerイメージを作成する
カレントディレクトリを1. でクローンしたフォルダに移動し、以下のコマンドを入力します。
docker build -t nwabap:7.52 .
※ディスクの容量が足りないとイメージを作成しているときにエラーが出ます。
4. vm.max_map_countの値を増やす
このパラメータは大きなデータベースを扱うためのパラメータだそうです。
sysctl -w vm.max_map_count=1000000
以下のコマンドでvm.max_map_countが増えたことを確認します。
sysctl vm.max_map_count
4. Dockerコンテナを起動する
docker run -p 8000:8000 -p 44300:44300 -p 3300:3300 -p 3200:3200 -h vhcalnplci --name nwabap752 -it nwabap:7.52 /bin/bash
上記のコマンドを実行すると、コンテナの中に入った状態になります。
ポートについて
NW AS ABAPは4つのポートを公開します。Dockerfileを見たところCloud Connector用のポート8443というのもあるらしく、もし公開していればCloud Connectorをそのまま使えたのかもしれません。(別の記事で書きますが、今回Cloud Connectorは別コンテナにインストールしました)
ポート | 用途 |
---|---|
8000 | HTTP |
44300 | HTTPS |
3300 | ABAP in Eclipse |
3200 | SAP GUI |
5. NetWeaver AS ABAPをインストール
以下のコマンドでインストールを開始します。
/usr/sbin/uuidd
./install.sh
ライセンス契約に同意するか聞かれるので、"yes"と入力します。
途中でパスワードを設定するよう求められるので、8桁以上のパスワードを入力します。ただ実際にログインに使うのはDown1oadというパスワードなので、ここで設定したパスワードが何に使われるのかは不明です。
インストールは結構時間がかかりますので、気長に待ちます。
インストールが完了すると以下のメッセージが出ます。
6. サーバを起動
以下のコマンドでサーバを起動します。
su npladm
startsap ALL
Instance on host vhcalnplci started
というメッセージが出ればOKです。
GUI、ADTと接続
GUIと接続
インストールが完了したら、GUIとつなぎます。GUIのインストーラはsapdownloads/client/SAPGUI4Windowsに入っています(Windowsの場合)。私はNetWeaverはUbuntuにインストールしましたが、WindowsPCのGUIから接続して使っています。
ADTと接続
ADTの設定方法については、以下のブログに記載しています。
【ABAP】ABAP Development Tools (ADT) をインストールする方法
インストール後の作業
SAP NetWeaverのライセンスキーを取得してインポートする必要があります。この作業はGUIにログインして行います。手順については、GitHubのImportant Post Installation Stepsをご参照ください。
サーバの停止と再起動
停止
stopsap ALL --サーバを停止
exit --npladmを抜ける
exit --Dockerコンテナを停止
再起動
docker container start nwabap752 --Dockerコンテナを起動
docker container attach nwabap752 --コンテナの中に入る
/usr/sbin/uuidd --何らかのシェル
su npladm --npladmにユーザを変更
startsap ALL --サーバを起動
起動・停止用のシェル
毎回上記のコマンドを打つのは大変なので、シェルを作りました。(エラーハンドリング等は考慮していません。あしからず)
#!/bin/bash
start_sap(){
#start container
sudo docker container start nwabap752
#start sap
sudo docker exec -it nwabap752 /usr/sbin/uuidd
sudo docker exec -it nwabap752 su - npladm -c "startsap ALL"
}
stop_sap(){
#stop sap
sudo docker exec -it nwabap752 su - npladm -c "stopsap ALL"
#stop container
sudo docker container stop nwabap752
}
動かすときはシェルを置いたディレクトリに移動して、以下のコマンドを実行します。
. managesap
start_sap --sapを起動
stop_sap --sapを停止
ここまででできたこと
- 自分専用のNW AS ABAPサーバが手に入りました。
- GUI、ADTからアクセスしてABAP開発などを行うことができます。
参考
Author And Source
この問題について(【SAP】NW AS ABAP Developer Editionで開発環境を作る(1)), 我々は、より多くの情報をここで見つけました https://qiita.com/tami/items/031c8c8e12e24b467e75著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .