httpd2 + Mysql + php 설치 (ssl 인증서 포함) > LINUX

본문 바로가기
사이트 내 전체검색

LINUX

httpd2 + Mysql + php 설치 (ssl 인증서 포함)

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 5,453회 작성일 21-02-10 17:01

본문

#### httpd2 + Mysql + php 설치 (ssl 인증서 포함) ####

 (1) MySQL 설치
    기존의 rpm을 제거
    모든 설치는 root권한으로 하시면 됩니다.
     
    a. rpm으로 설치된 mysql 제거
      rpm -qa | grep mysql 하셔서 기존에 설치된 MySQL을 찾습니다.
        rpm -e mysql******    위에서 찾은 rpm을 제거합니다.
        제거할 때 의존되는 것들은
      rpm -e mysql****** --nodeps를 사용하여 제거하던지
      각각 의존되는 것들을 제거하던지 하시면 됩니다.
       
    b. MySQL 설치
      #groupadd mysql : 그룹추가
      #useradd -g mysql mysql : 그룹이 mysql인 사용자 mysql추가
      #tar xvfz mysql-3.23.41.tar.gz  : 압축 및 tar풀기
      #cd mysql-3.23.41
        #./configure --prefix=/usr/local/mysql  --localstatedir=/data/mysqldata --with-charset=euc_kr --without-bench
          : 위의 내용은 컴파일하기전 환경을 설정하는 것으로
          prefix는 설치할 곳을 /usr/local/mysql로 지정하는 옵션이고
          with-charset=euc_kr은 디폴트 언어지원을 한글로 하겠다는 것임  euc_kr
          localstatedir 데이타베이스 저장할 디렉토리 지정...
        #make              : 컴파일
      #make install      : 제 위치로 컴파일된 파일을 배치
      #./bin/mysql_install_db
        #cp support-files/my-medium.cnf /etc/my.cnf //conf파일 복사 후 경로들 바른 지 확인 및 옵션들 수정...
        -------------- my.cnf sample start ------------------------------
      # The MySQL server
        [mysqld]
        port            = 3306
        socket          = /tmp/mysql.sock
        skip-locking
        key_buffer = 256M
        max_allowed_packet = 1M
        table_cache = 256
        sort_buffer_size = 8M
        read_buffer_size = 4M
        myisam_sort_buffer_size = 64M
        thread_cache = 8
        query_cache_size= 16M
        # Try number of CPU's*2 for thread_concurrency
        thread_concurrency = 8
       
        ##### kt-idc 에서 config start #####
        max_allowed_packet = 10M
        max_connections = 1024
        wait_timeout = 300
        language = /usr/local/mysql/share/mysql/korean/
        log_slow_queries = ON
        log-slow-queries = /data/mysqldata
        long_query_time  = 3
        skip-name-resolve
        skip-innodb
        connect_timeout = 20
        max_connect_errors = 2048
        ##### config end #####
        -------------- my.cnf sample end ------------------------------
       
        #chown root -R /usr/local/mysql          : 권한 설정
      #chown mysql -R /usr/local/mysql/var
        #chgrp mysql -R /usr/local/mysql
       
        #./safe_mysqld --user=mysql &  : MySQL 구동
     

    c. root 패스워드 변경
      #/usr/local/mysql/bin/mysql -u root mysql <Enter>
        mysql> update user set password=password('password') where user='root';
                Query OK, 2 row affected (0.00 sec)
        #/usr/local/mysql/bin/mysqladmin -u root -p reload [Enter]     
       
 (2) GD설치

      zlib 설치 (http://www.gzip.org)
        #tar xvfpz zlib-1.2.3.tar.tar
        #cd zlib-1.2.3
        #./configure
        #make
        #make test
        #make install
       
        libpng-1.2.5설치 (http://www.libpng.org/)
        #tar xvfpv libpng-1.2.5.tar
        #cd libpng-1.2.5
        #cp ./scripts/makefile.linux ./makefile
        #make test
        #make install

        jpgesrc 설치 (http://www.ijg.org)
        #tar xvfpz jpegsrc.v6b.tar
        #cd jpeg-6b
        #./configure --enable-shared --enable-static
        #make
        -- libtool 이 없다는 에러시 Makefile 수정 또는 libtool를 현재 폴더로 카피 후 makeclean > make 실행
      -- #find / -name libtool (<- libtool 찾기)
        #mkdir /usr/local/man/man1
        #make install

        rpm -qa | grep libjpeg 확인
        ..libjpeg 와 libjpeg-devel두개가 다 있어야 한다. (PHP설치시 에러가 남)
          없을 경우 http://rpmfind.net 에서 찾아서 설치

      Freetype Library 설치  (http://download.savannah.gnu.org/releases/freetype/)
        #tar xvfz freetype-1.2.tar.gz
        #cd freetype-1.2
        #./configure
        #make
        #make install

        gd-2.0.28.tar.gz 설치  (http://www.boutell.com/gd/)
        #tar xvf gd-2.0.28.tar.gz
        #cd gd-2.0.28
        #./configure
        #make
        - /usr/local/lib/libz.a: could not read symbols: Bad value 에러 시
      - find / -name libz.a 로 기존파일 백업 후 카피해서 설치. 그래도 안되면 기존 서버에 있는 libz.a 를 사용.
        #make install
        ---------------------------------------------------------------------     
        ## 설치시 라이브러리 에러가 날경우 예전버전의 라이브러리 가져와서 설치했음.
        gd-2.0.28 GIF 라이센스 풀림.
        이버전과 함께  php 4.3.9 버전을 사용하시면 됩니다
      ---------------------------------------------------------------------

(3) 아파치, PHP 설치

      1) openssl 설치여부 확인
        # rpm -qa | grep openssl
          openssl-0.9.7a-43.14
          xmlsec1-openssl-1.2.6-3
          openssl-devel-0.9.7a-43.14
        #tar xvzf openssl-0.9.8b.tar.gz
        #cd openssl-0.9.8
        #./config
        #make
        #make test
        #make install  ///usr/local/ssl위치에 설치된다.또는 rpm 설치..
                               
        2) httpd 설치
        ---------------------------------------------------------------------     
        ## MaxClients 관련 소스 수정
        A. apahce 1.3
          - apache_1.3.x/src/include/httpd.h 의 에서
            HARD_SERVER_LIMIT 1280  // 1024로 설정시
               
        B.apache 2.0
          i. prefork
              - httpd-2.0.36/server/mpm/prefork/prefork.c
                DEFAULT_SERVER_LIMIT 1280
       
          ii. worker
              - httpd-2.0.36/server/mpm/worker/worker.c
                DEFAULT_SERVER_LIMIT 20 
        ---------------------------------------------------------------------     
       
        #./configure --prefix=/usr/local/apache --enable-modules=so --enable-mods-shared=all --enable-modules=shared --enable-ssl --with-ssl=/usr --enable-rewrite  --with-mpm=worker
        #make
        #make install
       
       
        #cd /usr/local/apache/conf
        #mkdir ssl.crt
        #mkdir ssl.key
        #mkdir ssl.csr
        #ll
        #openssl genrsa -des3 1024 > /usr/local/apache/conf/ssl.key/server.key
        #vi ssl.conf
                ----------------------------------------------------------------------
                DocumentRoot "경로
                ServerName URL:443
                ServerAdmin Email@Email.com
                ErrorLog /var/log/httpd/error_log  // 로그 받을 경로
                TransferLog /var/log/httpd/access_log  // 로그 받을 경로
                ----------------------------------------------------------------------
               
        #openssl req -new -key /usr/local/apache/conf/ssl.key/server.key > /usr/local/apache/conf/ssl.csr/server.csr
                ______________________________________________________________________
                1. Country Name            (2 letter code) [XY]:KR
                2. State or Province Name  (full name)    [Snake Desert]:Daegu
                3. Locality Name            (eg, city)      [Snake Town]:Nam-gu
                4. Organization Name        (eg, company)  [Snake Oil, Ltd]:cs team
                5. Organizational Unit Name (eg, section)  [Certificate Authority]:Name
                6. Common Name              (eg, CA name)  [Snake Oil CA]:도메인
                7. Email Address            (eg, name@FQDN) [ca@snakeoil.dom]:
                8. Certificate Validity    (days)          [365]:
                ______________________________________________________________________

        #ls -al ssl.csr
        #openssl req -x509 -days 3650 -key /usr/local/apache/conf/ssl.key/server.key -in /usr/local/apache/conf/ssl.csr/server.csr > /usr/local/apache/conf/ssl.crt/server.crt
     
        -- 인증서 설정
        #cp 기존cert.pem파일(또는 새로 발급받은 파일) /usr/local/apache/conf/ssl.key/cert.pem
        #cp 기존key.pem파일(또는 새로 발급받은 파일) /usr/local/apache/conf/ssl.key/key.pem
       
        #vi ssl.conf
        -- 하단과 같이 인증파일 지정.
        SSLCertificateFile /usr/local/apache/conf/ssl.key/cert.pem
        SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/key.pem
                       
        3) PHP 설치
        #cd php-4.4.4
        #./configure  --prefix=/usr/local/php --with-apache-install=/usr/local/apache --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-language=korean --with-libxml-dir=/usr --disable-debug --with-zend-multibyte --with-regex=php --with-mod_charset --with-iconv --with-dbx --with-gdbm --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --with-zlib --enable-mbstring --enable-mbregex --enable-sigchild --enable-ftp --enable-dba --enable-sockets --enable-saft-mode --enable-inline-optimization --enable-magic-quotes --enable-track-vars --enable-debugger --enable-sysvsem --enable-sysvshm --with-config-file-path=/usr/local/apache/conf --with-gif-dir=/usr/lib --with-mod-charset --with-xml --enable-bcmath
        #make
        #make install
       
        --- httpd.conf 추가
        AddType application/x-httpd-php .html .php3 .php4 .inc .php .ph .htm .phtml .ini
        AddType application/x-httpd-php-source .phps
     
     
        4) Zend 설치                                                   
        tar xvfpz ZendOptimizer-2.6.2-linux-glibc23-x86_64.tar.gz
        cd ZendOptimizer-2.6.2-linux-glibc23-x86_64
        ./install.sh
        ------------------
          php.ini 설치경로 지정../usr/local/apache/conf
        ------------------

        ## php.ini (기존 파일 복사해서 사용 권장.)
        [Zend]
        zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-2_6_2/php-4.3.x
        zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-2_6_2/php-4.3.x
        zend_optimizer.version=2.6.2
        zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
        zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so

        - session.auto_start = 1
        - allow_url_fopen = Off : 'on'에서 'off'로 수정 <- 이하 웹변조 해킹 방지 관련설정임2005/01/10
        - register_globals = On  : Off로 설정하는 것이 안전하나 게시판 및 기타 프로그램에 많은 영향.
        - display_errors = Off : 에러메시지 안 나타나게 함.
        - display_startup_error = Off
        - 나머지는 알아서
     
 (4) netpbm  설치(썸네일 관련 함수)
        1) rpm -Uvh libtiff-devel-3.6.1-12.x86_64.rpm  //rpmrebuild 하기 위하여 설치
        2) rpmbuild --rebuild netpbm-10.25-2.x86_64.src.rpm
        3) cd /usr/src/redhat/RPMS/x86_64  //상단 rebuild 시 rpm이 생성된 디렉토리...
        4) rpm -Uvh netpbm-*

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

  • 게시물이 없습니다.

접속자집계

오늘
1,767
어제
4,039
최대
6,642
전체
830,282
contact : webmaster@beautipia.co.kr
Copyright © beautipia.co.kr. All rights reserved.