Search
Duplicate
😇

SAP ABAP 무료 개발 서버 셋팅하기

맥북M1 에어 16으로 진행하다가 너무 느려터져서 진행이 불가..
설치만 4시간 잡아먹어서 겨우 터미널 이제 겨우 검색하는데 터미널 단어 치는 과정에서 3분 소요…
이상하게 다른 개발할 때 잘 돌아가는 친구인데 VM 셋팅 이후 부터 엄청 느려짐.
결국 윈도우 본체로 넘어와서 다시 설치 시작.
맥북 소유자 중에서 맥북 프로 300만원 후반대 짱짱한 성능아니면 그냥 윈도우로 진행하는게 최선의 선택인듯..

기본 설치

1. 가상머신 설치를 위한

SAP 서버를 로컬 환경에서 실행하기 위해 가상 머신이 필요.
가상 머신은 독립된 운영 체제를 설치하고 실행할 수 있는 환경을 제공해서 실제 컴퓨터를 사용하는 것처럼 독립적으로 SAP 서버를 테스트하고 학습할 수 있도록 도와줌

2. SAP 설치

1~11까지 다 설치하고 11 밑의 라이센스도 같이 설치.
그리고 다 설치되면 1번 압축파일(SAP 설치 과정에서 필요한 모든 구성 요소가 압축)을 풀어주면 된다.
파일을 선택하면 이메일 등록하라고 하는데 구글 이메일 정도 하나 등록해서 진행해주면 된다.
SAP 시스템을 설치하고 사용할 수 있는 공식 설치 파일을 다운로드.
설치 파일들은 SAP 시스템의 모든 기능을 테스트하고 학습하는 데 사용.
SAP는 대기업에서 많이 사용하는 ERP 소프트웨어로, 다양한 비즈니스 프로세스를 관리

3. 파일 전송 및 디렉토리 관리 프로그램

가상 머신과 로컬 PC 간의 파일을 전송하고 관리하기 위해 사용
SAP 설치 중에 필요한 파일을 가상 머신으로 전송하거나, 설치 후 가상 머신의 디렉토리를 쉽게 탐색하고 관리.

4. 오픈수세 ISO파일 설치

오픈수세가 뭐야? 가상 머신에 설치할 운영 체제(OS)로 사용
SAP 서버는 Linux 기반에서 구동되므로, 오픈SUSE는 SAP 설치를 위한 Linux 배포판으로 추천
버전 15.3 이하의 안정적인 버전을 사용하는 것이 좋습니다
(15.4 이상은 호환성 문제로 인해 에러 발생 가능)
이렇게 3개 다운로드하기.

참고 가이드 매뉴얼

정리

VirtualBox: 가상 머신 소프트웨어로, 독립된 환경에서 SAP 서버를 실행할 수 있도록 도와줌.
SAP 설치 파일: SAP 시스템을 설치하고 학습할 수 있는 모든 필수 구성 요소를 포함.
WinSCP: 가상 머신과 로컬 컴퓨터 간의 파일 전송 및 디렉토리 관리를 용이하게 함.
오픈SUSE ISO 파일: SAP 서버 설치에 필요한 Linux 운영 체제를 제공.
이 모든 단계는 SAP 서버를 로컬 환경에서 설치하고 테스트하기 위한 준비 과정.

공유 폴더

아까 1~11번까지 다운받고 1번에서 풀어준 파일을
D드라이브에 sap 폴더를 만들어서 옮겨준다. (라이센스 폴더도 같이 포함해서)
그리고 Licenese/SYBASE_ASE_TestDriver 위치에 있는 해당 파일을 복사해서
server/TAR/x86_64 파일 하단에 붙여넣기
라이센스 꼭 옮겨줘야한다!!! 안그러면 후반에 설치할때 오류발생.

VM으로 설치 진행

