CentOS 7 초기 세팅 > 서버관리

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

서버관리

CentOS 7 초기 세팅

페이지 정보

profile_image
작성자 관리자 (61.♡.26.29)
댓글 0건 조회 3,991회 작성일 17-08-17 23:35

본문

CentOS 7 을 운영하게 되었다.
초기 설치 과정을 남겨 본다.


1. mc 설치

기본 툴로 mc 를 사용하므로, 우선 설치한다.
# yum -y install mc

의존성 패키지들과 함께 설치가 된다.

기본적으로 그래픽모드에 color 가 입혀서 나오는데. 흑백 텍스트 모드로 변환한다.
/etc/profile.d/ 폴더에 zzz.sh 파일을 하나 만들어서 안에 아래구문을 넣어 준다.

alias mc='mc -ab'

mc 설치시에 만들어지는 /etc/profile.d/mc.sh 파일 안에 추가해되 되지만,
자동 설정파일은 가능하면 건드리지 않기 위해서 따로 파일은 만들어서 작업한다.

참고로, mc.sh 파일을 직접 수정하려면,
파일안의 alias 구문에서 mc-wrapper.sh -ab 처럼 끝에 -ab 를 붙여 주면 된다.


2. 서버 시간 맞추기

ntp 설치 - 의존성 패키지들이 함께 설치가 된다. ntpdate, autogen-libopts
# yum -y install ntp

실행하고 서비스로 등록하기
# systemctl restart ntpd
# systemctl enable ntpd


3. 방화벽 설정

* (추가) firewalld 와 iptables 중에서 선택할 수 있다.

센토스 7 에서는 방화벽 관리 툴이 firewalld 로 바뀌었다고 한다. 헐~
참고 : https://www.lesstif.com/pages/viewpage.action?pageId=22053128
내부적으로는 iptables 로 돌아간다고 하니, frontend 인 모양이다.

일단, 기본적으로 ssh 이외에는 아무것도 열려 있지 않다. http 도 안열려 있다.
firewalld 의 설정파일 위치는 /etc/firewalld/firewalld.conf 이다.
그리고, zones 파일들로 구성되어 있는데, 관리를 위해서인 모양이다.
zones/public.xml 파일에 보면 ssh 만 열려 있음을 알수 있다.
같은 구문으로 http https 등을 추가하자.

방화벽 서비스 재시작
# service firewalld restart
위와 같이 해도 아래로 redirect 되는 것을 확인할 수 있다.
# systemctl restart firewalld

* firewall-cmd 명령어 참조
https://jirak.net/wp/firewalld-%EA%B8%B0%EB%B0%98%EC%9D%98-%EC%A0%91%EA%B7%BC%EC%A0%9C%EC%96%B4-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0/


3-2. iptables 방화벽 설정

방화벽 서비스를 firewalld 와 iptables 중에 선택해서 사용할 수 가 있다.
현재 사용되고 있는 방화벽 서비스를 확인하려면, 아래와 같이 해서 나오는 것이 현재 서비스다.

# systemctl status firewalld
# systemctl status iptables

현재 서비스 되고 있는 서비스의 목록에서도 찾을 수 있다.
# systemctl list-units --type=service

방화벽 서비스로 iptables 를 사용하는 것이 확인된다면, 설정파일은 아래에 있다.
/etc/sysconfig/iptables


4. APM 설치

가상서버호스팅 신청시에 APM 이 설치가 이미 되어 있다.
- Apache 2.4.x / Php 5.4.x / Mariadb-5.5.xx


5. phpMyAdmin 설치

참고 : https://www.baragi.net/bbs/board.php?bo_table=server&wr_id=8540

phpMyAdmin 은  센토스 기본 repo 에 없다. epel-release 에 있다.
그래서 epel-release 를 설치해야 한다.
설치후에 yum update 를 해 주면, epel-release 자체가 업데이트 된다.

# yum repolist
# yum install epel-release
# yum -y update
# yum repolist

phpMyAdmin 설치
# yum install phpMyAdmin
의존성 패키지들까지 함께 설치가 된다.

/etc/httpd/conf.d/phpMyAdmin.conf 에 가서 접근하는 IP 를 추가를 한다.


6. APM 구동

# service mariadb restart
# service httpd restart

mariadb 의 root password 를 변경한다.
* 참고 : https://www.tecmint.com/change-mysql-mariadb-root-password/

리부팅시에 자동으로 올라오도록 설정한다.
# systemctl enable mariadb
# systemctl enable httpd
메시지를 보면, /usr/lib/systemd/system/ 에 symbolic link 를 만드는 것을 볼 수 있다.


