CentOS6.5 에 APM (httpd2.4.7 + Mariadb5.5.34 + php5.5.7) 설치 > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

CentOS6.5 에 APM (httpd2.4.7 + Mariadb5.5.34 + php5.5.7) 설치 정보

웹서버 CentOS6.5 에 APM (httpd2.4.7 + Mariadb5.5.34 + php5.5.7) 설치

본문

무료 계정 서버인 나누미서버를 세팅 할 일이 있어서 아래와 같이 최신버전의 APM 소스 컴파일 설치를 해 보았습니다.

CentOS 6.5 minimal 설치 상태에서
httpd2.4.7, marisdb 5.5.34, php 5.5.7 소스 컴파일 설치를 해보았습니다.
 
@ 설치경로는 아래와 같으니 참조 하시길....
 
apache = /usr/local/apache/
mariadb /usr/local/mariadb/ 
php = /usr/local/php/
apache-log = /logs/
/usr/local/mariadb/data


@ 패키지 제거 및 설치
# rpm -qa httpd php mysql
# yum remove -y httpd php mysql
# yum -y install ORBit2 PyXML a2ps acpid alsa-lib amtu aspell at atk audiofile audit-libs-python autoconf* autofs automake* avahi avahi-glib bc bind bind-chroot bind-libs bind-utils cairo ccid compat-libstdc++-33 conman cpp cpuspeed crash createrepo crypto-utils cryptsetup-luks cups-libs cvs cyrus-sasl-md5 cyrus-sasl-plain db4-devel dbus-python device-mapper-multipath dhcp dhcp-devel dialog dmraid dos2unix dosfstools dump e2fsprogs-devel ed eject elfutils elfutils-libs enscript expat-devel expect expect-devel expectk fetchmail file finger flex fontconfig fontconfig-devel foomatic ftp gcc gcc-c++ gdb gdbm-devel gettext gfs2-utils glib2-devel glibc-devel glibc-headers gmp-devel gnutls gpm gtk2 hal hdparm hesiod hicolor-icon-theme imake iptraf iptstate ipvsadm irqbalance jwhois kernel-devel kernel-headers keyutils-libs-devel kpartx krb5-devel krb5-workstation ksh lcms lftp libICE libSM libX11 libX11-devel libXau libXau-devel libXcursor libXdmcp libXdmcp-devel libXext libXfixes libXft libXi libXinerama libXpm libXpm-devel libXrandr libXrender libXt libXxf86vm libaio libaio-devel libart_lgpl libbonobo libc-client libcurl-devel libdaemon libevent libfontenc libgomp libgssglue libhugetlbfs libhugetlbfs-devel libidn-devel libmng libnl libnl-devel libpcap libselinux-devel libselinux-python libsepol-devel libsmi libstdc++-devel libsysfs libtiff libtool libtool-ltdl libwvstreams libxml2-devel libxml2-python libxslt libxslt-python lksctp-tools logwatch lrzsz lsof m2crypto mailcap mailx make nasm man man-pages man-pages-ko mc mcstrans mdadm memtest86+ mesa-libGL mesa-libGL-devel mgetty microcode_ctl mkbootdisk mlocate mrtg mt-st mtools mtr mutt nc ncurses-devel net-snmp-libs netpbm nfs-utils nfs-utils-lib nmap nscd nss_db ntp ntsysv numactl oddjob openssh-clients openssl-devel pam-devel pam_krb5 pam_passwdqc pam_pkcs11 pango parted parted-devel patch pax pciutils pcsc-lite perl perl-Archive-Tar perl-BSD-Resource perl-Compress-Zlib perl-DBI perl-Digest-HMAC perl-Digest-SHA1 perl-HTML-Parser perl-HTML-Tagset perl-IO-Socket-INET6 perl-IO-Socket-SSL perl-IO-Zlib perl-Net-IP perl-Net-SSLeay perl-Newt perl-Socket6 perl-String-CRC32 perl-URI perl-libwww-perl pkgconfig pm-utils postgresql-libs prelink procmail psacct psutils pulseaudio-esound-compat pyOpenSSL pykickstart pyorbit pyparted python-pyblock pyxf86config quota rdate rdist readahead rmt rpcbind rpm-build rsh rsync rusers rwho samba samba-client samba-common samba-swat sendmail sendmail-cf setools setserial setuptool shared-mime-info sip sos spamassassin squashfs-tools strace stunnel symlinks sysfsutils syslinux sysstat system-config-date system-config-firewall talk tcl tcp_wrappers tcpdump tcsh telnet telnet-server time tk tmpwatch traceroute tree ttmkfdir unix2dos unixODBC unzip usbutils usermode vconfig vim-common vim-enhanced vsftpd wget wireless-tools words xfsprogs xfsprogs-devel xinetd xorg-x11-proto-devel yp-tools ypbind ypserv zip zlib-devel GConf2 ImageMagick ImageMagick-perl avahi-libs bwidget cloog-ppl crda cryptsetup-luks-libs cups db4-cxx deltarpm desktop-file-utils device-mapper-multipath-libs dmidecode dmraid-events docbook-dtds flac foomatic-db foomatic-db-filesystem foomatic-db-ppds ghostscript ghostscript-fonts gnome-doc-utils-stylesheets gnome-python2 gnome-python2-canvas gnome-user-docs gnome-vfs2 gpm-libs groff-perl gstreamer gstreamer-tools hal-info hal-libs html2ps hunspell iw jasper-libs kpathsea lcms-libs libIDL libX11-common libXcomposite libXdamage libXdamage-devel libXext-devel libXfixes-devel libXfont libXres libXtst libXxf86vm-devel libasyncns libcanberra libcanberra-gtk2 libcom_err-devel libcroco libdrm-devel libedit libglade2 libgnomecanvas libgsf libnetfilter_conntrack libnfnetlink libnotify libogg libpaper librsvg2 libsamplerate libsndfile libtalloc libtasn1 libtdb libthai libtirpc libusb1 libvorbis libwmf-lite libwnck libxcb libxcb-devel lm_sensors-libs mesa-dri-drivers mozilla-filesystem mpfr mrtg-libs netpbm-progs notification-daemon ntpdate openjpeg-libs pcsc-lite-libs perl-Compress-Raw-Zlib perl-Crypt-OpenSSL-Bignum perl-Crypt-OpenSSL-RSA perl-Crypt-OpenSSL-Random perl-Date-Manip perl-Digest-SHA perl-Encode-Detect perl-ExtUtils-MakeMaker perl-ExtUtils-ParseXS perl-IO-Compress-Base perl-IO-Compress-Zlib perl-Mail-DKIM perl-MailTools perl-Module-Pluggable perl-Net-DNS perl-Net-LibIDN perl-NetAddr-IP perl-Package-Constants perl-Pod-Escapes perl-Pod-Simple perl-SNMP_Session perl-Test-Harness perl-Time-HiRes perl-TimeDate perl-YAML-Syck perl-devel perl-libs perl-version pixman poppler poppler-data poppler-utils portreserve ppl psutils-perl pulseaudio pulseaudio-libs pycairo pygobject2 pygtk2 pygtk2-libglade python-decorator python-deltarpm python-slip python-slip-dbus rarian rarian-compat rtkit samba-winbind-clients setools-console setools-gui setools-libs setools-libs-tcl sgml-common sgpio sound-theme-freedesktop speex startup-notification system-config-date-docs system-config-firewall-tui tex-preview texinfo texinfo-tex texlive texlive-dvips texlive-latex texlive-texmf texlive-texmf-dvips texlive-texmf-errata texlive-texmf-errata-dvips texlive-texmf-errata-fonts texlive-texmf-errata-latex texlive-texmf-fonts texlive-texmf-latex texlive-utils tokyocabinet urlview urw-fonts usermode-gtk xcb-util xml-common xorg-x11-font-utils xulrunner xz xz-lzma-compat yelp lksctp-tools-devel apr-util apr-util-devel libtool-ltdl-devel gmp mhash mhash-devel gdbm zlib curl g++ openssl bzip2-devel libc-client-devel bison system-config-securitylevel libc-client-devel readline-devel compat-readline43 distcache-devel cmake

