본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ
IT기술/리눅스

Cent OS 7.6 설치 후 기본세팅

by 미노드 2019. 4. 11.

cent os 설치 후 기본설정

1. IP 설정

dns는 꼭 두개를 넣어주는 것을 추천, 따로 사용하는 dns주소가 있으면 넣어도 상관없다만, 그게 아니라면 

kt dns 주소 168.126.63.1 과 google dns 주소 8.8.8.8 을 같이 넣어주는게 좋다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
vi /etc/sysconfig/network-scripts/ifcfg-eth0
 
-> 유동ip일 경우
DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=00:00:00:00:00
ONBOOT=yes
 
-> 고정ip일 경우
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:00:00:00:00:00
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
UUID=00000000-0000-0000-0000-000000000000
IPADDR=000.000.000.000
NETMASK=255.255.255.0
GATEWAY=000.000.000.000
DNS1=000.000.000.000
DNS2=000.000.000.000
ETHTOOL_OPTS=wol g
IPV6INIT=no
USERCTL=no
 

설명

DEVICE 장치명
BOOTPROTO  static(고정IP) / dhcp(유동IP) / none(네트워크 미사용)
HWADDR  물리적주소
NM_CONTROLLED  yes(네트워크 사용) / no(네트워크 미사용)
ONBOOT  부팅시 장치 활성화 여부
UUID  장치의 고유한 식별코드 (128bit로 구성)
PEERDNS  DBCP 사용시 Name Server를 DHCP 에서 받아온 것을 사용할 것인지 아닌지를 설정
TYPE  Ethernet
IPADDR  IP 주소 지정
BROADCAST  브로드캐스트 지정
NETMASK  서브넷마스크 지정
GATEWAY  게이트웨이 지정
ETHTOOL_OPTS  Wake On Lan 기능 활성화, Ethtool필요함(CentOS의 경우 기본설치)
IPV6INIT  IPV6 사용여부
USERCTL  일반 사용자의 네트워크 On/Off 가능 여부

뒤에 systemctl restart network

2. hostname 설정

서버를 구분하는 이름, 시스템 구성시 구분하는데 사용

cent 6버전 밑으로는 

vi /etc/sysconfig/network

HOSTNAME=myhome     

저장 후 재시작시 반영됨

cent 7버전부터는

1
hostnamectl set-hostname myhome

재부팅시 반영 됨.

3. yum repository 설정

yum의 국내 mirror를 통해 다운로드 속도가 높은 곳으로 설정해도 상관없으나, 몇몇 패키지가 다운로드 안되는 오류가 확인됨...

그래서 네이버나 kakao로 mirror를 설정했었으나 결국 기존 mirrorlist의 주소를 사용함.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
vi /etc/yum.repos.d/CentOS-Base.repo
 
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
## cdnetworks
# kakao
# naver
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
 
#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
# cdnetworks
# kakao
# naver
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
 
[extras]
name=CentOS-$releasever - Extras
baseurl=http://centos.mirror.cdnetworks.com/$releasever/extras/$basearch
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
 
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://centos.mirror.cdnetworks.com/$releasever/centosplus/$basearch
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
 

fastmirror 플러그인은 사용할 필요가 없으므로 

vi /etc/yum/pluginconf.d/fastestmirror.conf 열어서 enable=0으로 설정

4. ssh 접속설정

 직접 서버에서 작업을 하는 경우는 없으므로 SSH설치 후 원격으로 나머지 설치 및 유지보수 진행함

22번 포트가 열려있다면 설치불필요함

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
## 22번 포트가 열려있는지 확인
netstat -an | grep LISTEN
 
## 패키지 설치
yum -y install openssh-server openssh-clients
 
## 서비스 등록
systemctl enable sshd
systemctl enable firewalld
 
## 서비스 시작
systemctl start sshd
systemctl start firewalld
 
## 22번 포트가 열렸는지 확인
netstat -an|grep LISTEN
 
## 방화벽 포트 추가
firewall-cmd --permanent --zone=public --add-port=22/tcp
 
## 방화벽 서비스 재시작
firewall-cmd --reload
 

5. RPM Forge 설치

yum install -y wget    으로 wget 플러그인 설치,