VM을 이제 실행시켜서 새로 만들기 추가
이름은 원하는 이름으로 지어주고
폴더는 원하는 드라이브에 위치해준 다음에 ISO는 아까 설치해준 위치에서 선택해서
15.3 버전으로 설치 진행
하드웨어는 초록색 라인의 끝에 까지만 맞춰주고
(빨간색으로 넘어가면 과부하)
하드디스크는 100GB로 잡아준다(설치를 100GB만큼 하는게 아니라 저만큼 넉넉하게 사용하게다는 뜻)
실행하던 과정에 찍은거라 실행 중이라 뜨는중,,,
그러고 좌측에 만들어준 가상머신을 두번 클릭해서 접속
Installation 눌러줘서 진행
쭉쭉 Next 해서 진행해주면 된다
그러다가 Online Repositories 에서 Next 해주고
두번째 Desktop with GNOME로 선택
Expert Partitioner -> 첫번째 current setting
Sda2 누르고 Edit.. 버튼 클릭
Format -> Ex4 → Accept → Next
Ext4 파일 시스템으로 설정한 이유는 4GB 이상의 파일을 저장하고 관리하기 위해서.
기존의 파일 시스템(FAT32 등)은 4GB 이상의 파일을 저장할 수 없지만, Ext4는 그 제한이 없어서 SAP 서버를 설치하거나 사용할 때 필요한 큰 파일을 처리할 수 있다.
그래서 SAP 서버 설치를 위해 Ext4로 파일 시스템을 변경한 것.
Asia → Seoul 로 변경하고 Next
Username : vhcalnplci
Password : Down1oad
로 진행
Firwall will be → enabled로 변경 SSH Service will be → disabled로 변경
그러고 쭉 진행하고
OK누르면 자동으로 이 화면이 보이는데 Boot from Hard Disk 로 진행
Activities 클릭
terminal 검색해서 해당 아이콘 클릭
# 슈퍼유저(루트) 모드로 전환 sudo -i # 관리자 권한이 필요한 작업을 수행하기 위해 사용 # 슈퍼유저로 전환되면 시스템의 모든 파일과 설정을 변경할 수 있는 권한을 가짐. # 비밀번호를 입력하라는 메시지가 나오면 'Down1oad'라는 비밀번호를 입력 # 네트워크 인터페이스 설정 및 IP 주소 확인 ip addr # 시스템의 네트워크 인터페이스(예: 이더넷, 와이파이 등)와 각 인터페이스에 할당된 IP 주소를 출력 # 네트워크 문제를 해결하거나 IP 설정을 확인할 때 사용
Bash
복사
127.0.0.1 이랑 10.0.2.15 나오는지 확인
#해당 파일 수정 및 생성 nano /etc/hosts # 하고 나서 밑에 노랑줄 친거처럼 넣어주기 10.0.2.15 vhcalnplci.dummy.nodomain vhcalnplci #하고 ctrl+x 누르고 y하고 저장
Bash
복사
# 해당 파일 내용 출력용 cat /etc/hosts
Bash
복사
# 해당 파일 내용 수정 및 생성 nano /etc/hostname # vhcalnplci 를 넣어주고 ctrl + x 누르고 y 치고 나오기
Bash
복사
# 해당 파일 내용 출력용 cat /etc/hostname
Bash
복사
# 시스템을 재부팅 (시스템 설정이나 업데이트 후 변경 사항 적용을 위해) sudo reboot # 패키지 관리자 리포지토리의 데이터를 새로 고침하여 최신 패키지 목록으로 업데이트 zypper refresh # "y"를 눌러 계속할지 묻는 질문이 무한 루프에 빠지면, 터미널을 닫고 다시 열어 재시도 # 시스템의 모든 패키지를 최신 버전으로 업데이트 zypper update # 'uuidd' 패키지 설치 (SAP 서버가 필요로 하는 UUID 생성 데몬 설치) zypper in uuidd # 설치할 때 "y"를 눌러 설치를 승인 # 시스템에서 'uuidd' 서비스의 상태를 확인 (모든 서비스 목록에서 'uuidd'를 찾음) service --status-all | grep uuidd # 'tcsh' 쉘 설치 (SAP 설치 스크립트가 특정 쉘 환경을 필요로 할 수 있음) zypper install tcsh # 설치할 때 "y"를 눌러 설치를 승인 # 'libaio' 패키지 설치 여부 확인 (SAP가 요구하는 라이브러리의 설치 상태 확인) rpm -qa | grep libaio # 'libaio'와 'tcsh' 패키지 설치 (필요한 라이브러리 및 쉘 환경 설치) zypper in libaio tcsh
Bash
복사
설정 → 공유 폴더 → +아이콘 클릭
처음에 공유폴더 설정해준 위치로 폴더 경로를 잡고 폴더이름은 sap으로 지정해준다.
그리고 자동 마운트 체크
# /media 디렉토리로 이동 (SAP 설치 파일이 있는 디렉토리로 이동) cd /media # /media 디렉토리의 파일 및 디렉토리 목록 출력 ls # sf_sap 디렉토리로 이동 (SAP 설치 파일이 있는 공유 폴더로 이동) cd sf_sap # sf_sap 디렉토리의 파일 및 디렉토리 목록 상세 출력 (파일 권한, 소유자, 크기 등 확인) ls -l # install.sh 파일의 실행 권한 확인 후 실행 권한(x)이 없을 경우 추가 # uuidd 서비스의 상태 확인 (SAP 서버가 필요한 UUID 생성 데몬이 실행 중인지 확인) sudo systemctl status uuidd # uuidd 서비스를 시작 (UUID 생성 데몬을 시작하여 SAP 서버가 이를 사용할 수 있게 함) sudo systemctl start uuidd # uuidd 서비스 상태 다시 확인 (서비스가 정상적으로 실행 중인지 확인) sudo systemctl status uuidd # 만약 systemctl status 명령의 출력 상태 화면에서 나오고 싶으면 ctrl + c 키를 누르기 (종료 명령) # install.sh 파일에 실행 권한 추가 (설치 스크립트가 실행될 수 있도록 권한 부여) chmod +x install.sh
Bash
복사
추가 설명으로
# 리눅스에서 파일 권한을 나타내는 표기 # rwxrwx (소유자, 그룹, 기타 사용자에게 주어진 권한) # r--r-- (읽기 권한만 부여된 상태) # ------ (모든 사용자에게 권한이 없는 상태) # 권한의 의미: # r (read) : 읽기 권한 - 파일 내용을 읽을 수 있음 # w (write) : 쓰기 권한 - 파일 내용을 수정할 수 있음 # x (execute): 실행 권한 - 파일을 실행할 수 있음 (프로그램, 스크립트 등) # 예를 들어: # - rwxr-xr-- : 소유자는 읽기, 쓰기, 실행 권한을 가지고, # 그룹은 읽기, 실행 권한을 가지고, # 다른 사용자는 읽기 권한만 가지고 있다. # install.sh 파일의 실행 권한 확인 후 실행 권한(x)이 없을 경우 추가 chmod +x install.sh # 'install.sh'는 쉘 스크립트 파일로, 이를 실행하려면 실행 권한(x)이 필요. # 만약 파일에 실행 권한이 없다면 'chmod +x install.sh' 명령어를 사용하여 실행 권한을 추가. # 소유자에게 실행 권한을 부여. # SAP 서버가 필요로 하는 UUID 생성 데몬 'uuidd' 서비스의 상태 확인 sudo systemctl status uuidd # 'uuidd' 서비스는 SAP 서버가 작동하는 동안 고유 식별자(UUID)를 생성하는 데 필요. # 'uuidd' 서비스가 현재 실행 중인지(상태가 'active'인지) 확인. # 'uuidd' 서비스를 시작 (UUID 생성 데몬을 시작하여 SAP 서버가 이를 사용할 수 있게 함) sudo systemctl start uuidd # 'uuidd' 서비스가 실행 중이 아닌 경우, 이 명령어를 사용하여 서비스를 시작. # SAP 서버는 이 서비스를 필요로 하기 때문에 반드시 실행되어야 함. # 'uuidd' 서비스 상태 다시 확인 (서비스가 정상적으로 실행 중인지 확인) sudo systemctl status uuidd # 서비스를 시작한 후, 다시 한 번 'status' 명령어를 사용하여 'uuidd' 서비스가 정상적으로 실행 중인지 확인. # 서비스가 'active (running)' 상태인지 확인하여 SAP 서버가 UUID를 생성할 수 있도록 함. # 만약 'systemctl status' 명령의 출력 상태 화면에서 나가고 싶으면 'Ctrl + C' 키를 누르기 # 'systemctl status' 명령어는 서비스의 현재 상태를 표시하고 계속해서 상태를 모니터링. # 화면에서 나가려면 'Ctrl + C'를 눌러 명령을 종료다.
Bash
복사
#설치 ./install.sh
Bash
복사
이렇게 약관 화면이 나와야 한다.
약관이 안나온다면 라이센스 문제… 아래 사이트에서 라이센스 문제해결하기.
Q #누르고 yes Down1aod Down1aod #이렇게 순서대로 진행 설치하는데 10~20분 소요 #설치가 끝나면 밑에 successful 문구 노출
Bash
복사
그리고
#uuidd 서비스를 시작하는 명령 #uuidd는 UUID(Universally Unique Identifier)를 생성하는 데 사용되는 서비스 #SAP 서버가 정상적으로 작동하기 위해 필요 service uuidd start
Bash
복사
해서 데몬에 서비스를 올려주자. 이걸 안하면 로그인할때 uuidd 서비스가 안올라왔다고 에러난다.
sap 서버 실행
# SAP 서버를 시작하려면 SAP 시스템의 관리자 계정(npladm 또는 설치 시 지정한 계정)으로 전환 su - npladm #관리자 계정으로 전환한 후, SAP 서버를 시작하는 명령어 startsap
Bash
복사
설정 → 네트워크 → 포트 포워딩
네트워크 셋팅해준다

