[CentOS 7] step3-2. 캐시서버 설치 2014-08-11

1. 기존 설치된 패키지 제거

> OS에 포함되어 있거나 기존에 쓰던 서버를 활용하는 것이라면 버전 호환성을 위해 제거 후 다시 설치

yum -y remove redis memcached
>>>>>> description
– 설치여부 및 버전 확인 : yum list installed redis* memcached*

2. Redis

>>> 설치
yum -y install --enablerepo=remi redis
>>>>>> description
– remi repository를 사용
>>> 설정파일 수정
## 설정파일 수정
vi /etc/redis.conf
#### /etc/redis.conf
pidfile /var/run/redis/redis.pid
dir /var/lib/redis/
port 6379
logfile /var/log/redis/redis.log
#bind 127.0.0.1
>>>>>> description
– pidfile : pid 파일 경로
– REDIS_CONFIG : 설정파일 경로
– dir : 데이터파일 경로
– logfile : 로그파일 경로
– vm-swap-file : 스왑파일 경로
– #bind 127.0.0.1 : 원격에서 접속하기 위해서 주석처리
>>> 자동실행 설정 및 서비스 시작
## 서비스 시작
systemctl start redis.service
## 시스템 시작시 redis 자동실행
systemctl enable redis
>>>>>> description
– 설정파일 : vi /etc/redis.conf
>>> 실서비스 구성환경과 동일하게 설정하기 위해 추가 데몬구성
## 설정파일 복사
cp /etc/redis.conf /etc/redis_{PROJECT_NAME}.conf
## 실행파일 복사
cp /usr/lib/systemd/system/redis.service /usr/lib/systemd/system/redis_{PROJECT_NAME}.service
## 데이터 저장 폴더 생성
cp /var/lib/redis /var/lib/redis_{PROJECT_NAME}
chown -R redis:redis /var/lib/redis_{PROJECT_NAME}
## 설정파일 수정
vi /etc/redis_{PROJECT_NAME}.conf
## 실행파일 수정
vi /usr/lib/systemd/system/redis_{PROJECT_NAME}.service
## 서버폴더 생성
mkdir /var/lib/redis_{PROJECT_NAME}
chown -R redis:redis /var/lib/redis_{PROJECT_NAME}/
chgrp -R redis /var/lib/redis_{PROJECT_NAME}/
## 서비스 시작
systemctl start redis_{PROJECT_NAME}.service
## 시스템 시작시 자동실행
systemctl enable redis_{PROJECT_NAME}
## /etc/redis_{PROJECT_NAME}.conf
pidfile /var/run/redis/redis_{PROJECT_NAME}.pid
dir /var/lib/redis_{PROJECT_NAME}/
port 6380
logfile /var/log/redis/redis_{PROJECT_NAME}.log
## /usr/lib/systemd/system/redis_{PROJECT_NAME}.service
## - redis => redis_{PROJECT_NAME}으로 수정
ExecStart=/usr/bin/redis-server /etc/redis_{PROJECT_NAME}.conf --daemonize no
>>>>>> description
– 설정파일 : vi /etc/redis_{PROJECT_NAME}.conf

3. Memcached

