RadarURL
Skip to content
조회 수 38 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

서버 생성 이후에 설정해야 하는 작업에 대한 내용이다. 운영체제는 CentOS 7.2 x64 배포 버전을 사용했다. 서버를 생성한 후에 도메인만 연결되어 있는 상태고, 터미널을 통해 ssh로 접속했다.

 

 

1. root 계정 접속 차단

 

 root 계정은 사용하지 않는 것이 좋기 때문에, 접속을 차단하기 위해 root 계정 대신 사용할 계정을 설정하자.

# useradd younghwan
# passwd younghwan
younghwan 사용자의 비밀 번호 변경 중
새  암호:
새  암호 재입력:
passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다.

사용자가 추가되었으면, sudo 권한을 주기 위해 /etc/sudoers 파일을 수정한다.

# sudo vi /etc/sudoers

아래와 같은 줄을 찾을 수 있을 것이다.

root    ALL=(ALL)       ALL

바로 아래에 내가 사용할 계정을 추가해주자. 내 계정 이름은 "younghwan"이다.

root    ALL=(ALL)       ALL
younghwan   ALL=(ALL)     ALL

이제 저장을 해야되는데, 다음과 같은 에러 문구가 뜨면서 저장이 되지 않는다.

E45: 'readonly' option is set (add ! to override)

걱정하지 않아도 된다. 마지막에   느낌표를 찍어주면 정상적으로 저장된다.

이제 원격지에서 root 계정으로 접속하는 것을 차단할 차례다. sshd 설정 파일을 수정해야 한다.

# sudo vi /etc/ssh/sshd_config

 sshd 설정 파일에서 PermitRootLogin 이라는 항목의 주석을 풀고 no로 바꿔준다. PermitRootLogin은 root 계정의 로그인을 허용할 것인지에 대한 설정이다. 아래의 코드는 sshd_config 파일의 일부분이다.

#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

파일을 저장하고 sshd를 다시 시작하여 설정을 적용시킨다.

$ sudo service sshd restart

root 계정의 접속을 차단했는지 다시 확인해보자.

$ ssh root@www.pvp.wiki
root@pvp.wiki's password:

생성하지도 않은 비밀번호를 입력하라고 한다. 접속이 차단 된 것이니 걱정하지 말고 sudo 권한을 줬던 계정으로 다시 ssh 연결하여 다음 단계를 진행하자.

$ ssh younghwan@www.pvp.wiki
younghwan@pvp.wiki's password: 패스워드 입력

 

 

2. 필요한 도구 설치

 

패키지 관리자 yum을 최신 버전으로 업데이트한다.

$ sudo yum -y update

나는 WordPress를 테스트하려는 목적이기 때문에, APM(Apache, PHP, Mysql)을 설치하려고 한다.

 

2-1. Apache 설치

$ sudo yum -y install httpd
$ sudo systemctl enable httpd.service          # 부팅시 httpd 자동 실행하도록 설정
$ sudo systemctl start httpd.service          # httpd 실행 (= sudo service httpd start)

Apache 설정 파일 수정

$sudo vi /etc/httpd/conf/httpd.conf

다음과 같은 항목을 수정한다.

Listen 128.199.244.75:80
User younghwan
Group younghwan
ServerAdmin qrooqroo@gmail.com
ServerName www.pvp.wiki:80

Apache 재실행

$ service httpd restart

2-2. PHP 7 설치

$ sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
//CentOS 6 에서는 아래와 같음
//rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
//rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
$ sudo yum -y install php70w php70w-mysql php70w-gd php70w-pear

Apache 재실행

$ service httpd restart

2-3. MySql 설치

$ sudo yum -y install http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
//CentOS 6에서는 https://dev.mysql.com/get/mysql57-community-release-el6-8.noarch.rpm
$ sudo yum -y install mysql-community-server
$ sudo systemctl enable mysqld          # 부팅시 mysqld 자동 실행하도록 설정
$ sudo systemctl start mysqld          # mysqld 실행 (= sudo service mysqld start)

mysql이 5.7 버전으로 넘어오면서, 초기 root 비밀번호가 랜덤으로 정해진다. 초기 root 비밀번호를 확인하자.

$ sudo grep 'temporary password' /var/log/mysqld.log
2016-03-30T02:47:25.520068Z 1 [Note] A temporary password is generated for root@localhost: 
iu#r)lYUg3:Q

root 비밀번호를 "HelloWorld123"으로 변경한다.

$ mysql -u root -p 'iu#r)lYUg3:Q'
mysql> ALTER USER USER() IDENTIFIED BY 'HelloWorld123'

DB 생성, 테이블 생성 및 사용자 추가

mysql> create database pvpwiki;
mysql> use pvpwiki
mysql> create user 'younghwan'@'localhost' identified by 'pvpWiki123'; # 로컬 계정 생성
mysql> create user 'younghwan'@'%' identified by 'pvpWiki123'; # 원격 계정 생성
mysql> grant all privileges on pvpwiki.* to 'younghwan'@'localhost'; # 로컬 계정에 권한 허용
mysql> grant all privileges on pvpwiki.* to 'younghwan'@'%'; # 원격 계정에 권한 허용
mysql> flush privileges; # 변경사항 적용
mysql> quit

mysql 설정 변경

$ sudo vi /etc/my.cnf

[client]
default-character-set = utf8

[mysql]
default-character-set = utf8

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

symbolic-links=0

character-set-server = utf8
collation-server = utf8_general_ci
init_connect = SET collation_connection = utf8_general_ci
init_connect = SET NAMES utf8

character-set-client-handshake = FALSE
skip-character-set-client-handshake

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[mysqldump]
default-character-set = utf8