만일 centos를 최소설치로 했을 경우에 다음과 같은 오류가 발생할 수 있다. 발생안하면 패스해도되지만..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
Loaded plugins: fastestmirror
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stockerror was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 알 수 없는 오류"
 
 
 One of the configured repositories failed (Unknown),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:
 
     1. Contact the upstream for the repository and get them to fix the problem.
 
     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).
 
     3. Disable the repository, so yum won't use it by default. Yum will then
        just ignore the repository until you permanently enable it again or use
        --enablerepo for temporary usage:
 
            yum-config-manager --disable <repoid>
 
     4. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:
 
            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true
 
Cannot find a valid baseurl for repo: base/7/x86_64
 
 

위의 오류는 yum으로 설치를하는데 mirrorlist에서 불러오지 못하는 경우이므로 dns 주소가 제대로 등록되어있는지

확인해주면 된다. 

/etc/resolv.conf 파일을 열어 아래 두줄을 추가해주면 된다.

nameserver 168.126.63.1 
nameserver 8.8.8.8

   

DAG's GPG key 를 체크해서 안정성을 검토, 저장소 활성화

1
2
3
4
5
6
7
8
## rpm 다운로드
wget http://server.opendocs.co.kr/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
## DAG's GPG key 인스톨
rpm --import http://server.opendocs.co.kr/RPM-GPG-KEY.rpmforge.txt
## 다운받은 패키지 확인
rpm -K rpmforge-release-0.5.3-1.el7.rf.*.rpm
## 패키지 설치
rpm -i rpmforge-release-0.5.3-1.el7.rf.*.rpm

설치된 후 설치가 완료된 모습.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
## 저장소 활성화 설정
 
[rpmforge]
name=RHEL $releasever - RPMforge.net - dag
baseurl=http://apt.sw.be/redhat/el7/en/$basearch/rpmforge
mirrorlist=http://mirrorlist.repoforge.org/el7/mirrors-rpmforge
#mirrorlist=file:///etc/yum.repos.d/mirrors-rpmforge
enabled=1
protect=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck=1
priority=1
 
[rpmforge-extras]
name=RHEL $releasever - RPMforge.net - extras
baseurl=http://apt.sw.be/redhat/el7/en/$basearch/extras
mirrorlist=http://mirrorlist.repoforge.org/el7/mirrors-rpmforge-extras
#mirrorlist=file:///etc/yum.repos.d/mirrors-rpmforge-extras
enabled=0
protect=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck=1
priority=1
 
[rpmforge-testing]
name=RHEL $releasever - RPMforge.net - testing
baseurl=http://apt.sw.be/redhat/el7/en/$basearch/testing
mirrorlist=http://mirrorlist.repoforge.org/el7/mirrors-rpmforge-testing
#mirrorlist=file:///etc/yum.repos.d/mirrors-rpmforge-testing
enabled=0
protect=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck=1
priority=1
 

6. Epel 설치

페도라 저장소로 이용되며 레드햇계열간 호환성 문제 거의 없음

http://dl.fedoraproject.org/pub/epel/ 에서 알맞는 패키지를 다운로드, 저장소 활성화

1
2
3
4
5
6
7
8
## rpm 다운로드
## GPG key 인스톨
## 다운받은 패키지 확인
rpm -K epel-release-7-1.noarch*.rpm
## 패키지 설치
rpm -i epel-release-7-1.noarch*.rpm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
## 저장소 활성화 설정
 
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
priority=1
 
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
failovermethod=priority
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
priority=1
 