7. 각종 설정들

- 아파치 2.4 에서 폴더 목록 보이지 않게 막기
기본적으로 폴더 내에 index 파일이 없으면, 목록이 보인다. 이를 막자.

/etc/httpd/conf.d/userdir.conf 파일안에 아래 항목에서 Indexes 를 제거한다.
<Directory "/home/*/public_html">
    ....
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    ....
</Directory>

이것은 사용자 계정의 public_html 아래 폴더만 막는 것이므로,
/var/www/html 등 다른 폴더도 막으려면, 해당 디렉토리에 대해서 설정해 주어야 한다.

예를 들어, 웹호스팅용으로 홈디렉토리를 한단계 아래로 내렸다면,
<Directory "/home/*/*/public_html">
이런식으로 하나더 추가해 주어야 한다.


8. 아파치 웹서버 mpm 설정

참고들

Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration 오류 관련
https://serverfault.com/questions/742581/switching-from-mpm-worker-to-event-with-php-fpm

Apache 2.4 mpm_event + php-fpm in CentOS 7
https://imouto.my/tutorials/mod_fcgid-fastcgi-php-centos-6-vps-quick-guide/

APACHE 2.4 새로운 기능
http://linux.systemv.pe.kr/apache-2-4-new-features/

High-performance PHP on apache httpd 2.4.x using mod_proxy_fcgi and php-fpm.
https://wiki.apache.org/httpd/PHP-FPM

https://ma.ttias.be/apache-2-4-proxypass-for-php-taking-precedence-over-filesfilesmatch-in-htaccess/


9. 트래픽 제한

서버에 과도한 트래픽이 발생하는 것을 방지하기 위해서,
tc 를 활용하여, 서버 차원에서 트래픽을 제한한다.
https://www.baragi.net/bbs/board.php?bo_table=server&wr_id=8592


10. /etc/rc.d/rc.local 활성화

부팅시 자동실행되는 스크립트 등을 등록하기 위한 rc.local 이 기본적으로 비활성화 되어 있다.
https://www.baragi.net/bbs/board.php?bo_table=server&wr_id=8615


11. fail2ban 설치 및 활성화

설정상 주요한 점으로는

ㅇ 기본 설치 설정으로는 enabled 되어 있지 않다.
서비스별로 enabled = true 시켜 줘야 한다는 것이다.

ㅇ rpm 자동생성파일은 수정하지 않는다.
기본적으로 생성되는 jail 설정파일인 /etc/fail2ban/jail.conf 를 수정하지 말고,
/etc/fail2ban/jail.d/local.conf 파일을 만들어서 변경할 설정값을 세팅한다.
서비스별 enabled = true 도 local.conf 파일에 세팅한다.

bantime 은 sec(초)로 설정한다.
600 = 10 min, 1800 = 30 min, 86400 = 1 day, 604800 = 1week

참고로, phps 의 가상서버에는 jail.conf 에 enable=true 구문이 들어 있어서, 세팅 찾는데 고생했다.

https://idchowto.com/?p=43787
https://conory.com/blog/42606
https://skibis.tistory.com/50


12. logrotate 설정 변경

설정파일은 /etc/logrotate.conf
size 1M  # 로그파일 크기는 1M
rotate 9  # 로테이트는 9개
#dateext  # 로그파일 접미사에 날짜 사용하기는 주석처리
compress  # 로그파일 압축하기


** 참고

CentOS 7 에서의 가장 큰 변화는 Systemd 이다.

ㅇ CentOS 6 7 데몬 서비스 관련 명령어 비고

센토스 6 에서는 service 명령어로 관리하고
센토스 7 에서는 systemctl 명령어로 관리한다.
CentOS 7 에서도 CentOS 6 의 명령어를 대부분 사용할 수 있는데,
이는 명령어가 대부분 alias 또는 forwarding 되어 있기 때문이다.

https://zetawiki.com/wiki/CentOS_6,_7_%EB%AA%85%EB%A0%B9%EC%96%B4_%EB%8C%80%EC%9D%91
http://linux.systemv.pe.kr/centos-7-systemd-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0/

추천0

댓글목록

등록된 댓글이 없습니다.

Total 91건 1 페이지
  • RSS
서버관리 목록
번호 제목 조회 추천 날짜
911248007-23
902953002-13
893237012-24
883551012-08
873817007-01
862877006-08
851608004-22
841866004-07
832654003-21
822910003-19
812081002-19
802429002-17
791679002-17
782829001-03
772994011-05
762919009-13
753352009-05
743463009-01
733521008-31
726760008-31

검색


사이트 정보

Copyright © Baragi.Net. All rights reserved.