@ 기타 모듈 설치
# cd /usr/local/src
# mkdir etc
# cd etc
# wget http://download.savannah.gnu.org/releases/freetype/freetype-2.4.8.tar.gz
# wget http://www.peregrinehw.com/downloads/gd/gd-2.0.33.tar.gz
# wget http://www.youtu.kr/mirror/jpegsrc.v6b.tar.gz
# wget http://sourceforge.net/projects/libpng/files/libpng15/1.5.10/libpng-1.5.10.tar.gz
# wget http://www.youtu.kr/mirror/imap-2004g.tar.bz2
# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.30.tar.gz
# wget http://heanet.dl.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz
# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
# tar zxvf freetype-2.4.8.tar.gz; tar zxvf gd-2.0.33.tar.gz; tar zxvf jpegsrc.v6b.tar.gz; tar zxvf libpng-1.5.10.tar.gz; tar jxvf imap-2004g.tar.bz2; tar zxvf pcre-8.30.tar.gz; tar zxvf libmcrypt-2.5.8.tar.gz; tar zxvf libiconv-1.14.tar.gz
# cd /usr/local/src/etc/jpeg-6b; mkdir -p /usr/local/libjpeg/bin; mkdir -p /usr/local/libjpeg/man/man1; make clean;make -j4; make install; cp -f libjpeg.a /usr/local/lib; cp -f *.h /usr/include
# cd /usr/local/src/etc/libpng-1.5.10
# cp scripts/makefile.linux Makefile
# make clean;make -j4;make install
# cd /usr/local/src/etc/freetype-2.4.8
# make clean;./configure --prefix=/usr/local/freetype;make -j4;make install
# cd /usr/local/src/etc/gd-2.0.33
# make clean;./configure --prefix=/usr/local/gd;make -j4;make install
# cd /usr/local/src/etc/imap-2004g
# make clean;make slx SPECIALS="SSLDIR=/usr SSLINCLUDE=/usr/include SSLLIB=/usr/lib"
# cd /usr/local/src/etc/imap-2004g/c-client
# cp -f c-client.a /usr/lib; cp -f rfc822.h mail.h linkage.h /usr/include
# cd /usr/local/src/etc/pcre-8.30
# make clean;./configure --prefix=/usr/local;make -j4;make install
# cd /usr/local/src/etc/libmcrypt-2.5.8
# make clean;./configure --prefix=/usr/local;make -j4;make install
# cd /usr/local/src/etc/libiconv-1.14
# make clean;./configure --prefix=/usr/local;make -j4;make install
# ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2

