이 영역을 누르면 첫 페이지로 이동
포렌식 & 개발 이야기 - Forensics & Development 블로그의 첫 페이지로 이동

포렌식 & 개발 이야기 - Forensics & Development

페이지 맨 위로 올라가기

포렌식 & 개발 이야기 - Forensics & Development

Pental - Forensics / iOS / Windows / Android / Kakaotalk / Telegram / Etc

[CentOS7] CentOS7에 APM 설치하기 & PHP 로그인

  • 2022.06.08 16:22
  • 이것저것
글 작성자: pental
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-release

최신 phpMyAdmin 버전을 설치하기 위해 EPEL repo를 추가한다.

( default repo에는 APM 구축에 필요한phpMyAdmin이 없어서 설치하는 것이다.)


Maria DB 설치하기

yum -y install mariadb-server mariadb
systemctl restart mariadb
systemctl enable mariadb
systemctl status mariadb


Apache 설치하기

yum -y install httpd
systemctl restart httpd
systemctl enable httpd
systemctl status httpd


방화벽 열기

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
firewall-cmd --list-all

http와 https 가 정상적으로 방화벽이 열린것을 확인 할 수 있다.

그후 할당된 아이피 주소를 인터넷을 열어 확인해, Testing 123  문구(아래 사진)를 확인하면 아파치 설치가 완료된 상태이다.


PHP 7.3 설치

rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum -y install yum-utils
yum update

이 과정에서는 시간이 많이 소요 될 수도 있으니 인내심을 가지고 기다리도록 하자. 해당 구문은 yum-util을 설치해 특정 php 버전을 설치할 수 있도록 하는 과정이다.

yum-config-manager --enable remi-php73
yum -y install php php-opcache
systemctl restart httpd

PHP 테스트

vi /var/www/html/info.php

/vi 편집기를 통해 a 키를 눌러 편집모드로 변환후 <?php phpinfo() ?> 를 입력후 ESC를 누른후 :wq를 입력해 저장해 나간다.


그후 [서버주소]/info.php 를 들어가 php version이 제대로 나오는지 확인한다.

 


PHP에 Mysql 설치

yum -y install php-mysqlnd php-pdo
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel

systemctl restart httpd
systemctl status httpd


PHPMYADMIN 설치

yum -y install phpMyAdmin
vi /etc/httpd/conf.d/phpMyAdmin.conf

 

해당 부분에 #을 통해 주석처리하고 Require all granted를 새로 추가해준다.

systemctl restart httpd

[서버주소]/phpmyadmin 으로 접속해 확인한다.

이제 데이터 베이스에  계정 추가및 데이터베이스 추가를 해야한다. 

mysql_secure_installation

현재 비밀번호가 없기 때문에 엔터를 눌러 접속한다.

새로운 비밀번호를 작성하고, 다 Y를 눌러 초기 설정을 마친다.

systemctl enable mariadb

부팅시 mysql을 자동 실행하기 위해서 enable을 통해서 자동 실행을 설정한다.

다시 phpmyadmin을 접속해, 설정한 비밀번호로 들어간다.

로그인 후 NEW 버튼을 눌러 새로운 데이터 베이스를 생성한다.

저같은 경우는 user라는 데이터베이스 이름을 사용하고 데이터베이스를 생성한다.

테이블명도 똑같이 user로 작성하고, 인덱스, 아이디, 비밀번호를 입력 받아야 하므로 컬럼수는 3으로 지정하고, 각각의 필드를 다음과 생성하고 저장한다.


로그인 페이지 제작 및 연결

삽입 버튼을 눌러 관리자 계정을 하나 생성합니다.

 

admin / 1234 로 지정했고, 삽입시 index 필드는 공백으로 놔두고, 저장 버튼을 누르면 된다.

connect.php 파일을 생성하기 위해서, 다음과 같이 입력합니다.

vi /var/www/html/connect.php

 

<?php
    $db_host = "localhost";
    $db_user = "root";
    $db_password = “설정한 비밀번호를 입력해주세요”;
    $db_name = "user";

    $con = new mysqli($db_host, $db_user, $db_password, $db_name);
    if ($con->connect_errno) { die('Connection Error : '.$con->connect_error); } 
?>

index 파일을 생성한다.

