Ubuntu에 Apache 설치하기

ik_13038·2022년 8월 6일
0

라이징캠프 1주차

목록 보기
3/7
post-thumbnail

첫 주차 과제

  • Ubuntu 설치하기👌
  • Ubuntu에 Apache 설치하기👌
  • Ubuntu에 PHP 설치하기
  • Ubuntu에 MySQL 설치하기
  • 기타 SQL 쿼리문 연습해보기
  • Linux CLI 환경에 익숙해지기

Ubuntu에 Apache 설치하기


우분투 설치 완료 후 터미널 (Ctrl + alt + T) 실행 이후 해당 커맨드 입력 시 설치된 우분투 버전을 확인할 수 있다.

이제 APM을 순서대로 소스 설치하기 위해 알아보던 중 아래 링크를 찾았다.

  • 소스설치, 수동설치, 컴파일설치: linux에서 소스를 직접 다운받아 컴파일하여 설치하는 것을 말한다.

Ubuntu 20.04 APM 설치 가이드
버전은 다르니 이를 참고하여 설치하도록 유의하자.

필수 패키지 설치

$ sudo su
# apt-get install make
# apt-get install build-essential
# apt-get install gcc
# apt-get install --reinstall make
# apt-get install libexpat1-dev
# apt-get install g++ 
# apt-get install net-tools
# apt-get install curl

참고로 위 패키지 설치 중에 블랙 스크린 오류가 날 수 있는데 이 때 아래 방법으로 해결해보길 바란다.

  1. 터미널 창에서 sudo gedit /etc/default/grub 입력
    터미널 실행 단축키는 Ctrl+Alt+T 임
    gedit = 윈도우의 메모장으로 실행같은 개념.
    sudo vi /etc/default/grub 으로 vi 에디터로 진행해도 상관없음.

  2. 실행된 편집창 내용 중
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 라인을 찾고,
    quite splash 뒤에 nomodeset을 추가하여 저장 후 닫기.
    즉 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"

  3. 터미널 창에 아래 명령어들을 입력.

$ sudo update-grub
$ sudo apt install build-essential
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get install manpages-dev
$ sudo apt update
$ sudo apt upgrade
$ sudo ubuntu-drivers autoinstall 
$ sudo reboot
  1. 재부팅 후 정상 작동 확인

수동설치 중 사용할 명령어들

sudo su : root로 로그인 할 수 있는 권한을 갖는다.
wget : 웹상에서의 파일들을 다운로드 받게 해준다.
tar xvfz : 우리는 tar.gz형식의 파일들을 다운 받는데, 이러한 형식의 파일들을 압축 해제한다.
./configure : 쉽게 말해 make 하기위해 필요한 makefile을 생성한다.
make : 위의 과정으로 만들어진 makefile을 바탕으로 컴파일 한다.
make install : 컴파일 된 프로그램이나 파일들을 지정된 위치에 복사하는 명령어이다.

configure, make, make install의 개념을 알고 싶으면 여기를 참고하자.

소스설치 관례

/usr/local에 설치하는 것이 관례이다.
1. 소스파일을 내려받고(wget) 압축을 해제한 뒤(tar xvfz)
2. ./configure로 설정을 한다.
3. make로 컴파일을 한 뒤
4. make install로 설치한다.

우선 실행 절차에 따라 sudo su root로 계정을 반영구적으로 빌린다.
이후 해당 우분투 내에서 각각
apr, apr-util, pcre, apache 2.4를 검색하여
tar.gz 파일을 찾아 wget 커맨드로 다운로드 한다.

apr 및 아파치의 경우 https://httpd.apache.org/download.cgi 에서 최신 버전을 확인하고, Source - tar.gz의 링크 주소를 복사해 사용한다.

pcre의 경우 sourceforge 사이트에서 검색하여 다운로드한다.