reboot

@ cronolog 설치(apache log 분할)
# cd /usr/local/src
# wget http://www.youtu.kr/mirror/cronolog-1.6.2.tar.gz
# tar xvf cronolog-1.6.2.tar.gz
# cd cronolog-1.6.2
# ./configure
# make;make install
@ 아파치 설치전 apr 설치
#cd /usr/local/src
# wget http://archive.apache.org/dist/apr/apr-1.5.0.tar.gz
# wget http://archive.apache.org/dist/apr/apr-util-1.5.3.tar.gz
# tar zxvf apr-1.5.0.tar.gz
# cd /usr/local/src/apr-1.5.0
# ./configure --prefix=/usr/local/apr
# make;make install
# cd /usr/local/src
# tar zxvf apr-util-1.5.3.tar.gz
# cd /usr/local/src/apr-util-1.5.3
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make;make install


*** httpd 2.4.7 설치 ***

cd /usr/local/src
wget http://mirror.apache-kr.org//httpd/httpd-2.4.7.tar.bz2
tar xvjf httpd-2.4.7.tar.bz2
tar zxvf httpd-2.4.7.tar.gz

cd httpd-2.4.7

./configure \
--prefix=/usr/local/apache \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--with-z \
--with-pcre \
--enable-mods-static='vhost_alias log_config logio mime mime_magic alias headers status http negotiation' \
--enable-mods-shared='file_cache disk_cache deflate expires usertrack unique_id actions userdir autoindex cgi cache mem_cache distcache auth_digest rewrite remoteip' \
--enable-rewrite \
--enable-deflate \
--enable-expires \
--enable-headers \
--enable-ssl \
--disable-imagemap \
--disable-include \
--disable-charset-lite \
--disable-reqtimeout \
--disable-cgid \
--disable-asis \
--enable-so \
--enable-authn-socache=no \
--enable-socache-shmcb=no \
--enable-socache-dbm=no \
--enable-ldap=no \
--enable-authnz-ldap=no \
--enable-cgid=no \
--enable-dav=no \
--enable-dav-fs=no \
--enable-isapi=no \
--enable-proxy=no \
--enable-proxy-connect=no \
--enable-proxy-ftp=no \
--enable-proxy-http=no \
--enable-proxy-fcgi=no \
--enable-proxy-scgi=no \
--enable-proxy-fdpass=no \
--enable-proxy-ajp=no \
--enable-proxy-balancer=no \
--enable-proxy-express=no \
--enable-ext-filter=no \
--enable-authnz-ldap=no \
--enable-lbmethod-byrequests=no \
--enable-lbmethod-bytraffic=no \
--enable-lbmethod-bybusyness=no \
--enable-lbmethod-heartbeat=no \
--enable-dav-lock=no \
--enable-mpms-shared=all

 


