FREEDOM. FRIENDS. FEATURES. FIRST.
페도라 한국 사용자 모임

페도라12 yum(rpm)으로 APM 설치(수호신패치 포함)

게시판 Tech/Tip 페도라12 yum(rpm)으로 APM 설치(수호신패치 포함)

  • This topic has 3개 답변, 3명 참여, and was last updated 11 years, 1 month 전에 by 태랑. This post has been viewed 20 times
  • 만든이
    게시글
  • #12171
    태랑
    키 마스터
    • 게시글207
    • 댓글878
    • 총합1085
    • ★★
    @admin

    설치 환경 및 버전

    OS

    Fedora12

    Apache

    2.2.13-4.fc12

    PHP

    5.2.12(소스설치)

    MYSQL

    5.1.40-1.fc12

    RAM

    683MB

     

    ** 2010년 7월 20일 수정되었습니다 이전에 퍼간분들은 수정하세요 **

     

     

     

    1.apache 설치

    # yum -y install httpd

     

    2. mysql 설치

    # yum -y install mysql mysql-server mysql-devel

    ***설치후 mysql 계정과 mysql 그룹은 자동 추가가 됩니다

     

    3. 필요 라이브러리 설치

    # yum -y install zlib zlib-devel freetype freetype-devel

    freetype-utils gd gd-devel libjpeg libjpeg-devel

    libpng libpng-devel libmcrypt libmcrypt-devel

       *** 한줄로 붙여 써야합니다  ***

     

    4. php설치 

    yum으로 설치하게되면 글쓴 09년12월18 시점에서

    Zend Otimizer 3.3.9버전에 php 5.3용 이 없기에 부득이하게

    php만 소스설치를 하겠습니다 Zend Optimizer 이유 외에 수호신 패치때문이라도

    소스로 설치 합니다

     

    먼저 yum으로 2가지를 설치 해줍니다

    # yum -y install httpd-devel libxml2-devel

     

    php를 다운받습니다

    w get http://kr2.php.net/get/php-5.2.12.tar.gz/from/kr.php.net/mirror

    (w 하고 get 붙여야 합니다 호스팅 필터링때문에 띄워씁니다)

     

     

    수호신 패치를 한후에 Extension을 설치 하겠습니다

     

    수호신 패치는 PHP버전에 맞게 다운받습니다

     

    PHP 버전이 5.2.12 이기에 그에맞는 패치를 다운받습니다

    w get http://download.suhosin.org/suhosin-patch-5.2.12-0.9.7.patch.gz

     

    Suhosin Extension 0.9.31 다운

    # w get http://download.suhosin.org/suhosin-0.9.31.tgz

     

     

    # tar zxvf php-5.2.12.tar.gz   php를 압축을 푼후

    # gunzip suhosin-patch-5.2.12-0.9.7.patch.gz  수호신 패치 압축을 풉니다

     

    # cd php-5.2.12    php디렉토리로 이동한후

    # patch -p1 -i ../suhosin-patch-5.2.12-0.9.7.patch

     

     

    디렉토리 이동해서 빌드을 실시합니다

    # ./configure --with-mysql=/usr/bin/mysql --with-config-file-path=/etc/httpd/conf \

    --with-apxs2=/usr/sbin/apxs --enable-mbstring -with-gettext --enable-sigchild \

    --with-gd=shared --with-gd \

    --enable-sockets --with-openssl --with-zlib --with-mcrypt

     

    (한줄 한줄 복사해서 넣으세요 )

     

     

    # make

    # make install

     

     

     

    php.ini을 복사합니다

    # cp php.ini-recommended /etc/httpd/conf/php.ini  복사후에

    132줄의  short_open_tag = Off  On  으로 변경합니다

    session.auto_start 의 값이 0 에서 1로 변경합니다

     

     

    Suhosin Extension 0.9.31 압축을 풉니다

    # tar zxvf suhosin-0.9.31.tgz

    # cd suhosin-0.9.31

    # phpize   안되면 path를 잡아주세요

     

    # ./configure

    # make

    # make install

     

    make install 까지 끝내면 아래와 같은 메시지를 볼수있는데

    자신의 시스템에 맞게 php 모듈 디렉토리로 옴겨주거나 그대로 사용합니다

     

     

    php.ini 에 아래와 같이 추가해줍니다

    extension=suhosin.so

     

     

    파치를 재시작한후 php -v 를 하면

     

     수호신이 제대로 올라온걸 확인할수 있습니다

    (위스샷은 수호신을 추가로 설치한부분이라서 eAcceleator Zend Optimizer가 이미

    설치되어있는 스크린 샷입니다 )

     

     

     

    5. mysql에서 사용할 환경 설정파일을 복사 합니다 시스템에 따라 다르니 아래를 참조합니다

    my-huge.cnf       1GB 이상 메모리

    my-large.cnf       512MB ~ 1GB

    my-medium.cnf  128MB ~ 256MB

    my-small.cnf      64MB 이하

    테스트 시스템은 메모리가 683MB임으로 my-large.cnf 를 이용합니다  

     

    파일을 복사합니다 기존에 파일이있기에 덮어쓸꺼냐고
    물어보는데 y를치고 엔터를 칩니다

    # cp /usr/share/mysql/my-large.cnf /etc/my.cnf

    cp: overwrite `/etc/my.cnf'? y

     

    my.cnf 에 UTF-8 로 character set을 지정합니다

    아래 내용을 섹션에 따라서 기술해 주세요

     

     

    [client]
    default-character-set = utf8

     

    [mysqld]

    init_connect=SET collation_connection = utf8_general_ci
    init_connect=SET NAMES utf8
    default-character-set = utf8
    character-set-server = utf8
    collation-server = utf8_general_ci

     

     

    [mysqldump]
    default-character-set = utf8

     

     

    [mysql]
    default-character-set = utf8

     

     

     

     

     

    6. 기본관리 db를 설정하고 권한 지정

    # /usr/bin/mysql_install_db --user=mysql

    # chown -R root /usr/bin/

    # chown -R mysql /var/lib/mysql/

    # chgrp -R mysql /usr/bin/

    # chmod u+s /usr/bin/passwd

     

     

     

    7. 재부팅후 자동 실행가능하도록 등록 해줍니다

    # /sbin/chkconfig --list | grep mysqld

    mysqld           0:해제    1:해제    2:해제    3:해제    4:해제    5:해제    6:해제

     

     

    만약 글짜가 깨진다면 LANG=C  라고 치신다음 다시 해보시기 바랍니다

    필자는 런레벨3(콘솔부팅)로 이용하기에

    # /sbin/chkconfig --level 3 mysqld on

    이렇게 하지만 보통의 환경이라면

     

     

    # /sbin/chkconfig --level 2345 mysqld on     으로 해줍니다

    # /sbin/chkconfig --list | grep mysqld        로 확인 합니다

     

     

    8. mysql 시작, root 비밀번호 설정

    Mysql을 시작과 종료방법에는 3가지 방법이 있습니다 편한대로 사용하면 됩니다

     

    [데몬 직접실행 및 중지]

    /etc/init.d/mysqld [start | stop]

     

    [service로 실행 및 중지]

    /sbin/service mysqld [start | stop]

     

    [mysql 직접 실행 및 중지]

    /usr/bin/mysqld_safe &

    /usr/bin/mysqladmin shutdown

     

     

    **동작확인

    ps -ef | grep mysql   로 확인 합니다

     

     

     

    이제 root패스워드를 지정 합니다

    인젝션 공격이 감지되어서 스크린샷으로 대신합니다

     

     

     

    # mysql u root p   <엔터>

    밑에 줄에 비번치고 들어가서

    Show databases; 를 쳐서 db상태를 확인합니다

     

     

     

     

    케릭터 셋도 확인해봅니다      show variables like "c%";    <-- 쿼리를 날리면

     

     

     

    9. apache 세팅

    연동부분만 다루기에 기본세팅만 합니다 자세한 세팅은 따로 찾아보셔야 합니다

    # vi /etc/httpd/conf/httpd.conf

    로 열어서

     

    DirectoryIndex index.jsp index.html index.php index.html.var

     

    부분에 위와같이 index.php 를 추가합니다

    그리고 밑의 내용을 추가 합니다


    AddType application/x-httpd-php .php .php3 .html .htm .phtml .inc

    AddType application/x-httpd-php-source .phps


    #ServerName www.example.com:80 에서 # 을 제거 해줍니다

    저장하고 나온후

     

    # service httpd restart   등으로 아파치를 재시작 합니다

     

    **외부에서 접속 테스트시 방화벽 80포트 열어줘야 합니다**

     

    /var/www/html phpinfo.php 파일을 만든후 안의 내용은 밑에와
    같이 기술합니다

     

    ** /var/www/html 은 RPM apache 기본 htdoc 디렉토리 입니다

        위치는 다를수 있으니 확인해보시기 바랍니다 **

     

     

    <?

    phpinfo();

    ?>

     

    저장한후에

     

    http://주소/phpinfo.php http://localhost/phpinfo.php

    를 쳐서 정상출력되면 apache php는 정상 연동 된 것 입니다

     

     

      수호신도 정상적으로 올라온걸 확인할수 있습니다

     

     

     

     

    phpmyadmin 을 설치하겠습니다 테스트 결과 utf-8변경후 제가 모를수도있지만

    phpMyAdmin 3.3.2 을 설치시 몇가지 문제점이 있어서 무난하게 2.11.10 버전으로 설치하겠습니다

     

     

     

    다운을 받고 압축 풉니다  http://www.phpmyadmin.net/home_page/downloads.php

    # tar zxvf phpMyAdmin-2.11.10-all-languages.tar.gz

     

     

     

    원하는 위치로 적절하게 옴겨줍니다 저는 /var/www/phpmyadmin 으로 운영하겠습니다

    # mv mv phpMyAdmin-2.11.10-all-languages /var/www/phpmyadmin

     

     

     

    샘플 config파일을 복사 합니다

    # cp config.sample.inc.php config.inc.php

     

     

     

    config파일을 수정합니다

    # vi config.inc.php

     

     

    아래와 같이 29줄의 cookie 을 아래와 같이 http 로 변경합니다

    <수정전>

     

     

    <수정후>

     

     

     

    저장하고 httpd.conf 을 열어서 alias을 추가해줍니다

    Alias /phpmyadmin "/var/www/phpmyadmin"
    <Directory "/var/www/phpmyadmin">
    Options MultiViews FollowSymLinks
    DirectoryIndex index.php
    Order allow,deny
    Allow from all
    </Directory>

     

    아파치를 재시작하고 난후 http://주소/phpmyadmin 으로 접속하시면 되실겁니다

     

     

    아래와 같이 띄긴하는데 무시해도 되며 따로 해결법을 찾으면 수정하거나 방법아시는분은

    피드백 부탁드립니다

     

     

     

    다음글 zend optimizer 와 eAccelerator 설치

    https://www.fedoralinux.or.kr/article/tipserver/130043873580703

     

     

     

    오픈소스를 응원합니다 Blog https://hoing.io
    Senior Database Administrator(Mysql, Oracle)

    사이트 이용 문의 사항은 댓글이나 admin@fedoralinux.or.kr 로 메일주세요

2 답변 글타래를 보이고 있습니다
  • 글쓴이
    답변
    • #12883
      딱털서어
      참가자
      • 게시글87
      • 댓글316
      • 총합403
      • ★★
      @no1linuxer

      영자님 강좌 준비하시느라 고생하셨습니다...

      좀 고생하시는 겸에 Zend Optimizer도 설치하는 법도 같이 설명해 주시면 이 강좌를 참고하시는 분들에게 많은 도움이 될 것 같습니다.(참고로, Zend Optimizer는 이전버전까지는 인스톨러를 지원했지만, 3.3인가 3.5버전부터 php 버전에 맞는 모듈만 제공합니다. 그런데, 영자께서 강좌 대상으로 삼은 php 5.3 버전에 맞는 zend는 아직 지원하질 않으므로, 추가로 zend optimizer를 강좌하는데 어려움이 있으리라 봅니다. 이 부분은 5.2 기준으로 일단 하시면 좋을 것 같구, 5.3 버전에 맞는 해결책이 있으면 알려 드리겠습니다.)

      => 니는 강좌도 하지 않으면서 이래라저래라 한다는 오해가 없으시길.....!!

      리눅스를 더 가까이 - No1.Linux

    • #12884
      ELem
      참가자
      • 게시글67
      • 댓글672
      • 총합739
      • ★★
      @Bardisch

      yum으론 안해봤고 rpm으로밖에 안해봤네요 ^^;;

    • #12885
      태랑
      키 마스터
      키 마스터
      • 게시글207
      • 댓글878
      • 총합1085
      • ★★
      @admin

      선배님말씀처럼 Zend Optimizer때문에 php만 소스설치로 5.2 버전

      설치해야할듯하네요

       

       

      오픈소스를 응원합니다 Blog https://hoing.io
      Senior Database Administrator(Mysql, Oracle)

      사이트 이용 문의 사항은 댓글이나 admin@fedoralinux.or.kr 로 메일주세요

2 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.