728x90
300x250
[GNU(리눅스[Linux])] Lubuntu 18.02에서 Apache2.4, MySQL(Community) 5.7, PHP 7.2, Vim 설치하기, Vi 소개

 

루분투 18.02에서 아파치 2, MySQL 5.7, PHP 7.2, Vim을 설치하는 방법에 대해서 소개하겠다.

 


1. 프로젝트 소개

 

사용되는 프로젝트는 다음과 같다.

 


1-1. Apache 2.4 프로젝트

 

아래의 사이트는 아파치 HTTP Server Project 재단의 홈페이지이다.

https://httpd.apache.org/

 

 

 


1-2. PHP 프로젝트

 

아래의 사이트는 PHP사이트이다.

http://www.php.net

 

그림 1-2-1. PHP.net

 


1-3. MySQL Community

 

아래의 링크를 클릭하면 아래의 사이트에 접속할 수 있다.

https://www.oracle.com/kr/mysql/community.html

 

 

그림 1-3-1. MySQL Community - Oracle

 

https://dev.mysql.com/downloads/mysql

 

 

그림 1-3-2. MySQL Community - Oracle

 

아래의 그림은 개발자를 위한 MySQL 사이트이다.

https://dev.mysql.com/

 

 

그림 1-3-3. MySQL Developer Web - Oracle

 


1-4. Lubuntu 패키지 - 아파치, MySQL, PHP(Apache, MySQL, PHP)

 

아래의 사이트는 우분투에서 배포하는 패키지에 관한 사이트이다.

 

https://packages.ubuntu.com/search?keywords=apache2

https://packages.ubuntu.com/search?suite=default&section=all&arch=any&keywords=mysql&searchon=names
https://packages.ubuntu.com/search?suite=default&section=all&arch=any&keywords=php&searchon=names

 

 

그림 1-4-1. 우분투 Package 사이트 - 도도(Dodo)

 

 

그림 1-4-2. MySQL Package Site - 도도(Dodo)

 


1-5. Vim 프로젝트

 

vim 프로젝트에 관한 것이다.

https://www.vim.org

https://www.vim.org/about.php

 

 

그림 1-5-1. Vim 프로젝트 - 도도(Dodo)

 


1-6. GNU Vi Project

 

아래의 사이트는 GNU 재단에서 소개하고 있는 vi이다.

emac과 Vi의 차이에 대해서 소개하고 있다.

 

https://www.gnu.org/software/bash/manual/html_node/Readline-vi-Mode.html

 

 

그림 1-6-1. Vi 에디터 사용방법 - GNU

 

https://www.gnu.org/fun/jokes/vi.song.html

 

 

그림 1-6-2. GNU Vi 소개 - GNU

 

 


2. 설치하기

 

설치하는 방법은 크게 간단한 명령어로 설치할 수 있다.

 

번호

명령어(Command)

설명(Explaination)

비고(Remarks) 

1

sudo apt-get install apache2 php mysql*

아파치, PHP, MySQL 패키지 형태로 설치하기

 

2

 

 

 

 

 

 

그림 2-1. Apache2, PHP, MySQL 설치하기 - 도도(Dodo)

 

 

그림 2-2. Apache2, PHP, MySQL 설치하기 - 도도(Dodo)

 

Y를 입력하고 엔터키를 누른다.

 

 

그림 2-3. Apache2, PHP, MySQL 설치하기 - 도도(Dodo)

 

 

그림 2-4. Apache2, PHP, MySQL 설치하기 - 도도(Dodo)

 

 

그림 2-5. Apache2, PHP, MySQL 설치하기 - 도도(Dodo)

 

 

그림 2-6. Apache2, PHP, MySQL 설치하기 - 도도(Dodo)

 


3. 실행하기


루분투 18.02에서 아파치 웹서버 동작 유무를 확인하는 방법에 대해서 소개하겠다.

 

"시작 메뉴"를 클릭한다.

"인터넷" 탭을 클릭한 후, "Firefox 웹 브라우저"를 클릭한다.

 

 

그림 3-1. Firefox 웹 브라우저 실행하기 - 도도(Dodo)

 

아래의 웹 페이지가 열리면, "localhost" 또는 "127.0.0.1"을 입력한다.

 

 

그림 3-2. Firefox 웹 브라우저 실행하기 - 도도(Dodo)

 


4. 폴더 확인해보기

 

아래의 그림은 처음 설치된 아파치 서버의 웹 페이지가 저장되어 있는 폴더의 위치이다.

 

/var/www/html

 

 

그림 4-1. 폴더 내용 확인하기 - 도도(Dodo)

 

아래의 그림은 LX Terminal을 실행하는 모습이다.

LXTerminal을 실행시키 위해서 선택 및 클릭을 하는 과정이다.

 

 

그림 4-2. LXTerminal 클릭하기 / 시작메뉴에서 시스템 도구 LX Terminal - 도도(Dodo)

 

번호

명령어

설명(Explaination || Description)

비고(Remarks)

1

sudo -i

관리자 권한으로 변경하기

 

 

 

 

그림 4-2. LxTerminal에서 PHP 파일 생성해보기 - 도도(Dodo)

 

