firstmall plus 설치기

주의사항

  • php 7.0.30 버전을 사용해야 한다.
    • 패키지 명령어를 통해서 간단히 설치할 수 있다. (firstmall에서는 컴파일이 기본). 사실 컴파일이 시간이 많이 들지만 속도면서 우월하다.
    • firstmall 에서 제공하는 본인확인 모듈이 php 7.0 에 맞춰져 있다. 이게 호환되는 버젼이 7.0이고 상위 버전을 설치하려면 나이스 인증 업체에 연락을 해서 상위 버전에 맞는 php 파일을 제공 받아야 한다.
  • Linux 에 설치해야 하는 이유
    • firstmall에서 제공하는 모듈은 중에 일부를 컴파일해서 사용해야 되기 때문에 윈도우에서 컴파일 번거롭다.
  • firstmall 설치 기준이 Centos 이다.
    • window에도 설치해 봤는데 초반에 뻘짓을 했다. 이제는 대충 사양을 다 알아서 어디서든 설치할 수 있는 수준이 됐다.

centos7 을 설치

kernel upgrade

보인을 위한 커널 업그레이드.

firstmall 설치파일 옮기기

scp 명령어를 통해서 파일을 이동

# scp [file_name] root@[서버주소]:~/

mysql 5.7.17 설치

컴파일 해서 설치를 권장하지만, 설정의 구찮음으로 stable version 으로 설치 했다.

사전 작업

컴파일에 필요한 패키지 설치

# yum -y install compat-libstdc* compat-glibc* cpp* gcc* rpm-devel elfutils elfutils-libelf elfutils-devel gdbm* flex gd gd-devel gd-progs libjpeg* libpng* freetype* libart* openssl* ncurses-devel libxml2* cmake bison make

boost 1.59.0 설치

mysql 컴파일에 필요. 버전에 맞게 인터넷 검색을 통해서 다운로드. mysql 소스 파일이 있는 곳에서 아래 명령어를 입력

다운로드
# wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
압축해제
# tar xvfz boost_1_59_0.tar.gz
cmake 작성
 # cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_INNOBASE_STORAGE_ENGINE=1  -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=1  -DWITH_EXTRA_CHARSETS=all -DWITH_ZLIB=system  -DDOWNLOAD_BOOST=1  -DWITH_BOOST=./boost_1_67_0 -DMYSQL_DATADIR=/usr/local/mysql/data
컴파일 & 설치, 엄청난 시간이 들어간다. 대신 좀 빠르겠지.
# make
# make install
기존에 있는 mysql 설정파일 덮어쓰기
# cp support-files/my-default.cnf /etc/my.cnf
mysql 설정 파일추가
# vi /etc/my.cnf
[mysqld]
innodb_file_per_table -> 선택 입력 옵션
sql-mode="NO_AUTO_CREATE_USER" -> 필수 입력 옵션
초기화
# /usr/local/mysql/bin/mysqld --no-defaults --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize

에러가 없이 진행이 된다면, 패스워드가 화면에 표시된다.

[Note] A temporary password is generated for root@localhost: %y1jWyjqi(&( <- 처음 DB root 비밀번호 지정시 필요
디렉토리 권한설정
# chown -R root.mysql /usr/local/mysql/
# chown -R mysql /usr/local/mysql/data
Mysql 실행
# /usr/local/mysql/support-files/mysql.server start
재시작시 자동 실행등록
# cp -a support-files/mysql.server /etc/init.d/mysqld
# cd /etc/rc3.d
# ln -s ../init.d/mysqld S90mysqld
mysql 계정 정보 변경
# /usr/local/mysql/bin/mysqladmin -u root -p password '사용할 root 비밀번호 지정'

이 방법에서 에러가 나서 아래와 같은 방법으로 실행했다.
사실은 일종의 초기화 방법이기도 하다.

# /usr/local/mysql/bin/mysql_secure_installation

새로운 root 비밀번호를 입력한다.
나머지는 yesyesyesyesyesyesyes

MARIADB 10.3

마리아DB에서도 설치할 수 있다.
라이센스 문제가 있을 수도 있겠다싶어서 개인적으로는 여기로 설치했다.아래는 MariaDB 에서 설정하는 방법.
대게 MYSQL과 비슷한 설정을 가지고 있지만, Mysql 베이스 버전에 맞게 설치를 진행해다 한다.

SQL-MODE

ERROR 1265 : Data truncated for column 에 대한 대응

STRICT_TRANS_TABLES 또는 STRICT_ALL_TABLES 중 적어도 하나가 사용되는 모드를 엄격 모드라고합니다.
엄격 모드가 설정되지 않으면 (버전 <= MariaDB 10.2.3의 기본값), MariaDB는 너무 긴 문자열을 자르거나 범위를 벗어난 숫자 값을 조정하고 경고를 생성하는 등 잘못된 값을 자동으로 조정합니다.
엄격 모드가 설정된 경우 (기본값 : MariaDB 10.2.4) 명령문이 실패하고 대신 오류가 반환됩니다. IGNORE 키워드는 엄격 모드가 설정되어 오류를 경고로 변환 할 때 사용할 수 있습니다.

> select @@sql_mode, @@global.sql_mode;

출력내용

STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

NO_AUTO_CREATE_USER만 남겨야 하므로, 아래와 같이 입력한다.

> select @@sql_mode, @@global.sql_mode;
> set @@SQL_MODE = 'NO_AUTO_CREATE_USER';
> set @@global.SQL_MODE = 'NO_AUTO_CREATE_USER';

본인은 global.@@sql_mode 도 설정을 변경해야 적용이 됐다.

httpd 2.2.31 설치

준비

# tar xvfz httpd-2.2.31.tar.gz

PHP 7.0.30 설치

컴파일 하다가, 그냥, package로 설치가 된다는 것을 알게 됨

# sudo yum install php70 php70-soap php70-mysqlnd php70-gb php70-mcrypt php70-opcache php70-mbstring php70-xml php70-zip php70-devel

SELINUX 끄기

/var/www/html 에 접속을 하려고하면 다음과 같은 에러를 뿜어내는 것을 알 수 있다.
selinux 의 보안체계 때문이다.

core:crit] [pid 1502] (13)Permission denied: [client 192.168.0.114:54909] AH00529: /var/www/html/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/var/www/html/' is executable
# Forbidden

You don't have permission to access / on this server.

SELinux 해제

  • 인터넷에 연결된 리눅스 서버라면 SELinux 해제는 결코 추천하지 않는다.
  • 해제할 경우 다시 활성화 시키려면 재부팅이 필요하며 재부팅시 모든 자원에 대해 보안 레이블을 설정해야 하므로 부팅 시간이 매우 오래 걸릴 수 있다.

SELinux 해제 방법

#  vi /etc/sysconfig/selinux

다음 항목을 아래와 같이 수정 후, 재부팅 한다.

SELINUX=disabled

'리눅스' 카테고리의 다른 글

CentOs7 | Vim8 설치하기  (0) 2018.12.07
CentOS7 | vsftpd 설치 오류  (0) 2018.11.19
firstmall plus 설치하기  (0) 2018.07.27
Amazon Linux AMI에 mysql57 설치  (0) 2018.07.24
nginx + php71 + php-fpm 설치하기  (0) 2018.06.20
centos 7 yum 깨짐  (0) 2017.12.05
블로그 이미지

부들잎

안녕하세요

댓글을 달아 주세요