APM 수동 설치 서론

Daniel_Yang·2022년 6월 6일
0

왜 하는가?

목적: 본인의 컴퓨터 이외의 환경, 다른 운영체제에서 테스트 위함.

  • 별도로 컴퓨터를 마련해서 리눅스 테스트 환경을 갖추기에는 종류도 다양하고 번잡

진행 과정 개요

  • 가상머신 → 운영체제 → APM 설치 → 연동

    • 컴퓨터는 하드웨어 + 소프트웨어 + 펌웨어로서 우리가 SW를 사용하기위해 사용한다.
      • 소프트웨어(SW)는 동작 방법을 지시하는 명령어 집합의 모음 참고
      • 운영체제는 하드웨어와 응용 소프트웨어를 효율적으로 조작하기 위한 시스템 소프트웨어다.
    • 같은 컴퓨터에 운영체제를 다르게 둔다는 것은 가상화 기술을 요구한다. 가상머신은 컴퓨터 환경을 소프트웨어로 구현한 것이다. 참고
  • 운영체제

    • 리눅스가 무난하다. Ubuntu 설치. 비용적인 면에서 유리(용량 등)
  • APM 설치 과정

    • 소스 코드를 컴파일하여 설치할 수 있도록 사전에 필수 패키지들 설치
    • 소스 코드 다운로드 및 압축 풀기
    • ./configure로 소스파일에 대한 환경설정을 해주는 명령. 뒤에 옵션이 붙는다.
      • 서버환경에 맞추어 makefile을 생성
    • make로 컴파일 후, make install로 설치
      • 컴파일이란 소스파일을 사용자가 실행 가능한 파일로 만들어 주는 과정을 말한다. 즉, 컴파일된 설치파일을 설치하는 것이다!

주의

  • 에러의 늪에 빠지고 싶지않다면 에러 있는지 중간중간 잘 체크
  • 시간이 오래걸리니 미리 염두해둘 것
  • apache - mysql - php 순서로 설치를 추천한다.
    • php는 설치시 apache 경로와 mysql 경로를 지정합니다. 그래서 php를 마지막에 설치합니다.

※ 소스컴파일을 통해 APM을 설치할 때 주의할 점은 최신 버전의 소스 파일을 사용한다고 꼭 좋은 것은 아니라는 점이다. 각기 다른 프로그램 세 개를 연동해 운영하는 것이므로, 각 프로그램끼리 잘 어울리는 버전이 별도로 있다는 사실을 기억하자.

출처:https://linuxstory1.tistory.com/entry/소스를-컴파일해서-APM을-설치하자Fedora-19

가상머신

Virtual박스 설치

  • VirtualBox는 오라클이 개발 중인 무료 가상화 소프트웨어로 여러가지 운영체제(리눅스, MacOS, 솔라리스, 윈도우 등)를 가상화 하여 운영해 볼 수 있다. 현재 사용중인 OS와 다른 OS를 설치해 테스트 PC나 서버 운영 등 사용 가능
    • 즉, 버추얼박스(VirtualBox) 를 이용해서 다양한 OS 를 자신의 컴퓨터에 설치
  • 홈페이지에서 windows hosts 로 설치
  • 기본경로: C:\Program Files\Oracle\VirtualBox\

운영체제 설치

VM에 ubuntu 설치

  • 참고: https://mainia.tistory.com/2379
  • **메모리**: 현재 자신이 보유하고 있는 메모리가 최대값 입니다. 어떤 용도로 사용할 것인지 생각해서 메모리 크기를 정합니다. 간단하게 테스트할 용도인지 아니면 각종 서버를 설치할 것인지를 정한 후 메모리를 결정합니다.
  • 가상 하드 디스크 만들기: 가상 OS 에 어떤 내용들이 들어갈지 모르겠다면 동적 할당 으로 선택 ⇒ 하지만 속도를 위해 고정 할당으로 진행. 그리고 D 드라이드에 vdi 설정

Ubuntu 22.04 LTS

환경설정

  • 고정할당 40GB이상 추천: mysql 설치시에 많은 디스크 용량이 필요. 45GB

속도를 위한 환경 설정


VBoxVGA를 통해 설치 과정에서 화면을 늘릴 수 있다.

  • 기타
    • grub에 들어가서 nomodest 추가 / apt install xserver-xorg-input-all 추가

Ubuntu 설치

  • 기본 설정 진행하면 된다.

APM 이란?

  • APM은 여러 뜻이 있지만 여기서의 APM은 Apache, PHP, Mysql 세가지가 연동되어 운영되도록 만든 환경이다. Apache와 MySQL이 PHP와 호환성이 좋기 때문에, 주로 세 프로그램을 묶어 사용
  • APM 구동방식
    • 클라이언트가 웹브라우저에서 URL을 입력하면, 80번 포트를 통해 서버에 Request를 합니다. 서버는 Response로 클라이언트에게 HTML, CSS 등의 웹사이트의 정보를 넘겨주게 됩니다.
    1. 클라이언트가 로그인 같은 서비스나 다른 정보를 서버에 Request
    2. 서버는 해당되는 정보를 주기 위해 PHP에게 스크립트 실행을 Request
      • 서버에서 처리할 수 없기 때문에
    3. PHP는 미리 작성된 프로그램을 통해 MySQL에 Request(query)
    4. MySQL은 질의문(query)에 대한 결과데이터를 PHP에 Response로 넘겨줌
    5. PHP는 받은 결과데이터와, 코드를 모두 HTML로 변경 후 서버에 Response
    6. 서버는 받은 HTML파일을 클라이언트 측 웹 브라우저에 Response