[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
failovermethod=priority
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
priority=1
 

 

7.  remi 설치

최신버전의 Mysql, PHP 등의 패키지를 지원함

1
2
3
4
5
6
7
8
## rpm 다운로드
## GPG key 인스톨
## 다운받은 패키지 확인
rpm -K remi-release-7.rpm
## 패키지 설치
rpm -i remi-release-7.rpm
 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
## 저장소 활성화 설정
 
[remi]
name=Les RPM de remi pour Enterprise Linux 7 - $basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
priority=1
 
[remi-php55]
name=Les RPM de remi de PHP 5.5 pour Enterprise Linux 7 - $basearch
# WARNING: If you enable this repository, you must also enable "remi"
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
priority=1
 
[remi-php56]
name=Les RPM de remi de PHP 5.6 pour Enterprise Linux 7 - $basearch
# WARNING: If you enable this repository, you must also enable "remi"
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
priority=1
 
[remi-test]
name=Les RPM de remi en test pour Enterprise Linux 7 - $basearch
# WARNING: If you enable this repository, you must also enable "remi"
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
priority=0
 
[remi-debuginfo]
name=Les RPM de remi pour Enterprise Linux 7 - $basearch - debuginfo
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
priority=0
 
[remi-php55-debuginfo]
name=Les RPM de remi de PHP 5.5 pour Enterprise Linux 7 - $basearch - debuginfo
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
priority=0
 
[remi-php56-debuginfo]
name=Les RPM de remi de PHP 5.6 pour Enterprise Linux 7 - $basearch - debuginfo
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
priority=1
 
[remi-test-debuginfo]
name=Les RPM de remi en test pour Enterprise Linux 7 - $basearch - debuginfo
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
priority=0
 

 

8. 기존 패키지 업데이트

1
2
3
4
>>> 기존 설치된 패키지 update
 
yum clean all
yum ---nogpgcheck update

 

9. NTP(Network Time Protocol) 시간동기화

서버의 시간은 오차가 생기게 마련이므로 타임서버를 통해서 업데이트 받음

국내의 NTP 서버를 등록

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
## ntp & libedit & ntpdate 설치
yum -y install ntp
 
## peer 설정
vi /etc/ntp.conf
 
 
 
## 이를 주석 처리하고, 아시아 주소를 입력하고 저장한다.
 
 
## ntp 서비스를 사용할 수 있도록 방화벽을 설정
firewall-cmd --add-service=ntp --permanent
 
## 방화벽을 다시 로드
firewall-cmd --reload
 
## 시작프로그램에 등록 [enable|disable]
systemctl enable ntpd.service
 
## 서비스 시작 [start|stop]
systemctl start ntpd.service
 
## 작동 확인
ntpq -p
 

운영체재의 시간은 시스템 재부팅시 CMOS의 시간으로 초기화 되므로 동기화 시켜주어야 함

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
## rdate 설치
yum -y install rdate
 
## 하드웨어 시간확인
hwclock -r
#### ※ 시간설정
####    - hwclock -w (운영체제값과 동기화)
####    - hwclock -s (운영체제 값을 동기화 시킴)
 
## 운영체제 시간확인
date
#### ※ 시간설정
####    - date 082712122014(MM(월)DD(일)hh(시)mm(분)CCCC(년도))
 
## 타임서버 시간확인
rdate -time.bora.net
#### ※ 시간설정
####    - rdate -time.bora.net
 
## 시스템 부팅시 동기화
vi /etc/rc.d/rc.local
 
## cron을 이용한 주기적인 동기화
crontab -e
 
1
2
3
4
5
6
/usr/bin/rdate -time.bora.net
/sbin/hwclock -w
# crontab
## 매일새벽 1시동기화
00    01    *    *    *    /usr/bin/rdate -time.bora.net&&hwclock -w

10. 문자셋 설정

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
## 문자셋 설치
yum -y install kde-i18n-Korean fonts-korean
 
## 문자셋 변경
vi /etc/sysconfig/i18n
 
## profile 추가
vi /etc/profile
 
## 반영
source /etc/sysconfig/i18n
locale
 
## 리부팅
init 6
 

 

11. 기본패키지 설치

1
2
3
4
5
6
7
8
9
yum -y install gcc cpp gcc-c++ gcc-gfortran flex
 
yum -y install \
       libjepg-devel libpng-devel freetype-devel \
       gd-devel libtermcap-devel ncurses-devel libxml2 \
       libxml2-devel libevent libevent-devel libtool \
       pcre-devel bzip2 bzip2-devel gmp gmp-devel wget \
       openssl openssl-devel mod_ssl \
       subversion subversion-devel

 

12. 한글깨짐 방지

1
2
3
4
5
6
vi /etc/locale.conf
 
 
아래내용 추가