102_tokyo.png

 

RAD 스튜디오 10.2 도쿄(이하 10.2 도쿄) 버전에서 리눅스 지원을 제공합니다.(현재 델파이 지원, 업데이트에서 C++빌더 지원 예상)

10.2 도쿄 버전에서는 서버 사이드 리눅스 애플리케이션 개발에 집중합니다. 따라서 UI가 없는 프로젝트. 즉, 콘솔과 서버 계열 프로젝트(WebBroker, DataSnap, RAD 서버 등) 프로젝트를 개발할 수 있습니다.

 

이 글에서는 RAD 스튜디오에서 리눅스 개발을 위한 환경설정과 개발 절차를 소개합니다.

리눅스 지원에 대한 자세한 내용은 아래 링크를 통해 확인할 수 있습니다.

 - http://tech.devgear.co.kr/431377

리눅스 개발환경 설정

리눅스 개발환경 설정은 아래 순서로 진행합니다.

1, 리눅스 OS 설치

2, RAD 스튜디오 설치

3, 리눅스 머신에 PAServer 설치 및 실행

4, RAD 스튜디오에서 PAServer 연결 설정

5, RAD 스튜디오에서 리눅스 SDK 설정

6, 테스트 코드 작성 및 실행

 

리눅스 OS 설치

공식 지원 리눅스 버전

RAD 스튜디오가 공식 지원하는 리눅스 버전은 아래와 같습니다.

  • Ubuntu Server(Ubuntu LTS version 16.04) - 우분투 서버
  • RedHat enterprise Linux (version 7) - 레드햇/페도라 계열 리눅스

하지만, 대부분의 배포판에서 작동할 것으로 예상됩니다.

 

리눅스 설치

(이미 위 버전의 리눅스가 준비되어있다면 이 단계를 건너 띄어도 됩니다.)

 

별도의 머신 또는 가상머신에 리눅스 OS를 설치합니다.

  • 우분투 서버 다운로드 : https://www.ubuntu.com/download/server
  • 레드햇/페도라 리눅스 다운로드 : https://getfedora.org/en/server/download/

아마존 EC2를 통해 리눅스 개발환경을 설정할 수 있습니다.(프리티어 12개월 무료)

 

다음 링크에서 무료 가상머신(Virtual Box)과 리눅스 OS 설치 과정을 소개합니다.

 

리눅스 소프트웨어 업데이트 - 우분투

설치가 완료되면 시스템 업데이트를 합니다. 

다음 명령어를 실행합니다.(참고: sudo 명령어를 사용하는 경우 관리자 비밀번호를 1회 입력해야 합니다.)

설치파일 용량이 큰 경우 설치 여부를 묻습니다. 'Y' 입력 후 엔터키를 누릅니다.

sudo apt-get update

sudo apt-get upgrade

sudo apt-get dist-upgrade

 

개발에 필요한 몇가지 패키지를 설치합니다.

sudo apt-get install joe wget p7zip-full curl

sudo apt-get install openssh-server

sudo apt-get install build-essential

sudo apt-get install zlib1g-dev

sudo apt-get install libcurl4-gnutls-dev

 

마지막으로 약간의 정리를 합니다.

sudo apt-get autoremove

sudo apt-get autoclean

 

리눅스 소프트웨어 업데이트 - 레드햇/페도라

시스템 소프트웨어를 .업데이트 합니다.

sudo yum update

 

RAD 스튜디오 설치

설치파일 다운로드

(정식 사용자의 경우)

RAD 스튜디오 10.2 도쿄 버전을 설치합니다.

 

(정식 사용자가 아닌 경우)

리눅스 지원 기술검토가 필요한 경우 트라이얼 버전을 다운로드 받아 설치하시기 바랍니다.

 - RAD 스튜디오 트라이얼 다운로드 : http://devgear.co.kr/products/rad-studio/ (하단 무료 평가판 참조)

 

RAD 스튜디오 설치

