서버 설치 · 4 min read · Nov 23, 2025

페도라 20에서 PHP5 및 MySQL 지원과 함께 Apache2 설치하기 (LAMP)

LAMP는 Linux, Apache, MySQL, PHP의 약자입니다. 이 튜토리얼에서는 PHP5 지원(mod_php) 및 MySQL 지원과 함께 Fedora 20 서버에 Apache2 웹 서버를 설치하는 방법을 보여줍니다.

이 방법이 여러분에게 작동할 것이라는 보장은 하지 않습니다!

1 사전 참고

이 튜토리얼에서는 호스트 이름 server1.example.com과 IP 주소 192.168.0.100을 사용합니다. 이러한 설정은 여러분의 경우 다를 수 있으므로 적절한 곳에서 교체해야 합니다.

2 MySQL/MariaDB 5 설치하기

MySQL을 설치하려면 다음과 같이 합니다:

yum install mysql mysql-server

그런 다음 MySQL의 시스템 시작 링크를 생성하여(MySQL이 시스템 부팅 시 자동으로 시작되도록) MySQL 서버를 시작합니다:

systemctl enable mysqld.service

참고: 다음과 같은 오류가 발생하면

Failed to issue method call: No such file or directory

다음 명령을 사용하세요:

systemctl enable mariadb.service

그런 다음 MySQL 서비스를 시작합니다:

systemctl start mysqld.service

다음 명령을 실행하여

mysql_secure_installation

루트 사용자에 대한 비밀번호를 설정합니다(그렇지 않으면 누구나 여러분의 MySQL 데이터베이스에 접근할 수 있습니다!):

