Backend/Laravel

CentOS 7 APM (설치)

곤프 2020. 4. 20. 00:06

apache 설치

yum -y install httpd

 

--> apache 설치 후, Laravel에 짧은 url 사용이 불가능할경우

vi /etc/httpd/conf/httpd.conf(경로 다를 수 있음)에서 AllowOverride를 All로 변경한다
AllowOverride None ->    AllowOverride All

 

php 7설치

(기존 repo 추가하는 방식들을 하면 php-zip 오류로 laravel 설치가 불가능하였음)

yum -y install mod_php72w php72w-cli php72w-bcmath php72w-gd php72w-mbstring php72w-mysqlnd php72w-pear php72w-xml php72w-xmlrpc php72w-process php72w-zip

 

 

※CentOS 7은 mysql 지원이 중단되서 mariadb를 사용한다

 

mariadb10 설치

vim /etc/yum.repos.d/MariaDB.repo

# MariaDB 10.1 centos repository

http://mariadb.org/mariadb/repositories/

[mariadb]

name = MariaDB

baseurl = http://yum.mariadb.org/10.1/rhel7-amd64

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1

Colored by Color Scripter

 
 

yum install -y mariadb mariadb-server
설치가 완료되면 간단하게 설정을 한다.

vim /etc/my.cnf

[mysql]

default-character-set = utf8

 

[mysqld]

skip-host-cache

skip-name-resolve

lower_case_table_names=1

character-set-client-handshake=FALSE

init_connect="SET collation_connection = utf8_general_ci"

init_connect="SET NAMES utf8"

character-set-server = utf8

collation-server = utf8_general_ci

max_connections = 500 

thread_pool_max_threads = 300 

innodb_file_per_table                           # innodb 테이블스페이스를 테이블별로 각각의 파일로 나누어 생성한다. 

innodb_buffer_pool_size = 2G               # 버퍼풀의 메모리 사이즈. 권장은 메인메모리의 50~70% (전용서버일때) 디폴트는 8M  

innodb_flush_log_at_trx_commit = 1 

innodb_adaptive_flushing = ON

innodb_adaptive_hash_index = ON

innodb_autoextend_increment  = 8  # 테이블스페이스를 자동으로 늘려주는 단위, MB 단위이다. 

 

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

symbolic-links=0

 

[mysqld_safe]

log-error=/var/log/mariadb/mariadb.log

pid-file=/var/run/mariadb/mariadb.pid

 

!includedir /etc/my.cnf.d

Colored by Color Scripter

위처럼 설정했으면 이제 mariadb 를 최초 실행해준다.

systemctl start mariadb
systemctl enable mariadb

 

그리고 다음을 실행한다.

mysql_secure_installation

mysql 의 기본보안설정이다. testdb등을 삭제해야한다.
처음에 패스워드를 물어보면 그냥 엔터로 넘어가고 추가적으로 새로운 패스워드를 설정하겠냐고 물어보니 설정하자.
Change the root password? [Y/n] y

이후 질답

Remove anonymous users? [Y/n] y

Disallow root login remotely? [Y/n] y

Remove test database and access to it? [Y/n] y

Reload privilege tables now? [Y/n] y

 

systemctl restart mariadb.service

이렇게 하고나면 접속할 사용자 계정이 필요해진다.

mysql -uroot -p

아까 설정한 password를 입력하여 접속하자.

이후에 다음과 같이 권한설정과 함께 내가 사용할 root이외의 계정을 만들자. 한글로 되어있는 부분을 잘 변경해서 입력하자.

GRANT ALL PRIVILEGES ON *.* TO '이부분에 사용할 계정명'@'%' IDENTIFIED BY '이부분에 사용할 패스워드 입력' WITH GRANT OPTION;

FLUSH PRIVILEGES;

설정이 완료되면 exit 를 입력하여 나오도록 한다.

 

 

※ 기본적인 방화벽 정책

 

// 정책 추가
#firewall-cmd --permanent --add-service=ftp
#firewall-cmd --permanent --add-port=21/tcp
#firewall-cmd --permanent --zone=public --add-port=22/tcp
#firewall-cmd --permanent --zone=public --add-port=80/tcp
#firewall-cmd --permanent --zone=public --add-port=445/tcp
#firewall-cmd --permanent --zone=public --add-port=137
#firewall-cmd --permanent --zone=public --add-port=138
#firewall-cmd --permanent --zone=public --add-port=139
#firewall-cmd –permanent –zone=public –add-service=samba

// 다시load
#firewall-cmd -reload

// 조회
#firewall-cmd --list-all

// 활성화
#systemctl start firewalld
#systemctl enable firewalld