설치 안내에 따라 설치합니다. 플랫폼 선택 시 Delphi Linux 64-bit Enterprise 항목을 선택합니다.

003.png

 

 

만약, 이미 설치했고 Delphi Linux 64-bit Enterprise 항목을 선택하지 않았다면, 

RAD 스튜디오 IDE 메인메뉴에서 "Tools > Manage Platforms..." 항목을 선택 해 항목을 추가선택 후 설치할 수 있습니다.

 

리눅스 머신에 PAServer 설치 및 실행

PAServer(Platform Assistant Server)는 RAD 스튜디오가 생성한 리눅스 실행파일을 리눅스 플랫폼에서 실행하고, 디버깅할 수 있도록 지원하는 소프트웨어입니다. RAD 스튜디오와 PAServer는 원격으로 연결되어 실행파일 전달 및 디버깅 정보를 주고 받아 윈도우 환경의 IDE에서 리눅스 실행파일을 구동하고 디버깅할 수 있도록 지원합니다.

 

리눅스에 PAServer 설치

1) PAServer 설치파일 복사

리눅스 PAServer 설치파일은 RAD 스튜디오 설치경로 하위의 PAServer 디렉토리에 제공합니다.

paserver_dir.png

 

LinuxPAServer19.0.tar.gz 파일을 리눅스 시스템으로 복사합니다.(USB 또는 FTP 등을 이용합니다.)

 

 

2) 압축해제

터미널을 열고, LinuxPAServer19.0.tar파일이 복사된 경로로 이동합니다.

다음 명령어로 압축을 해제합니다.

tar –xvf LinuxPAServer19.0.tar.gz

 

아래와 같이 압축해제 됩니다.

tar_paserver.png

 

 

3) PAServer 실행

PAServer 설치 경로로 이동 후 paserver를 실행합니다.

run_paserver.png

 

비밀번호를 묻습니다. 임의의 비밀번호를 입력 후 엔터를 누릅니다.(RAD 스튜디오에서 연결 시 해당 비밀번호가 필요합니다.)

 

RAD 스튜디오에서 PAServer 연결 설정

PAServer IP/포트번호 확인

RAD 스튜디오와 PAServer 연결하기 위해서는 PAServer의 IP와 포트번호, 비밀번호가 필요합니다.

위에서 실행한 PAServer 대화창에서 "i" 입력 후 엔터키를 눌러 IP 주소를 확인합니다.

(또는 서버의 Public IP를 사용해도 됩니다.)

포트번호는 아래 그림과 같이 표시됩니다. 기본포트번호는 "64211"입니다.

paserver_ip.png

 

 

만약, 아마존 EC2와 같은 외부 리눅스 서버와 연결할 경우 외부 리눅스 서버의 공인 IP(Public IP)를 이용해 다음 단계를 진행하시기 바랍니다.

(PAServer의 "i" 커맨드는 내부 ip 주소를 제공합니다.)

 

RAD 스튜디오에서 PAServer 연결

RAD 서버에서 Connection Profile Manager 옵션을 실행합니다.(Tools > Options > Connection Profile Manager)

connection_profile.png

 

Add 버튼을 누르고, "Profile name" 항목에 접속정보의 명칭을 입력하고 Next >> 버튼을 누릅니다.

 

connection_profile_2.png

 

Remote machine 항목에 PAServer의 IP를 입력합니다.

Port number 항목에 PAServer 포트번호를 입력합니다.

Password 항목에 PAServer 실행 시 입력한 비밀번호를 입력합니다.

"Test Connection" 버튼을 눌러 연결을 확인하고, Finish 버튼을 눌러 완료합니다.

 

만약, 연결되지 않은 경우, PAServer가 설치된 리눅스 시스템과의 네트워크 환경을 검토하기 바랍니다.

 

RAD 스튜디오에서 리눅스 SDK 설정

RAD 스튜디오에서 SDK Manager(Tools > Options > SDK Manager)를 실행합니다.

profile_manager.png

 

