이번에 교수님의 해외 출장으로 인하여 인터넷 프로그래밍 실습을 혼자서 진행하게 되었습니다. ㅎㄷㄷ; 아직 4학년이지만 평소 "석사 과정이세요? 박사 과정이세요?" 이런 질문을 숱하게 받는 저의 노안이 크게 작용했나 봅니다. 현재 CentOS로 서버를 2개 운영하고 있고(연구실 서버, 개인서버) 주로 레드햇 계열의 리눅스에서 서버 셋팅 삽질은 오래도록 해온터라 크게 문제 되지 않을 꺼라 생각했는데 복병이 숨어 있었습니다.
  저희 학과는 이번에 한국소프트웨어 진흥원 주관, 공개SW기반 SW교육 혁신 프로젝트의 일환으로 실습실 컴퓨터를 아시아눅스가 설치된 PC로 업그레이드를 하였습니다. 이 아시아눅스도 역시 래드햇 계열이고( 나름 레드햇과 차별화를 강조한 부분이 많네요 -_-;) 오픈소스 프로젝트로 진행중에 있는데 문제는 사람들의 참여가 적고 레드햇임에도 불구하고 기본적으로 yum을 지원하지 않더군요 ;ㅂ; 패키지로 깔아도 "No moudle named yum"이란 에러와 함께 설치는 되나 실행이 안되더군요. yum으로 휘리릭~ 하면 설치가 끝나는 것을.. 패키지로 설치하려고 보니 의존성 패키지 목록에 주저 앉고 말았습니다. 그러던중 아시아눅스 오픈프로젝트에서 yum을 수동으로 설치하는 방법을 보고 yum을 설치하였습니다. 설치 및 실행은 됐지만 아시아눅스의 yum repository를 쓰기 때문에 APM 각각의 패키지들은 있지만 의존성 라이브러리 까지는 지원하지 않더군요 -_-;

이뭐병..

대략 2시간 삽질신을 영접한 후 아시아눅스의 TSN 업데이터란 놈을 사용하게 되었습니다. 아마 아시아눅스에선 yum을 버리고 이놈을 쓰기로 한 듯 싶은데요.. GUI환경이라 좋기는 한데 삽질의 후유증으로 인해 별로 좋아 보이진 않던군요(췟 -_-) 아시아 눅스에서 서버 환경 구축하는건 http://open.asianux.co.kr/ 홈페이지 참고하시길 바랍니다.(팁&테크에 OpenEdition 3.0으로 서버 만들기란 글을 참조하시면 되겠습니다.)

아시아눅스 TSN 업데이터. 원하는 패키지를 의존성 체크와 함께 설치 가능

레드햇 계열의 리눅스들에서도 이와 같은 GUI환경의 패키지 업데이터를 제공하기는 하지만 사용자들은 주로 터미널 환경에서 yum을 통해 설치하는게 대다수 인것 같습니다. GUI환경은 사용자가 사용하기는 편리하지만 세부적인 설정이 불가능 하고 디버깅 메시지도 제한적으로만 표시하기 때문이죠. 리눅스의 강점이 터미널을 통해서 세부적인 설정이 가능하다는 것인데 굳이 GUI환경을 쓰겠다면 윈도우를 쓰는게 나을지도 모르겠죠?

왜 이래~ 아마추어 같이~

저도 처음 리눅스에 입문할때 터미널에 대한 울렁증이 있었지만 계속 사용하다 보니 그렇게 크게 문제가 되지는 않더군요 이런저런 RPM 패키지도 설치해보고 삽질도 해보다 보면 자연스럽게 실력이 느나 봅니다. 레드햇 계열의 리눅스에서는 yum이란 강력한 패키지 관리 툴을 제공하는 데요 yum은 자신이 원하는 프로그램 패키지를 인터넷 페이지를 통해 다운받고 설치하는게 아니라 원하는 패키지 이름을 입력하면 repository(저장소)에서 해당 패키지를 찾아서 다운받고 설치해주고 의존성이 있는 패키지가 있으면 해당 패키지까지 같이 설치해주는 파워풀한 프로그램입니다.
  yum을 통해서 Apache, PHP, MySQL을 설치하는 방법은 정말 쉽습니다. 그냥 아래 명령어를 root 계정 권한을 획득한 상태에서 입력만 해주면 됩니다.