번호 

명령어(Command)

설명(
Explaination ||
Description)

 

1

cd /

루트 경로로 이동

 

2

ls

파일,폴더 등 내용 출력

 

3

cd /var/www/html

/var/www/html으로 이동하기

 

 

 

 

그림 4-3. LxTerminal에서 PHP 파일 생성해보기 - 도도(Dodo)

 


5. Vim 설치하기

 

# sudo apt install vim

 

 

그림 5-1. LxTerminal에서 vim 설치하기 - 도도(Dodo)

 

 

그림 5-2. LxTerminal에서 vim 설치하기 - 도도(Dodo)

 

번호

명령어(Command)

설명(Explaination || Description) 

1

vim phpinfo.php

 vi phpinfo.php 도 사용이 가능하다.

2

vi phpinfo.php

vi 에디터에 익숙한 경우에는 vi 에디터를 사용해도 무방하다.

vim과 큰 차이가 없다고 본다. 명령어 등의 체계 오래된 에디터는 vi이다.

 

 

그림 5-2-1. vi 에디터 사용하기 - 도도(Dodo)

 

 

 

 

그림 5-3. LxTerminal에서 vim 설치하기 - 도도(Dodo)

 

입력으로 전환하려면, i키를 누른다.

그림처럼 타이핑을 한다.

esc키를 누른다.

:키를 누른다.

wq를 입력한다.

 


6. 웹 브라우저 실행하기

 

아래의 그림은 PHP를 웹 브라우저에서 실행시킨 모습이다.

 

 

그림 6-1. Apache 2 (루분투 18.02)에서 localhost 실행하기 - 도도(Dodo)

 

 

 

 

그림 6-2. Apache 2 (루분투 18.02)에서 localhost 실행하기 - 도도(Dodo)

 


7. 맺음글(Conclusion)

 

루분투 18.02에서 아파치2, MySQL Community 5.7, PHP 7.2, Vim을 설치하는 방법에 대해서 소개하였다.

Vi도 소개하였다.

 


8. 참고 자료(Reference)

 

1. PHP.net, Last Modified, Accessed by 2018-08-30, http://www.php.net

2. Welcome! - The Apache Homepage, Last Modified, Accessed by 2018-08-30, https://httpd.apache.org/

3. MySQL :: Developer Zone, Last Modified, Accessed by 2018-08-30, https://dev.mysql.com/

4. MySQL Community Edition | MySQL | 오라클 | Oracle 대한민국, Last Modified, Accessed by 2018-08-30, https://www.oracle.com/kr/mysql/community.html

5. MySQL :: Download MySQL Community Server, Last Modified, Accessed by 2018-08-30, https://dev.mysql.com/downloads/mysql/

6. Ubuntu – Package Search Results -- apache2, Last Modified, Accessed by 2018-08-30, https://packages.ubuntu.com/search?keywords=apache2

7. Ubuntu – Package Search Results -- mysql, Last Modified, Accessed b 2018-08-30, https://packages.ubuntu.com/search?suite=default&section=all&arch=any&keywords=mysql&searchon=names

8. Ubuntu – Package Search Results -- php, Last Modified, Accessed by 2018-08-30, https://packages.ubuntu.com/search?suite=default&section=all&arch=any&keywords=php&searchon=names

9. about Vim : vim online, Last Modified, Accessed by 2018-08-30, https://www.vim.org

10. Bash Reference Manual: Readline vi Mode, Last Modified, Accessed by 2018-08-30, https://www.gnu.org/software/bash/manual/html_node/Readline-vi-Mode.html

11. Addicted to vi - GNU Project - Free Software Foundation (FSF), Last Modified 2015/09/13 15:54:59, Accessed by 2018-08-30, https://www.gnu.org/fun/jokes/vi.song.html

반응형
728x90
300x250

[PHP] OTP와 로그 시스템 (OTP and Log System)

 

root at 127.0.0.1

 

이번에 소개할 것은 OTP와 IP로그 시스템에 관해서 심도적으로 소개하려고 한다.

사용자 인터페이스 관점에서의 OTP는 크게 하드웨어와 소프트웨어로 분류할 수 있다고 가설을 두고 설계하였다.

보안 이슈에서 OTP 시스템이 도입된 지 불과 몇 년 되지 않았다고 본다.

IP 로그와 OTP 시스템의 차이점을 소개하겠다.

 

 


1. OTP란?

 

One time Password라는 용어로 일회성 비밀번호를 생성하는 시스템이라고 부른다.

예를 들면, 사용자가 보유하고 있는 비밀번호 체계로 인증체계를 구현할 때 사용되어진다.

 


2. 사용자 인터페이스 설계하기(Designing the User Interface)

 

사용자 관점에서 "OTP" 인터페이스를 고안하였다.

크게 어렵지 않은 인터페이스 화면으로 디자인 할 수 있다.

 

 

그림 2-1. 소프트웨어 - OTP Generator(OTP 생성기) - 도도(Dodo)

그림 2-1은 소프트웨어 형태의 OTP 생성기이다.

 

 

