설치 버전
- 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
설치
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
make && make install
설정파일 복사
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
데이터베이스 구동
service mysqld start
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
make && make install
시작 스크립트 복사
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에서 확인 가능하다.
./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
make && make install
환경설정 파일 복사
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
파일을 만들어 아래 내용을 삽입 후 저장.
<?PHP
phpinfo();
?>
웹브라우져에서 http://ip-address/info.php 호출해 php information 페이지가 잘 출력되면 성공적으로 설치된 것이다.
2 thoughts on “apache 2.4 + php 5.5 + mysql 5.6 설치”
해보는 중인데 PHP make file 이 생성되지 않는이유로 마지막 문단에 mcrypto 관련 라이브러리가 부재인 것 같다네요.
자세한 오류메시지를 올려주시면 확인해 보도록 하겠습니다.