정상 다운로드 시 해당 터미널에서 ls 명령어로 디렉토리 내 파일들을 확인할 수 있다.

이제 차례로 tar xvfz 명령어를 통해 압축을 해제해준다. (순서는 크게 상관 없다.)

해당 파일들의 이름을 확인하고 이들 각각을 make, make install 해준다. 이 때, httpd 파일을 가장 나중에 설치해준다.

apr 설치

/usr/local# cd apr-1.7.0
/usr/local/apr-1.7.0# ./configure --prefix=/usr/local/apr
여기서 오류가 난다면
#cp -arp libtool libtoolT 다운로드를 해준다.
/usr/local/apr-1.7.0# make
/usr/local/apr-1.7.0# make install

apr-util 설치

/usr/local# cd apr-util-1.6.1
/usr/local/apr-util-1.6.1# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
/usr/local/apr-util-1.6.1# make
/usr/local/apr-util-1.6.1# make install

pcre 설치

/usr/local# cd pcre-8.45
/usr/local/pcre-8.43# ./configure --prefix=/usr/local/pcre
/usr/local/pcre-8.43# make
/usr/local/pcre-8.43# make install

Apache(2.4.53) 설치

/usr/local# cd httpd-2.4.53
/usr/local/httpd-2.4.46# ./configure --prefix=/usr/local/apache2.4 \
--enable-module=so --enable-rewrite --enable-so \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--with-pcre=/usr/local/pcre \
--enable-mods-shared=all

설치 중 에러가 났다. pcre-config에서 스크립트를 찾을 수 없다고 한다.
해결 방법은 아래와 같다.

설정 명령어들(./configure로 시작하는)에서
prce 부분을 찾은 다음 pcre-config 파일이 있는 경로나 아니면 파일짜리 직접 지정해주면 된다

--with-pcre=/usr/local/pcre/ 해당 명령어를
--with-pcre=/usr/local/pcre/bin/pcre-config 로 수정한다.

정상 진행 시 아래와 같은 화면이 나온다.

이후

/usr/local/httpd-2.4.46# make
/usr/local/httpd-2.4.46# make install

make, make install 설치를 진행한다.

Apache 실행

실행에 앞서 버전을 확인하고 최신 버전으로 모두 업데이트 해준다.

실행: httpd -k start, 종료: httpd -k stop
\ 앞에는 공백을 넣고 \뒤에는 공백 없이 작성한다!

$ sudo /usr/local/apache2.4/bin/httpd -k start

역시나 오류가 났으나 위 블로그 링크에서 해결방법을 다행히 제시해주어 따라했다.
편집기를 열어 서버 네임을 설정하고 다시 진행하면 된다.

httpd.conf 파일을 찾아 헤맸는데 설치한 apache 폴더 경로 내에 conf 디렉토리 내에 파일이 있다.

편집기로 sereverName localhost:80을 추가한다.

아래 명령어를 진행해보자.

$ sudo /usr/local/apache2.4/bin/httpd -k start
$ ps -ef|grep httpd|grep -v grep
$ sudo netstat -anp|grep httpd
$ sudo curl http://127.0.0.1

ps 는 preocess status 의 준말로, 현재 실행중인 프로세스의 목록을 보여준다.
-ef 옵션에서 e는 모든 프로세스를 출력하라는 뜻이고, -f 는 풀 포맷(UID, PID 등)으로 보여주겠다는 뜻이다.
netstat 은 네트워크 상태를 확인할 수 있다.
curl은 HTML정보를 출력해준다.

firefox에서 실행 확인하기


브라우저에서 주소창에 localhost(127.0.0.1)를 입력하고 It works!가 나오면 성공이다.

아래는 참고하자.
우분투 Vi 명령어 모음 김제트 블로그

출처

블랙 스크린 오류 해결 방법
configure, make, make install의 개념
우분투 소스 설치 시 에러 해결 방법

profile
글 연습, 정보 수집

0개의 댓글