💻 쇼핑몰 자동화 & 웹 개발 가이드

[PHP 입문] XAMPP 사용법 총정리: Apache, MySQL, 포트 오류 해결

rhandy 2025. 4. 3. 07:10
728x90

XAMPP 설치했는데… 대체 뭘 눌러야 하는 거죠? 시작 버튼 하나도 왜 이렇게 떨릴까요? 😅

안녕하세요, 웹 개발 입문자 여러분! XAMPP 제어판을 처음 켜면 뭔가 단단해 보이는 버튼들이 딱 하고 나열되어 있죠. 저도 처음엔 Apache? MySQL? 그냥 다 Start 누르면 되는 건가? 하며 멍하게 있었어요. 그런데 이 버튼들엔 각각의 역할이 있고, 작동 방식도 조금씩 다르답니다. 오늘은 XAMPP의 핵심 기능인 Apache와 MySQL 모듈을 중심으로, Start/Stop 버튼의 기능과 주의할 점까지 하나하나 알려드릴게요. 웹서버와 데이터베이스가 어떤 식으로 내 컴퓨터에서 구동되는지도 함께 알아봅니다. 진짜 기초부터 차근차근 가볼게요!

XAMPP란 무엇인가요?

XAMPP는 웹 개발 환경을 손쉽게 구축할 수 있도록 도와주는 무료 도구예요. 이름부터가 좀 복잡하죠? X(Cross-platform), Apache, MySQL, PHP, Perl의 약자로, 웹 서버부터 데이터베이스, 프로그래밍 언어까지 한꺼번에 설치할 수 있어요. 특히 초보자에게는 로컬에서 PHP를 테스트하기에 딱 좋습니다. 복잡한 환경설정 없이 "설치 → 실행"만으로도 바로 웹 개발을 시작할 수 있는 게 가장 큰 장점이에요.

Apache & MySQL의 역할 간단 정리

XAMPP에서 가장 자주 사용하는 두 모듈이 바로 Apache와 MySQL입니다. 이 둘이 뭔지 헷갈리는 분들을 위해 간단하게 비교해볼게요.

모듈 역할
Apache 웹 서버 역할, 브라우저의 요청을 처리하고 HTML 또는 PHP 결과를 돌려줌
MySQL 데이터베이스 관리 시스템, 회원정보, 글, 댓글 등 데이터를 저장하고 관리

Start / Stop 버튼 제대로 사용하는 법

XAMPP의 제어판에는 각 모듈 옆에 Start / Stop 버튼이 있어요. 이걸로 해당 서버를 실행하거나 종료할 수 있죠. 사용하는 법은 아주 간단하지만, 각각의 의미는 꼭 알고 넘어가야 합니다!

  • Start 버튼: 해당 서버(Apache 또는 MySQL)를 실행합니다. 초록 불이 들어오면 성공이에요.
  • Stop 버튼: 해당 서버를 종료합니다. 서버 작업을 중단하거나 설정 변경 전에 꺼두는 게 좋아요.
  • 버튼이 안 눌리거나 에러가 난다면? 포트 충돌을 의심해보세요 (다음 섹션에서 자세히 다룹니다).

포트 충돌이 발생했을 때 대처법

Apache나 MySQL을 시작하려는데, 갑자기 “Port 80 in use” 또는 “Port 3306 already in use” 같은 메시지가 뜨는 경우 있죠? 이건 포트 충돌이라는 겁니다. 이미 다른 프로그램이 해당 포트를 사용 중이라 서버를 실행할 수 없는 상태예요.

포트 기본 사용 프로그램 해결 방법
80 (Apache) Skype, IIS, 다른 웹 서버 XAMPP의 Config → httpd.conf 파일에서 80을 8080 등으로 변경
3306 (MySQL) MySQL Workbench, 다른 DB my.ini에서 포트를 3307로 바꾸고 재시작

Admin, Config 버튼의 기능은?

Start/Stop 말고도 옆에 뭔가 버튼이 많아서 당황하셨죠? 각 버튼의 기능은 생각보다 간단해요. 한번 눌러보면 금방 익숙해집니다!

  • Admin: Apache의 경우 브라우저에 localhost 자동 접속, MySQL은 phpMyAdmin 열림
  • Config: 서버 설정 파일을 바로 열 수 있음 (httpd.conf, my.ini 등)
  • Logs: 실행 로그를 확인, 에러 원인 찾을 때 유용

에러 로그 보는 법과 해석 팁

XAMPP 제어판 하단에 나오는 로그창, 괜히 무시하지 마세요! 에러가 발생했을 때 이 창을 보면 원인을 금방 파악할 수 있어요. 특히 “Port already in use”“Access denied” 메시지는 아주 흔하게 나오는 문제랍니다.

  • 로그를 보면 실행 성공 여부, 에러 라인, PID(프로세스 번호) 등 다양한 정보가 나와요.
  • 문제 발생 시 해당 문구를 구글에 복붙해도 금방 해결책이 나옵니다.
Q Apache와 MySQL은 동시에 실행해야 하나요?

꼭 그렇진 않아요. PHP만 실행할 땐 Apache만 켜도 되고, 데이터베이스를 쓰는 기능(회원가입, 글 저장 등)을 사용할 땐 MySQL도 함께 실행해야 합니다.

A 상황에 따라 하나만 켜도 괜찮아요!
Q 시작 버튼 눌렀는데 노란색 에러가 떠요. 괜찮은 건가요?

노란색 메시지는 대부분 경고입니다. 동작이 멈추지 않았다면 일단 작동은 되고 있다는 뜻이에요. 하지만 포트 충돌이나 관리자 권한 문제는 확인해보는 게 좋아요.

A 대부분은 걱정 안 해도 돼요. 그래도 로그는 꼭 확인!
Q Apache가 빨간색으로 꺼지는데 이유가 뭔가요?

보통 포트 80이나 443이 다른 프로그램에 의해 점유돼 있을 때 그래요. Skype, IIS, VMware 등이 원인일 수 있고, httpd.conf에서 포트를 변경하면 해결돼요.

A 포트 충돌이 가장 흔한 원인이에요!
Q 매번 실행하기 귀찮은데 자동 실행 안 되나요?

XAMPP Control Panel에서 Config → Autostart of modules 옵션에서 원하는 모듈에 체크하면 됩니다. 단, 관리자 권한으로 실행돼야 작동해요.

A 자동 실행 설정 가능합니다. 다만 주의가 필요해요!
Q 파일은 어디에 넣어야 실행돼요?

XAMPP 설치 폴더 안의 htdocs 폴더가 루트 디렉토리입니다. 여기에 PHP 파일을 넣고 http://localhost/파일명.php로 접속하면 돼요.

A htdocs 폴더에 꼭 넣으세요!
Q MySQL이 실행되는데도 phpMyAdmin 접속이 안 돼요!

브라우저에서 http://localhost/phpmyadmin 접속 시 오류가 난다면 Apache가 실행되고 있는지 확인하세요. MySQL만 켜고선 접속이 안 돼요.

A Apache도 함께 실행돼야 접속됩니다!

XAMPP 제어판, 처음엔 버튼 하나 누르기도 무서웠죠. 그런데 이제는 어떤 버튼이 뭘 하는지, 언제 누르면 되고, 왜 안 되는지도 어느 정도 감이 오셨을 거예요. Apache는 웹 서버, MySQL은 데이터베이스, 그리고 Start/Stop 버튼은 말 그대로 전원 스위치 같은 역할을 하죠. 직접 껐다 켰다 해보면서 생기는 작은 에러들도, 사실은 실력을 키우는 기회랍니다. 개발은 시행착오의 연속이에요. 괜찮아요, 로그 하나하나 읽으면서 익숙해지면 어느새 ‘아 이건 포트 문제네’, ‘이건 권한 문제네’ 하고 척척 해결하는 나를 만나게 될 거예요. 그럼 오늘도 천천히, 하지만 꾸준히! 로컬 서버의 세계로 더 깊이 들어가보세요. 당신의 코딩 여정을 항상 응원합니다 💜

 

 

728x90