PHP/Codeigniter

Centos7 Nginx, PHP, MySQL Codeigniter 프로젝트 세팅

상쾌한기분 2019. 10. 23. 12:14
반응형

세팅 전

> yum install unzip net-tools wget
> yum install openssl openssl-devel curl libcurl libcurl-devel

> mkdir /home/mysql

Nginx

# Nginx 설치

> vi /etc/yum.repos.d/nginx.repo

# Insert this parhase
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1


# Firewall 설정

> yum install nginx

> firewall-cmd --permanent --zone=public --add-service=http
> firewall-cmd --permanent --zone=public --add-service=https

> firewall-cmd --reload


# Nginx 등록 및 시작
> systemctl enable nginx
> systemctl start nginx

http://아이피주소 로 접속확인
[Welcome to Nginx!]

PHP

# PHP 설치전 세팅
> yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

> yum install epel-release yum-utils

> yum-config-manager --disable remi-php54

> yum-config-manager --enable remi-php73


# PHP 설치
> yum install php-cli php-fpm php-mysqlnd php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json php-opcache php-zip

CI4 이상은 아래도 설치...
php-intl php-mysqli


# 설정 파일 변경
/etc/nginx/nginx.conf 파일 변경
/etc/nginx/conf.d/kr01.conf 파일 추가

/etc/php.ini 파일 변경
/etc/php-fpm.d/www.conf 파일 변경


# Php-fpm 등록 및 시작
> systemctl enable php-fpm
> systemctl start php-fpm


# 연동 확인

> systemctl stop nginx
> systemctl start nginx

http://아이피 접속 확인
No input file specified.

MySQL

> rpm -qa | grep mysql

> yum remove -y 패키지명

> cd /home/tmp

> wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

> rpm -ivh mysql57-community-release-el7-11.noarch.rpm

> yum install mysql-server

[설정 파일 변경]
my.cnf 파일변경하자

> systemctl start mysqld

[A temporary password is generated for root]
Cent OS에서는 버전에 따라서 생성이 될 수 있다고 한다. 참고하자.
> cat /var/log/mysqld.log | grep password

> mysql_secure_installation

임시비번 설정

> systemctl stop mysqld

[MySQL 환경 옵션 설정]
기존의 솔루션은 mysqld safe를 통해 재설정을 진행하는 것이다.
하지만, MySQL 5.7.6부터 RPM 배포판을 사용해서 설치하는 경우에는 systemd에서 관리를 하기 때문에 mysqld safe가 필요 없어 설치가 되지 않는다.
아래와 같은 환경 옵션을 설정 해준다.
> systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"

> systemctl start mysqld

루트의 비밀번호 없이 로그인 가능
> mysql -u root

[루트 비밀번호 변경]
5.7부터 비밀번호 컬럼이 password에서 authentication_string으로 변경됐다.

mysql> UPDATE mysql.user SET authentication_string = PASSWORD('비밀번호') WHERE user = 'root' AND host = 'localhost';
mysql> FLUSH PRIVILEGES;
mysql> exit

> systemctl stop mysqld

[MySQL 환경 옵션 설정 해제]
다음 접속부터는 정상적으로 로그인할 수 있도록 환경 옵션 설정 해제를 한다.
> systemctl unset-environment MYSQLD_OPTS

> systemctl enable mysqld
> systemctl start mysqld

> firewall-cmd --permanent --zone=public --add-port=3306/tcp
> firewall-cmd --reload

 

실행이 안된다면 셀리눅스 상태값을 permissive로 변경 하거나 아님

> setenforce 0

 

Composer

# Install composer
> curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin/


# Add symbolic link composer
> ln -s /usr/local/bin/composer.phar /usr/local/bin/composer


# Set composer path
> export PATH="$PATH:$HOME/.composer/vendor/bin"

 

Git - Centos 7

 

> yum install git

# 서버 키 생성 하자 RSA SSH keys
> ssh-keygen -o -f ~/.ssh/id_rsa
입력은 걍 엔터

> cat ~/.ssh/id_rsa.pub

# gitlab에 ssh key 등록

# git clone KR01 Renewal
git clone git@주소.git /home/경로

# 배포 쉘 스크립트 작성하자
cd /home/경로
git stash
git pull origin master
chmod -R 755 /home/경로
chown -R nginx:nginx /home/경로

 

Git - Centos 6

 

> ssh-keygen -t rsa

> cat ~/.ssh/id_rsa.pub

# git clone 
git clone git@주소.git /home/경로

 

소스 다 다운로드 받았다면 컴포저도 다운로드 받자

> cd /home/경로/application
> composer install

 

728x90
반응형