일단 APM이 설치 되었는지 확인합니다.
-> rpm -qa httpd php mysql
아무것도 깔려있지 않았다면 아무것도 뜨지 않는다
혹시 깔려있다면, 새롭게 설치하기 위해서 지워줍니다.
-> rpm -e --nodeps 패키지명 ( 위에 명령어 입력시 나온 패키명을 그대로입력한다 )
모두 삭제해 줍니다.
자 이제 모두 삭제 한후에 다시한번 확인해보자
-> rpm -qa httpd php mysql
이제 아무 것도 나타나지 않는 걸 알 수 있다.
이제 apm을 설치할 폴더를 생성한다.
-> mkdir /usr/local/src/APM
그리고 해당 폴더로 들어갑니다.
-> cd /usr/local/src/APM
이제 apache를 다운로드 해보자
-> wget http://apache.mirrors.pair.com//httpd/httpd-2.2.17.tar.gz
다운로드 상태창이 뜨고 100%완료까지 기다린다.
이제는 php를 다운받는다.
-> wget http://kr2.php.net/get/php-5.2.17.tar.gz/from/kr.php.net/mirror
역시 완료까지 기다린다.
이제 mysql을 다운한다.
wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.11.tar.gz/from/
http://mirror.khlug.org/mysql/
이하 동문이다.
_______________________________________________ > 여기까지 APM 다운로드 이다.
APM소스코드를 컴파일 하기 위해서는 gcc와 gcc-c++ 등 컴파일러가 설치되어야한다.
기존에 설치 된 거라도 업데이트를 해 주기 때문에 다 실행한다.
-> yum -y install gcc gcc-c++ cpp compat-gcc-34-g77 flex readline-devel zlib curl
g++ openssl openssl-devel ncurses-devel bzip2-devel bison
시간이 꽤 많이 소모된다.
마지막에 complete 가 뜨면 완료된 것이다.
컴파일러가 제대로 설치 되었다면 이제 apm에 필요한 라이브러리들을 설치합니다.
역시 업데이트를 위해서 적어준다.
-> yum -y install libjpeg libpng freetype gd libtermcap-devel libc-client-devel
libjpeg-devel libpng-devel freetype-devel gd-devel libxml2 libxml2-devel
----------------------------------------- 여기까지 라이브러리와 컴파일러 설치
이제 mysql을 설치합니다.
기존 mysql 에서는 ./configure 로 설정을 했지만
mysql 5.5버젼 부터는 cmake 로 설정해야합니다.
그래서 Cmake를 설치합니다.
-> cd /usr/local/src/APM
-> wget http://www.cmake.org/files/v2.6/cmake-2.6.4.tar.gz
설치를 진행하기 전에 mysql을 실행할 계정을 생성합니다.
-> groupadd mysql
-> useradd -g mysql mysql
이제 mysql을 설치해보자.
mysql 소스파일을 압축해제 합니다.
-> tar -zxvf mysql-5.5.11.tar.gz
-> cd mysql-5.5.11
cmake를 이용하여 설정을 합니다. 대소문자 반드시 지켜 주세요
명령어가 길기 때문에 '\' 를 이용해서 줄을 바꾸며 적어준다.
-> cmake -DCMAKE_INSTALL_PREFIX=/usr/local/server/mysql \
-DWITH_EXTRA_CHARSETS=all \
-DMYSQL_DATADIR=/usr/local/server/mysql/data \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DSYSCONFDIR=/etc \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_TCP_PORT=3306
이제 설치를 실행합니다.
-> make
-> make install
설정파일 복사한다
자신이 리눅스 설치할때 선택한 램 용량에 따라 설정이 달라진다.
자신의 메모리 용량이 1G - 2G 사이일때 my-huge.cnf
512 일때는 my-large.cnf
64~ 256 일때는 my-medium.cnf
64보다 작을때는 my-small.cnf
->cp support-files/my-huge.cnf(램용량마다,다름) /etc/my.cnf
서버 부팅시 mysql 실행을 위한 서비스 등록
->cp support-files/mysql.server /etc/init.d/mysqld
그리고 열어서 수정한다.
->vi /etc/init.d/mysqld
basedir=
datadir= 두개가 있는데 datadir 뒤에 넣어준다.
datadir=/usr/local/server/mysql/data
mysql 설치 디렉토리에 대한 mysql 권한 부여
->chown -R mysql:mysql /usr/local/server/mysql
데몬실행 권한을 부여한다.
-> chmod 755 /etc/init.d/mysqld
기본 DB 생성 설치, 디렉토리로 이동하여서 실행하여야 합니다
-> /usr/local/server/mysql/scripts/mysql_install_db --user=mysql
--basedir=/usr/local/server/mysql --datadir=/usr/local/server/mysql/data
mysql을 실행한다.
-> /etc/init.d/mysqld start
Starting Mysql............ ok 가 되면 정상 실행이다.
////////////////////////////////
만약 실행이 되지 않는다면..
일단 -> killall mysqld
/usr/local/server/mysql 밑에 support-files 에 있는 mysql.server 파일을
/etc/rc.d/init.d/mysqld 에 복사한다.
->cp -p mysql.server /etc/rc.d/init.d/mysqld 명령으로 복사후
아래 명령으로 실행을 한다.
-> /etc/rc.d/init.d/mysqld start
/////////////////////////////
잘 실행된다면 여기서부터
루트 비번을 설정한다.
->/usr/local/server/mysql/bin/mysqladmin -u root password cpc1234(비번)
mysql을 쉽게 사용 할 수 있도록 링크를 걸어준다.
엘 엔 이다. in 아님
# ln -s /usr/local/server/mysql/bin/mysql /usr/bin/
# ln -s /usr/local/server/mysql/bin/mysqldump /usr/bin/
# mysql -u root -p <---mysql 접속
_______________________________________________________> 여기까지 mysql 설치
이제 apache를 설치해 봅니다.
-> cd /usr/local/src/APM
압축을 풉니다.
->tar -zxvf httpd*
압축을 푼 폴더로 들어간다.
->cd httpd*
아파치는 기본적으로 최대 256개의 httpd프로세스를 포크할 수 있다.
접속자가 많은 경우 최대 프로세스 수를 늘려줘야 한다.
/server/mpm/prefork/ 이 위치로 들어와서
-> vi prefork.c
#define DEFAULT_SERVER_LIMIT 256을 1024로 바꿔준다.
수정후 옵션을 변경한다.
-> cd /usr/local/src/APM/httpd*
-> ./configure --prefix=/usr/local/server/apache --enable-mods-shared=all
--enable-so --enable-rewrite
_______________________________________________________
--prefix=/usr/local/server/apache 설치 디렉토리
--enable-mods-shared=all 모든 모듈을 DSO모드로
--enable-so DSO모드를 활성화
--enable-rewrite URL 재작성 모듈을 활성화
________________________________________________________
________________________________________________________________________________________
DSO (dynamic shared object)
아파치 설치 방식에는 dso와 static이 있다. dso 방식은 아파치를 먼저 컴파일하고 다른 모듈들을
추가로 설치할 때 아파치를 다시 컴파일 하지 않고 모듈을 추가 할 수 있다.
static방식은 사용하는 모듈을 모두 적재한 다음 사용자의 요청이 있으면 바로 응답해 속도는 빠르
지만 아파치가 실행할때 모든 모듈을 로드하므로 시스템 자원을 많이 소모한다.
dso방식은 사용자의 요청이 있을 때만 모듈을 로드하므로 static보다 조금 느리지만 시스템 자원을
적게 소모하고, 최근 하드웨어 발전으로 실행속도 크게 차이나지 않아서 dso방식을 사용
_______________________________________________________________________________________
그리고 설치를 한다.
-> make
->make install
제대로 설치 되었는지 확인합니다. LL (엘엘이다.)
-> ll /usr/local/server/apache
자동 실행을 설정한다.
apache의 실행 스크립트 apachectl을 /etc/init.d에 httpd라는 이름으로 복사한다.
-> cp /usr/local/server/apache/bin/apachectl /etc/init.d/httpd
수정을 해야한다.
-> vi /etc/init.d/httpd
파일을 열어서 해당 파일에 3번째 줄에서 부터 추가한다.
#!/bin/sh...... 이건 기본으로 있는것
#
#chkconfig: 2345 90 90
#description: init file for Apache server daemon
#processname: /usr/local/server/apache/bin/apachectl
#config: /usr/local/server/apache/conf/httpd.conf
#pidfile: /usr/local/server/apache/logs/httpd.pid
#
#Licensed......... 이것도 기본으로 이 둘 사이에 적어준다.
그리고 chkconfig를 이용해 등록한다. 부팅시 자동으로 켜지게 하는 것이다.
-> chkconfig --add httpd
이제 apache 실행환경 설정을 한다.
-> vi /usr/local/server/apache/conf/httpd.conf
User daemon -> 이 두가지 daemon을 nobody 로 변경한다.
Group daemon -> 이 두가지 daemon을 nobody 로 변경한다.
=> root권한으로 실행된 아파치의 하위 프로세스를 이곳에서 지정한 사용자로
실행한다는 의미입니다.
그리고 밑에
#ServerName www.example.com:80을
앞에 주석을 지우고 자신의 ip주소를 적어준다.
ifconfig 명령어로 보면 자신의 ip를 볼 수 있다.
192.168.174.128 -> 이건 자신의 ip로 바꾸어야한다.
=> ServerName 192.168.174.128:80
이제 apache가 실행되는지 테스트 해보자
/etc/init.d/httpd start 로 실행하고
웹 브라우저를 실행시키고
http://192.168.174.128(ip주소) 으로 들어가면
it' works 라고 나타난다.
혹시 나타나지 않는다면 방화벽에서 80포트를 열어준다.
vi /etc/sysconfig/iptables
다음 문장을 추가한다.
-> -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
갱신된 정보를 다시 서비스함.
#/etc/rc.d/init.d/iptables restart
다시 위로 웹 브라우저로 접속해보자.
apache 설치는 이걸로 끝이다.
--------------------------------------------------------> 여기까지 apahe 설치
이제 php를 설치해보자.
cd /usr/local/src/APM
압축을 풀고 해당 폴더로 들어갑니다.
->tar -zxvf php-5.2.17.tar.gz
->cd php*
이제 설정을 한다. 양이 꽤 많다.
\ 후에 엔터를 치면 보기 쉽게 입력 할 수 있다
./configure \
--prefix=/usr/local/server/php \
--with-apxs2=/usr/local/server/apache/bin/apxs \
--with-mysql=/usr/local/server/mysql \
--with-config-file-path=/usr/local/server/apache/conf \
--disable-debug \
--enable-safe-mode \
--enable-sockets \
--enable-mod-charset \
--enable-sysvsem=yes \
--enable-sysvshm=yes \
--enable-ftp \
--enable-magic-quotes \
--enable-gd-native-ttf \
--enable-inline-optimization \
--enable-bcmath \
--with-zlib \
--with-jpeg-dir=/usr/lib \
--with-png-dir=/usr/lib \
--with-freetype-dir=/usr/include/freetype2 \
--with-libxml-dir=/usr/lib \
--enable-exif \
--with-gd \
--with-ttf \
--with-gettext \
--enable-sigchild \
--enable-mbstring
thank you for us.... 뜨면 완료된 것이다.
설정이 완료되면 설치를 한다.
make
make install
설치를 확인합니다.
ll 역시 엘엘 이다.
ll /usr/local/server/php/
php는 샘플파일을 제공하므로 이것을 이용해 php환경설정 파일을 생성한다.
샘플 파일은 소스압축을 해제한 디렉토리에 php.ini-dist라는 파일로 제공
이것을 ./configure 실행시 환경설정 파일의 경로 --with-config-files-path= 로
지정한 /usr/local/server/apache/conf 디렉토리에 php.ini라는 이름으로 복사한다.
->cp php.ini-dist /usr/local/server/apache/conf/php.ini
이제 아파치와 연동을 위해 httpd.conf 파일을 수정한다.
-> vi /usr/local/server/apache/conf/httpd.conf
여기서
<IfModule dir_module>
DirectoryIndex index.html 여기 뒤에 index.php 추가한다.
</IfModule>
그리고 밑에
<IfModuel mine_module>
여기서
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz 밑줄에
아래 두줄을 추가한다.
AddType application/x-httpd-php .php .html
AddType application/x-httpd-php-source .phps
테스트를 위해서 아파치를 재시작한다.
/etc/init.d/httpd restart
아마 에러가 발생 할 것이다.
이는 SELinux의 보안설정 때문이다
아래 명령을 수행해서 libphp5.so의 context를 변경하여 해결해야한다.
하지만 SELinux가 아니라면 아래 명령으로 사용 가능하다.
이것은 실시간으로 변경하는 것이다.
-> setenforce 0
원인을 해결하려면
-> vi /etc/sysconfig/selinux 에 들어가서
SELIUNX=forcing 을 permissive 로 바꾼다.
그리고 sync -> init 6 해서 재시작한다.
테스트를 위해서 아파치를 재시작한다.
/etc/init.d/httpd restart
테스트 페이지를 만들어보자 phpinfo.php는 php정보를 보여주는 함수이다.
-> vi /usr/local/server/apache/htdocs/phpinfo.php
여기서 <? phpinfo(); ?> 를 추가한다.
그 후 http://192.168.174.128/phpinfo.php 로 웹으로 접속한다.
정상적으로 접속한다면 php 버젼 정보가 보이게된다.
하지만
<? phpinfo(); ?> 이 코드가 보인다면 아까 httpd.conf에서 AddType 를 다시 확인하자
이제 mysql 연동 확인을 하자
-> vi /usr/local/server/apache/htdocs/phpinfo.php
여기서
<?
mysql_connect("","","");
echo("mysql Success!!!");
?>
mysql Success!!! 가 나온다면
APM 연동 끝~~!~!~!
하아......
끝이 아니군....
httpd에서 alias를 지정한다.
일단 별명을 지정할 폴더를 생성한다.
-> mkdir /usr/local/src/alias
-> cd /usr/local/src/alias
이렇게 alias 폴더를 생성하고 들어간다
여기서 일단 php 파일을 하나 생성한다.
여기서 파일 이름은
반드시 index.php로 생성해야한다.
다른 이름으로 하면 적용되지 않는다.
-> vi index.php
파일을 생성해서 아래와 같이 명령어를 친다.
<?
mysql_connect("","","");
echo("mysql Success!!!");
?>
이제 해당 폴더를 별명으로 지정하기 위해서
httpd.conf 파일을 수정해줘야 한다.
-> vi /usr/local/server/apache/conf/httpd.conf
여기에 들어가서...
좀 많이 내려가다가 보면
<IfModule alias_module> 이 존재한다.
여기서 주욱 내려가면
#
#
# 이렇게 주석을 내려가다
ScriptAlias /cgi....... 라고 있는데 이 명령어 밑에 아래 명령을 추가한다.
Alias /alias "/usr/local/src/alias"
<Directory "/usr/local/src/alias">
Options MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
11 이 명령어를 추가하면된다.
마지막으로 apache 서버를 재 가동한다.
/etc/init.d/httpd restart
그리고 확인을 한다.
이렇게 접속을 하면 정상적으로 /usr/local/src/alias 에 있는
index.php 로 접속을 하게된다
여기까지 레알 끝이다.
--------------------------------------------------------> 여기까지 php설치