====== 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
DocumentRoot "/home/rvjoy/www"
ServerName levined.com
ServerAlias www.levined.com
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
require all granted
# 구문 및 동작검사
$ 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
AddDefaultCharset UTF-8
Order Allow,Deny
Allow from All
/etc/httpd/conf/httpd.conf
AllowOverride none
Require all granted
$ 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 설치 및 세팅