[root@localhost ~] yum install httpd php mysql mysql-server php-mysql system-config-httpd
명령어가 입력되면 해당 패키지들을 repository에서 검색해서 리스트를 만들고 사용자에게 설치할 것인지 다시 묻는데요(Is this ok [y/n] : ) 'y' 를 입력해 주시면 됩니다. 설치를 했으면 이제 실행을 해야 겠죠? 실행 명령어는 아래와 같습니다.
Apache 웹 서버 실행
[root@localhost ~]# /etc/rc.d/init.d/httpd start
또는
[root@ localhost ~]# service httpd start
MySQL 데이터 베이스 서버 실행
[root@localhost ~]# /etc/rc.d/init.d/mysqld start
또는
[root@ localhost ~]# service mysqld start
PHP는 따로 실행하는 명령어가 없고 설치만 제대로 되있으면 알아서 동작하게 됩니다. 만약 이 서버들을 리눅스가 부팅할 때마다 자동으로 실행되게 설정하고 싶다면 아래와 같이 입력하시면 됩니다.
[root@localhost ~]# chkconfig httpd on
[root@localhost ~]# chkconfig --list | grep httpd
httpd                     0:해제    1:해제    2:활성    3:활성    4:활성    5:활성    6:해제
[root@localhost ~]# chkconfig mysqld on
[root@localhost ~]# chkconfig --list | grep mysqld
mysqld                     0:해제    1:해제    2:활성    3:활성    4:활성    5:활성    6:해제
이것으로 설정이 끝난건 아닙니다. 서버를 구축했으니 외부에서 접속할 수 있도록 방화벽을 해제 해줘야 겠죠? 웹서버는 80번 포트를 사용합니다. 기본적으로 80번 포트는 열려 있는 경우가 많긴 하지만 막혀 있을 경우를 가정하여 방화벽을 여는 명령어를 입력해 줍니다.
[root@localhost ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
[root@localhost ~]# /etc/rc.d/init.d/iptables save
[root@localhost ~]# /etc/rc.d/init.d/iptables restart
이제 전체적인 설정이 끝났습니다. 서버의 문서 디렉토리는 기본적으로 /var/www/html/로 되어 있습니다. 이곳에 테스트로 index.html을 작성해서 저장해 보고 브라우저에서 localhost로 접속해 보시면 저장한 파일의 내용이 브라우저에 표시되는것을 확인하실 수 있으실 겁니다.

이게 동작한다네요

오늘 포스팅에서는 리눅스에서 서버 설정 방법을 살펴 보았는데요 윈도우에서 실습 해보시려면 개인적으로 http://www.apmsetup.com 에서 apmsetup을 다운받아서 설치해서 하시길 추천 합니다. 정말 쉽게 실습 환경이 구축 되는것을 확인하실 수 있으실 겁니다.
저작자 표시
신고
Posted by 제소

댓글을 달아 주세요

  1. 고시철 2009.03.16 17:42 신고  댓글주소  수정/삭제  댓글쓰기

    rpm 설치 할려고 몇시간동안 살질만 했는데 yum 으로 5분만에 깔았네요
    아는것과 모르는것에는 종이 한장에 차이가 있다지만 종이 한장에 차이가 너무 큰듯합니다.
    글잘 봤습니다

  2. 김동성 2009.06.09 11:16 신고  댓글주소  수정/삭제  댓글쓰기

    인스톨하는데 큰 도움이 되었습니다. 감사합니다. 좋은 하루 되세요.

  3. 나성수 2009.07.07 20:18 신고  댓글주소  수정/삭제  댓글쓰기

    역시 아는게 힘이네요. 이렇게 파워풀한 yum 명령을 통해 mysql/php/httpd를 한번에 설치할 수 있는걸, 그것도 모르고 예전에 따로따로 설치하면서 삽질했던 추억이...
    유용하게 잘 이용하고 갑니다....... 고마워요 ^^

  4. 강상수 2014.12.05 21:05 신고  댓글주소  수정/삭제  댓글쓰기

    밀고 깔고 10일동안 6번째인데...크흑....
    불금인 오늘 절망하다가 퇴근전 검색에서..여기가...오늘은 죽어버리고
    내일 님께서 쓰신대로 해볼려고요. 감솨~!!!!



티스토리 툴바