[트러블슈팅] Ubuntu 서버에서 Laravel 내장 서버→Apache 전환 후 권한·포트 이슈 해결기
·
실무 | 성장/트러블슈팅 | 개발팁
1. 개요Ubuntu 서버에 Laravel 내장 서버(artisan serve)를 서비스로 등록하여 포트 8000으로 운영하다가, 사내 방화벽 정책으로 IP 직접 접근이 차단되어 Apache로 이전하였습니다. 이 과정에서 소유자·그룹 설정이 달라지며 특정 디렉토리 쓰기, 로그 기록, 스케줄러(cron), PHP cURL, Node.js 기반 스냅샷 생성에서 모두 권한 오류가 발생했고, 포트 8000→80 포워딩 설정도 추가로 필요했습니다. 본 문서에서는 각 이슈별 원인 분석과 해결 방안을 순차적으로 정리합니다.2. 환경 및 배경기존: systemd 서비스로 php artisan serve --host=0.0.0.0 --port=8000 구동(포트 8000)전환: Apache (www-data 사용자) 기..
[Ubuntu] 서버에서 Laravel 파일 권한 설정 완벽 가이드
·
실무 | 성장/프로젝트 사례
1. 개요Linux 파일 시스템은 각 파일 및 디렉토리에 소유자(owner), 그룹(group), 그리고 권한(permission) 비트가 할당되어 있습니다. 잘못된 권한 설정은 ‘Permission denied’ 오류, 로그 기록 실패, 웹서버 정상 작동 중단 등을 초래할 수 있습니다. Laravel의 경우 특히 storage 및 bootstrap/cache 디렉토리에 웹서버가 쓰기 가능해야 하며, 그렇지 않으면 애플리케이션이 실행되지 않습니다2. 사용자 및 그룹 계층서버에는 대개 다음과 같은 계정이 사용됩니다.root: 시스템 전체 권한을 가진 관리자 계정입니다. 배포 스크립트나 초기 설정 시에만 사용하고, 애플리케이션 실행에는 절대 사용을 금합니다.프로젝트 사용자: 개발자가 SSH로 접속하여 코드를..
[BitLocker] 무한 로딩 이슈 해결기: Dell PC에서 Ubuntu 활용 복구 및 포맷까지
·
실무 | 성장/트러블슈팅 | 개발팁
1. 문제 상황 및 초기 대응회사에서 사용하는 Dell PC에서 BitLocker 업데이트 진행 중 충돌이 발생하면서, 무한로딩과 블루스크린(BSOD) 문제가 발생했습니다.초기 시도:블루스크린 이후 안전모드로 부팅Microsoft에서 제공한 복호화 키를 입력하여 드라이브 복호화를 시도했으나 문제는 해결되지 않았습니다.우분투 OS 활용:우분투 OS로 부팅해 드라이브에 접근복호화 후 데이터를 SSH를 통해 임시 서버에 백업하여 데이터 유실을 방지했습니다.포맷 시 문제:백업 후 드라이브 포맷 시, 암호화 설정이 남아 있어 정상적인 포맷이 진행되지 않았습니다.2. 안전모드에서 CMD 명령어를 이용한 BitLocker 암호화 해제포맷 문제 해결을 위해, 안전모드에서 CMD(명령 프롬프트)를 실행하여 BitLock..
[부하 테스트] 파견을 통한 부하테스트 진행 중 겪은 이슈
·
실무 | 성장/프로젝트 사례
1. 개요최근 파견 프로젝트에서 JMeter, InfluxDB, Grafana, Prometheus 등을 활용한 부하 테스트를 진행하는 중, 예상치 못한 보안 이슈로 인해 작업 일정이 지연되는 사례를 경험하였습니다. 본 포스팅에서는 해당 문제의 원인과 함께 사전 준비 체크리스트, SSO 인증 이슈, API 요청 관련 고려사항, 시나리오 구성 등 핵심 사항을 정리하여 향후 동일 상황에서 신속하고 효율적으로 대응할 수 있는 방안을 제시하고자 합니다.2. 사전 준비 체크리스트2-1. 환경 정보 수집테스트 수행 전, 인프라 환경에 대한 정확한 정보를 수집하는 것은 필수적입니다. 아래 사항들을 반드시 확인해 주십시오.OS 및 서버 버전 정보: 운영체제, 웹 서버(톰캣, 아파치 등)의 정확한 버전 및 패치 이력네트..
[최적화] 버블 스타일의 문제점 심화 분석과 게이트웨이 스타일 고도화 기법
·
실무 | 성장/트러블슈팅 | 개발팁
1. 개요현대 소프트웨어 개발 현장에서 버블 스타일(중첩 조건문 방식)은 코드 가독성과 유지보수성 저하, 디버깅의 어려움 등 여러 실무 리스크를 내포하고 있습니다. 본 포스팅에서는 버블 스타일의 심화된 문제점과, 이를 개선하기 위한 게이트웨이 패턴을 비롯한 고도화 기법, 그리고 언어별 최적화 전략과 성능 비교 데이터를 상세하게 분석합니다. 나아가 실제 적용 사례와 조건문 디버깅 프로토콜을 통해 실무에서의 효과적 개선 방안을 제시합니다.2. 버블 스타일 주요 문제점과 실무 리스크버블 스타일은 중첩 조건문을 통해 핵심 로직에 도달하기 전에 수차례 중첩된 if 문을 거치는 방식입니다. 이러한 구조는 다음과 같은 주요 리스크를 내포합니다.1-1. 실무에서 발생하는 3대 리스크Null 참조 오류:발생 확률: 62..
[협업 기본] 네이밍 컨벤션(Naming Convention)이란?
·
실무 | 성장/트러블슈팅 | 개발팁
네이밍 컨벤션은 코드의 가독성과 유지보수성을 높이기 위해 변수, 함수, 클래스 등의 이름을 일관된 규칙에 따라 작성하는 방법입니다. 다양한 프로그래밍 언어와 개발 환경에서 권장하는 컨벤션이 다르며, 주요 유형과 특징을 살펴보겠습니다.주요 네이밍 컨벤션 종류1. camelCase (카멜 케이스)표기법: 첫 단어는 소문자, 이후 단어의 첫 글자는 대문자로 표기예) userName, calculateTotalPrice사용처: JavaScript, Java, Swift 등에서 변수명, 함수명에 주로 사용2. PascalCase (파스칼 케이스)표기법: 모든 단어의 첫 글자를 대문자로 표기예) UserModel, DatabaseConnection사용처: 클래스, 인터페이스, 생성자 함수 정의 시 활용3. snak..