Live Brilliant

APM 설치 본문

개발은 핵찜이야/리눅스

APM 설치

주인정 2012. 4. 13. 09:38

---------------------------
mysql 설치
mysql-5.0.37.tar.gz

압축 풀고..
해당 디렉토리 들어가서...

./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-charset=euckr --enable-thread-safe-client
make && make install

configure 시 오류 메세지
오류 메세지 : checking for termcap functions library... configure: error: No curses/termcap library found
해결 방법 : yum -y install ncurses-devel


# cd /usr/local/mysql/bin
# ./mysql_install_db
# useradd -M mysql
# chown -R mysql:mysql /usr/local/mysql/data
# /usr/local/mysql/bin/mysqld_safe &
# cd /usr/local/mysql/bin
# ./mysql -u root -p mysql
(엔터)
# 들어가서 비번 변경요...
update user set Password=password('super1111') where User='root';
update user set Password=password('super1111') where User='root';
update user set Host='%' where User='root' and Host='localhost.localdomain';

flush privileges;

exit;


로그인 못하는 계정으로 셋팅
vi /etc/passwd
mysql:x:502:502::/home/mysql:/sbin/nologin

Mysql 경로 설정하기
vi ~/.bash_profile

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
// db Path 부분만 추가

참고 ::
Mysql 종료하는 2가지 방법
1. 정상적인 방법 : mysqladmin -u root -p shutdown
2. 강제적인 방법 : killall mysqld

mysql 설치디렉토리에 share 밑에 보시면 my-huge.cnf...등의 파일이 있습니다..


/etc 로 복사 my.cnf
# cp /usr/local/mysql/share/mysql/my-large.cnf /etc/my.cnf
# cp /usr/local/mysql/share/mysql/my-huge.cnf /etc/my.cnf
>>>>> 여기가 잘 안 된다..

---------------------------

apache 설치
httpd-2.2.11.tar.gz

압축 풀고..
해당 디렉토리 들어가서...


접속자 수 최대로 올리기
# vi server/mpm/prefork/prefork.c
[EDITOR]#define DEFAULT_SERVER_LIMIT 4096 으로 수정 (원래 256의 16배)
저장하고 아웃

# vi server/mpm/worker/worker.c
[EDITOR]#define DEFAULT_SERVER_LIMIT 256 으로 수정 (원래 16의 16배)
저장하고 아웃

./configure --prefix=/usr/local/apache --enable-so --enable-modules=so --with-mpm=worker --enable-rewrite
make && make install

다양한 옵션을 줄 수 있지만 최소한의 설치만을 위해서 위와 같이 enable so, enable rewrite 만 옵션으로 두고 컴파일을 합니다.
설치되는 경로는 /usr/local/apache 로 합니다.


/usr/local/apache/bin/apachectl start
확인후 다시 죽여두자.
/usr/local/apache/bin/apachectl stop
잘 죽은지도 확인...

-------------------------

Apache에 PHP 설정하기
아파치 설정파일에 PHP 실행을 연동하기 위한 설정을 합니다.
/usr/local/apache/conf/httpd.conf 파일을 열어서 아래와 같은 부분을 변경합니다.
LoadModule php5_module modules/libphp5.so
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
<IfModule mime_module>
...
AddType application/x-httpd-php .php
...
</ifModule>

<Directory "/home/*/public_html">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>


에러 메시지가 나타내는 바..
vi /usr/local/apache/conf/httpd.conf 파일에 보면...

ServerName 이라는 부분이 있다.
바꾸어 주자..

ServerName 127.0.0.1
ServerName *:80 (이것도 잘 되네..)

그리고 재시작..


-------------------------------------------

PHP 설치 옵션

압축 풀고..
해당 디렉토리 들어가서...

./configure --prefix=/usr/local/php --enable-bcmath --enable-ftp --enable-filepro --enable-libxml2 --enable-memory-limit --enable-sockets --enable-spl --enable-sysvsem --enable-sysvshm --enable-track-vars --enable-versioning --enable-wddx --disable-cli --disable-debug --disable-dmalloc --disable-posix --disable-rpath --with-apxs2=/usr/local/apache/bin/apxs --with-bz2 --with-freetype-dir --with-gd --with-gettext --with-imap=shared --with-jpeg-dir --with-kerberos --with-libxml-dir --with-mod-charset --with-mysql=/usr/local/mysql --with-xml --with-gmp --enable-gd-native-ttf --with-iconv --with-iconv-dir --with-png-dir --with-ttf --with-zlib --with-mysqli=/usr/local/mysql/bin/mysql_config --with-imap-ssl=/usr/lib --with-openssl


---------------
오류 메세지 : configure: error: libjpeg.(a|so) not found.
해결 방법 : yum -y install libjpeg-devel

오류 메세지 : configure: error: freetype.h not found.
해결 방법 : yum -y install freetype-devel

오류 메세지 : configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information.
해결 방법 : yum -y install libc-client-devel

---------------
오류 메세지 : configure: error: xml2-config not found. Please check your libxml2 installation
해결 방법 : yum install libxml2 libxml2-devel -y

오류 메세지 : configure: error: Please reinstall the BZip2 distribution
해결 방법 : yum -y install bzip2-devel

오류 메세지 : configure: error: libpng.(a|so) not found.
해결 방법#1 : yum -y install libpng-devel
해결 방법#2 : 잘 안 되면.. vi /etc/resolve.conf 를 확인하고 다시 시도..