그림 2-2. 하드웨어 OTP Generator(Hardware OTP Generator) - 도도(Dodo)

 

그림 2-2는 하드웨어 형태의 OTP 생성기이다.

 


3. 웹 페이지에서의 OTP 생성하기(Creating an OTP on a Web Page)

 

아래의 그림은 웹 페이지에서 OTP를 생성하는 것이다.

 

그림 3-1. OTP 생성 구현의 예 - 도도(Dodo)

 

OTP 생성에 관한 소스코드이다. 크게 어렵지 않은 구조로 작성할 수 있다.

 

<?php
/*
 *  Created Date : 2018-08-29
 *  Filename: index.php
 *  Author: Dodo
 */
?>

<?php

function generate(){
    return time() * mt_rand(1, 5);   
}

?>
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta name="viewport" content="width=320; user-scalable=no" />
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
 <title>OTP 발생기(OTP Generator)</title>
 <link rel="stylesheet" type="text/css" href="./css/mystyle.css">
</head>
<body>

<!-- OTP Generator Model -->
<table style="width: 100%;">
 <tr>
  <td style="background-color: #FA5882; height:40px">
   <span style="font-size:20px; color:#FFF; font-weight:bold;">
    OTP Generator(OTP 생성기)
   </span>
  </td>
 </tr>
 <tr>
  <td>
   <input type="text" class="otp" name="otp" value="<?php echo generate(); ?>" style="width:100%;height:30px;">
  </td>
 </tr>
 <tr>
  <td>
   <input type="submit" class="generate" value="생성하기" onclick="window.location.reload();">
  </td>
 </tr>
</table>

</body>
</html>

 

 

 

영상 1. OTP 생성기 / 시연 - 도도(Dodo)

 


4. 웹 페이지에서 로그

 

웹 페이지에서 사용자 로그를 생성하는 것에 대해서 소개한다.

 

CREATE TABLE IF NOT EXISTS `log` (
      `id` int(11) NOT NULL auto_increment,
      `createDate` datetime NOT NULL,
      `subject` text NOT NULL,
      `ip` text NOT NULL,
      PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

 

데이터베이스의 테이블 설계는 다음과 같이 간단한 구조로 설계할 수 있다.

 

 

위의 코드를 실행하면 아래처럼 반응하는 것을 볼 수 있다.

 

 

그림 4-1. 웹 페이지에서의 로그 - 도도(Dodo)

 

 

영상 2. 로그 생성 반응 시연 - 도도(Dodo)

 


5. 아파치 웹 서버

 

아파치 웹 서버는 아파치 파운데이션(Apache Foundation)에서 만든 프로젝트이다.

http://www.apache.org

 

 

그림 5-1. 아파치 소프트웨어 재단(Apache Software Foundation) - 도도(Dodo)

 

                   표 1. 영어, 한글로 읽어보기

 

번호

영어 단어

한글 읽기(Hangul)

1

Open

개방, 열다

오픈

2

Software

소프트웨어

소프트웨어

3

Soft

부드러운

소프트

4

Innovation

혁신

이노베이션

5

Community

커뮤니티(공동체)

커뮤니티

6

Consider

고려하다,
중히 여기다

컨시더

 

 

그림 5-2. 아파치 프로젝트 소개 - 도도(Dodo)

 

                                                                         표 2. 영어, 한글로 읽어보기

 

번호

영어 단어 또는 문장

한글 읽기

1

What is the Apache HTTP Server Project?

아파치 HTTP 서버 프로젝트는 무엇입니까? 

 왓 이스 더 아파치 에이치티티피

서버 프로젝트?

2

The Apache HTTP Server Project is a collaborative software development

Apache HTTP Server 프로젝트는
공동 소프트웨어 개발입니다.

디 아파치 에이치티티피 서버 프로젝트 이스 어 콜라브레이티브 소프트웨어 디벨러프멘트.

3

Collaborative

공동

콜라보레이티브

4

effort

노력

에포트

5

Mailing Lists

메일링 리스트

메일링 리스트

6

Trunk (dev)

 트렁크 (개발)

뜻(의역): 저장 보관소

트렁크 (디브)

 

 


6. 맺음글(Conclusion)

 

OTP 시스템과 로그 시스템에 대해서 살펴보았다.

 


7. 참고자료(Reference)

 

1. OTP, Last Modified , Accessed by 2018-08-29, https://ko.wikipedia.org/wiki/일회용 비밀번호

2. PHP: mysql_query, Last Modified, Accessed by 2018-08-29, http://php.net/manual/en/function.mysql-query.php

3. PHP: mysql_set_charset - Manual, Last Modified, Accessed by 2018-08-29, http://php.net/manual/en/function.mysql-set-charset.php

4. Welcome to The Apache Software Foundation!, Last Modified, Accessed by 2018-08-29, https://www.apache.org/

5. About the Apache HTTP Server Project - The Apache HTTP Server Project, Last Modified, Accessed by 2018-08-29, http://httpd.apache.org/ABOUT_APACHE.html

 

Editor: 도도는 도도의 초록누리의 에디터이다. 샵인클루드 족이다.

반응형

+ Recent posts