참고사이트: [https://velog.io/@jiyoonoh-dev/APM이란](https://velog.io/@jiyoonoh-dev/APM%EC%9D%B4%EB%9E%80)

참고사이트: https://velog.io/@jiyoonoh-dev/APM이란

🔥 쉽게 말하면, 클라이언트는 url을 요청해서 응답만 받으면 된다. 그러면 서버는 클라이언트와 소통 및 전달, 프로그래밍언어는 프로그램 실행, DB는 데이터만 전담한 것. 각자 알맞게 분업이 되어있는 것이다.

Apache

  • 세계에서 가장 많이 쓰이는 HTTP 웹서버 중 하나다.
  • 역할은 서비스 사용자가 URL을 입력하면 URL에 해당하는 서버에 설치된 apache가 실행되고, 사용자가 요청한 URL에 따라서 html, image와 같은 파일(resource)을 제공해준다.

PHP

  • Apache와 같이 웹페이지를 제공하는 역할을 한다. Apache는 파일 형식으로 된 html을 수동적으로 전달하는 역할을 하는 반면, Php는 프로그래밍적 요소를 더해서 동적으로 웹페이지를 생성해내는 것이다. Mysql 같은 데이터베이스에서 데이터를 꺼내서 제공하는 역할도 한다.

Mysql

  • 데이터베이스 제품 중 하나이고, 데이터를 관리하는 역할을 해준다. 원래는 파일에다가 데이터를 저장하지만, 파일들이 많아지고, 많은 양의 데이터를 관리해야하는 상황에서 효율적인 데이터 관리를 제공한다.

수동설치 vs 자동설치

  • apt 명령어를 이용한 설치는 소스 설치가 아니다. wget 등으로 소스파일 다운드 후 컴파일,
    설치를 진행하는 게 소스설치(수동설치)다.

  • 자동설치 설치 과정 링크: https://yoshikixdrum.tistory.com/214

  • 수동설치를 해야하는 이유?

    • 패키지 설치로 간편하게 설치할 수 있지만, 불필요하게 설치되는 파일들이 시스템의 자원을 사용하게 되고 패키지 단위로 설치되기에 관리적으로 문제가 발생 가능성 있음
  • 수동설치 시, /usr/local에 설치하는 것이 관례

명령어


// @@ 패키지 설치
sudo apt-get install @@@

// 패키지 인덱스 정보 업데이트
sudo apt-get update

// 설치된 패키지 업그레이드(설치된 패키지 모두 새버전으로)
sudo apt-get upgrade

// 웹 서버로부터 파일을 다운받는다.
wget

// tar.gz 압축을 한 번에 풀어준다.
tar xvfz

배운점

BIOS 란?

  • 컴퓨터의 가장 중요한 시작 프로그램인 BIOS, 또는 기본 입출력 시스템(Basic Input/Output System)은 시스템 부팅을 담당하는 내장 코어 프로세서 소프트웨어입니다.

  • BIOS는 컴퓨터 전원을 켜면 맨 처음 운영 체제를 로딩하는 시스템으로, 컴퓨터를 나만의 것으로 만들어주는 모든 개인 설정이 이곳에 담겨 있습니다.

  • 컴퓨터 내에서 VM 서버에 접속하기 링크

  • 리눅스 명령어

    해당 경로에서 vi 편집기: sudo vi @@@ 
    저장 ESC → :wq
    내용 지우기: clear
    관리자 권한으로 계속 작성: $ sudo su  => 이걸 하고나면 sudo 안 붙여도 됨
    
    파일찾기: find [찾을 경로] [형식] "찾을 파일 이름.확장자"
    모든 디렉토리에서 확장자가 jpg로 끝나는 파일 찾기 : find / -name '*.jpg'
    
    만약, ls: cannot access ./run/user/1000/gvfs: 
    Permission denied 이런 에러가 나는 경우, -xdev 옵션을 추가하면 해결된다., find / -xdev -name 'ab*' 이렇게 하면 된다.
    
  • 리눅스 속도 문제
    • 해결: OS설정 변경 참고
    • Virtual Box에서 Ubuntu를 실행하면 화면 깜빡임이 너무 심했고, 렉도 많이 걸렸다. 정확한 원인은 잘 모르겠지만 디스플레이의 3D 가속엔진과 시스템 프로세서 추가 할당을 하니까 증상은 좀 나아졌다.
    • 최적화

Make란?

https://devbin.kr/2021/makefile-작성하기-gnu-make-사용하기/

리눅스 파일 색깔별 종류

  • 파일 색깔
  1. 일반파일 : 하얀색
  2. 디렉토리 파일 : 파란색
  3. 링크 파일 : 하늘색
  4. 실행 파일 : 초록색
  5. 압축 파일 : 빨간색

느낀점

  • 검색을 잘 하는 것이 중요하다.

    • 구글링을 할 때 기간 설정과 “” 설정의 중요성
    • 해결 방법은 있다. 키워드를 잘 모를뿐. 검색을 하다보면 내가 어떤 키워드로 검색해야하는지 아는 경우도 있다.
  • 해결방법이 도저히 보이지않을 때

    • 잘 알지 못하더라도 정면 돌파한다. 특히, 에러를 잘 읽자
    • 여러 곳에서 검색한 자료들을 짜집기하다보면 힌트를 얻을 수 있다.
  • 참고했던 사이트 잘 정리하면서 과정 진행

  • 검색을 할 떄, 한국말로 된 블로그를 주로 봤었는데, 이번 기회에 영어, 중국, 일본어 까지 접하는 계기가 되었다.

0개의 댓글