SAP GUI 설치

초반에 만든 공유폴더에 있는 해당 위치로 가서 SapGuiSetup설치
지금 나는 설치한 이후라서 next가 비활성화인데 체크하고 next 해서 설치해주면 된다
그러면 이제 컴퓨터 재실행 해달라하고 다시 키면 바탕화면에 아이콘 생김

SAP GUI 셋팅

우클릭 한 후에 새 엔트리 생성 클릭
종료 하고 로그온하면
나는 갑자기 이 오류 발생
connection to partner 127.0.0.1:3200 broken
해당 포트로 접속이 불가하다는건데.. 뭔가 빼먹은게 있나?…
그건 바로 sap 서버를 안켜줘서 그렇다..
#SAP 서버 상태 확인 ps -ef | grep sap #------------------------------------------------------------------------------------- # SAP 서버를 시작하려면 SAP 시스템의 관리자 계정(npladm 또는 설치 시 지정한 계정)으로 전환 su - npladm #관리자 계정으로 전환한 후, SAP 서버를 시작하는 명령어 startsap
Bash
복사
로그온하면 이 화면이 보여야함
user : DEVELOPER
password : Down1oad
하고 좌측의 초록체크 아이콘 클릭
DEVELOPER라는 사용자 계정으로 로그인하는 이유는 SAP 시스템 설치나 설정 과정에서 기본적으로 제공되는 개발자 계정. 보통 개발 환경에서 사용되며, 특정 개발 권한이 부여되어 있음.