vi /var/www/html/index.php
<?php
session_start(); // 세션
if($_SESSION['id']==null) { // 로그인 하지 않았다면
?>

<center><br><br><br>
<form name="login_form" action="login_check.php" method="post"> 
   ID : <input type="text" name="id"><br> 
   PW:<input type="password" name="pw"><br><br>
   <input type="submit" name="login" value="Login"> 
</form>
</center>

<?php
}else{ // 로그인 했다면
   echo "<center><br><br><br>";
   echo $_SESSION['name']."(".$_SESSION['id'].")님이 로그인 하였습니다.";
   echo "&nbsp;<a href='logout.php'><input type='button' value='Logout'></a>";
   echo "</center>";
}
?>

login_check.php 파일

vi /var/www/html/login_check.php
<?php
session_start();
include ("connect.php"); 
$id = $_POST['id'];
$pw = $_POST['pw']; 
$query = "select * from user where id='$id'and password='$pw'";
$result = mysqli_query($con, $query); 
$row = mysqli_fetch_array($result);

if($id==$row['id'] && $pw==$row['password’]){ 
        $_SESSION['id']=$row['id'];
        $_SESSION['name']=$row['id'];
        echo "<script>location.href='index.php';</script>";
}else{
        echo "<script>window.alert('invalid username or password');</script>"; 
        echo "<script>location.href='index.php';</script>";
}
?>

logout.php

vi /var/www/html/logout.php
<?php
session_start(); // 세션
if($_SESSION['id']!=null){
   session_destroy();
}
echo "<script>location.href='index.php';</script>";
?>

다음과 같은 파일들이 존재하면 된다.

사용하는 서버주소로 들어가서 비번이 틀리면 

비번이 맞으면 

지금까지 CentOS7 에 APM 설치후, PHP 를 통해 로그인 하는 과정을 작성하였습니다.

다른 문의나 오탈자는 댓글을 통해서 알려주세요.

감사합니다.

저작자표시 비영리 (새창열림)

'이것저것' 카테고리의 다른 글

[25년 1회차] 정보보안기사 동회차 합격 후기 (필기 & 실기)  (2) 2025.05.12
Deepfake Tutorial - 자신만의 딥페이크를 만들어 보자 (0부터 100까지)  (3) 2021.12.16
[Python] Pyinstaller Decompile (암호화되어 있는 바이너리 디컴파일)  (8) 2021.11.02
[Arduino] OLED 모듈과 온습도 센서 사용  (0) 2021.10.09
DRM to PDF  (0) 2021.02.27

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [25년 1회차] 정보보안기사 동회차 합격 후기 (필기 & 실기)

    [25년 1회차] 정보보안기사 동회차 합격 후기 (필기 & 실기)

    2025.05.12
  • Deepfake Tutorial - 자신만의 딥페이크를 만들어 보자 (0부터 100까지)

    Deepfake Tutorial - 자신만의 딥페이크를 만들어 보자 (0부터 100까지)

    2021.12.16
  • [Python] Pyinstaller Decompile (암호화되어 있는 바이너리 디컴파일)

    [Python] Pyinstaller Decompile (암호화되어 있는 바이너리 디컴파일)

    2021.11.02
  • [Arduino] OLED 모듈과 온습도 센서 사용

    [Arduino] OLED 모듈과 온습도 센서 사용

    2021.10.09
다른 글 더 둘러보기

정보

포렌식 & 개발 이야기 - Forensics & Development 블로그의 첫 페이지로 이동

포렌식 & 개발 이야기 - Forensics & Development

  • 포렌식 & 개발 이야기 - Forensics & Development의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

카테고리

  • Category (444) N
    • Forensics (104)
      • Magnet AXIOM (28)
      • Digital Forensics Informati.. (9)
      • Iphone Forensics (23)
      • DFC (7)
      • 디지털포렌식전문가2급 자격증 (10)
      • FTK ACE 자격증 (7)
    • 이것저것 (7)
      • Ubuntu (6)
      • 디스코드 봇 (4)
      • Volatility GUI (2)
    • CTF (32)
      • NEWSECU (14)
      • CTF-d (5)
      • Puzzel - Network Forensics (2)
      • Security Traps (2)
      • system32.kr (5)
      • HMCTF (4)
    • Programming (253) N
      • C (10)
      • Python (11)
      • 백준 (199) N
      • 프로그래머스 (32)
    • 그냥 개발 및 잡담 (16)
      • Docker (2)
      • Google Cloud (3)
      • OS 개발 (3)
    • Best of Best (20)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • 파이썬
  • pental
  • 포렌식
  • axiom
  • 프로그래머스
  • Forensics
  • 디지털포렌식
  • 백준
  • 전체 보기…

정보

pental의 포렌식 & 개발 이야기 - Forensics & Development

포렌식 & 개발 이야기 - Forensics & Development

pental

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. Copyright © pental.

티스토리툴바