본문 바로가기

Tip&Tech/Server

[팁] MissFlash의 리눅스 유용 단축키, 명령어 모음(18) - 웹서버(APM) 설치 및 환경설정 (1)

* 본 게시물은 MissFlash가 "CentOS 리눅스 구축관리실무"를 참고로 유용한 단축키 및 명령어를 정리한 것입니다.
* 게시물이 지속적으로 업데이트 될 예정이니, 퍼가기 보다는 링크나 트랙백을 이용해 주세요 :)

* MissFlash의 리눅스 유용 명령어 목록

  • gcc, gcc-c++ 컴파일러 설치여부 확인 : rpm -qa gcc* cpp* compat-gcc* flex*
  • gcc, gcc-c++ 컴파일러 설치[각주:2] : yum -y install gcc cpp gcc-c++ compat-gcc-32-g77 flex
  • APM에 필요한 라이브러리
    • libpng (http://www.libpng.org) : png 형식의 이미지 파일을 생성, 편집하는데 필요한 기능이 포함된 라이브러리
    • freetype (http://www.freetype.org) : 그래픽라이브러리나 폰트컨버젼툴 등에서 사용되는 폰트엔진 라이브러리
    • jpeg (http://www.ijg.org) : jpeg 이미지 파일을 다루는 함수가 정의된 라이브러리와 libjpeg 함수를 쓸수 있게 해주는 간단한 클라이언트 프로그램이 수록된 라이브러리
    • gd (http://www.libgd.org) : png, jpeg, gif 등의 이미지를 생성할 수 있는 동적이미지 생성 ANSI C 라이브러리

  • APM에 필요한 라이브러리 설치여부 확인 : rpm -qa libpng* freetype* libjpeg* gd-*
  • APM에 필요한 라이브러리 설치 : yum install libjpeg-devel libpng-devel freetype-devel gd-devel[각주:3] [각주:4]

  • MySQL 설치[각주:5]
    1. tar -zxvf mysql-5.0.37.tar.gz : 다운로드 파일 압축 해제
    2. cd mysql-5.0.37 : 디렉토리 이동
    3. useradd -M -s /bin/false mysql : mysql 실행 계정 생성
    4. ./configure \
      >[각주:6] --prefix=/usr/local/server/mysql \[각주:7]
      > --with-charset=utf8 \[각주:8]
      > --with-extra-charsets=all
      [각주:9] : configure 실행
    5. make && make install : 설치

  • MySQL 환경설정
    1. cp support-files/my-large.cnf /etc/my.cnf : my-large.cnf[각주:10]라는 샘플 환경설정 파일 복사
    2. cd /usr/local/server/mysql : 디렉토리 이동
    3. bin/mysql_install_db --user=mysql : 기본 DB 생성
    4. chown -R root .
      chown -R mysql var
      chgrp -R mysql .
      : 디렉토리 소유자 및 소유그룹 설정
    5. vi /root/.bash_profile : 환경변수 등록
      • PATH=$PATH:$HOME/bin:/usr/local/server/mysql/bin[각주:11]
    6. source /root/.bash_profile : 등록한 환경변수 적용
    7. cp share/mysql/mysql.server /etc/init.d/mysqld : 자동실행 설정
    8. chkconfig --add mysqld : 자동실행 설정
    9. /etc/init.d/mysqld start : MySQL 실행
    10. mysqladmin[각주:12] : (root 사용자 암호 미설정시) MySQL root 사용자의 암호 입력
    11. (mysql> 프롬프트에서) exit : MySQL 접속 종료
    12. mysqladmin -u root p : MySQL 접속(비밀번호 확인 테스트)

  • Apache 설치
    1. tar -zxvf httpd-2.2.4.tar.gz : 다운로드 파일 압축 해제
    2. cd httpd-2.2.4 : 디렉토리 이동
    3. ./configure \
      > --prefix=/usr/local/server/apache \[각주:13]
      > --enable-mods-shared=all \[각주:14]
      > --enable-so \[각주:15]
      > --enable-rewrite[각주:16] : configure 실행
    4. make && make install : 설치

  • Apache 환경설정
    1. cp /usr/local/server/apache/bin/apachectl /etc/init.d/httpd : 자동실행 설정
    2. chkconfig --add httpd : 자동실행 설정
    3. vi /etc/init.d/httpd : Apache가 chkconfig를 지원하지 않을 경우, httpd에 다음 내용 추가
      • # 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
    4. vi /usr/local/server/apache/conf/httpd.conf : httpd.conf 파일 편집
      • <IfModule !mpm_netware_module[각주:17]>
        User nobody
        Group nobody
        </IfModule> : daemon을 nobody로 수정
      • ServerName www.missflash.com : ServerName에 도메인 혹은 IP주소 입력[각주:18]
    5. /etc/init.d/httpd start : Apache 실행
      • vi /etc/sysconfig/iptables : 위에서 설정한 도메인 접속이 안 될 경우, 아래와 같이 방화벽 설정 수정
      • -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT : 80번 포트 추가

  • PHP 설치
    1. tar -zxvf php-5.2.1.tar.gz : 다운로드 파일 압축 해제
    2. cd php-5.2.1 : 디렉토리 이동
    3. ./configure \
      > --prefix=/usr/local/server/php \[각주:19]
      > --with-apxs2=/usr/local/server/apache/bin/apxs \[각주:20]
      > --with-mysql=/usr/local/server/mysql \[각주:21]
      > --with-config-file-path=/usr/local/server/apache/conf \[각주:22]
      > --disable-debug \

      > --enable-safe-mode \
      > --enable-track-vars \
      > --enable-sockets \
      > --with-mod_charset \
      > --with-charset=utf8 \
      > --with-xml \
      > --with-language=korean \
      > --enable-mailparse \
      > --enable-calender \
      > --enable-sysvsem=yes \
      > --enable-sysvshm=yes \
      > --enable-ftp \
      > --enable-magic-quotes \
      > --enable-gd-native-ttf \
      > --enable-url-includes \
      > --enable-trans-id \
      > --enable-inline-iptimization \
      > --enable-bcmath \
      > --with-jpeg \
      > --with-png \
      > --with-zlib \
      > --with-jpeg-dir=/usr \
      > --with-png-dir=/usr/lib \
      > --with-freetype-dir=/usr \
      > --with-libxml-dir=/usr \
      > --enable-exif \
      > --with-gd \
      > --with-ttf \
      > --with-gettext \
      > --enable-sigchild \
      > --enable-mbstring : configure 실행
    4. make && make install : 설치

  • PHP 환경설정
    1. cp php.ini-dist /usr/local/server/apache/conf/php.ini : php.ini-dist라는 샘플 환경설정 파일 복사
    2. vi /usr/local/server/apache/conf/httpd.conf : httpd.conf 파일 편집
      • <IfModule dir_module>
            DirectoryIndex index.html index.htm index.php
        </IfModule>

        <IfModule mime_module>
            AddType application/x-httpd-php .php[각주:23]
            AddType application/x-httpd-php-source .phps
        </IfModule>
    3. /etc/init.d/httpd restart : Apache 재시작(libphp5.so 관련 오류 발생시 아래 명령 입력)
      • chron -t texrel_shlib_t
    4. vi /usr/local/server/apache/htdocs/phpinfo.php : <? phpinfo(); ?>[각주:24]라는 내용의 phpinfo.php 파일을 만든 후, 출력 테스트



리눅스 서버를 설치하는 이유 중 하나가 바로 웹서버 운영일 것입니다. 그런 의미에서 이번 포스트의 의미가 더욱 큰 것 같은데요... 앞으로 이 포스트를 시작으로 웹서버 운영에 관한 많은 정보들을 공유하도록 하겠습니다. :)
  1. 리눅스용 다운로드 링크를 복사한 후, 원하는 디렉토리에서 "wget 다운로드링크" 명령으로 다운로드 합니다. [본문으로]
  2. 컴파일러가 없을 경우 설치합니다. [본문으로]
  3. 최신버전을 설치하고 싶을 경우, 직접 다운로드 한 후 설치하면 됩니다. [본문으로]
  4. 직접 설치할 경우, 다운로드 후 "./configure", "make && make install" 명령을 입력하면 됩니다. [본문으로]
  5. 본 포스트에서 APM은 "/usr/local/server/" 디렉토리 아래에 설치합니다. [본문으로]
  6. --prefix부터 복사하시면 됩니다. [본문으로]
  7. "/usr/local/server/mysql" 경로에 바이너리 파일들이 설치됩니다. [본문으로]
  8. 기본 캐릭터셋을 utf8로 설정합니다. [본문으로]
  9. 모든 캐릭터셋을 설치합니다. [본문으로]
  10. 서버의 메모리가 1G-2G 사이일 때는 my-huge.cnf라는 샘플 환경설정 파일을 복사합니다. [본문으로]
  11. PATH의 제일 끝에 굵게 표시한 부분을 추가합니다. [본문으로]
  12. 혹은 mysql 이라는 명령을 입력합니다. [본문으로]
  13. 설치 디렉토리를 설정합니다. [본문으로]
  14. 모든 모듈을 DSO(Dynamic Shared Object) 모드로 작성합니다. [본문으로]
  15. DSO 모드를 활성화합니다. [본문으로]
  16. URL 재작성 모듈을 활성화합니다. [본문으로]
  17. "mpm_netware_module"은 "mpm_netware.c"로 표시되어 있을수도 있습니다. [본문으로]
  18. 미 설정시 127.0.0.1로만 접속이 가능하게 됩니다. [본문으로]
  19. 설치 디렉토리를 설정합니다. [본문으로]
  20. Apache의 apxs를 이용해 모듈을 적재합니다. [본문으로]
  21. MySQL과 연동합니다. [본문으로]
  22. 환경설정파일(php.ini)이 생성될 위치를 설정합니다. [본문으로]
  23. php 파일을 인식할 수 있게하는 설정입니다. [본문으로]
  24. php 설정 정보를 보여주는 명령입니다. [본문으로]