라이센스 세팅

검색창에 slicense 치고
Active Hardware Key를 미리 복사해놔야한다
내꺼는 A0307380905
그리고 구글에 minisap치고 해당 사이트에 들어가서
NPL 노랑체크 부분을 체크해주고 하단에
하드웨어 키에 아까 그 키를 복사해서 넣어준다
밑에 동의해주고 Generate 해주고
그러면 NPL.txt 파일이 다운로드 됨
다시 install new license 아이콘 눌러서 아까 다운받은 NPL파일을 넣어주자
Allow 해주고 키가 성공적으로 설치됐다고 뜬다
초록 체크 아이콘 누르면
Installation Number 가 DEMOSYSTEM 으로 바뀌고 System Number 들어간 것을 확인

라이센스 재발급(갱신)

근데 3개월 지나면 키가 만료됐다고 뜨는데
slicense에서 두번째껄 눌러서 delete license 눌러서 삭제해주면 된다
그리고 다시 하드웨어키를 복사해서 위에 발급 과정을 똑같이해서 다시 넣어주고 하면 된다.

DB 라이센스 재발급(갱신) - 2년마다 갱신

WinSCP
비번은 Down1aod
네트워크에 22 추가해준게 이렇게 접속할려고 연거였다.
근데 반응이 없다..어랍쇼?…
고급 → 연결 → 서버 응답 제한 길이 늘려주기
응 안돼~
VM에 다시 돌아가서 터미널에
SSH 서비스 재시작:
가상 머신에서 SSH 서비스를 다시 시작
sudo systemctl restart sshd
Shell
복사
방화벽 확인 및 설정:
가상 머신의 방화벽이 SSH 트래픽을 차단하지 않도록 설정되어 있는지 확인
sudo firewall-cmd --permanent --add-port=22/tcp sudo firewall-cmd --reload
Shell
복사
다시 재접하니까 이렇게 뜸
수락해주고
와 이제 들어옴
해당 위치에 우리가 처음에 넣어준 라이센스 파일이 여기에 있다
파일을 더블클릭하면
2025년 3월 31일까지라고 나옴.
내년 3월에 그럼 교체해줘야한다.
그 11개 파일의 밑에 있던 라이센스 파일만 다운해서 다시 이 폴더에 이 파일에 붙여 넣어주면 된다.

