소스설치 이유
패키지 설치 시 불필요하게 설치되는 파일들이 시스템의 필요없는 자원을 사용하게 되고, 관리적으로도 문제가 발생할 수 있다. 그렇기 때문에 배제하고, 정말 필요한 기능만 넣어서 저사양의 서버에서 최대의 효율을 내기위해서 소스설치 한다.
apache - mysql - php // mysql - apache - php ⇒ PHP는 가장 마지막. php 설치시 apache, mysql 관련 설정이 들어가기 때문
프로그램 설치 방법
./configure
make
make install
1. configure
소스파일에 대한 환경설정을 해주는 명령어. 설치파일 설치 순서 및 환경설정 기입된 makefile 생성
1. configure script 파일 찾아서 이를 실행함
: configure script는 프로그램이 설치될 컴퓨터에 대한 정보를 체크할 수 있는 코드들로 구성되어있음.: configure단계에서 에러가 발생하면, 프로그램 설치 할 수 있는 환경이 갖추어져있지 않다는 것 의미.
- : 프로그램 설치를 위해 필요한 소프트웨어, 라이브러리가 현재 컴퓨터에서 설치되어있는지, 어디에 설치되어있는지 확인함.
- makefile 작성
- : 1번에서 확인한 정보(소프트웨어, 라이브러리)를 바탕으로 프로그램 설치 과정에서 수행할 스텝을 makefile에 기록해 놓음
- 3) 소스 파일에 대한 환경설정(설치 위치 지정): ./configure --prefix = /usr/local/mysql 하게 되면 어떤 파일을 /usr/local/mysql 이라는 곳에 설치 하겠다는 뜻.
- : 설치할 때 옵션을 주지 않으면 기본으로 /usr/local/bin 이나 /usr/local/lib 밑에 설치
- : --prefix 옵션 입력을 통해 설치 디렉토리 바꿀수 있음.
2. make
configure 단계에서 만들어진 makefile를 이용해서 소스 코드를 컴파일
: 현재 디렉토리에서 Makefile을 실행함.
: Makefile에서 정한 설치 순서 정보를 이용하여 소스 코드를 컴파일함.
: 컴파일하여 생성된 실행가능한 설치파일은 binary 파일
3. make install
설치파일을 설치하는 과정
Issue
1. pcre 설치할때 발생
현재 ftp.pcre.org 로의 다운로드 막힘
해결방법 ⇒ 다음의 명령어 사용
$ wget <https://sourceforge.net/projects/pcre/files/pcre/8.44/pcre-8.44.tar.gz>
2. cmake할때 발생(CMake Error at cmake/boost.cmake:229)
boost 다운받아야됨
boost 라이브러리를 참조하기 때문에 컴파일 과정에서 설치 필요
boost_1_70_0 필요하다고 함. 다음을 통해 설치
$ cd /usr/local/src/
$ sudo wget <https://boostorg.jfrog.io/artifactory/main/release/1.73.0/source/boost_1_70_0.tar.gz>
$ sudo tar xvfz boost_1_70_0.tar.gz
-DWITH_BOOST 경로를 boost 라이브러리가 설치된 경로로 변경
#-DWITH_BOOST=/usr/local/mysql/boost 이 경로를 아래처럼 변경
-DWITH_BOOST=/usr/local/src/boost_1_70_0
해결됨
3. mysqld_safe mysqld from pid file mysqld.pid ended
권한 문제일 가능성이 크다
다음 명령어를 이용하여 소유자를 확인한다.
ls -laF /usr/local/mysql/
소유자가 root일경우 다음 명령어를 이용하여 mysql로 변경한다.
sudo chown -R mysql /usr/local/mysql/