본문 바로가기

서버운영 (TA, ADMIN)/리눅스

[리눅스] 리눅스 Centos7 설치 가이드

현재 일하는 회사에서 상용서버 환경과 비슷한 개발서버 환경을 구축하게 되었습니다.

직접 설치하면서 세팅순서에 대한 가이드를 남겨두려고 합니다.


일단 상용 서버의 os 버전 및 각종 설치 파일을 확인합니다.  


  grep . /etc/*-release : 리눅스 OS 버전 확인하는 명령어.

상용버전은 6.4인데 개발에는 7.0설치를 한번 해보려고 합니다.



1. USB 부팅순서 바꿔서 리눅스를 설치합니다.

( 분할 방법 1. BOOT 100~200MB, SWAP RAMx2 mb 나머지 / 2. boot 1GB, swap 1g, 나머지 / 3. /home, /var 분리도 나쁘지 않음)




파티션에 대한 설명입니다. (출처 : http://blog.naver.com/xesines/120202278424)


/boot : 커널 이미지용 파티션

swap : (메모리의 2배~2.5배) 스왑파티션

/ : 시스템에서 사용되는 모든 시스템관련 파일들이 저장되는 곳.

/usr : 관리자나 일반사용자들의 명령어가 저장되는 곳이며, 또한 응용프로그램들이 설치되는 곳.

/usr/local : Apache, Mysql, PHP 등 응용프로그램들을 소스로 컴파일하여 설치하는 곳, 

                 Mysql data가 저장되며, apache 의 로그가 저장되기도 합니다.

/var : 시스템 로그나 스풀 파티션 (메일서버로 사용할 시에는 이 용량을 충분히 잡아야 합니다.)

/tmp : 임시파일들(꼭 따루 나눈게 좋습니다)

/home : 일반사용자나 가입자의 홈디렉토리 용도로 사용되는 공간입니다.


개발서버 파티션 용량은 아래와 같이 나눴습니다.


/tmp (512MB)

/boot (1GB)

swap (2GB)

/var (10GB)

/home (15GB)

/ (83.29GB)


os 설치후 가장 먼저 이루어져야 할것이 인터넷 연결입니다.

데스크탑에 개발서버를 설치했더니.. 무선랜을 잡을 수 있는 방법이 없네요.


centos7 설치중 알게된 것들 정리.

dmsg : 커널메시지 출력 할 수 있음.

ifconfig가 ip a로 바뀜.

와이파이 연결하는 방법( http://playgroundblog.tistory.com/60 )


ERROR : UNKNOWN_INTERFACE : 'enp0s25' is not in any zone


인터넷 연결 STATIC한 IP 연결로 바꾼다.

위와 같은 방법으로 삽질을 하다 무선랜카드가 없는것이 문제임을 알아차리고

랜선 연결하여 인터넷 연결 문제 해결 하였습니다.



2. 주요 패키지 설치를 시작합니다.


2-1. 고정 아이피 설정

공유기 환경일 경우, 공인IP 주소에 대하여 개발서버 PC로 포트포워딩 혹은 DMZ 설정이 필요합니다.

해당 설정은 공유기 어드미 페이지에서 확인 가능합니다.


2-2. httpd 설치


2-3. mysql 설치 및 설정

http://zero-gravity.tistory.com/274

http://zetawiki.com/wiki/MySQL_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9

http://zetawiki.com/wiki/MySQL_%EC%84%9C%EB%B2%84_LISTEN_IP%EB%8C%80%EC%97%AD_%EB%B3%80%EA%B2%BD\


mysql 복원 : http://betatester.tistory.com/31

mysql 접속권한 주기 : http://freeprog.tistory.com/168


2-4. jdk 설치

jdk 설치 후, /etc/profile 파일에 환경변수 설정하는 작업도 필요합니다.


2-5. redis 설치

https://kimpaper.github.io/2015/09/20/redis-304/


2-6. maven 설치

http://blog.naver.com/PostView.nhn?blogId=haengro&logNo=220357169124&categoryNo=28&parentCategoryNo=0&viewDate=&currentPage=1&postListTopCurrentPage=1&from=postView

http://periar.tistory.com/entry/Linux-Maven-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0


2-7. apache 폴더 실행권한 부여

간혹, 쉘파일에 실행권한을 주지 않아, 쉘 실행할때 퍼미션 에러가 떨어질때가 있습니다. 쉘파일에 대한 설정은 rwxr-xr-x(755) 권한을 주는 것이 일반적입니다.


2-8. 톰캣을 root 계정이 아닌 tomcat 계정으로 실행 하기

http://okjsp.pe.kr/bbs?act=VIEW&seq=35739&bbs=bbs3&keyfield=subject&keyword=%B0%E8%C1%A4&pg=1

http://linuxism.tistory.com/516


보안 문제로 인해 각각의 서비스(apache, mysql, tomcat) 등은 할당된 사용자에 의해 실행되는 것을 권장합니다. 아래는 톰캣을 root 계정이 아닌 tomcat 계정으로 실행하는 방법을 정리한 내용입니다.


톰캣 계정 생성 - script 정상 실행을 위해 bash를 반드시 설정합니다.

useradd -d /home/tomcat -s /bin/bash tomcat


톰캣 디렉토리 소유권 설정합니다.

chown -R tomcat:tomcat /usr/local/tomcat


톰캣 실행 스크립트 작성합니다. CATALINA_HOME 변수가 /etc/profile에 설정되어 있다면 /etc/profile이 우선 적용되므로 중복되지 않도록 /etc/profile 내 주석처리가 필요합니다.

vi /etc/rc.d/init.d/tomcat

#!/bin/bash
#Startup script for the Tomcat Server
. /etc/profile
CATALINA_HOME=/usr/local/tomcat
case "$1" in
start)
echo "Starting tomcat: "
su - tomcat -c $CATALINA_HOME/bin/startup.sh
;;
stop)
echo "Shutting down tomcat:"
su - tomcat -c $CATALINA_HOME/bin/shutdown.sh
;;
restart)
echo "Restarting tomcat:"
su - tomcat -c $CATALINA_HOME/bin/shutdown.sh; su - tomcat -c $CATALINA_HOME/bin/startup.sh
;;
*)
echo "Usage: service tomcat {start|stop|restart}"
exit 1
esac
exit 0

톰캣 실행 스크립트 소유권 및 권한

chown tomcat:tomcat /etc/rc.d/init.d/tomcat


필요시 runlevel에 등록합니다.

chkconfig --add tomcat


톰캣 시작 및 종료 방법입니다.

service tomcat start

service tomcat stop



3. 시스템 운영시, 필요한 패키지를 설치합니다.


모니터링 툴이나, vim 유틸리티를 설치하여 상용반영 활용도를 테스트합니다.