>>> 설치
yum -y install --enablerepo=remi memcached
>>>>>> description
– remi repository를 사용
>>> 설정파일 수정
vi /etc/sysconfig/memcached
PORT="11211"
USER="root"
MAXCONN="1024"
CACHESIZE="256"
OPTIONS=""
>>>>>> description
– PORT : 접속포트번호
– USER : 사용자
– MAXCONN : 최대 접속수
– CACHESIZE : 캐쉬사이즈
– OPTONS : 보안옵션으로 빈값이면 ANY ADDRESS로부터 접속허용 (EX. 특정아이피에서만 접속하고자하면 -l {IP ADDRESS)
>>> 자동실행 설정 및 서비스 시작
## 서비스 시작
systemctl start memcached.service
## memcached시스템 시작시 자동실행
systemctl enable memcached
>>>>>> description
– 설정파일 : vi /etc/sysconfig/memcached
>>> 실서비스 구성환경과 동일하게 설정하기 위해 추가 데몬구성
## 설정파일 복사
cp /etc/sysconfig/memcached /etc/sysconfig/memcached_{PROJECT_NAME}
## 실행파일 복사
cp /usr/lib/systemd/system/memcached.service /usr/lib/systemd/system/memcached_{PROJECT_NAME}.service
## 설정파일 추가
vi /etc/sysconfig/memcached_{PROJECT_NAME}
## 실행파일 수정
vi /usr/lib/systemd/system/memcached_{PROJECT_NAME}.service
## 서비스 시작
systemctl start memcached_{PROJECT_NAME}.service
## memcached시스템 시작시 자동실행
systemctl enable memcached_{PROJECT_NAME}
## /etc/sysconfig/memcached_{PROJECT_NAME}
PORT="11212"
USER="root"
MAXCONN="1024"
CACHESIZE="256"
OPTIONS=""
## /usr/lib/systemd/system/memcached_{PROJECT_NAME}.service
## 다음라인 수정 (memcached => memcached_{PROJECT_NAME})
EnvironmentFile=-/etc/sysconfig/memcached_{PROJECT_NAME}
>>>>>> description
– 설정파일 : vi /etc/sysconfig/memcached_{PROJECT_NAME}

[CentOS 7] step3-1. 디비서버 설치 2014-08-10

1. 기존 설치된 패키지 제거

> OS에 포함되어 있거나 기존에 쓰던 서버를 활용하는 것이라면 버전 호환성을 위해 제거 후 다시 설치

yum -y remove mysql mongodb-org
>>>>>> description
– 설치여부 및 버전 확인 : yum list installed mysql* mongodb-org*

2. MySQL or MariaDB

> remi7 버전부터 MySQL대신 MariaDB를 지원한다. MariaDB의 설정 및 운영은 MySQL과 거의 비슷하다고 볼 수 있으므로 MariaDB를 설치하자. 자세한 내용은 사이트(https://mariadb.com)확인하자.

>>> 설치
## MariaDB 설치
yum -y install --enablerepo=remi \
       mariadb \
       mariadb-server \
       mariadb-devel
## MariaDB 서비스 실행
systemctl start mariadb.service
>>>>>> description
– remi repository를 사용
– 서버운영에 필요한 패키지를 함께 설치

>>> 인스톨
/usr/bin/mysql_secure_installation
>>>>>> description
– 기본값으로 입력하기 위해서는 엔터입력
>>> 서버사양에 맞는 설정파일 복사
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
>>>>>> description
설정파일 메모리
my-huge.cnf 1 ~ 2 GB
my-large.cnf 512 MB
my-medium.cnf 128 MB ~ 256 MB
my-small.cnf 64 MB 이하
>>> 설정파일 수정
# 설정파일 수정
vi /etc/my.cnf
# 소캣파일 심볼릭 링크
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
[mysqld]
# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = /var/lib/mysql/data
innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/data
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 384M
innodb_additional_mem_pool_size = 20M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 100M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
## 추가
character-set-server=utf8
collation-server=utf8_general_ci
>>>>>> description
– 캐릭터셋을 utf8로 설정
– 데이터파일 경로 설정
– 로그파일 경로 설정
※ 성능튜닝에 관련해서는 별도로 작성토록함 [링크]
>>> 권한 변경 및 인스톨
## MariaDB 서비스 중지
systemctl stop mariadb.service
## 기본디비 인스톨
/usr/bin/mysql_install_db --user=mysql
## 폴더 권한 설정
mkdir /var/lib/mysql/data
chown -R mysql:mysql /var/lib/mysql/
chgrp -R mysql /var/lib/mysql/
## 시스템 시작시 자동실행
systemctl enable mariadb.service
>>>>>> description
– 데이터 파일은 별도의 계정으로 관리
– 설정파일 : /etc/my.conf
– 데이터 저장 폴더 : /var/lib/mysql/data
– 로그 저장 폴더 : /var/log/mysqld.log

3. mongoDB

> 현재기준 remp repository에서 지원되지 않아 직접 추가해주어야 함

>>> repository 추가 및 설치
## 저장소 추가
vi /etc/yum.repos.d/mongodb.repo
## 최신 안정화버전 설치
yum -y install mongodb-org
## 특정버전 설치
yum -y install \
       mongodb-org-2.6.1 \
       mongodb-org-server-2.6.1 \
       mongodb-org-shell-2.6.1 \
       mongodb-org-mongos-2.6.1 \
       mongodb-org-tools-2.6.1
# mongodb.repo
## 64 비트
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1
priority=1
## 32 비트
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686/
gpgcheck=0
enabled=1
priority=1
>>>>>> description
– 최초 안정화 버전 설치 후 추후 다른 시스템과의 호환성을 위해 버전을 꼭 체크해야함
>>> 설치 후 의도하지 않은 업데이트 진행방지
vi /etc/yum.conf
exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
>>>>>> description
– 업그레이드시 호환성 문제가 발생될 가능성이 있음
>>> 설정파일 수정
vi /etc/mongod.conf
dbpath=/var/lib/mongo/data
#bind_ip=127.0.0.1
>>>>>> description
– 데이터 폴더 경로 설정
– #bind_ip=127.0.0.1 : 원격접속을 위해 주석처리
>>> 자동실행 설정 및 서비스 시작
## 디비 관리 계정추가
useradd mongod
passwd mongod
## mongo 폴더 권한 설정
mkdir /var/lib/mongo/data
chown -R mongod:mongod /var/lib/mongo/
chgrp -R mongod /var/lib/mongo/
## 서비스 시작
service mongod start
## mongod 시스템 시작시 자동실행
chkconfig mongod on 
– 설정파일 : /etc/mongod.conf
– 데이터 저장 폴더 : /var/lib/mongo
– 로그 저장 폴더 : /var/log/mongodb

[CentOS 7] step2. 기본 패키지 설치 2014-08-08

1. 컴파일러 설치

yum -y install \
       gcc cpp gcc-c++ compat-gcc-34 gcc-gfortran flex
>>>>>> description
<패키지 설명>

2. 기타 라이브러리 설치

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
>>>>>> description
<패키지 설명>