Linux/보안장비 운용

Nginx + PHP + MariaDB 연동 설치하기

GGkeeper 2022. 3. 13. 15:26

미션> Nginx + PHP + MariaDB 연동 설치하기 

Nginx + php + php-fpm + mariadb

php-fpm 통신 방법 : 소켓파일
php를 사용하기 위해서는 php-fpm 패키지를 설치한다.
php-fpm은 PHP FastCGI Process Manager의 약자로 FastCGI는 CGI보다 더 빠른 처리를 말한다.

Nginx + PHP 설치 후
phpinfo() 함수가 실행되서 내용이 출력되게 설정한다.

-- index.php --
<?
phpinfo();
?>
-- index.php --

PHP연동 후 IP주소로 직접 접속한다.
http://192.168.108.102 

로그인 기능 추가
- DB 의 member 테이블 
login.html loginok.html logout.html 파일을 생성한다.

login.html    : 로그인 페이지
loginok.html  : 로그인 인증 페이지 (DB 연동 부분)
logout.html   : 로그아웃 페이지


               로그아웃 흐름도
   +--------------------------------------+
   |                                      |
   |                                      |
   |                                      v
로그인 페이지     로그인 인증        로그아웃 페이지
login.html -----> loginok.html ----> logout.html 
       로그인 흐름도   |                     |
   ^                |                     |
   |                |                     |
   +----------------+                     |
                                          |
   ^                                      |
   |                                      |
   +--------------------------------------+

DB명 : nginxuser
DB사용자 : nginxuser
DB사용자 비번 : 111111
TB명 : member
member TB's 스토리지 엔진 : MyISAM
member TB's 구조 : 
no       : 필드1 int형, 널허용 금지, 자동증가, 기본키 지정
userid   : 필드2 가변길이 문자형이며 크기는 20자 까지, 널 허용 금지, 유일한 값 지정
userpw   : 필드3 고정길이 문자형이며 크기는 41자 까지, 널 허용 금지 
username : 필드4 가변길이 문자형이며 크기는 20자 까지, 널 허용 금지 
regdate  : 필드5 datetime형
스토리지 엔진 : MyISAM 
언어셋        : utf8

not null : 널 허용 금지
auto_increment : 자동 증가
primary key : 기본 키
unique : 유일한 값
+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| no       | int(11)     | NO   | PRI | NULL    | auto_increment |
| userid   | varchar(20) | NO   | UNI | NULL    |                |
| userpw   | char(41)    | NO   |     | NULL    |                |
| username | varchar(20) | NO   |     | NULL    |                |
| regdate  | datetime    | NO   |     | NULL    |                |
+----------+-------------+------+-----+---------+----------------+

insert into member values(NULL, 'test', password('111111'), '홍길동', now());
insert into member values(NULL, 'test2', password('111111'), '고길동', now());

MariaDB [user1]> select * from member;
+----+--------+-------------------------------------------+-----------+---------------------+
| no | userid | userpw                                    | username  | regdate             |
+----+--------+-------------------------------------------+-----------+---------------------+
|  1 | test   | *FD571203974BA9AFE270FE62151AE967ECA5E0AA | 홍길동      | 2021-01-21 02:39:54 |
|  2 | test2  | *FD571203974BA9AFE270FE62151AE967ECA5E0AA | 고길동      | 2021-01-21 02:40:24 |
+----+--------+-------------------------------------------+-----------+---------------------+
2 rows in set (0.00 sec)


여기까지 세팅을 마치면 미션 성공!!!

================ 미션 풀이 ================