오류 메세지 : configure: error: Kerberos libraries not found.
해결 방법 : yum -y install krb5-devel

오류 메세지 : configure: error:Cannot find OpenSSL's <evp.h>
해결 방법 : yum -y install openssl-devel

오류 메세지 : configure: error:Cannot find OpenSSL's <evp.h>
해결 방법 : yum -y install apr apr-util apr-util-devel
-----------------

make && make install
엄청 오래 걸림


php 구동시 기본 설정을 읽는 php.ini 파일을 여기서는 /usr/local/php/lib/php.ini로 복사 합니다.

cp php.ini-dist /usr/local/php/lib/php.ini


-------------------------
아파치 실행시 에러가 나오면...


# service httpd restart
httpd: Syntax error on line 53 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied

SOLUTION ......................................

chcon -t texrel_shlib_t /usr/local/apache2/modules/libphp5.so


-------------------------

** Zend 설치 !

설치전.. php.ini 파일 위치 확인
/usr/local/apache/bin/apachectl start

cd /usr/local/apache/htdocs/
vi test.php

<?
phpinfo();
?>
저장..
http://192.168.0.225/test.php
에서.. php.ini 파일 위치 확인후...


압축 풀고..
해당 디렉토리 들어가서...


tar zxvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz

cd ZendOptimizer-3.3.3-linux-glibc23-i386

./install.sh


php.ini 의 파일 위치를 잘 보고 입력해 주어야 함 (/usr/local/php/lib )

-------------------------

vi /etc/rc.local
//마지막 줄에 아래 추가

/usr/local/apache/bin/apachectl start
/usr/local/mysql/bin/mysqld_safe &
service vsftpd start
/etc/rc.d/init.d/named start
/etc/rc.d/init.d/proftpd start

----------------------------

#. 네임서버 설정

먼저 hosts 파일 확인
# cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.2.222 extest.sm  extest

다음으로 네임서버 설정 확인
# cat /etc/resolv.conf
nameserver 192.168.2.222
nameserver 168.126.63.1
nameserver 168.126.63.2

----------------------------------------------
최근의 버번은 chroot 를 기본으로 사용합니다.
zone file 이 /var/named/chroot/var/named 안에..
named.conf 파일은 include 기능을 이용하여 기본 zone 정보는 named.rfc1912.zones 파일안에 있습니다.

yum install bind*
yum install caching-name*


# locate named.conf
여기서 에러를 만나면..

yum install mlocate


locate: can not open `/var/lib/mlocate/mlocate.db’: No such file or directory
와 같은 에러를 만나면..

# updatedb
해 준다.


cp -rf /usr/share/doc/bind-9.3.4/sample/etc/* /var/named/chroot/etc/

cp -rf /usr/share/doc/bind-9.3.4/sample/var/named/* /var/named/chroot/var/named/


ln -s /var/named/chroot/etc/named.conf /etc/named.conf

vi /etc/named.conf
-----------------------------------
//key ddns_key
//{
// algorithm hmac-md5;
// secret "use /usr/sbin/dns-keygen to generate TSIG keys";
//};

acl "localarea" {
127.0.0.1;
192.168.2.222;
};
view "local"
{
match-clients { localarea; };
recursion yes;

zone "." {
type hint;
file "named.ca";
};
};

view "external"
{
match-clients { any; };
//match-destinations { any; };

recursion no;
// you'd probably want to deny recursion to external clients, so you don't
// end up providing free DNS service to all takers

// all views must contain the root hints zone:
include "/etc/named.root.hints";

// These are your "authoritative" external zones, and would probably
// contain entries for just your web and mail servers:

zone "my.external.zone" {
type master;
file "my.external.zone.db";
};
};

--------------------------------------------
도메인 추가

vi /etc/named.rfc1912.zones
에서 라인 추가


cd /var/named/chroot/var/named 에서 파일 추가 & 설정
cp localdomain.zone yahoo.com.zone

--------------------------------------------
도메인 추가후 적용은
# rndc reload

네임서버 재기동하지 않아도 적용됨

우선 여기서
service iptables stop 하니까.. 내부에서도 외부에서도 접근이 된다..
휴...

---------------------------------------------

[root@super ]# /usr/local/apache/bin/apachectl restart
httpd: Could not reliably determine the server's fully qualified domain name, using ******.co.kr for ServerName


-------------------------------------------
HTTP 403 Forbidden 에러가 나면..

vi /usr/local/apache/conf/extra/httpd-vhosts.conf

<VirtualHost *:80>
DocumentRoot "/home/ ******** /public_html"
ServerName ********.com
ServerAlias www. ******** .com

<Directory />
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

</VirtualHost>

----------------------------------
만약 http://아이피/~계정 이렇게 했는데 404 에러 가 나면서 경로를 못찾고 있다면..

<IfModule mod_userdir.c>
UserDir public_html
</IfModule>

추가해 주면 됩니다.

'개발은 핵찜이야 > 리눅스' 카테고리의 다른 글

PHP->MSSQL 연동위한 freetds  (0) 2012.04.13
mysql log 보는 법  (0) 2012.04.13
리눅스 TIME_WAIT 변경법  (0) 2012.04.13
MySQL 트랜젝션 innodb 설정  (0) 2012.04.12
iptables 설정  (0) 2012.04.12
Comments