SE80 들어가기

이렇게 들어가도 되고 상단 검색창에 se80 쳐도 된다
SAP 명령어 → 칠때 Sap GUI 좌측 초록색 옆에 검색창에 치면됨.
# 현재 프로그램이 실행 중일 때, 같은 프로그램을 새 창에서 다시 실행하도록 요청. # 동일한 SAP 프로그램을 두 개의 별도 창에서 동시에 열고 작업할 때 사용. #SAP 프로그램 SE80(개발 환경)을 실행 중인 상태에서 /ose80을 입력하면, 새 GUI 창이 열리고 동일한 SE80 프로그램이 실행됩니다. /ose80 # 현재 실행 중인 프로그램을 종료하고 동일한 프로그램을 다시 실행. # 프로그램을 종료하고, 재시작하여 새로 고침을 할 때 유용. # SE80 프로그램에서 작업 중 문제가 발생하거나 새로 고침이 필요한 경우, 명령어 /nse80을 입력하여 프로그램을 종료하고 다시 실행. /nse80 # SAP의 ABAP 개발 환경 프로그램을 실행. 프로그램 코드 작성, 수정, 디버깅 등의 작업을 수행할 수 있는 곳. # ABAP 개발자들이 코드 작성 및 유지보수를 할 때 사용. # 홈 화면에서 se80 프로그램을 엑시트하거나, "New GUI Window" 버튼을 눌러 새로운 SAP GUI 창을 열고 새로 시작할 수 있다. # 이 명령어들은 SAP GUI에서 작업할 때 프로그램을 효과적으로 관리하고, 여러 창을 활용하여 동시에 작업할 수 있도록 도와준다. se80
Bash
복사
Repository Browser → Local Objects → DEVELPOER 자동 선택되고 enter 하면
하단에 Programs 우클릭 create 눌러주면
이름은 ZTEST나 YTEST로 진행
시작은 무조건 Z나 Y로 해주기. 왜냐면 기존의 파일명 안겹치게 하기 위함.
그대로 save
save
이렇게 파일이 생성된다
write 'hello world'.
ABAP
복사
치고 마술봉으로 된 activite 활성화 버튼 클릭

서버 끄기 & 서버 키기

서버를 항상 끌 때

항상 시스템 전원 끄기로 닫기.
상태 저장하기 하면 가끔 오류 발생

서버 킬 때

항상 이렇게 3개는 해줘야 한다
sudo -i #service uuidd start su npladm startsap all
Bash
복사

예외) 자주쓰는 리눅스 명령어

