설치 환경 : CentOS7-x64bit
설치 위치
/apm | /apps | /phpmyadmin | ||
/conf | ||||
/docs | /xe | |||
/server | /apache | /apr-ver | ||
/apr-iconf-ver | ||||
/apr-util-ver | ||||
/httpd | ||||
/mariadb | ||||
/php | ||||
- 각 Application 개발자사이트 소개
*Mariadb
- 최신버전 : 10.0.19
- 웹사이트 http://mariadb.org - Select Platform 의 콤보박스에서 Source Code 를 선택하여 가장 마지막 항목을 다운로드 한다. (Generic Linux (Architecture Independent), Compressed TAR Archive)
- 다운로드 URL : http://ftp.kaist.ac.kr/mariadb/mariadb-10.0.19/source/mariadb-10.0.19.tar.gz
*MySQL
- 최신버전 : 5.6.24
- 웹사이트 http://www.mysql.com - Select Platform 의 콤보박스에서 Source Code 를 선택하여 가장 마지막 항목을 다운로드 한다. (Generic Linux (Architecture Independent), Compressed TAR Archive)
- 다운로드 URL : http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.24.tar.gz
*Apache Portable Runtime
- 최신버전 : APR 1.5.2, APR-util 1.5.4, APR-iconv 1.2.1
- 웹사이트 : http://apache.org
- APR 다운로드 URL : http://mirror.apache-kr.org/apr/apr-1.5.2.tar.gz
- APR-iconv 다운로드 URL : http://mirror.apache-kr.org/apr/apr-iconv-1.2.1.tar.gz
- APR-util 다운로드 URL : http://mirror.apache-kr.org/apr/apr-util-1.5.4.tar.gz
*Apache HTTP Server
- 최신버전 : 2.4.12
- 웹사이트 : http://apache.org - mirror 에서 다운받는 경우 http 폴더로 들어가서 다운로드한다.
- 다운로드 URL : http://mirror.apache-kr.org/httpd/httpd-2.4.12.tar.gz
*PHP
- 최신버전 : 5.6.9
- 웹사이트 : http://php.net
- 다운로드 URL : http://kr1.php.net/distributions/php-5.6.9.tar.gz
*phpMyAdmin
- 최신버전 : 4.4.8
- 웹사이트 : http://phpmyadmin.net
- 다운로드 URL : http://nchc.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/4.4.8/phpMyAdmin-4.4.8-all-languages.tar.gz
*XE
- 최신버전 : 1.8.2
- 웹사이트 : https://www.xpressengine.com
- 다운로드 URL : http://download.xpressengine.com/download/18325662/22755020
의존 라이브러리 설치
[root@host ~] yum -y groupinstall "Development Tools"
[root@host ~] yum install wget
[root@host ~] yum install cmake
[root@host ~] yum install ncurses-devel
[root@host ~] yum install libtool-ltdl-devel
[root@host ~] yum install expat-devel
[root@host ~] yum install db4-devel
[root@host ~] yum install pcre-devel
[root@host ~] yum install openssl-devel
[root@host ~] yum install libdb-devel
[root@host ~] yum -y install wget cmake ncurses-devel libtool-ltdl-devel expat-devel db4-devel pcre-devel openssl-devel libdb-devel
MariaDB 설치
- 관리그룹과 계정 생성
[root@host ~] groupadd dba
[root@host ~] useradd -M -c "MySQL" -d /var/mysql -g dba -s /bin/nologin mysql
- 소스를 다운로드 받고 압축 해제
[root@host ~] cd /usr/src
[root@host src] wget http://ftp.kaist.ac.kr/mariadb/mariadb-10.0.19/source/mariadb-10.0.19.tar.gz
[root@host src] tar zxvf mariadb-10.0.19.tar.gz
- 컴파일과 설치
5.5 미만 버전에서는 configure 로 makefile 파일을 만들었는데 5.5 이상 버전부터 cmake 를 이용하여 makefile 을 생성하고 컴파일하도록 변경되었다.
cmake 는 멀티플랫폼을 지원하는 make 대용 개발 도구로 플랫폼 별로 make 파일을 만들어주는 meta make 이다.
자세한 설명은 [wiki:CMake] 에서 확인한다.
cmake 를 이용해 설치 옵션과 함께 makefile 을 생성하고 컴파일 및 설치를 진행한다.
[root@host src] cd mariadb-10.0.19
[root@host mariadb-10.0.19] cmake
-DCMAKE_INSTALL_PREFIX=/apm/server/mariadb
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DENABLED_LOCAL_INFILE=1
-DMYSQL_DATADIR=/apm/server/mariadb/data
-DMYSQL_TCP_PORT=3306
-DMYSQL_UNIX_ADDR=/apm/server/mariadb/mysql.sock
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_ARIA_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_EXTRA_CHARSETS=all
-DWITH_FEDERATEDX_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_XTRADB_STORAGE_ENGINE=1
-DWITH_ZLIB=system
[root@host mariadb-10.0.19] make;make install
이외의 MySQL 설치 옵션은 아래 URL을 참고한다.
http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html
- 데이터베이스가 저장되는 폴더 생성
“/apm/server/mariadb/data” 에 데이터베이스 파일들을 저장하기 위해서 “data” 폴더의 부모 폴더인 “/apm/server/mariadb” 폴더를 생성한다.
기본 데이터베이스 저장 폴더인 “/apm/server/mariadb/data” 에 저장하는 경우는 부모 폴더가 존재하기 때문에 폴더를 생성하지 않아도 된다.
[root@host downloads] mkdir /apm/server/mariadb
- 기본 데이터베이스 생성 및 폴더 권한 변경
[root@host mariadb-10.0.19] cd /apm/server/mariadb
[root@host mariadb] ./scripts/mysql_install_db --user=mysql --datadir=/apm/server/mariadb/data --defaults-file=/apm/server/mariadb/my.cnf
[root@host mariadb] chown -R mysql:dba /apm/server/mariadb <-- 서버
[root@host mariadb] chown -R mysql:dba /apm/server/mariadb <-- DB
- 환경 설정
위에서 mysql_install_db 를 실행하면 “/etc” 디렉토리에 my.cnf 파일이 생성된다.
이 파일을 설치시에 지정한 “/apm/server/mariadb” 디렉토리로 이동시켜서 환경 설정 파일을 수정한다.
[root@host mariadb] mv /etc/my.cnf ./my.cnf
[root@host mariadb] vi my.cnf
-<my.cnf>-------------------------------
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
datadir=/apm/server/mariadb/data
socket=/apm/server/mariadb/mysql.sock
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
# Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
# include all files from the config directory
!includedir /etc/my.cnf.d
-<my.cnf>-------------------------------
더 자세한 옵션은 아래 URL을 참고한다.
http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
- log파일과 pid파일 생성될 디렉토리 생성과 소유권 변경
[root@host mariadb] mkdir /var/log/mariadb
[root@host mariadb] mkdir /var/run/mariadb
[root@host mariadb] chown mysql:dba /var/run/mariadb
- MySQL 의 주요 실행 파일을 어떤 경로에서든지 실행할 수 있도록 PATH 환경 변수에 추가된 “/bin”, “/sbin” 폴더로 Symbolic Link 를 걸어둔다.
[root@host mariadb] ln -s /apm/server/mariadb/bin/mysql /usr/bin/mysql
[root@host mariadb] ln -s /apm/server/mariadb/bin/mysqldump /usr/sbin/mysqldump
[root@host mariadb] ln -s /apm/server/mariadb/bin/mysql_config /usr/sbin/mysql_config
[root@host mariadb] ln -s /apm/server/mariadb/bin/mysqladmin /usr/sbin/mysqladmin
- 서비스 등록
PID1이 init(System V Init)일 경우
MySQL 을 서비스에 등록하여 chkconfig 유틸리티로 관리할 수 있도록 한다.
MySQL 에서 제공하는 daemon 실행 스크립트의 링크를 생성하고 서비스에 등록하여 데몬을 시작한다.
아래는 3, 5 runlevel 에서만 동작하도록 2, 3 runlevel 에서는 동작하지 않도록 했다.
[root@host mariadb] ln -s /apm/server/mariadb/support-files/mysql.server /etc/rc.d/init.d/mysql
mysql 시작
[root@host ~] service mysql start
mysql 종료
[root@host ~] service mysql stop
mysql 자동시작 등록
[root@host ~] chkconfig --add mysql
mysql runlevel별 자동시작 해재
[root@host ~] chkconfig --level 24 mysql off
PID1이 systemd일 경우
[root@host ~] vi /etc/systemd/system/mysql.service
-<mysql.service>-------------------------------
# It's not recommended to modify this file in-place, because it will be
# overwritten during package upgrades. If you want to customize, the
# best way is to create a file "/etc/systemd/system/@DAEMON_NAME@.service",
# containing
# .include /usr/lib/systemd/system/@DAEMON_NAME@.service
# ...make your changes here...
# or create a file "/etc/systemd/system/@DAEMON_NAME@.service.d/foo.conf",
# which doesn't need to include ".include" call and which will be parsed
# after the file @DAEMON_NAME@.service itself is parsed.
#
# For more info about custom unit files, see systemd.unit(5) or
# http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F
# For example, if you want to increase mysql's open-files-limit to 10000,
# you need to increase systemd's LimitNOFILE setting, so create a file named
# "/etc/systemd/system/@DAEMON_NAME@.service.d/limits.conf" containing:
# [Service]
# LimitNOFILE=10000
# Note: /usr/lib/... is recommended in the .include line though /lib/...
# still works.
# Don't forget to reload systemd daemon after you change unit configuration:
# root> systemctl --system daemon-reload
[Unit]
Description=MariaDB database server
After=syslog.target
After=network.target
[Service]
Type=simple
User=mysql
Group=dba
#ExecStartPre=@libexecdir@/mysql-check-socket
#ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n
# Note: we set --basedir to prevent probes that might trigger SELinux alarms,
# per bug #547485
ExecStart=/apm/server/mariadb/bin/mysqld --defaults-file=/apm/server/mariadb/my.cnf --datadir=/apm/server/mariadb/data --socket=/apm/server/mariadb/mysql.sock
#ExecStartPost=@libexecdir@/mysql-wait-ready $MAINPID
#ExecStartPost=@libexecdir@/mysql-check-upgrade
#ExecStopPost=@libexecdir@/mysql-wait-stop
# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300
# Place temp files in a secure directory, not /tmp
PrivateTmp=true
[Install]
WantedBy=multi-user.target
-<mysql.service>-------------------------------
mysql 시작
[root@host ~] systemctl start mysql.service
mysql 종료
[root@host ~] systemctl stop mysql.service
mysql 상태확인
[root@host ~] systemctl status mysql.service
mysql 자동시작 등록
[root@host ~] systemctl enable mysql.service
mysql 자동시작 해재
[root@host ~] systemctl disable mysql.service
- 관리자 비밀번호 설정
MySQL 의 관리자 계정인 “root” 의 암호를 설정한다.
암호를 설정한 뒤에는 MySQL 의 root 계정으로 접속 시에 설정한 암호를 요구하게 된다.
[root@host mariadb] mysqladmin -u root password "1234"
[root@host mariadb] mysqladmin -u root -p reload
- 공유 라이브러리 추가
MySQL 라이브러리를 다른 어플리케이션에서 쉽게 접근할 수 있도록 공유 라이브러리에 추가한다.
[root@host mariadb] echo "/apm/server/mariadb/lib" >> /etc/ld.so.conf
[root@host mariadb] ldconfig
Apache 설치
Apache 를 설치하기 위해서는 APR 이 설치되어 있어야 한다. 이전에 APR 은 Apache 프로젝트에 포함되었으나 별도 프로젝트로 분리되었다. Apache 에 포함된 bundle 를 사용해도 되지만 APR 을 별도로 설치하겠다.
- APR 설치
# APR 다운로드 및 압축 해제
[root@host mariadb] cd /usr/src
[root@host src] wget http://mirror.apache-kr.org/apr/apr-1.5.2.tar.gz
[root@host src] wget http://mirror.apache-kr.org/apr/apr-iconv-1.2.1.tar.gz
[root@host src] wget http://mirror.apache-kr.org/apr/apr-util-1.5.4.tar.gz
[root@host src] tar zxvf apr-1.5.2.tar.gz
[root@host src] tar zxvf apr-iconv-1.2.1.tar.gz
[root@host src] tar zxvf apr-util-1.5.4.tar.gz
# APR 설치
[root@host src] cd apr-1.5.2
[root@host apr-1.5.2] ./configure --prefix=/apm/server/apache/apr
[root@host apr-1.5.2] make;make install
# APR-iconv 설치
[root@host apr-1.5.2] cd ../apr-iconv-1.2.1
[root@host apr-iconv-1.2.1] ./configure
--prefix=/apm/server/apache/apr-iconv-1.2.1
--with-apr=/apm/server/apache/apr/bin/apr-1-config
[root@host apr-iconv-1.2.1] make;make install
# APR-util 설치
[root@host apr-iconv-1.2.1] cd ../apr-util-1.5.4
[root@host apr-util-1.5.4] ./configure
--prefix=/apm/server/apache/apr-util-1.5.4
--with-apr=/apm/server/apache/apr/bin/apr-1-config
--with-apr-iconv=/apm/server/apache/apr-iconv-1.2.1/apriconv
--with-crypto=/usr
--with-openssl
--with-dbm=db47
--with-gdbm
--with-berkeley-db
--with-mysql=/apm/server/mariadb
--with-sqlite3
--with-expat=/usr
[root@host apr-util-1.5.4] make;make install
- 소스를 다운로드 받고 압축 해제
[root@host apr-util-1.5.4] cd /usr/src
[root@host src] wget http://mirror.apache-kr.org/httpd/httpd-2.4.12.tar.gz
[root@host src] tar zxvf httpd-2.4.12.tar.gz
- 컴파일과 설치
[root@host src] cd httpd-2.4.12
[root@host httpd-2.4.12] ./configure
--prefix=/apm/server/apache/httpd
--sysconfdir=/apm/server/apache/httpd/conf
--with-apr=/apm/server/apache/apr/bin/apr-1-config
--with-apr-iconv=/apm/server/apache/apr-iconv-1.2.1/apriconv
--with-apr-util=/apm/server/apache/apr-util-1.5.4/bin/apu-1-config
--with-libxml2
--with-mpm=worker
--with-pcre
--with-ssl
--with-z
--enable-authn-socache=no
--enable-authnz-ldap=no
--enable-cache
--enable-cgid=no
--enable-deflate
--enable-dav
--enable-dav-fs=no
--enable-dav-lock=no
--enable-ext-filter=no
--enable-expires
--enable-file-cache
--enable-headers
--enable-isapi=no
--enable-lbmethod-bybusyness=no
--enable-lbmethod-byrequests=no
--enable-lbmethod-bytraffic=no
--enable-lbmethod-heartbeat=no
--enable-ldap=no
--enable-mime-magic
--enable-mods-shared=most
--enable-modules=most
--enable-mpms-shared=all
--enable-proxy
--enable-proxy-ajp=no
--enable-proxy-balancer=no
--enable-proxy-connect=no
--enable-proxy-express=no
--enable-proxy-fcgi=no
--enable-proxy-fdpass=no
--enable-proxy-ftp=no
--enable-proxy-http=no
--enable-proxy-scgi=no
--enable-rewrite
--enable-so
--enable-socache-dbm=no
--enable-socache-shmcb
--enable-ssl
--enable-vhosts-alias
[root@host httpd-2.4.12] make;make install
더 자세한 옵션은 아래 URL을 참고한다.
http://httpd.apache.org/docs/2.4/en/programs/configure.html
- 환경 설정
설치시 환경 설정 경로(–sysconfdir)를 “/apm/server/apache/httpd/conf” 폴더로 설정했기 때문에 “/apm/server/apache/httpd/conf” 폴더에 설정 파일들이 생성되어 있다.
[root@host httpd-2.4.12] cd /apm/server/apache/httpd/conf
[root@host conf] vi httpd.conf
-<httpd.conf>-------------------------------
ServerRoot "/apm/server/apache/httpd"
Listen 80
# 사용할 모듈의 주석을 제거하여 활성화한다
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
LoadModule dav_module modules/mod_dav.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule rewrite_module modules/mod_rewrite.so
...
# 그룹 계정 비활성화
<IfModule unixd_module>
User daemon
Group daemon
</IfModule>
# 관리자 이메일
ServerAdmin admin@my.domain
# 서버 이름
#ServerName www.my.domain:80
ServerName 127.0.0.1
# 루트 디렉토리
<Directory />
AllowOverride none
Require all denied
</Directory>
# 도큐먼트 루트 디렉토리
DocumentRoot "/apm/docs"
<Directory "/apm/docs">
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# 폴더로 접근할 때 실행하는 인덱스 파일 설정
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php index.php3
</IfModule>
# 개발 환경 설정 참조
<Files ".ht*">
Require all denied
</Files>
# 로그 파일 저장 위치
ErrorLog "/apm/server/apache/httpd/logs/error_log"
<IfModule log_config_module>
CustomLog /apm/server/apache/httpd/logs/access_log" common
</IfModule>
# 설정 파일 import
# Server-pool management (MPM specific)
Include /etc/httpd/extra/httpd-mpm.conf
# Language settings
Include /etc/httpd/extra/httpd-languages.conf
-<httpd.conf>-------------------------------
[root@host conf] vi extra/httpd-mpm.conf
-<httpd-mpm.conf>-------------------------------
PidFile "/apm/server/apache/httpd/logs/httpd.pid"
-<httpd-mpm.conf>-------------------------------
[root@host httpd] vi extra/httpd-languages.conf
-<httpd-languages.conf>-------------------------------
DefaultLanguage ko
-<httpd-languages.conf>-------------------------------
- apachectl 스크립트 수정
apachectl 스크립트는 chkconfig 로 동작할 수 있도록 수정해야 한다.
apachectl 스크립트의 상단 부분을 아래와 같이 수정해야만 서비스로 추가가 가능하다.
[root@host conf] vi /apm/server/apache/httpd/bin/apachectl
-<apachectl>-------------------------------
#!/bin/sh
#
# Apache This starts and stops Apache.
#
# chkconfig: 35 20 80
# description: Apache Web Service
#
# Licensed to the Apache Software Foundation
...
-<apachectl>-------------------------------
- selinux 비활성화
[root@host ~] vi /etc/selinux/config
-<config>-------------------------------
SELINUX=disabled
-<config>-------------------------------
[root@host ~] reboot
- firewalld 방화벽 허용
[root@host ~] vi /etc/firewalld/zones/public.xml
-<public.xml>-------------------------------
프로토콜명으로 허용시
<service name="ssh"/>
포트번호로 허용시
<port protocol="tcp" port="80"/>
-<public.xml>-------------------------------
[root@host ~] service firewalld restart
- 서비스 등록
PID1이 init(System V Init)일 경우
Apache 를 서비스에 등록하여 chkconfig 유틸리티로 관리할 수 있도록 한다.
Apache 에서 제공하는 daemon 실행 스크립트의 링크를 생성하고 서비스에 등록하여 데몬을 시작한다.
[root@host conf] ln -s /apm/server/apache/httpd/bin/apachectl /etc/rc.d/init.d/apache
Apache 시작
[root@host ~] service apache start
Apache 종료
[root@host ~] service apache stop
Apache 자동시작 등록
[root@host ~] chkconfig --add apache
Apache runlevel별 자동시작 해재
[root@host ~] chkconfig --level 24 apache off
PID1이 systemd일 경우
[root@host ~] vi /etc/systemd/system/apache.service
-<apache.service>-------------------------------
[Unit]
Description=Apache Web Server.
After=network.target
[Service]
Type=simple
ExecStart=/apm/server/apache/httpd/bin/httpd $OPTIONS -DFOREGROUND
ExecStop=/apm/server/apache/httpd/bin/httpd $OPTIONS -k graceful-stop
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
-<apache.service>-------------------------------
Apache 시작
[root@host ~] systemctl start apache.service
Apache 종료
[root@host ~] systemctl stop apache.service
Apache 상태확인
[root@host ~] systemctl status apache.service
Apache 자동시작 등록
[root@host ~] systemctl enable apache.service
Apache 자동시작 해재
[root@host ~] systemctl disable apache.service
- Apache 테스트
[root@host conf] echo "apache TEST" > /apm/docs/index.html
- 공유 라이브러리 추가
[root@host conf] echo "/apm/server/apache/httpd/module" >> /etc/ld.so.conf
[root@host conf] ldconfig
- 의존 라이브러리 설치를 위한 레포지터리 추가
[root@host ~] vi /etc/yum.repos.d/public-yum-el5.repo
-<public-yum-el5.repo>-------------------------------
[el5_latest]
name=Oracle Linux $releasever Latest ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL5/latest/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=1
[el5_ga_base]
name=Oracle Linux $releasever GA installation media copy ($basearch)
baseurl=http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/0/base/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=0
[el5_u1_base]
name=Enterprise Linux $releasever Update 1 installation media copy ($basearch)
baseurl=http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/1/base/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=0
[el5_u2_base]
name=Enterprise Linux $releasever Update 2 installation media copy ($basearch)
baseurl=http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/2/base/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=0
[el5_u3_base]
name=Enterprise Linux $releasever Update 3 installation media copy ($basearch)
baseurl=http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/3/base/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=0
[el5_u4_base]
name=Enterprise Linux $releasever Update 4 installation media copy ($basearch)
baseurl=http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/4/base/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=0
[el5_u5_base]
name=Enterprise Linux $releasever Update 5 installation media copy ($basearch)
baseurl=http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/5/base/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=0
[ol5_u5_base]
name=Oracle Linux $releasever Update 5 installation media copy ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL5/5/base/x86_64/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=0
[ol5_u6_base]
name=Oracle Linux $releasever Update 6 installation media copy ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL5/6/base/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=0
[ol5_u7_base]
name=Oracle Linux $releasever Update 7 installation media copy ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL5/7/base/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=0
[ol5_u8_base]
name=Oracle Linux $releasever Update 8 installation media copy ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL5/8/base/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=0
[el5_addons]
name=Enterprise Linux $releasever Add ons ($basearch)
baseurl=http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/addons/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=0
[el5_oracle_addons]
name=Oracle Software addons for Enterprise Linux $releasever ($basearch)
baseurl=http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/oracle_addons/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=0
[ol5_UEK_latest]
name=Latest Unbreakable Enterprise Kernel for Oracle Linux $releasever ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL5/UEK/latest/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=0
[ol5_UEK_base]
name=Unbreakable Enterprise Kernel for Oracle Linux $releasever ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL5/UEK/base/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=0
[el5_unsupported]
name=Productivity Applications for Enterprise Linux $releasever ($basearch)
baseurl=http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/unsupported/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=0
-<public-yum-el5.repo>-------------------------------
PHP 설치
- 의존 라이브러리 설치
[root@host ~] yum install libxml2-devel
[root@host ~] yum install bzip2-devel
[root@host ~] yum install libcurl-devel
[root@host ~] yum install gdbm-devel
[root@host ~] yum install libvpx libvpx-devel
[root@host ~] yum install libjpeg-turbo-devel
[root@host ~] yum install libpng-devel
[root@host ~] yum install libXpm libXpm-devel
[root@host ~] yum install freetype-devel
[root@host ~] yum install t1lib t1lib-devel
[root@host ~] yum install gmp-devel
[root@host ~] yum install libc-client libc-client-devel
[root@host ~] yum install pam-devel
[root@host ~] yum install libicu libicu-devel
[root@host ~] yum install openldap-devel
[root@host ~] yum install readline-devel
[root@host ~] yum install libedit-devel
[root@host ~] yum install libtidy libtidy-devel
[root@host ~] yum install libxslt libxslt-devel
[root@host ~] yum -y install libxml2-devel bzip2-devel libcurl-devel gdbm-devel libvpx libvpx-devel libjpeg-turbo-devel libpng-devel libXpm libXpm-devel freetype-devel t1lib t1lib-devel gmp-devel libc-client libc-client-devel pam-devel libicu libicu-devel openldap-devel readline-devel libedit-devel libtidy libtidy-devel libxslt libxslt-devel
- libmcrypt 설치
[root@host src] wget http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
[root@host src] tar zxvf libmcrypt-2.5.8.tar.gz
[root@host src] cd libmcrypt-2.5.8
[root@host libmcrypt-2.5.8] ./configure
[root@host libmcrypt-2.5.8] make;make install
[root@host libmcrypt-2.5.8] ln -s /usr/local/lib/libmcrypt.so.4 /usr/local/lib64/libmcrypt.so.4
- 의존 라이브러리 설치후 레포지터리 업데이트 오류가 발생할 확율이 있음으로 el5 레포지터리를 삭제한다.
[root@host libmcrypt-2.5.8] rm /etc/yum.repos.d/public-yum-el5.repo
- MySQL 라이브러리 참조
[root@host ~] ln -s /apm/server/mariadb/lib /apm/server/mariadb/lib64
- 소스를 다운로드 받고 압축 해제
[root@host ~] cd /usr/src
[root@host src] wget http://kr1.php.net/distributions/php-5.6.9.tar.gz
[root@host src] tar zxvf php-5.6.9.tar.gz
- 컴파일과 설치
[root@host src] cd php-5.6.9
[root@host php-5.6.9] ./configure
--prefix=/apm/server/php
--with-apxs2=/apm/server/apache/httpd/bin/apxs
--with-bz2
--with-config-file-path=/apm/server/apache/httpd/conf
--with-curl
--with-db4=/usr
--with-freetype-dir=/usr
--with-gd
--with-gdbm
--with-gettext
--with-gmp
--with-iconv
--with-icu-dir=/usr
--with-imap=/usr/local/imap-2007
--with-imap-ssl
--with-jpeg-dir=/usr
--with-kerberos
--with-ldap
--with-ldap-sasl
--with-libdir=lib64
--with-libedit
--with-libexpat-dir=/usr
--with-libmbfl
--with-libxml-dir=/usr
--with-mcrypt
--with-mhash
--with-mysql=mysqlnd
--with-mysql-sock=/apm/server/mariadb/mysql.sock
--with-mysqli=mysqlnd
--with-onig
--with-openssl
--with-openssl-dir=/usr
--with-pcre-dir=/usr
--with-pcre-regex
--with-pdo-mysql=mysqlnd
--with-pear
--with-pic
--with-png-dir=/usr
--with-readline
--with-regex=php
--with-t1lib=/usr
--with-vpx-dir=/usr
--with-xmlrpc
--with-xpm-dir=/usr
--with-xsl
--with-zlib
--with-zlib-dir=/usr
--enable-bcmath
--enable-calendar
--enable-dba=shared
--enable-dom
--enable-exif
--enable-fpm
--enable-ftp
--enable-gd-jis-conv
--enable-gd-native-ttf
--enable-inline-optimization
--enable-intl
--enable-maintainer-zts
--enable-mbregex
--enable-mbstring
--enable-mod-charset
--enable-mysqlnd
--enable-opcache
--enable-pcntl
--enable-shmop
--enable-sigchild
--enable-soap
--enable-sockets
--enable-sysvmsg
--enable-sysvsem
--enable-sysvshm
--enable-wddx
--enable-zip
[root@host php-5.6.9] make;make install
- 환경 설정
[root@host php-5.6.9] cp php.ini-production /apm/server/apache/httpd/conf/php.ini
[root@host php-5.6.9] vi /apm/server/apache/httpd/conf/php.ini
-<php.ini>-------------------------------
engine = On
short_open_tag = On
asp_tags = On
memory_limit = 1024M
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = Off
display_startup_errors = Off
post_max_size = 1023M
default_charset = "UTF-8"
file_uploads = On
upload_tmp_dir = /tmp
upload_max_filesize = 1022M
max_file_uploads = 20
date.timezone = "Asia/Seoul"
-<php.ini>-------------------------------
- Apache 설정
[root@host php-5.6.9] vi /apm/server/apache/httpd/conf/httpd.conf
-<httpd.conf>-------------------------------
# PHP 모듈이 정상적으로 추가되었는지 확인
LoadModule php5_module modules/libphp5.so
<IfModule mime_module>
... 중략 ...
AddType application/x-httpd-php .php .html
AddType application/x-httpd-php-source .phps
</IfModule>
-<httpd.conf>-------------------------------
[root@host php-5.6.9] service apache restart
- PATH 추가
[root@host php-5.6.9] ln -s /apm/server/php/bin/php /bin/php
[root@host php-5.6.9] ln -s /apm/server/php/bin/php-config /usr/local/bin/php-config
[root@host php-5.6.9] ln -s /apm/server/php/bin/phpize /usr/local/bin/phpize
- 테스트
[root@host php-5.6.9] echo "<?php phpinfo() ?>" > /apm/docs/phpinfo.php
PHP 테스트
- phpMyAdmin 설치
[root@host php-5.6.9] cd /apm/docs
[root@host docs] wget http://nchc.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/4.4.8/phpMyAdmin-4.4.8-all-languages.tar.gz
[root@host docs] tar zxvf phpMyAdmin-4.4.8-all-languages.tar.gz
[root@host docs] mv phpMyAdmin-4.4.8-all-languages phpmyadmin
DB연결 테스트를 하고 XE가 사용할 DB와 계정을 생성한다.
- XE 설치
[root@host docs] wget http://download.xpressengine.com/download/18325662/22755020
[root@host docs] unzip 22755020
[root@host docs] cd xe
[root@host docs] mkdir files
[root@host docs] chmod 707 files
웹에서 XE를 호출하고 DB정보와 XE관리자정보를 입력하여 설치를 완료한다.