이 컴파일 옵션은 다음과 같은 특징을 같습니다.

## LDAP 를 사용할 수 없다.
## Proxy를 사용할 수 없다.
## DSO 로 컴파일 되었다.
## MPM 을 Loadable MPM으로 컴파일 되었다. 이는 Run-time 에서 MPM 모델을 바꿀 수 있다는 뜻.

make;make install


httpd의 기본적으로 사용할 계정을 생성해 줍니다.
/usr/sbin/useradd -c "Apache" -u 48 -s /sbin/nologin -r -d /usr/local/apache/htdocs apache

그리고 나서 httpd.conf 파일을 다음과 같이 수정해 줍니다.
vim /usr/local/apache/conf/httpd.conf
User apache
Group apache

'Loadable MPM'(–enable-mpms-shared=all) 으로 컴파일 되었기 때문에 자신이 사용할 MPM 모듈을 활성화 해줍니다.
#LoadModule mpm_event_module modules/mod_mpm_event.so    # event MPM
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so  # prefork
#LoadModule mpm_worker_module modules/mod_mpm_worker.so  # worker


그리고 ServerName 을 자신의 서버 환경에 맞게 적어줍니다.

ServerName localhost:80
서버관리자 메일주소 설정
ServerAdmin webmaster@localhost

웹 페이지 접속시 기본적으로 읽어 들일 파일명 설정
DirectoryIndex index.html 를 찾아 DirectoryIndex index.html index.htm index.php index.php3 index.cgi index.jsp 로 수정
아래와 같이 추가 합니다.
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .htm .html .php .ph php3 .php4 .phtml .inc -->추가
AddType application/x-httpd-php-source .phps -->추가
LoadModule php5_module        modules/libphp5.so -->PHP 설치 후 없다면 추가
주석제거
# AddHandler cgi-script .cgi
몇가지 주석 및 제거 - 필요에 따라 더 적용해도 무방함
LoadModule vhost_alias_module modules/mod_vhost_alias.so <-- 주석제거
LoadModule userdir_module modules/mod_userdir.so <-- 주석제거
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so <-- 주석제거
Include conf/extra/httpd-mpm.conf  <-- 주석제거
Include conf/extra/httpd-userdir.conf  <-- 주석제거
Include conf/extra/httpd-vhosts.conf  <-- 주석제거
Include conf/extra/httpd-default.conf  <-- 주석제거
인터넷주소 rewrite 모드 사용을 위한 설정
<Directory />
    AllowOverride All <-- 수정
    Require all denied
</Directory>
#vi /usr/local/apache/conf/extra/httpd-userdir.conf
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec 를
Options MultiViews SymLinksIfOwnerMatch IncludesNoExec 로
Indexes 를 삭제 한다.
@ 접속이 안될경우 80포트 열어 주어야 한다.

vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT =>추가
/etc/init.d/iptables restart 또는 service iptables restart

64bit 라면 'lib64' 생성

php와 같은 프로그램들은 설치시에 '/usr/lib64' 와 같은 라이브러리 디렉토리를 검색합니다. 따라서 Apache의 lib 디렉토리를 lib64 심볼릭 링크를 만들어 줍니다.
cd /usr/local/apache
ln -s lib lib64

 cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
@ chkconfig를 이용해서 자동실행 등록해야 하지만 이전에 실행 스크립트 파일에 아래 내용 추가가 선행되어야 한다.
# vi /etc/init.d/httpd
-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 --list | grep httpd
# /etc/init.d/httpd start 

 

 

*** mariaDB 다운로드 및 설치 ***
# cd /usr/local/src
# wget http://mirror.jmu.edu/pub/mariadb" target="_blank">https://downloads.mariadb.org/interstitial/mariadb-5.5.34/kvm-tarbake-jaunty-x86/mariadb-5.5.34.tar.gz/from/http://mirror.jmu.edu/pub/mariadb
# tar zxvf mariadb-5.5.34.tar.gz
# cd mariadb-5.5.34
# mkdir build
# cd build

# cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr/local/mariadb \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mariadb/data \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATEDX_STORAGE_ENGINE=1 \
-DWITH_ARIA_STORAGE_ENGINE=1 \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system

# make;make install

* 사용자 등록

MariaDB 서버의 실행시킬 사용자를 생성한다.