# 현재 디렉토리의 내용을 리스트 형태로 출력 ls # -l 옵션: 상세 정보(권한, 소유자, 크기, 수정 날짜 등)와 함께 목록 출력 # -a 옵션: 숨김 파일(점(.)으로 시작하는 파일 포함)까지 모두 출력 # 디렉토리 이동 cd [디렉토리명] # 예: cd /usr/sap (지정한 디렉토리로 이동) # cd .. (상위 디렉토리로 이동) # cd ~ (홈 디렉토리로 이동) # 현재 작업 중인 디렉토리의 전체 경로 출력 pwd # Print Working Directory (현재 디렉토리 경로 표시) # 새 디렉토리 생성 mkdir [디렉토리명] # 예: mkdir sap_files (새 디렉토리 생성) # 파일 복사 cp [원본파일] [대상파일] # 예: cp file1.txt /home/user/backup/ (파일을 지정한 경로로 복사) # -r 옵션: 디렉토리 복사 (재귀적 복사) # 파일 이동 또는 이름 변경 mv [원본파일] [대상파일] # 예: mv oldname.txt newname.txt (파일 이름 변경 또는 이동) # 파일 삭제 rm [파일명] # 예: rm oldfile.txt (파일 삭제) # -r 옵션: 디렉토리 및 하위 파일/디렉토리 재귀적 삭제 # -f 옵션: 강제 삭제 (삭제 확인을 건너뜀) # 파일 또는 디렉토리 권한 변경 chmod [옵션] [파일명] # 예: chmod +x install.sh (파일에 실행 권한 추가) # +x: 실행 권한 추가 # -x: 실행 권한 제거 # 755: 소유자는 모든 권한, 그룹 및 다른 사용자는 읽기 및 실행 권한 # 현재 사용자 계정으로 관리자 권한 명령 실행 sudo [명령어] # 예: sudo systemctl start sshd (관리자 권한으로 명령어 실행) # 사용자 전환 명령어 su [사용자명] # 예: su npladm (npladm 사용자로 전환) # sudo -i: 슈퍼유저(루트) 모드로 전환, 관리자 권한으로 시스템 작업 수행 # 파일의 처음 10줄을 출력 head [파일명] # 예: head -n 20 example.txt (파일의 처음 20줄 출력) # -n 옵션: 출력할 줄 수 지정 # 파일의 마지막 10줄을 출력 tail [파일명] # 예: tail -n 50 example.log (파일의 마지막 50줄 출력) # -n 옵션: 출력할 줄 수 지정 # 서비스 상태 확인 및 제어 (systemd 서비스 관리) sudo systemctl status [서비스명] # 예: sudo systemctl status sshd (서비스 상태 확인) # start: 서비스 시작 # stop: 서비스 중지 # restart: 서비스 재시작 # enable: 부팅 시 서비스 자동 시작 설정 # 네트워크 설정 또는 방화벽 설정을 위한 명령 sudo firewall-cmd --list-all # 방화벽의 현재 설정을 확인 sudo firewall-cmd --permanent --add-port=[포트]/tcp # 예: sudo firewall-cmd --permanent --add-port=22/tcp (특정 포트를 영구적으로 허용) sudo firewall-cmd --reload # 방화벽 설정을 새로 고침 # 시스템 정보나 리눅스 배포판 정보 확인 uname -a # 모든 시스템 정보 출력 lsb_release -a # 리눅스 배포판의 정보 출력 # 프로세스 목록 확인 ps -ef # 실행 중인 모든 프로세스를 상세하게 출력 # | grep [프로세스명]: 특정 프로세스만 필터링하여 검색 # 특정 패키지 설치 (오픈수세 리눅스 zypper 패키지 관리 도구 사용) zypper in [패키지명] # 예: zypper in uuidd (특정 패키지 설치) # 설치할 때 "y"를 눌러 설치를 승인 # 시스템 업데이트 zypper refresh # 리포지토리 정보 새로고침 zypper update # 시스템의 모든 패키지 업데이트 # 파일 찾기 find [경로] -name [파일명] # 예: find / -name "example.txt" (특정 파일을 지정한 경로에서 검색) # 실시간 시스템 자원 사용량 확인 top # CPU, 메모리 사용량을 실시간으로 모니터링 # 압축 파일 생성 및 해제 tar -cvf [압축파일명.tar] [대상파일] # 예: tar -cvf backup.tar /home/user/files/ (파일들을 tar 아카이브로 압축) # -c: 압축 생성, -v: 진행 상황 표시, -f: 파일 이름 지정 tar -xvf [압축파일명.tar] # 압축 해제 (-x 옵션) # 리눅스 시스템 재부팅 sudo reboot # 시스템을 즉시 재부팅 # 쉘 스크립트 실행 ./[파일명] # 예: ./install.sh (쉘 스크립트를 실행하기 위해 사용) # 모든 서비스 상태 확인 및 특정 서비스 검색 service --status-all | grep [검색문자열] # 예: service --status-all | grep uuidd (모든 서비스 중 'uuidd'를 검색하여 상태 출력) # 설치된 패키지 목록에서 특정 문자열 검색 rpm -qa | grep [검색문자열] # 예: rpm -qa | grep libaio (설치된 패키지 목록에서 'libaio' 관련 패키지만 검색) # systemctl 상태 화면에서 빠져나가기 # 'Ctrl + C' 키를 눌러 나간다.
Bash
복사