[root@server1 ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

MariaDB에 로그인하여 보안을 설정하려면 현재
루트 사용자에 대한 비밀번호가 필요합니다.
MariaDB를 방금 설치했으며
루트 비밀번호를 아직 설정하지 않았다면,
비밀번호는 비어 있으므로
여기에서 그냥 Enter 키를 누르세요.

현재 루트 비밀번호 입력(없으면 Enter): <– ENTER
OK, 비밀번호가 성공적으로 사용되었습니다. 계속 진행합니다…

루트 비밀번호를 설정하면
누구도 적절한 인증 없이
MariaDB 루트 사용자로 로그인할 수 없게 됩니다.

루트 비밀번호를 설정하시겠습니까? [Y/n] <– ENTER
새 비밀번호: <– yourrootsqlpassword
새 비밀번호 다시 입력: <– yourrootsqlpassword
비밀번호가 성공적으로 업데이트되었습니다!
권한 테이블을 다시 로드하는 중..
… 성공!

기본적으로 MariaDB 설치에는
익명 사용자가 있어
누구나 사용자 계정을 생성하지 않고도
MariaDB에 로그인할 수 있습니다.
이는 오직 테스트를 위해 의도된 것이며,
설치를 조금 더 원활하게 진행하기 위한 것입니다.
생산 환경으로 이동하기 전에
그들을 제거해야 합니다.

익명 사용자를 제거하시겠습니까? [Y/n] <– ENTER
… 성공!

일반적으로 루트는
‘localhost’에서만 연결할 수 있어야 합니다.
이는 누군가가 네트워크에서
루트 비밀번호를 추측할 수 없도록 보장합니다.

원격으로 루트 로그인을 금지하시겠습니까? [Y/n] <– ENTER
… 성공!

기본적으로 MariaDB는
누구나 접근할 수 있는
‘test’라는 데이터베이스를 가지고 있습니다.
이는 또한 오직 테스트를 위해 의도된 것이며,
생산 환경으로 이동하기 전에
제거해야 합니다.

테스트 데이터베이스 및 접근을 제거하시겠습니까? [Y/n] <– ENTER

  • 테스트 데이터베이스 삭제 중…
    … 성공!
  • 테스트 데이터베이스에 대한 권한 제거 중…
    … 성공!

권한 테이블을 다시 로드하면
지금까지 수행된 모든 변경 사항이
즉시 적용됩니다.

지금 권한 테이블을 다시 로드하시겠습니까? [Y/n] <– ENTER
… 성공!

정리 중…

모든 작업이 완료되었습니다!
위의 모든 단계를 완료했다면,
여러분의 MariaDB 설치는 이제
안전해야 합니다.

MariaDB를 사용해 주셔서 감사합니다!
[root@server1 ~]#

3 Apache2 설치하기

Apache2는 Fedora 패키지로 제공되므로, 다음과 같이 설치할 수 있습니다:

yum install httpd

이제 시스템을 구성하여 부팅 시 Apache가 시작되도록 합니다…

systemctl enable httpd.service

… 그리고 Apache를 시작합니다:

systemctl start httpd.service

이제 브라우저를 http://192.168.0.100으로 이동하면, Apache2 자리 표시자 페이지를 볼 수 있습니다:

Apache의 기본 문서 루트는 Fedora에서 /var/www/html이며, 구성 파일은 /etc/httpd/conf/httpd.conf입니다. 추가 구성은 /etc/httpd/conf.d/ 디렉토리에 저장됩니다.

4 PHP5 설치하기

다음과 같이 PHP5 및 Apache PHP5 모듈을 설치할 수 있습니다:

yum install php

그 후 Apache를 재시작해야 합니다:

systemctl restart httpd.service

5 PHP5 테스트하기 / PHP5 설치에 대한 세부 정보 얻기

기본 웹사이트의 문서 루트는 /var/www/html입니다. 이제 해당 디렉토리에 작은 PHP 파일(info.php)을 생성하고 브라우저에서 호출합니다. 이 파일은 설치된 PHP 버전과 같은 PHP 설치에 대한 유용한 세부 정보를 표시합니다.

vi /var/www/html/info.php

| |

이제 브라우저에서 해당 파일을 호출합니다(예: http://192.168.0.100/info.php):

보시다시피, PHP5가 작동하고 있으며, 서버 API 줄에 표시된 대로 Apache 2.0 핸들러를 통해 작동하고 있습니다. 아래로 스크롤하면 PHP5에서 이미 활성화된 모든 모듈을 볼 수 있습니다. MySQL은 거기에 나열되어 있지 않으므로 PHP5에서 MySQL 지원이 없음을 의미합니다.

6 PHP5에서 MySQL 지원 얻기

PHP에서 MySQL 지원을 얻으려면 php-mysql 패키지를 설치할 수 있습니다. 애플리케이션에 필요할 수 있는 다른 PHP5 모듈도 설치하는 것이 좋습니다. 다음과 같이 사용 가능한 PHP5 모듈을 검색할 수 있습니다:

yum search php

필요한 모듈을 선택하고 다음과 같이 설치합니다:

yum install php-mysqlnd php-mssql php-opcache

이제 Apache2를 재시작합니다:

systemctl restart httpd.service

이제 브라우저에서 http://192.168.0.100/info.php를 새로 고치고 다시 모듈 섹션으로 스크롤합니다. 이제 MySQL 모듈을 포함하여 많은 새로운 모듈을 찾을 수 있어야 합니다:

7 phpMyAdmin

phpMyAdmin은 MySQL 데이터베이스를 관리할 수 있는 웹 인터페이스입니다.

phpMyAdmin은 다음과 같이 설치할 수 있습니다:

yum install phpmyadmin

이제 phpMyAdmin을 구성합니다. phpMyAdmin이 localhost에서만 연결을 허용하도록 Apache 구성을 변경합니다( 구문에서 모든 내용을 주석 처리하고 Require all granted 줄을 추가합니다):

vi /etc/httpd/conf.d/phpMyAdmin.conf

| # phpMyAdmin - Web based MySQL browser written in php # # Allows only localhost by default # # But allowing phpMyAdmin to anyone other than localhost should be considered # dangerous unless properly secured by SSL Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin # # # Apache 2.4 # # Require ip 127.0.0.1 # Require ip ::1 # # # # # Apache 2.2 # Order Deny,Allow # Deny from All # Allow from 127.0.0.1 # Allow from ::1 # Require all granted # Apache 2.4 Require ip 127.0.0.1 Require ip ::1 # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 # These directories do not require access over HTTP - taken from the original # phpMyAdmin upstream tarball # Order Deny,Allow Deny from All Allow from None Order Deny,Allow Deny from All Allow from None Order Deny,Allow Deny from All Allow from None # This configuration prevents mod_security at phpMyAdmin directories from # filtering SQL etc. This may break your mod_security implementation. # # # # SecRuleInheritance Off # # |

Apache를 재시작합니다:

systemctl restart httpd.service

그 후, http://192.168.0.100/phpmyadmin/에서 phpMyAdmin에 접근할 수 있습니다:

8 링크

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.