# /usr/sbin/groupadd -g 27 -o -r mysql 
# /usr/sbin/useradd -M -g mysql -o -r -d /usr/local/mariadb/data -s /bin/false -c "MariaDB Server" -u 27 mysql

※ 사용자를 mysql로 한것은 mariaDB는 MySQL과의 호환성으로 인하여 mysql로 하였습니다.


* 소유권 변경

# mkdir -p /usr/local/mariadb/InnoDB/redoLogs
# mkdir -p /usr/local/mariadb/InnoDB/undoLogs
# chown -R mysql /usr/local/mariadb/data
# chgrp -R mysql /usr/local/mariadb
# mkdir /usr/local/mariadb/logs /usr/local/mariadb/tmp
# chown mysql.mysql /usr/local/mariadb/tmp
# chown mysql.mysql /usr/local/mariadb/logs
# chown -R mysql:mysql /usr/local/mariadb/data

* 자동 실행 등록

# cp support-files/mysql.server /etc/rc.d/init.d/mysqld

# chmod 755 /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --list | grep mysqld


* 시스템 테이블 생성
# cd /usr/local/mariadb
# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mariadb --datadir=/usr/local/mariadb/data


* 라이브러리를 추가
# rm /etc/ld.so.conf.d/mysql-x86_64.conf 또는 rm /etc/ld.so.conf.d/mysql-i386.conf
# echo "/usr/local/mariadb/lib" > /etc/ld.so.conf.d/mysql.conf


* 64bit 라면 라이브러리를 위해서 심볼릭 링크

# cd /usr/local/mariadb
mariadb# ln -s lib lib64


# cd /usr/local/mariadb/support-files
# cp my-huge.cnf /etc/my.cnf
# chmod 755 /etc/init.d/mysqld
# /etc/init.d/mysqld start

※  다른버전과 다르게 "character-set-server"  가 아닌 "character_set_server" 처럼 아래쪽라인 (_)  입니다.
     이게 맞지 않을 경우 PID 에러라고 하면서 mysql이 실행되지 않을 수 있습니다.


* root 비밀번호 변경

# /usr/local/mariadb/bin/mysql -uroot -p
Enter password:  (그냥 Enter 누르시면 됩니다.)

mysql> USE mysql;
mysql> UPDATE user SET password=password('new_password') WHERE user='root';
mysql> FLUSH privileges;


* 캐릭터셋 확인

mysql> show variables like 'c%';

+--------------------------+----------------------------------+
| Variable_name            | Value                            |
+--------------------------+----------------------------------+
| character_set_client     | utf8                             |
| character_set_connection | utf8                             |
| character_set_database   | utf8                             |
| character_set_filesystem | binary                           |
| character_set_results    | utf8                             |
| character_set_server     | utf8                             |
| character_set_system     | utf8                             |
| character_sets_dir       | /usr/local/mysql/share/charsets/ |
| collation_connection     | utf8_general_ci                  |
| collation_database       | utf8_general_ci                  |
| collation_server         | utf8_general_ci                  |
| completion_type          | NO_CHAIN                         |
| concurrent_insert        | AUTO                             |
| connect_timeout          | 10                               |
+--------------------------+----------------------------------+
14 rows in set (0.00 sec)

설치 작업이 끝났다면 익명접근권한을 삭제하자. ( mysql 콘솔에 그냥 접근을 못하게 해야 함.)
# /usr/local/mariadb/bin/mysql -u root -p
# Enter password:
# mysql> USE mysql;
# mysql> delete from user where password = "";
# mysql> exit
# /usr/local/mariadb/bin/mysqladmin -u root -p reload
# Enter password:

 


*** PHP 5.5.7  설치 및 설정 ***

# cd /usr/local/src
# wget http://kr1.php.net/get/php-5.5.7.tar.bz2/from/this/mirror
# wget http://kr1.php.net/get/php-5.5.7.tar.gz2/from/this/mirror
# tar xvjf php-5.5.7.tar.bz2
# tar zxvf php-5.5.7.tar.gz
# cd php-5.5.7

