본문 바로가기

WEB

LAMP 설치

LAMP 설치

(putty를 이용해서 ubuntu 18.04에 LAMP 설치하는 방법입니다.)


@LAMP란?@


Linux, Apache, MySQL, PHP의 첫글자만 따온 약어입니다.

리눅스 운영체제에 세가지 오픈소스 소프트웨어를 설치함을 의미합니다.


@LAMP 설치@


# 업데이트

$ sudo apt-get update && sudo apt-get upgrade


# Apache2 웹서버 설치


## Apache란?

Apache HTTP Server(Apache)는 HTTP 웹서버이다.

* 웹서버: 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹페이지를 반환하는 컴퓨터 프로그램

## Apache 설치

$ sudo apt-get install apache2

Y

<Ok>

확인

링크 창에 (public ip주소) 치면 해당 창이 나와야 함

가끔 오류나는 경우

apt-get 대신 apt을 써서?

(차이점 정리 해야함)

$ apache2 -v

아파치 웹서버 버전 확인

Apache2의 디폴트 Document Root는 /var/www/ , 디폴트 파일 /var/www/html/index.html

이 경로에 HTML 또는 PHP 파일 등을 생성하면 웹 브라우저를 통해 해당 파일을 요청할 수 있음.

/etc/apache2/apache2.conf 에 들어가면

여기서 Default Directory를 수정할 수 있음

링크에 ip주소 치면 나오는 Apache2 Ubuntu Default Page 참고

## 방화벽 설정

$ sudo ufw enable

방화벽 프로그램 ufw 활성화

$ sudo ufw defaul deny incoming

$ sudo ufw default allow outgoing

방어벽 기본 설정 변경

incoming은 'deny'로 outgoing은 'allow'로

$ sudo ufw allow ssh

ssh 접속 허용

$ sudo ufw app info "Apache"

$ sudo ufw app info "Apache Secure"

$ sudo ufw app info "Apache Full"

셋 중에 하나 골라서 방어벽에 적용

Apache: Web Server

Apache Secure: Web Server(HTTPS)

Apache Full: Web Server(HTTP, HTTPS)

$ sudo ufw allow in "Apache"

*갑자기 putty 접속 안됨*

Sudo ufw enable 후에 sudo ufw allow (포트번호) 해줘야함 -> 포트번호는 ec2 인스턴스 보안규칙에 포함된 걸로다가


# MySQL 서버 설치


## MySQL 이란?

세계에서 가장 많이 쓰이는 오픈 소스 '관계형 데이터베이스 관리 시스템(RDBMS)'이다.

## MySQL 설치

$ sudo apt-get install mysql-server

Y

$ sudo mysql_secure_installation

mysql root 사용자 비밀번호 설정

y: password plugin setup 할건지?

1: strong한 형태의 password setting 할 것

password 두번 입력 (숫자, 영소문자 합쳐서 8글자 이상)

y: 데이터베이스를 아무나 읽어볼 수 없게 함

y: 원격 접속으로 root 계정을 사용할 수 없게 ( 별도 계정 생성해야 하게 ) 함

y

y

$ sudo mysql -u root -p

패스워드 입력해서 mysql 접속 (*sudo로 접속하지 않으면 비밀번호 안먹을 수도 있음)

$ create user (추가한 user이름) identified by '(비밀번호)';

비밀번호는 대문자,숫자,특수문자를 하나 이상 포함하고 8자리 이상이어야 함.

$ show variables like 'validate_password%';

비밀번호 설정 확인

mysql> grant all privileges on db.* to '(추가한 user 이름)'@'localhost' identified by '(비밀번호)';

mysql> flush privileges;

## MySQL error

새로 생성한 user의 host가 %(외부접속)이다.

privileges(권한) 줄 때 오류 날 수 있다.

* mysql> grant all privileges on *.* to (추가한 user이름) identified by '(비밀번호)';로 권한 수정해주기


# PHP 설치


## PHP 란?

프로그래밍 언어의 일종이다. (추가 필요)

$ sudo apt-get install php php-mysql

$ sudo vi /var/www/html/info.php

info.php 파일에 위처럼 적고 저장

(vi 편집기 사용법 정리해야함)

확인

링크 창에 (public ip주소)/info.php를 치면

이러한 화면이 나옴 (설치된 php의 정보를 보여주는 화면)


# phpMyAdmin 설치


## phpMyAdmin이란?

MySQL을 WWW 상에서 관리할 목적으로 PHP로 작성한 오픈 소스 도구이다.

## phpMyAdmin 설치

$ sudo apt-get install phpmyadmin

이러한 화면들이 뜨면 그냥 Default 설정 <Ok>하기

phpmyadmin의 비밀번호 설정 (8자리 이상이고 대문자,숫자,특수문자 하나 이상인 비밀번호)

비밀번호 설정 안따르면 error 뜸

esc누른 후 retry로 다시 하면 됨

확인

링크 창에 (public ip 주소)/phpmyadmin치면

에러 뜰 수도 있음

## phpMyAdmin 에러 해결 방법

$ sudo vi /etc/apache2/apache2.conf 해서 파일 연 다음

Include /etc/phpmyadmin/apache.conf

해당 내용을 추가

esc 누르고 명령창에서 :wq로 저장 후 종료

$ sudo service apache2 restart

아파치 서버 재시작

다시 확인

로그인 창 뜸

아까 설정했던 사용자명(ubuntu user name), 암호(phpmyadmin에서 설정한 것) 입력