[CentOS7] CentOS7에 APM 설치하기 & PHP 로그인
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 " <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 를 통해 로그인 하는 과정을 작성하였습니다.
다른 문의나 오탈자는 댓글을 통해서 알려주세요.
감사합니다.
'이것저것' 카테고리의 다른 글
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 |
[DIY] 자작 NAS 구축하기 - 구입부터 설치까지 (6) | 2021.02.15 |
댓글
이 글 공유하기
다른 글
-
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 -
DRM to PDF
DRM to PDF
2021.02.27