--- title: "Init Script" slug: "server-initscript-classic" updated: 2026-09-17T09:07:32Z published: 2026-09-17T09:07:32Z canonical: "guide.ncloud-docs.com/server-initscript-classic" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Init Script Classic 환경에서 이용 가능합니다. Init Script에서는 **Init Script** 메뉴의 화면 구성과 스크립트 정보에 대해 설명하고, 스크립트를 생성하고 관리하는 방법에 대해 설명합니다. Init Script는 미리 작성해 둔 스크립트를 서버 생성 시 자동으로 실행시킬 수 있는 기능입니다. 같은 용도의 서버 여러 대를 일괄 생성하거나, 같은 환경의 서버를 주기적으로 생성하거나, 용도별로 서버 초기 환경 관리가 필요한 경우 등 여러 경우에 활용할 수 있습니다. ## 스크립트 정보 확인 Init Script 화면에서 스크립트 정보를 확인할 수 있습니다. ### Init Script 화면 네이버 클라우드 플랫폼 포털에서 **콘솔** > **Menu** > **All Services** > **Compute** > **Server** > **Init Script** 메뉴를 차례대로 클릭하여 Init Script 화면을 확인할 수 있습니다. Init Script 화면은 다음과 같이 구성되어 있습니다. ![server-initscript-classic_screen_ko](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/server-initscript-classic_screen_ko.png?sv=2026-02-06&spr=https&st=2026-10-26T21%3A07%3A07Z&se=2026-10-26T22%3A07%3A07Z&sr=c&sp=r&sig=u6Q9%2FJiLLJu08ueVXFwrFO%2Fv3lnPFE38i4a2Lb1nIPM%3D) | 영역 | 설명 | | --- | --- | | ① 메뉴명 | 현재 확인 중인 메뉴명 및 생성한 스크립트 수 | | ② 기본 기능 | **Init Script** 메뉴 최초 진입 시 제공되는 기능 - **[Script 생성]** 버튼: 클릭하여 [스크립트 생성](/docs/server-initscript-classic#%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%83%9D%EC%84%B1) - **[상품 더 알아보기]** 버튼: 클릭하여 Server 소개 페이지로 이동 - **[새로고침]** 버튼: 클릭하여 스크립트 목록 새로 고침 | | ③ 생성 후 기능 | 스크립트 생성 후 제공되는 기능 - **[수정]** 버튼: 클릭하여 선택한 [스크립트 수정](/docs/server-initscript-classic#%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%88%98%EC%A0%95) - **[삭제]** 버튼: 클릭하여 선택한 [스크립트 삭제](/docs/server-initscript-classic#%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%82%AD%EC%A0%9C) | | ④ 검색창 | 스크립트 이름으로 스크립트 검색 | | ⑤ 스크립트 목록 | 생성한 스크립트의 목록 - **Script 이름**: 스크립트 생성 시 입력한 이름 - **설명**: 스크립트에 대한 설명 - **보기/수정**: **[바로가기]** 버튼을 클릭하여 스크립트 정보 확인 및 수정 - **OS 타입**: 스크립트를 설치할 수 있는 OS 타입 - **생성 일시**: 스크립트를 생성한 일시 - **마지막 수정 일시**: 스크립트를 마지막으로 수정한 일시 | ## 스크립트 생성 서버 생성 시 자동으로 실행할 스크립트를 직접 생성할 수 있습니다. 스크립트를 생성하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔의 Classic 환경에서 **Menu** > **All Services** > **Compute** > **Server** 메뉴를 차례대로 클릭해 주십시오. 2. **Init Script** 메뉴를 클릭해 주십시오. 3. **[Script 생성]** 버튼을 클릭해 주십시오. 4. 스크립트의 이름과 OS 타입을 지정하고 스크립트를 작성한 후 **[Script 생성]** 버튼을 클릭해 주십시오. 주의 스크립트 내용에 보안 침해가 있을 수 있는 내용은 포함하지 마십시오. 이로 인한 문제 발생 시 귀책사유가 될 수 있습니다. - 스크립트의 이름에는 3~100자의 영어 대소문자, 숫자, 하이픈(-), 언더바(_)를 입력할 수 있습니다. - 스크립트의 내용은 영어로만 작성할 수 있으며, 한글이나 주석은 포함될 수 없습니다. - Linux의 경우 Python, Perl, Shell 등의 스크립트를 사용할 수 있습니다. 첫 줄에 `#!/bin/bash`, `#!/usr/bin/env python`, `#!bin/perl` 등과 같은 형태로 실행하려는 스크립트 경로를 지정해 주십시오. - Windows의 경우 Visual Basic 스크립트만 사용할 수 있습니다. 5. Init Script 팝업 창의 **[확인]** 버튼을 클릭해 주십시오. - 생성된 스크립트가 목록에 표시됩니다. ## 스크립트 수정 생성한 스크립트의 OS 타입과 내용을 수정할 수 있습니다. 스크립트의 OS 타입 및 내용을 수정하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔의 Classic 환경에서 **Menu** > **All Services** > **Compute** > **Server** 메뉴를 차례대로 클릭해 주십시오. 2. **Init Script** 메뉴를 클릭해 주십시오. 3. 스크립트 목록에서 수정할 스크립트를 클릭하여 선택한 후 **[수정]** 버튼을 클릭해 주십시오. 4. 내용을 수정한 후 **[Script 수정]** 버튼을 클릭해 주십시오. 5. Init Script 팝업 창의 **[확인]** 버튼을 클릭해 주십시오. - 수정된 내용이 저장됩니다. ## 스크립트 삭제 생성한 스크립트를 삭제하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔의 Classic 환경에서 **Menu** > **All Services** > **Compute** > **Server** 메뉴를 차례대로 클릭해 주십시오. 2. **Init Script** 메뉴를 클릭해 주십시오. 3. 스크립트 목록에서 삭제할 스크립트를 클릭하여 선택한 후 **[삭제]** 버튼을 클릭해 주십시오. 4. Script 삭제 팝업 창의 내용을 확인한 후 **[확인]** 버튼을 클릭해 주십시오. - 스크립트가 삭제되어 목록에서 사라집니다. ## 스크립트로 서버 생성 서버에서 스크립트가 자동으로 실행되게 하려면, 서버를 생성할 때 설정 정보에 스크립트를 지정해 주어야 합니다. 서버 설정([신규 콘솔](/docs/server-create-classic#2%EC%84%9C%EB%B2%84%EC%84%A4%EC%A0%951)/[기존 콘솔](/docs/server-create-classic#2%EC%84%9C%EB%B2%84%EC%84%A4%EC%A0%952)) 단계에서 **Script** 항목에 원하는 스크립트를 선택해 주십시오. 참고 - 서버 이미지를 이용해 서버를 생성하거나 유사 서버를 생성할 때에는 스크립트를 사용할 수 없습니다. - 서버 생성이 완료되어 **운영중**으로 표시되더라도 스크립트 설치가 계속 진행 중일 수 있습니다. 설치 완료 여부를 확인하려면 진행 상태 로그를 확인해 주십시오. - Linux: /var/log/ncloud-init.log - Windows: C:\Program Files(X86)\NBP\ncloud-init\logs ## 스크립트 예시 다음의 스크립트 예시를 참고해 주십시오. ### Linux 서버 Linux 서버에서 사용할 수 있는 스크립트의 예시를 안내합니다. #### Apache HTTP Server 설치 Apache HTTP Server를 설치하는 스크립트는 다음과 같습니다. **Perl 스크립트 예시** ``` #!/usr/bin/perl –w $result = `yum update-to httpd`; if ($result =~ /but not installed/) { print "http available\n"; if ($result =~ /httpd available/) { print "http not installed\n"; $iresult = `yum -y install httpd`; if ($iresult =~ /Complete/) { print "http installed\n"; open (WP, ">/var/www/html/index.html") || die "cannot open index.html\n"; print WP `ifconfig eth0 | grep "inet addr" | awk \'{print \$2}\'`; close(WP); `chkconfig --level 345 httpd on`; `service httpd restart`; } } else { print "http NOT available\n"; } } else { print "http already installed\n"; } ``` **Shell 스크립트 예시** ``` #!/bin/sh result=`yum update-to httpd` if [[ $result =~ *"but not installed"* ]] then if [[ $result =~ *"httpd available"* ]] then echo 'http available' echo 'http not installed' $iresult=`yum -y install httpd` if [[ $iresult =~ *"Complete"* ]] then echo 'http installed' echo 'test' >> /var/www/html/index.html /sbin/chkconfig --level 345 httpd on /sbin/service httpd restart fi else echo 'http Not available' fi else echo 'http already installed' fi ``` ### Windows 서버 Windows 서버에서 사용할 수 있는 스크립트의 예시를 안내합니다. #### Java JDK 설치 Java JDK를 설치하는 스크립트는 다음과 같습니다. **Visual Basic 스크립트 예시** ``` LOG_DIRECTORY = "C:\Windows\Temp" DEFAULT_LOG_FILE_PATH = LOG_DIRECTORY + "\init-install.log" Set ws = CreateObject("WScript.Shell") Set objFSO = CreateObject("Scripting.FileSystemObject") ' logging (file & stdout) Function logInfo(str) WScript.Echo CStr(Now()) + " [INFO]: " + str Set objFile = objFSO.OpenTextFile(DEFAULT_LOG_FILE_PATH, 8, True) objFile.WriteLine CStr(Now()) + " [INFO]: " + str objFile.Close End Function tmp_jdk_download_path="C:\Windows\Temp\jdk.exe" jdk_installer_url="http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-windows-x64.exe" cmd="wget --no-check-certificate --no-cookies --header ""Cookie: oraclelicense=accept-securebackup-cookie"" " + jdk_installer_url + " -O " + tmp_jdk_download_path + " -c" ' download jdk ws.Run cmd,,TRUE WScript.Sleep 5000 javaInstallCmdStr = "C:\Windows\Temp\jdk.exe /s /L C:\Windows\Temp\jdk-install.log" Set oExec1 = ws.Exec(javaInstallCmdStr) Do While oExec1.Status = 0 loginfo "Info: Wait for install JDK to finish." WScript.Sleep 10000 Loop ```