리눅스 기반 웹 서버 구축하기

wook2·2022년 7월 14일
0

LAMP

목록 보기
1/1
post-thumbnail
post-custom-banner

리눅스 기반 웹 서버를 구축을 하기위한 소프트웨어 조합에는 LAMP가 있다.
LAMP는 linux + apache2 + mysql + php의 조합으로 웹 서버를 구축하는 방법이다.

윈도우 OS 로컬 환경 리눅스 기반 웹 서버 구축 방법

  • VMware : 윈도우 OS 위에 리눅스 기반 OS를 올려 가상의 리눅스 운영체제를 사용하는 방식이다.
    작동 방식은 리눅스 기반의 쉘을 통해 명령어를 실행하면, 해당 명령어를 윈도우 기반의 명령어로 바꾼뒤 윈도우 기반의 명령어를 실행하는 방식이다.
    그렇기 때문에 시스템이 무겁게 느껴지고 명령어가 완벽하게 전환되지 못한다.

  • WSL : Windows Subsystem for Linux의 약자로, 윈도우 기반에서 리눅스 운영체제를 가상머신의 설치 필요 없이 사용할 수 있는 소프트웨어이다.
    윈도우 운영체제 위에 리눅스를 올리는 것이 아니라 각각을 병렬로 구성하여 리눅스 상에서도 윈도우 파일시스템에 접근이 가능하다.


apache2 설치

wsl 실행

wsl을 설치하고 cmd창에서 wsl을 실행하면 bash쉘로 넘어간다

필수 패키지 설치

apache2 설치를 위한 필수 패키지 다운을 쉘 스크립트를 만들어 권한을 주고 실행하여 준다.

apache2와 직접적으로 관련된 apr, pcre 의존성 패키지를 다운로드해 준다.

  • apr(apache portable runtime) : 아파치 서버를 구동시키기 위한 구현들을 가지고 있고, 아마 아파치에서 apr만 쓰거나 부분 튜닝들의 기능들을 위해 분리해 놓은 것으로 짐작된다.

  • pcre(Perl Compatible Regular Expressions) : apache에서 사용하는 정규표현식 라이브러리이다.

다운로드 및 압축해제

관례상 /usr/local 경로에 기본 os에서는 필요하지 않는 실행가능한 파일들, 라이브러리들을 설치한다.

wget 명령어로 웹에서 압축 파일을 받아 온 뒤, tar 명령어로 압축 파일을 해제해 준다.

1) apr 다운로드
wget http://mirror.navercorp.com/apache//apr/apr-1.7.0.tar.gz

2) apr-util 다운로드
/usr/local# wget http://mirror.navercorp.com/apache//apr/apr-util-1.6.1.tar.gz
 
3) pcre-8.43 다운로드

/usr/local# wget https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.gz/

4) apache-2.4.54 다운로드

/usr/local# wget https://dlcdn.apache.org//httpd/httpd-2.4.54.tar.gz

다운 후에 tar xvfz [압축파일명] 으로 압축을 해제해 준 뒤, 다운받은 압축파일을 삭제했다.

각각의 다운 받은 압축 파일이 풀린 것을 볼 수 있다.

파일 설치

각각 해당 디렉토리를 들어가 소스파일의 configure를 설정하고 컴파일 한뒤, 빌드 파일을 실행해주면 된다.

1) apr 설치
apr-1.7.0 폴더에 들어간 뒤, 설치될 위치를 지정해 주고 컴파일 뒤 실행해주면 된다.

./configure --prefix=/usr/local/apr
make
make install

2) apr-util 설치

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

3) pcre 설치

./configure --prefix=/usr/local/pcre
make
make install

4) apache 설치

 ./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/bin/pcre-config --enable-mods-shared=all
 make
 make install

설치가 완료 되면 /usr/local 디렉토리에 다음과 같이 설치된다.

apache 실행

설치된 apache2.4/bin/httpd 파일을 통해 아파치 서버를 실행하면 된다.

apache2.4/bin/httpd -k start

localhost로 접속하면 다음과 같이 it works! 라는 구문이 나온다.


mysql 설치

mysql 설치를 위한 필요 패키지 다운로드

apt-get update
apt-get install cmake
apt-get install libssl-dev
apt-get install libboost-all-dev
apt-get install libncurses5-dev libncursesw5-dev

cmake : 리눅스에서 make를 통해 빌드할때 make 명령어는 makefile이라는 스크립트를 읽어서 순서대로 명령을 실행하는데, CMake는 소스의 내용을 파악하고 의존성 정보를 알아서 작성하여 Makefile를 관리합니다.

mysql 압축파일 다운로드

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.19.tar.gz
 tar xvfz mysql-8.0.19.tar.gz

wget으로 압축파일을 받아온 뒤, tar로 압축파일을 해제해주자.

mysql 설치

압축을 해제 했으면 해당 디렉토리로 이동하여서 cmake를 통해 컴파일시 필요한 환경변수를 세팅해 준다.

cmake .. 
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/usr/local/mysql/data 
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock 
-DMYSQL_TCP_PORT=3306 
-DDEFAULT_CHARSET=utf8 
-DDEFAULT_COLLATION=utf8_general_ci 
-DSYSCONFDIR=/etc 
-DWITH_EXTRA_CHARSETS=all 
-DWITH_INNOBASE_STORAGE_ENGINE=1 
-DWITH_ARCHIVE_STORAGE_ENGINE=1 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 
-DDOWNLOAD_BOOST=1 
-DWITH_BOOST=/usr/local/mysql/boost 

cmake시 에러

아래 이미지와 같이 cmake구성이 안되고 에러 메시지를 보여주었는데, 잘 읽어보면 서버가 무슨 이유로 다운이 안되서 다운로드를 실패했으니 수동으로 다운받아서 설치해라고 알려준다.

그래서 아래의 사이트에서 wget으로 다운받았다.

https://sourceforge.net/projects/boost/files/boost/1.70.0/

아래의 에러도 마찬가지로 패키지를 다운로드 해주어야 한다.

make && make install

mysql 실행 및 프로세스 확인

아래의 명령어로 mysql을 실행하고 실행중인 프로세스를 확인할 수 있다.

bin/mysqld_safe --user=mysql &
ps -ef | grep mysqld


php 설치

필수 패키지 설치

위의 apache, mysql과 같이 필수적인 패키지들을 다운로드 해 준다.

apt-get install libxml2-dev
apt-get install libjpeg-dev
apt-get install libpng-dev

php 다운로드 및 압축해제

wget https://www.php.net/distributions/php-7.4.21.tar.gz
tar xvfz php-7.4.21.tar.gz

php 컴파일 환경변수 설정 및 빌드

./configure --with-apxs2=/usr/local/apache2.4/bin/apxs --enable-mysqlnd --with-mysql-sock=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-imap-ssl --with-iconv --enable-gd --with-jpeg --with-libxml --with-openssl

php.ini 파일 복사해 오기

php를 production 모드로 사용하기 위해 production 시작 파일을 복사해 온다.

cp php.ini-production /usr/local/lib/php.ini

아파치에 php 테스트 파일 작성

apache2.4/htdocs 경로에 phpinfo를 보여주는 테스트 파일을 작성한다.

vi phpinfo.php로 파일 생성 후 기본 php 정보를 보여주는 파일을 작성한다.

<?php
phpinfo();
?>

apache 실행

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

php가 잘 설치되었는지 확인

웹에서 phpinfo.php 파일로 접근해 아래의 화면이 나오면 잘 설치가 된 것이다.


profile
꾸준히 공부하자
post-custom-banner

0개의 댓글