Ubuntu 20.04에 APM 설치(Apache2, MySQL, PHP)

김기현·2022년 9월 26일
0
post-thumbnail

개발 환경

  • Ubuntu 20.04.5 LTS
  • AWS EC2
  • EC2 보안 그룹
    EC2 보안그룹 인바운드 규칙은 사진과 같습니다. 모든 TCP에 포트 범위를 모두 열어두었습니다.(이번 블로깅에서는 443, 80, 22포트는 열 필요가 없습니다.)

포트를 연 후 pem키를 통해 EC2 서버에 접근해줍니다. 만약 서버에 접속되지 않는다면 1. 포트가 제대로 열리지 않았거나, 2. chmod 400 키이름.pem을 통해 파일 권한을 400으로 수정합니다. (.pem 파일의 권한이 너무 많아서 생기는 에러입니다.)

Ubuntu 20.04에 APM 설치(Apache2, MySQL, PHP)

우선 우분투 시스템 내 패키지를 최신 버전으로 업그레이드합니다.

등록된 저장소 내 패키지 정보를 최신으로 업데이트
sudo apt update

최신으로 업데이트 된 저장소 내 패키지 정보를 바탕으로 시스템에 설치된 패키지들을 업그레이드
sudo apt upgrade

불필요해진 패키지를 자동으로 삭제
sudo apt autoremove

Apache2 설치

apache2를 설치
sudo apt install apache2

아파치 서버 시작
sudo service apache2 start

아파치 서버 중지
sudo service apache2 stop

아파치 서버 재시작
sudo service apache2 restart

EC2 서버의 퍼블릭 도메인을 입력하면 아래와 같은 페이지가 보이면서 웹서버가 구동된 것을 확인할 수 있습니다.

MySQL 설치

Mysql 설치
sudo apt install mysql-server

Mysql 보안 스크립트 실행
sudo mysql_secure_installation

설치가 끝난 다음에 MySQL 보안 스크립트를 실행시켜 보안을 좀 더 강화할 수 있습니다. 굳이 필요하지 않은 경우 설정하지 않아도 됩니다.

Error

만약 아래의 사진과 같이 에러가 발생한다면 다음과 같이 해결합니다.

Failed! Error: SET PASSWORD has no significance for user 'root'@'localhost' as the authentication method used doesn't store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters.Copied!

MySql 접속
sudo mysql

인증 매개변수 변경
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mynewpassword';

mysql_secure_installation 명령실행
sudo mysql_secure_installation

PHP 설치

PHP를 설치하기 전에 Apache2, MySQL이 먼저 설치되어 있어야 합니다.

PHP를 설치
(php에서 apache2와 mysql 사용할 수 있게 해주는 모듈을 함께 설치)
sudo apt install php libapache2-mod-php php-mysql

PHP 사용을 위한 Apache 설정

Ubuntu에 Apache로 웹서버를 만들고 PHP를 사용할 수 있게 만든 경우, 기본적으로 확장자가 php인 경우에만 PHP 코드를 인식합니다. 만약 확장자가 html일 때로 PHP 코드가 인식되도록 하고 싶다면, Apache 설정을 바꿔줘야 합니다.

코드 추가

다음의 명령어로 파일에 수정권한을 가지고 오픈합니다.
vi /etc/apache2/mods-enabled/mime.conf

그리고 다음의 코드를 추가합니다.
AddType application/x-httpd-php .html

만약 파일에 접근 후 E45: 'readonly' option is set (add ! to override) 에러가 발생한 경우 sudo vi 파일이름처럼 관리자 권한으로 오픈합니다. 그래도 안 된다면 저장할 때 wq 명령어 대신 w! 명령어를 사용합니다.

확장자 htm 인식

확장자가 htm인 경우에도 PHP를 인식하도록 하고 싶다면 다음처럼 합니다.

AddType application/x-httpd-php .html .htm

웹서버를 다시 로드합니다.
service apache2 reload

기본적으로 아파치의 홈 디렉터리는 /var/www/html에 위치하고 있습니다. 해당 위에서 index.php를 만들어 다음과 같이 입력하면 각종 설정의 화면을 확인할 수 있습니다.

<?php phpinfo(); ?>

저의 경우는 코드 넣어 웹사이트를 구성하였습니다.

끝!

profile
피자, 코드, 커피를 사랑하는 피코커

2개의 댓글

comment-user-thumbnail
2023년 8월 22일

APM을 다 깔고 PHP 소스를 쳤는데 화면에 아무것도 보이지 않습니다.
localhost/index.php
127.0.0.1/index.php
도와주십시요

1개의 답글