Add 버튼을 누릅니다.

Select a platform 항목에서 "64-bit Linux"를 선택합니다.

Select a profile to connect 항목에서 위에서 추가한 연결을 선택합니다.

Select an SDK version 항목 확인 후 "OK" 버튼을 누릅니다.

 

아래와 같이 리눅스의 SDK를 로컬로 복사하는 작업이 진행됩니다.(몇분 정도 소요)

006.png

 

완료되면 Close 버튼을 눌러 완료합니다.

 

테스트 코드 작성 및 실행

프로젝트 생성

콘솔 애플리케이션 프로젝트를 생성합니다.(File > New > Other > Delphi Projects > Console Application)

 

make_console.png

 

테스트 코드 작성

program Project1;

 

{$APPTYPE CONSOLE}

 

{$R *.res}

 

uses

  System.SysUtils;

 

begin

  try

    { TODO -oUser -cConsole Main : Insert code here }

 

    WriteLn('Hello Linux');

    ReadLn;

  except

    on E: Exception do

      Writeln(E.ClassName, ': ', E.Message);

  end;

end.

 

타겟 플랫폼 선택

프로젝트 매니저에서 64-bit Linux 플랫폼을 추가합니다.(프로젝트 매니저 > Target Platforms > 오른쪽 클릭 > Add Platform > 64-bit Linux > OK)

002.png

 

 

빌드 및 실행

Run 버튼을 눌러 실행하면, Event Log에 아래와 같이 "Hello Linux" 메시지가 표시됩니다.

output.png

 

 

참고 링크


번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 15856
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 14261
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16808
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22365
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23680
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 19195
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39639
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 175060
614 [XE7] 병렬(페러럴) 컴퓨팅 라이브러리 소개 Humphery 2014.09.22 3425
613 CodeRage 모바일에서 소개된 "유용한 정보" 링크 모음입니다. 관리자 2013.06.28 3420
612 데브기어 강의 - 2016년 3월 (첫 개강!) file 관리자 2015.01.22 3414
611 이 달의 기술자료 - 2014년 9월 file 험프리 2014.08.11 3385
610 VCL앱을 모바일앱으로 쉽게 확장할 수 있는 앱테더링 자세히 살펴보기! [3] Humphery 2014.11.11 3375
609 SVN 서버 설치하기 - Visual SVN 이용 험프리 2016.02.29 3351
608 XE5용 업데이트2 가 공개되었습니다. 관리자 2013.12.16 3318
607 이 달의 강의 - 2015년 11월 관리자 2015.01.22 3193
606 안드로이드에서 NFC 연동 방법 Humphery 2014.09.12 3147
605 이전버전에서 최신버전으로 마이그레이션(업그레이드) 참고문서 Humphery 2014.02.28 3118
604 [베를린] TBufferedFileStream을 이용해 TFileStream 보다 더 빠르게 파일을 읽고, 쓸수 있습니다. file 험프리 2016.05.09 3101
603 [추가자료] 안드로이드 개발환경 추가 조치방법 - 수동 SDK Tools 업데이트 file Humphery 2015.10.01 3073
602 [따라하기] FireDAC으로 오라클(Oracle) DB와 연결하기 험프리 2015.03.24 3059
601 FireDAC 시작하기 Humphery 2014.09.23 2961
600 안드로이드 SDK 설정 방법 file 험프리 2016.09.20 2875
599 파이어몽키(FireMonkey) vs. VCL 관리자 2017.07.18 2850
598 [다음 버전 정보] 비콘(Beacon)으로 접근감지하기 Humphery 2015.03.26 2798
597 모바일 앱 개발 시 툴 선택 file Humphery 2014.04.29 2797
596 코드사이트(CodeSite)로 로그를 기록하며 프로그램의 문제를 파악할 수 있습니다. file 험프리 2016.05.26 2726
595 FM(파이어몽키) 애플리케이션에서 StyledSettings 활용하기 관리자 2013.12.27 2680