설치 버전
- apache-2.4.xx
- php-5.5.xx
- mysql-5.6.xx
MySQL 설치
Note : MySQL 소스컴파일 설치하는 과정에 대한 내용이며, 설치 버전은 mysql-5.6
의 가장 최신 버전을 사용한다.
mysql user 생성
| useradd -r -s /sbin/nologin -M mysql |
소스코드 다운로드
Download
다운받은 소스 파일 압축 해제
| tar xvzf mysql-5.6.19.tar.gz |
필요한 패키지 설치
Note : 설치에 앞서 필요한 패키지를 다운로드 한다.
| yum -y install zlib curl gcc g++ gcc-c++ openssl openssl-devel libtermcap-devel ncurses-devel libc-client-devel bzip2-devel bison make cmake |
설치
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DSYSCONFDIR=/etc \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_EXTRA_CHARSETS=all \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DMYSQL_USER=mysql \ -DMYSQL_TCP_PORT=3306 \ -DENABLE_DOWNLOADS=1 |
설정파일 복사
| cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf |
시작 스크립트 복사
Note : 부팅시 자동으로 시작 할 수 있게 하기 위해 init
스크립트를 /etc/rc.d/init.d/로 복사한다.
| cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld chmod +x /etc/rc.d/init.d/mysqld chkconfig mysqld on |
기본 데이터베이스 생성
| cd /usr/local/mysql ./scripts/mysql_install_db --user=mysql |
데이터베이스 구동
root
패스워드 설정
| /usr/local/mysql/bin/mysqladmin -u root password 'YOUR PASSWORD' |
OR
| /usr/local/mysql/bin/mysql_secure_installation |
Apache 설치
Note : 다음은 Apache 소스컴파일 과정이며, 설치 버전은 apache-2.4
의 가장 최신 버전을 사용한다.
필요한 패키지 설치
Note : 설치 패키지 내용은 시스템 환경 마다 다소 차이가 있을 수 있다.
| yum -y install zlib-devel openldap-devel pcre-devel openssl-devel libxml2-devel |
apache 소스 압축 해제
| tar xvzf httpd-2.4.10.tar.gz |
아파치 소스에 apr 추가
Note : apr 소스 복사 기존 httpd-2.2
소스에는 apr
, apr-util
이 포함되 어있었는데 2.4
버전에서 부터는 포함이 되어 있지 않아 수동으로 포함 시켜줘야 하는 번거로움이 있다.
| cp apr-1.5.1.tar.gz /usr/local/src/httpd-2.4.10/srclib/ cp apr-util-1.5.3.tar.gz /usr/local/src/httpd-2.4.10/srclib/ cd /usr/local/src/httpd-2.4.10/srclib/ tar xvzf apr-1.5.1.tar.gz tar xvzf apr-util-1.5.3.tar.gz mv apr-1.5.1 apr mv apr-util-1.5.3 apr-util |
컴파일
| ./configure \ --prefix=/usr/local/apache \ --enable-all \ --enable-so \ --enable-rewrite \ --enable-ssl \ --with-include-apr \ --with-mpm=prefork |
시작 스크립트 복사
| cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd chmod +x /etc/rc.d/init.d/httpd |
구동 스크립트 복사후 아래 내용 추가
| vi /etc/rc.d/init.d/httpd |
/etc/rc.d/init.d/httpd 파일의 최상단에 다음내용을 추가.
| # chkconfig: 2345 90 90 # description: init file for Apache server daemon # processname: /usr/local/apache/bin/apachectl # config: /usr/local/apache/conf/httpd.conf # pidfile: /usr/local/apache/logs/httpd.pid ----------------------------------------------------- |
서비스 등록
| chkconfig --add httpd chkconfig httpd on |
PHP 설치
Note : 다음 내용은 PHP 소스컴파일 과정에 대한 내용이며, 설치 버전은 php-5.5
의 가장 최신버전을 사용한다.
소스파일 압축 해제
| tar xvzf php-5.5.17.tar.gz |
필요한 패키지 설치
| yum -y install libxml-devel curl-devel libjpeg-devel libpng-devel freetype-devel gd-devel libmcrypt-devel bison re2c |
컴파일
Note : 컴파일 옵션은 그닥 별다른 사항은 없으나, mysql 연동하는 부분에서 mysqlnd
를 사용했다.
mysqlnd
를 사용한 이유는 기존 php
mysql
연동시 mysql client library
를 통해 연동을 했으나 mysql client library
를 설치 하지 않아도 mysql 연동이 가능하고, php
확장 모듈로 만들어졌기 때문에 php
동작과 긴밀하게 연결되어 있어 메모리 관리 측면에서 효율적이다. 또한 mysqlnd
는 여러기능의 플러그인을 지원한다.
mysqlnd
에 대한 자세한 내용은 http://php.net/manual/kr/intro.mysqlnd.php에서 확인 가능하다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ./configure \ --prefix=/usr/local/php \ --with-apxs2=/usr/local/apache/bin/apxs \ --with-mysql=mysqlnd \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-gd \ --enable-ftp \ --enable-sockets \ --enable-sysvshm \ --with-zlib \ --with-jpeg-dir \ --disable-debug \ --with-curl \ --with-freetype-dir \ --enable-mbstring \ --enable-exif \ --with-iconv \ --with-openssl \ --enable-soap \ --with-mcrypt |
환경설정 파일 복사
| cp /usr/local/src/php-5.5.17/php.ini-production /usr/local/php/lib/php.ini |
아파치 환경 설정
| vi /usr/local/apache/conf/httpd.conf |
httpd.conf 파일에 다음 내용 추가 및 수정
| AddType application/x-httpd-php .php .htm .html # 추가 AddType application/x-httpd-php-source .phps # 추가 DirectoryIndex index.php index.html # 이 부분은 찾아서 수정 |
연동 확인
/usr/local/apache/htdocs/info.php
파일을 만들어 아래 내용을 삽입 후 저장.
웹브라우져에서 http://ip-address/info.php 호출해 php information 페이지가 잘 출력되면 성공적으로 설치된 것이다.
[출처] https://blog.onlab.kr/2016/07/29/apache-2-4-php-5-5-mysql-5-6-%EC%84%A4%EC%B9%98/