# ./configure --prefix=/usr/local/php \
--enable-fpm \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-libdir=lib \
--with-gettext \
--with-mhash \
--with-gmp \
--with-gd \
--with-jpeg-dir=/usr/local/lib \
--with-png-dir=/usr/local/lib \
--with-mcrypt=/usr/local/lib \
--with-iconv=/usr/local/lib \
--with-freetype-dir=/usr/local/freetype \
--with-config-file-path=/usr/local/lib \
--with-zlib \
--enable-gd-native-ttf \
--enable-bcmath \
--enable-exif \
--with-mcrypt \
--with-zlib \
--with-bz2 \
--enable-mbstring \
--enable-opcache \
--with-curl \
--with-openssl \
--with-pdo-mysql=/usr/local/mariadb \
--with-mysql=/usr/local/mariadb \
--with-mysqli=/usr/local/mariadb/bin/mysql_config \
--enable-pcntl \
--enable-mbregex \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-libxml-dir=/usr \
--with-kerberos \
--disable-debug \
--enable-soap \
--with-imap \
--with-imap-ssl \
-with-gdbm \
--enable-ftp \
--enable-calendar \
--enable-shmop \
--enable-inline-optimization \
--enable-sigchild \
--enable-sockets \
--enable-maintainer-zts

또는

./configure --prefix=/usr/local/php --enable-fpm --with-apxs2=/usr/local/apache/bin/apxs --with-libdir=lib --with-gettext --with-mhash --with-gmp --with-gd --with-jpeg-dir=/usr/local/lib --with-png-dir=/usr/local/lib --with-mcrypt=/usr/local/lib --with-iconv=/usr/local/lib --with-freetype-dir=/usr/local/freetype --with-config-file-path=/usr/local/lib --with-zlib --enable-gd-native-ttf --enable-bcmath --enable-exif --with-mcrypt --with-zlib --with-bz2 --enable-mbstring --enable-opcache --with-curl --with-openssl --with-pdo-mysql=/usr/local/mariadb --with-mysql=/usr/local/mariadb --with-mysqli=/usr/local/mariadb/bin/mysql_config --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-libxml-dir=/usr --with-kerberos --disable-debug --enable-soap --with-imap --with-imap-ssl -with-gdbm --enable-ftp --enable-calendar --enable-shmop --enable-inline-optimization --enable-sigchild --enable-sockets --enable-maintainer-zts

# make; make install

* php.ini 파일을 다음과 같이 복사해 줍니다.

# cp php.ini-production /usr/local/lib/php.ini

 

추가작업은 아래와 같이

# vi /root/.bash_profile
PATH=$PATH:$HOME/bin 를
PATH=$PATH:$HOME/bin:/usr/local/mariadb/bin:/usr/local/apache/bin:/usr/local/php/bin 로 수정
service httpd restart
@ php.ini 설정
# vi /usr/local/lib/php.ini
memory_limit = 128M  (썸네일 생성이 안될 시에는 32M이상 설정하세요.)
register_globals = Off
post_max_size = 100M
file_uploads = On
upload_max_filesize = 100M
allow_url_fopen = Off
allow_url_include = Off
short_open_tag = On
disable_functions = exec,passthru,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
자주 살펴보는 파일은 심볼릭 링크를 설정해서 /root/conf 파일에 모아두자
# mkdir /root/conf
# cd /root/conf
# ln -s /usr/local/lib/php.ini /root/conf/php.ini
# ln -s /usr/local/apache/conf/httpd.conf /root/conf/httpd.conf
# ln -s /usr/local/apache/conf/extra/httpd-vhosts.conf /root/conf/httpd-vhosts.conf
# ln -s /etc/my.cnf /root/conf/my.cnf

출처 : http://jsbuilder.apachezone.com/bbs/board.php?bo_table=05_4&wr_id=9

추천
3

댓글 12개

그렇군요....^^;;
전 자주 테스트 하느라 미리 받아두어서 미처 몰랐군요. 다른분들께 많은 도움이 되겠습니다. 감사합니다.
vhost 모듈이 apache 에 들어가질 않네요..

httpd.conf 에 모듈명도 없고 .so 파일도 생성이 안되고..

# chkconfig --add httpd    이것도 httpd 파일은 chkconfig 대상이 아니라고 하고..
--enable-mods-static 에 vhost_alias 적용해서 .so 이 안올라와 있는것 뿐입니다.
위의 방법대로 설치 하셨다면 httpd-vhosts.conf 에 적용 됩니다.
위의 구문에서 # 은 빼고 적용해 주셔야 합니다. chkconfig --add httpd 이렇게요...^^
헠 .. 이렇게 빠르게 댓글이..  감사 드립니다..  리눅스 초보라.. vhost 는 그렇게 되는 거군요..
그동안 모듈명과 so 파일이 올라 온것만 봐 와서요.. ^^

chkconfig sms # 당연히 빼고 했는데 여전히 거부 하네요..
이리저리 구글질 해가면서 시도 계속 해 보겠습니다..
전체 5,352
개발자팁 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT