PHP

PHP

    ›개발 환경 설정

    시작하기

    • PHP 무료 강좌
    • PHP란 무엇인가요?
    • PHP 시작하기

    개발 환경 설정

    • 코드 에디터 준비하기
    • 윈도우(Windows) 환경에 APM 설치하기
    • macOS 환경에 APM 설치하기
    • 리눅스(Linux) 환경에 APM 설치하기
    • APM 환경 테스트 및 첫 코드 실행

    PHP 기초 문법

    • PHP는 어떻게 동작할까?
    • 기초 문법 - 태그, 마침표, 그리고 주석
    • 변수와 데이터 타입 - 프로그래밍의 기본기
    • 배열과 객체, 그리고 NULL
    • 변수와 함수의 이름 짓기 - 식별자(Identifier)
    • 절대 변하지 않는 값 - 상수(Constants)와 열거형(Enum)
    • 데이터를 요리하는 도구 - 연산자(Operators)
    • 연산자 우선순위 - 괄호의 마법
    • 흐름을 제어하는 마법 - 조건문 (if, match)
    • 흐름을 제어하는 마법 - 반복문
    • 재사용의 미학 - 함수(Function)
    • 변수의 생존 범위(Scope)와 수명
    • 흐름을 제어하는 마법 - 파일 포함과 예외 처리
    • 실무에서 숨 쉬듯 쓰이는 문자열과 배열 함수
    • 문자열을 다루는 마법의 주문 - 정규표현식(Regex)
    • 에러를 두려워하지 마라 - 디버깅과 에러 처리

    웹 개발 기초

    • 절대 믿지 마라! - 미리 정의된 변수와 외부 입력 처리
    • 사용자와 소통하는 창구 - HTML 폼(Form) 다루기
    • 나를 기억해 줘! - 쿠키(Cookie)와 세션(Session)
    • 서버의 기록 보관소 - 파일 입출력(File I/O)

    데이터베이스

    • 데이터베이스(DB)와 SQL 기초 - 데이터의 든든한 금고
    • 데이터베이스와의 안전한 대화 - PDO 기초

    실전 프로젝트

    • 첫 번째 실전 프로젝트 - 방명록(Guestbook) 만들기
    • 실전 프로젝트 2단계 - 기본 게시판(CRUD) 만들기
    • 실전 프로젝트 3단계 - 계층형(답변형) 게시판 만들기
    • 실전 프로젝트 4단계 - 게시판 레벨업 (댓글, 보안, 성능)
    • 실전 프로젝트 5단계 - 안전한 회원가입과 로그인 시스템

    리눅스(Linux) 환경에 APM 설치하기

    APM이란?

    웹 개발을 위한 세 가지 필수 도구인 Apache(웹 서버), PHP(언어), MySQL(데이터베이스) 를 묶어서 흔히 APM이라고 부릅니다. 리눅스에서는 이 조합을 특히 LAMP 스택 이라고도 부릅니다.

    현업에서는 대부분 리눅스 서버 위에서 웹 서비스를 운영합니다. 로컬 개발 환경을 리눅스로 구성하면 실제 서버 환경과 동일하게 실습할 수 있는 장점이 있습니다.


    1. Ubuntu에 APM 설치하기

    가장 널리 쓰이는 리눅스 배포판인 Ubuntu 24.04 LTS를 기준으로 설명합니다. Debian 기반의 다른 배포판도 동일한 명령어를 사용합니다.

    터미널을 열고 아래 명령어를 순서대로 입력합니다.

    $ sudo apt update
    $ sudo apt install apache2 php libapache2-mod-php php-mysql php-mbstring php-xml php-curl mysql-server
    

    패키지 설명

    • apache2: 웹 서버
    • php: PHP 언어 본체 (Ubuntu 24.04에서는 PHP 8.3이 설치됩니다)
    • libapache2-mod-php: Apache와 PHP를 연결하는 모듈
    • php-mysql: PHP에서 MySQL을 사용하기 위한 확장
    • php-mbstring, php-xml, php-curl: 한글 처리, XML, HTTP 요청 등에 필요한 확장

    2. MySQL 초기 보안 설정

    설치 직후의 MySQL은 보안 설정이 취약한 상태입니다. 아래 명령어로 보안 설정 마법사를 실행합니다.

    $ sudo mysql_secure_installation
    

    터미널에서 몇 가지 질문이 나옵니다. 아래를 참고하여 진행하세요.

    # 1. 비밀번호 강도 검증 플러그인 사용 여부를 묻습니다.
    Would you like to setup VALIDATE PASSWORD component?
    Press y|Y for Yes, any other key for No: y [y 입력]
    
    # 2. 비밀번호 강도를 선택합니다. (0: 낮음, 1: 중간, 2: 높음)
    Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1 [1 입력]
    
    # 3. 새로운 MySQL root(관리자) 비밀번호를 설정합니다.
    # 입력 시 화면에 아무것도 표시되지 않습니다. 당황하지 말고 타이핑 후 엔터를 치세요.
    New password: [암호 입력]
    Re-enter new password: [암호 입력]
    
    # 4. 익명(anonymous) 사용자를 삭제합니다. (보안을 위해 삭제 권장)
    Remove anonymous users? (Press y|Y for Yes, any other key for No) : y [y 입력]
    Success.
    
    # 5. root 계정의 원격 접속을 차단합니다.
    Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y [y 입력]
    Success.
    
    # 6. 기본으로 생성된 테스트 데이터베이스를 삭제합니다.
    Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y [y 입력]
    Success.
    
    # 7. 변경한 권한 설정을 즉시 적용합니다.
    Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y [y 입력]
    Success.
    
    All done!
    

    3. 정상 설치 확인

    각 프로그램이 제대로 설치됐는지 버전으로 확인합니다.

    # Apache 버전 확인
    $ apache2 -v
    Server version: Apache/2.4.x (Ubuntu)
    
    # PHP 버전 확인
    $ php -v
    PHP 8.3.x (cli) ...
    
    # MySQL 버전 확인
    $ mysql --version
    mysql  Ver 8.0.x ...
    

    (출력되는 버전 정보는 설치 시점에 따라 다를 수 있습니다. 오류 메시지 없이 정보가 출력되면 정상입니다.)

    브라우저에서 localhost를 열어 Apache 기본 페이지가 보이면 웹 서버도 정상 동작 중입니다.


    4. PHP 파일 만들어보기

    웹 서버의 홈 디렉토리는 /var/www/html 폴더입니다. 이 폴더에 파일을 저장하면 브라우저에서 볼 수 있습니다.

    $ echo '<?php echo "안녕하세요, PHP!";' | sudo tee /var/www/html/test.php
    

    브라우저에서 localhost/test.php를 열면 "안녕하세요, PHP!"가 출력됩니다.


    5. 웹 서버 관리 명령어

    $ sudo systemctl start apache2    # 웹 서버 시작
    $ sudo systemctl stop apache2     # 웹 서버 중지
    $ sudo systemctl restart apache2  # 웹 서버 재시작
    $ sudo systemctl status apache2   # 웹 서버 현재 상태 확인
    

    PHP 설정을 변경했거나 서버가 멈췄을 때는 restart 명령어로 재시작하면 됩니다.


    꼭 알아두어야 할 기본 지식

    홈 디렉토리

    경로설명
    /var/www/htmlPHP 파일을 저장하는 홈 디렉토리

    'localhost'의 의미

    localhost는 네트워크 상에서 '내 컴퓨터 자신'을 가리키는 특별한 주소입니다. IP 주소로는 127.0.0.1과 같습니다. 리눅스 서버의 IP 주소를 직접 입력해도 동일하게 접근할 수 있습니다.

    컴퓨터 재시작 후

    Ubuntu는 기본적으로 재시작 후에도 Apache와 MySQL이 자동으로 켜집니다. 만약 자동 시작이 꺼져 있다면 아래 명령어로 활성화할 수 있습니다.

    $ sudo systemctl enable apache2
    $ sudo systemctl enable mysql
    
    Last updated on 2026-4-19 by Myeongjin Cho
    ← macOS 환경에 APM 설치하기APM 환경 테스트 및 첫 코드 실행 →
    • APM이란?
    • 1. Ubuntu에 APM 설치하기
    • 2. MySQL 초기 보안 설정
    • 3. 정상 설치 확인
    • 4. PHP 파일 만들어보기
    • 5. 웹 서버 관리 명령어
    • 꼭 알아두어야 할 기본 지식
      • 홈 디렉토리
      • 'localhost'의 의미
      • 컴퓨터 재시작 후
    커뮤니티
    PHP 공식 웹사이트한국 PHP 개발자 커뮤니티
    유용한 정보
    책 소스 코드
    Copyright © 2026 EZPHP.NET