CentOS 7 - Setup

OS 설치.

기본사항체크 - 리눅스 버전체크 - CentOS 버전체크 - 하드용량체크 - 메모리체크 - CPU 코어수 확인

업데이트 패키지 시스템 시간 설정 hostname 설정 방화벽 포트에서 http 80 허용 apache2 설치 php 설치 mysql 설치 - 기본 언어셋 설정 계정생성 및 동작테스트 웹사이트 apache 환경설정 파일 작성 - virtual host 설정 - 권한설정 - 부팅시 자동실행 리눅스 보안강화 모듈 해제 phpmyadmin 설치

# 리눅스 버전 체크

$ uname -a

# CentOS 버전 체크

$ cat /etc/redhat-release

# 하드 용량 체크

$ df -h

# 메모리 체크

$ free -m

# CPU 코어 수 확인

$ cat /proc/cpuinfo | grep processor | wc -l

cf.) $ cat /proc/cpuinfo | grep processor
      $ cat /proc/cpuinfo

# 패키지 목록 갱신 및 업데이트 체크

$ sudo yum update

# 시간 확인 및 시간 설정

$ date
$ sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

ifconfig 설치.

$ sudo yum provides ifconfig
$ sudo yum -y install net-tools

yum 초기화

# yum repository를 초기화하고, repolist를 갱신하면 fastest plugin이 동작하여 가장 빠른 서버를 찾아 준다.
$ yum clean all; yum repolist

yum update

$ sudo yum -y update

# 최소한 필수 유틸 설치

$ sudo yum install wget vim ntsysv nmap system-config-network-tui setuptool tree -y

# EPEL 설치

$ sudo yum install epel-release -y
$ sudo yum install htop atop iota iftop -y

# hostname 설정

$ sudo vi /etc/hostname
-> 원하는 이름 ex) aoiyu, levined.com, …

# 적용 (재접속)

$ sudo hostname -F /etc/hostname

firewall rules

$ sudo yum install firewalld
$ sudo firewall-cmd --permanent --zone=public --add-service=http 
$ sudo firewall-cmd --reload

— SELinux 모듈 해제

$ setenforce 0
$ vi /etc/sysconfig/selinux
-> SELINUX=enforcing을 SELINUX=disabled로 변경 후 저장

— docker 설치 및 세팅 # CentOS 7 only

$ sudo yum install docker

# 서비스 시작

$ sudo service docker start

# 부팅시 자동 실행

$ sudo chkconfig docker on

# 서비스 정지

$ sudo service docker stop

# 배포판 별 패키지가 아닌 빌드 된 바이너리를 직접 사용하는 방법

$ sudo wget https://get.docker.com/builds/Linux/x86_64/docker-latest \ -O $(type -P docker)

# 현재 계정을 docker그룹에 포함 (docker그룹은 root 권한과 동일하므로 꼭 필요한 계정만 포함)

$ sudo user mod -aG docker ${USER}
$ sudo service docker restart

— git 설치 및 세팅

— 서브도메인

HTTPS

— VPS에서의 세팅

— Apache 설치 및 세팅

$ sudo yum install httpd

# 버전체크

$ httpd -v

# 실행

$ sudo service httpd start

# 기본 파일 대체

$ sudo touch /var/www/html/index.html

# 아파치용 계정생성 및 동작 테스트

$ sudo adduser rvjoy
$ sudo passwd rvjoy
$ su -l rvjoy
$ mkdir www
$ exit

# 환경파일 설정

$ sudo vi /etc/httpd/conf/httpd.conf
파일 맨 밑줄에 다음의 Include 구문을 추가 하여 VirtualHost 설정 파일을 따로 분리

# Virtual hosts
Include conf/extra/httpd-vhosts.conf
# extra 폴더 생성 및 httpd-vhosts.conf 생성
$ mkdir /etc/httpd/conf/extra
$ sudo vi /etc/httpd/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
  DocumentRoot "/home/rvjoy/www"
  ServerName levined.com
  ServerAlias www.levined.com

  <Directory /home/rvjoy/www/>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all

    require all granted
  </Directory>

</VirtualHost>

# 구문 및 동작검사

$ sudo service httpd configtest

# reload (새로운 virtual host 추가, 삭제 시)

$ sudo service httpd reload

# restart (새로운 확장모듈의 추가, 포트변경 등)

$ sudo service httpd restart

# 권한설정 (/home/바로 하위레벨의 폴더의 권한을 701로 설정)

$ sudo chmod 701 /home/*

# 부팅시 자동실행

$ chkconfig httpd on
$ chkconfig mariadb on

# 확인

$ sudo systemctl list-unit-files | grep httpd
$ sudo systemctl list-unit-files | grep mariadb

# phpMyAdmin 설치

$ sudo yum install phpMyAdmin

# 설정 확인

$ cd /etc/httpd/conf.d/
$ grep 127.0.0.1 phpMyAdmin.conf
Require ip
Allow from
Require ip
Allow from

# 기존 설정 백업

$ sudo cp -a phpMyAdmin.conf phpMyAdmin.conf.origin

# ip 지정 하여 저장

$ sudo sed -i ’s/127.0.0.1/135.79.246.80/g’ phpMyAdmin.conf
$ grep 135.79.246.80 phpMyAdmin.conf

/etc/httpd/conf.d/phpMyAdmin.conf
<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   Order Allow,Deny
   Allow from All
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
</Directory>

/etc/httpd/conf/httpd.conf
<Directory />
    AllowOverride none
    Require all granted
</Directory>

$ sudo service httpd reload

— Tomcat 설치 및 세팅

— PHP 설치 및 세팅

$ sudo yum install php

# 이미지처리 모듈 설치

$ sudo yum install php-gd

# 다국어 처리 모듈 설치

$ sudo yum install php-mbstring

# 추가로 설치하고 싶은 모듈이 있으면

$ sudo yum search php-

— MySQL 설치 및 세팅

$ sudo yum install mariadb
$ sudo yum install mariadb-server

# 시작

$ sudo service mariadb start

# 기본 환경 설정

$ /usr/bin/mysql_secure_installation

# php-mysql 연동모듈 설치

$ sudo yum install php-mysql

# 기본 언어셋 설정(중요)

$ sudo vi /etc/my.cnf
[mysqld] 항목에 다음 2줄 추가
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

# 변경 사항 적용

$ sudo service mariadb restart

— dokuWiki 설치 및 세팅

— Oracle JAVA 설치 및 세팅