← 자료실

연구 포털 제작 방법

PDF 내려받기 ↓

연구실 웹 공간에 자기 페이지를 올리는 방법 · 2026-08-22

접속 아이디와 비밀번호는 이 문서에 없습니다. 연구실에서 따로 전달받으세요.


어떤 구조인가

계정을 발급받으면 자기만의 웹 공간이 생깁니다.

https://aiforalab.com/p/<계정>/

SFTP로 접속하면 폴더 두 개가 보입니다.

site/       ← 웹에 공개되는 영역. 여기 올린 파일이 곧 홈페이지입니다.
private/    ← 웹에 노출되지 않는 영역. 설정 파일과 오류 기록이 있습니다.

site/에 올리면 즉시 반영됩니다. 별도 배포나 승인 절차는 없습니다.


1. 파일 올리기

WinSCPFileZilla로 접속합니다.

VS Code로 작업하신다면 SFTP 확장을 쓰면 저장할 때마다 자동으로 올라갑니다. (Remote-SSH 확장은 동작하지 않습니다.)


2. 첫 페이지 만들기

site/ 안에 폴더를 만들면 그 순간 주소가 생깁니다.

site/mypage/index.html   →   https://aiforalab.com/p/<계정>/mypage/

폴더 이름은 영문 소문자·숫자·하이픈을 권합니다 (mypage, test-2).

작업 순서는 이렇습니다.

  1. PC에 폴더를 만들고 index.html을 작성합니다
  2. 폴더째로 site/에 올립니다
  3. 브라우저에서 위 주소로 확인합니다
  4. 화면이 안 바뀌면 Ctrl+F5로 강제 새로고침합니다

3. 데이터베이스 쓰기

이름이 <계정>_로 시작하는 데이터베이스는 직접 만들 수 있습니다.

CREATE DATABASE <계정>_mydata CHARACTER SET utf8mb4;

PHP에서

$m = mysqli_connect('localhost', '<계정>', '<비밀번호>', '<계정>_mydata');
mysqli_set_charset($m, 'utf8mb4');

PC의 DB 도구에서

DB는 SSH 터널로 접속합니다. 터미널에서 아래를 실행하고 창을 켜 둔 채 작업합니다.

ssh -N -p 10022 -L 13306:127.0.0.1:3306 <계정>@aiforalab.com

그 상태에서 HeidiSQL·DBeaver에 호스트 127.0.0.1, 포트 13306으로 접속합니다. 두 프로그램은 자체 SSH 터널 기능이 있어, 거기에 aiforalab.com:10022를 넣으면 위 명령 없이 바로 붙습니다.


4. 알아두실 제약

이 서버는 오래된 구성이라 몇 가지 제한이 있습니다. 미리 알고 시작하면 헤맬 일이 없습니다.

항목 내용
PHP 버전 5.4.45??(널 병합), 화살표 함수, 최신 문법이 동작하지 않습니다. isset()·array()를 쓰세요
명령줄 셸 제공되지 않습니다. exec·shell_exec·system 계열은 막혀 있습니다
상주 서버 Node·Python 서버는 띄울 수 없습니다. PHP + MySQL 웹페이지는 제한 없이 가능합니다
파일 접근 범위 자기 폴더와 /tmp 밖은 PHP가 읽지 못합니다
업로드 용량 파일 64MB · 요청 80MB

파이썬으로 분석을 돌려야 한다면 PC에서 계산하고 결과(JSON·CSV)만 올리는 방식을 권합니다.


5. API 키를 쓸 때

외부 AI 서비스 키가 필요하다면 반드시 private/ 안에 두고 PHP에서 읽어 쓰세요.

$cfg = json_decode(file_get_contents(__DIR__ . '/../../private/config.json'), true);

site/에 두면 웹에 그대로 노출됩니다. 주소만 알면 누구나 열어볼 수 있습니다.


6. 문제가 생기면

증상 확인할 것
화면이 안 바뀜 브라우저 캐시 — Ctrl+F5
흰 화면 / 500 오류 private/php-error.log 마지막 줄에 원인이 적혀 있습니다
403 오류 파일 권한 문제일 수 있습니다. 연구실에 알려 주세요
PHP 코드가 그대로 보임 서버 설정 문제입니다. 연구실에 알려 주세요

7. 참고