리눅스 기반 웹 서버를 구축을 하기위한 소프트웨어 조합에는 LAMP가 있다.
LAMP는 linux + apache2 + mysql + php의 조합으로 웹 서버를 구축하는 방법이다.
VMware : 윈도우 OS 위에 리눅스 기반 OS를 올려 가상의 리눅스 운영체제를 사용하는 방식이다.
작동 방식은 리눅스 기반의 쉘을 통해 명령어를 실행하면, 해당 명령어를 윈도우 기반의 명령어로 바꾼뒤 윈도우 기반의 명령어를 실행하는 방식이다.
그렇기 때문에 시스템이 무겁게 느껴지고 명령어가 완벽하게 전환되지 못한다.
WSL : Windows Subsystem for Linux의 약자로, 윈도우 기반에서 리눅스 운영체제를 가상머신의 설치 필요 없이 사용할 수 있는 소프트웨어이다.
윈도우 운영체제 위에 리눅스를 올리는 것이 아니라 각각을 병렬로 구성하여 리눅스 상에서도 윈도우 파일시스템에 접근이 가능하다.
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 디렉토리에 다음과 같이 설치된다.
설치된 apache2.4/bin/httpd 파일을 통해 아파치 서버를 실행하면 된다.
apache2.4/bin/httpd -k start
localhost로 접속하면 다음과 같이 it works! 라는 구문이 나온다.
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를 관리합니다.
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로 압축파일을 해제해주자.
압축을 해제 했으면 해당 디렉토리로 이동하여서 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구성이 안되고 에러 메시지를 보여주었는데, 잘 읽어보면 서버가 무슨 이유로 다운이 안되서 다운로드를 실패했으니 수동으로 다운받아서 설치해라고 알려준다.
그래서 아래의 사이트에서 wget으로 다운받았다.
아래의 에러도 마찬가지로 패키지를 다운로드 해주어야 한다.
아래의 명령어로 mysql을 실행하고 실행중인 프로세스를 확인할 수 있다.
bin/mysqld_safe --user=mysql &
ps -ef | grep mysqld
위의 apache, mysql과 같이 필수적인 패키지들을 다운로드 해 준다.
apt-get install libxml2-dev
apt-get install libjpeg-dev
apt-get install libpng-dev
wget https://www.php.net/distributions/php-7.4.21.tar.gz
tar xvfz php-7.4.21.tar.gz
./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를 production 모드로 사용하기 위해 production 시작 파일을 복사해 온다.
cp php.ini-production /usr/local/lib/php.ini
apache2.4/htdocs 경로에 phpinfo를 보여주는 테스트 파일을 작성한다.
vi phpinfo.php로 파일 생성 후 기본 php 정보를 보여주는 파일을 작성한다.
<?php
phpinfo();
?>
/usr/local/apache2.4/bin/httpd -k start
웹에서 phpinfo.php 파일로 접근해 아래의 화면이 나오면 잘 설치가 된 것이다.