6. 넷보드 2 소스 코드 다운로드 및 디렉토리 배치
앞서 외장 SSD 마운트와 LEMP 웹 서버 환경 구축을 모두 마쳤다면, 이제 넷보드 2(Netboard 2)의 실제 소스 코드를 서버의 웹 루트 경로(/var/www/html/ssd)에 안전하게 배치하고 권한을 설정할 차례입니다.
정확한 디렉토리 배치와 권한 설정은 웹 서비스의 보안을 지키고 파일 업로드/수정 오류를 방지하는 핵심 단계입니다.
1. 웹 루트 디렉토리 이동
먼저 터미널에서 외장 SSD가 마운트된 웹 서버의 기본 루트 경로로 이동합니다.
cd /var/www/html/ssd
2. 소스 코드 다운로드 (배포)
넷보드 2 소스 코드를 서버 환경으로 가져옵니다. 일반적으로 Git 저장소를 이용해 클론(Clone)하거나, 압축(ZIP) 파일 형태로 업로드하여 배치합니다.
방법 A: Git을 통한 클론 (권장)
sudo git clone https://github.com/계정명/netboard2.git .
(주의: 명령어 끝의 점(.)은 현재 디렉토리(/var/www/html/ssd) 바로 아래에 파일들을 풀겠다는 의미입니다.)
방법 B: 압축 파일(ZIP) 업로드 및 해제 만약 로컬에서 작업한 압축 파일을 SFTP 등으로 업로드한 경우:
# 압축 해제 도구 설치 (필요시)
sudo apt install -y unzip
# 압축 파일 해제
sudo unzip netboard2.zip -d /var/www/html/ssd/
3. 디렉토리 구조 확인
소스 코드가 올바르게 배치되었는지 파일 목록을 확인합니다.
ls -la
index.php, 설정 파일 디렉토리, 에셋(CSS/JS/Images) 폴더 등이 올바른 위치에 자리 잡고 있는지 육안으로 확인합니다.
4. 웹 서버 소유권 및 권한 설정 (중요)
Nginx 웹 서버와 PHP-FPM이 원활하게 파일 읽기 및 쓰기(게시글 작성, 이미지 업로드 등)를 수행할 수 있도록 디렉토리 소유권을 웹 서버 계정(www-data)에 부여해야 합니다.
# /var/www/html/ssd 하위 모든 파일과 폴더의 소유자를 www-data로 변경
sudo chown -R www-data:www-data /var/www/html/ssd
# 디렉토리 권한은 755, 파일 권한은 644로 안전하게 일괄 조정
sudo find /var/www/html/ssd -type d -exec chmod 755 {} \;
sudo find /var/www/html/ssd -type f -exec chmod 644 {} \;
5. 배치 완료 검증
권한과 배치가 정상적으로 완료되었는지 확인하려면, 브라우저 주소창에 서버의 도메인 또는 IP 주소(http://서버IP/index.php 또는 설정된 가상 호스트 주소)를 입력해 봅니다.
에러 페이지 대신 넷보드 2의 초기 화면 또는 데이터베이스 연결 대기 화면이 출력된다면 소스 코드 배치가 성공적으로 끝난 것입니다.