2-4. vsftp 설치

$ sudo yum -y install vsftpd
$ sudo systemctl enable vsftp.service          # 부팅시 vsftp 자동 실행하도록 설정
$ sudo systemctl start vsftp.service          # vsftp 실행 (= sudo service vsftp start)

아래와 같이 vsftp 설정을 편집한다.

$ sudo vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
local_root=/var/www

2-5. WordPress 설치

$ cd /var/www
$ sudo chown younghwan html          # html 디렉토리의 소유권을 younghwan 계정에게 줌
$ cd /usr/local/src
$ sudo wget https://wordpress.org/latest.tar.gz          # wordpress 최신 버전 다운로드
$ sudo tar xzvf latest.tar.gz          # 압축 풀기
$ cd wordpress
$ cp -rf * /var/www/html/          # 모든 파일 및 디렉토리를 /var/www/html 경로로 복사

2-6. 개발자 도구 모음 설치

$ sudo yum -y groupinstall "Development Tools"

 

3. 방화벽 설정


 

CentOS 7.x 배포판부터는 방화벽 관리 데몬이 firewalld로 설정되어 있다. http와 https 포트를 열어주려고 한다.

$ firewall-cmd --list-all
FirewallD is not running

방화벽 프로그램이 실행되지 않았기 때문에 먼저 실행시켜주자.

$ sudo systemctl enable firewalld.service # 부팅시 firewalld 자동 실행하도록 설정
$ sudo systemctl start vsftpd.service # firewalld 실행 (= sudo service firewalld start)
$ firewall-cmd --list-all # 현재 방화벽에 상태 확인
public (default, active)
  interfaces: eth0
  sources: 
  services: dhcpv6-client ssh
  ports: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 

나는 ftp, http, https, mysql 포트를 열어야 하므로 다음과 같이 서비스를 추가시킨다.


 

$ sudo firewall-cmd --permanent --add-service=ftp $ sudo firewall-cmd --permanent --add-service=http $ sudo firewall-cmd --permanent --add-service=https $ sudo firewall-cmd --permanent --add-service=mysql $ sudo firewall-cmd --reload #변경사항을 적용시켜준다. $ sudo firewall-cmd --list-all #리스트 출력 public (default, active) interfaces: eth0 eth1 sources: services: dhcpv6-client ftp http https mysql ssh ports: masquerade: no forward-ports:

이제 기본 서버 세팅과 WordPress 설치 작업이 완료되었으니, 생성된 WordPress 사이트에 접속해보자.



출처: http://sasgacoding.tistory.com/entry/CentOS-서버-생성-후에-설정해야-하는-작업 [사쓰가코딩]

 

출처 : http://sasgacoding.tistory.com/entry/CentOS-%EC%84%9C%EB%B2%84-%EC%83%9D%EC%84%B1-%ED%9B%84%EC%97%90-%EC%84%A4%EC%A0%95%ED%95%B4%EC%95%BC-%ED%95%98%EB%8A%94-%EC%9E%91%EC%97%85

?

List of Articles
번호 제목 글쓴이 날짜 조회 수
179 CentOS 7 리눅스 방화벽(firewalld) 포트 포워딩(Port Forwarding) JAESOO 2017.06.20 76
178 리눅스 방화벽 firewalld (CentOS 7) JAESOO 2017.06.20 46
177 [CentOS] 7으로 버전업된 방화벽관리(firewall-cmd) JAESOO 2017.06.20 27
» CentOS 7 초기 서버 세팅 / WordPress 설치하기 JAESOO 2017.06.20 38
175 AIX 5.3 TL07이상에서 MD5 패스워드 사용하기 2 JAESOO 2017.06.13 26
174 리눅스(linux) hostname 변경하는 방법 (CentOS 6, 7) JAESOO 2017.06.02 16
173 CentOS 멀티 IP 설정 방법 JAESOO 2017.06.02 20
172 [CentOS] IP설정 ifconfig , ifcfg-eth0 설정하기 JAESOO 2017.06.02 15
171 centos 7 방화벽 해제- firewalld down JAESOO 2017.05.12 27
170 CentOS7 방화벽 관리하기 (firewalld) JAESOO 2017.05.12 44
169 RHEL/CentOS 7 에서 방화벽(firewalld) 설정하기 JAESOO 2016.11.09 119
168 Linux 'systemctl restart httpd.service' 오류 해결방법 JAESOO 2016.11.09 747
167 Netdata 설치 및 구성 (리눅스 오픈 소스) JAESOO 2016.11.09 178
166 Buffer와 Cache의 차이점 TOP을 통해 본 리눅스 메모리 JAESOO 2016.10.25 67
165 리눅스 웹서버 구축전 고민사항 JAESOO 2016.10.25 71
164 CentOS Linux 에서 설치시 uuid/uuid.h: No such file or directory JAESOO 2016.10.24 68
163 한번에 끝내는 CentOS 7.x (7.0 ~ 7.2) 웹서버세팅 (센토스 서버세팅) JAESOO 2016.10.24 129
162 리눅스(Linux) 디렉토리 구조 JAESOO 2016.10.19 70
161 ssh서버가 비밀번호를 거부했습니다. 다시 시도하십시오. JAESOO 2016.08.26 284
160 [리눅스] IP 설정 변경 하기 JAESOO 2016.08.26 160
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

PageViews   Today : 953   Yesterday : 1,648   Total : 19,197,840  /  Counter Status   Today : 285   Yesterday : 431   Total : 1,253,560
Site Info   Member : 58  /  Total documents : 1,202   New documents : 0  /  Total comments : 26

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소