-
[Linux] CentOS7 에 Nginx + PHP 7 + Mysql + Wordpress 설치Linux 2017. 9. 15. 00:21
버전 정보
nginx : 1.10.2
php : 7.1.9
mysql : 5.7.19
NGINX
버전 : 1.10.2
1. EPEL 저장소 추가
# yum -y install epel-release
2. Nginx 설치
# yum --enablerepo=epel -y install nginx
3. Nginx 시작
# systemctl start nginx
4. 시스템 시작시 Nginx가 실행되도록 하려면
# systemctl enable nginx
5. 방화벽 설정도 해줍니다.
# firewall-cmd --add-service=http --permanent
# firewall-cmd --add-service=https --permanent
# firewall-cmd --reload
여기까지 설정 한 뒤에 웹브라우저에 http:// ip 주소 로 접속했을때 아래와 같은 화면이 나오면 성공한겁니다!
PHP
버전 : 7.1.9
CentOS7에서 yum으로 바로 설치해주면 편하지만 그렇게 설치하면 php5 가 설치되기 때문에 번거롭지만 파일을 다운받아서 설치해줘야 합니다.
# yum install wget
# wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
# rpm -Uvh remi-release-7.rpm
# yum install yum-utils -y
# yum-config-manager --enable remi-php71
# yum --enablerepo=remi,remi-php71 install php-fpm php-common
# yum --enablerepo=remi,remi-php71 install php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml
이렇게 하면 php7 이 설치 되었고요 php와 nginx를 연동해주려면 설정파일을 수정해주어야 합니다.
vi /etc/nginx/conf.d/default.conf
이경로에 파일을 만들어서 아래의 내용을 입력해줍니다.
server {
listen 80;
server_name Server_IP;
root /usr/share/nginx/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
vi /etc/php-fpm.d/www.conf
user = apache → nginx
group = apache → nginx
;listen.owner = nobody → listen.owner = nobody (주석제거)
;listen.group = nobody → listen.group = nobody (주석제거)listen = 127.0.0.1:9000 주석 제거하고 밑줄에 아래 내용 추가
listen=/var/run/php-fpm/php-fpm.sock
이렇게 수정해주고 php-fpm을 시작해줍니다.
# systemctl start php-fpm.service
# systemctl enable php-fpm.service
설정이 잘 됐는지 확인해봅시다.
아래 경로에 파일을 하나 만들어서 내용을 입력해줍니다.
# vi /usr/share/nginx/html/index.php
<?php
phpinfo();
?>
그리고 http://IP주소 로 접속했을 때 아래와 같은 화면이 나오면 성공입니다!
MySQL
버전 : 5.7.19
Centos7 부터 데이터베이스가 Mariadb로 바뀌어서 MySql을 yum 으로 바로 설치 할 수 없게되었습니다.
그렇기 때문에 아래 명령을 차례로 입력해줍니다.
1. yum repository Package 다운
# wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
2. Package 설치
# yum localinstall mysql57-community-release-el7-7.noarch.rpm
3. MySQL yum repository 활성화
# yum repolist enabled | grep "mysql.*-community.*"
mysql-connectors-community/x86_64 MySQL Connectors Community 33
mysql-tools-community/x86_64 MySQL Tools Community 47
mysql57-community/x86_64 MySQL 5.7 Community Server 187
4. MySQL 설치
# yum install mysql-community-server mysql mysql-libs mysql-devel mysql-server
5. MySQL 시작
# systemctl start mysqld.service
# systemctl enable mysqld.service
6. 임시 비밀번호 확인
# sudo grep 'temporary password' /var/log/mysqld.log
2017-09-13T07:43:15.625115Z 1 [Note] A temporary password is generated for root@localhost: 패스워드
7. Secure 환경 설정
# sudo mysql_secure_installation
6번에서 확인했던 패스워드를 여기에서 입력해주면 됩니다. 그리고 root계정 패스워드 설정한 뒤에 나머지 다 y 해주면 됩니다
Wordpress
버전 : 4.8.1
1. wordpress를 다운받은 후 풀어줍니다.
# cd /usr/share/nginx/html
# wget https://wordpress.org/latest.tar.gz
# tar -zxvf latest.tar.gz
# rm -rf latest.tar.gz
# cp /usr/share/nginx/html/wordpress/wp-config-sample.php /usr/share/nginx/html/wordpress/wp-config.php
# mkdir -p /usr/share/nginx/html/wordpress/wp-content/uploads
# chown -R nginx:nginx /usr/share/nginx/html/wordpress/2. 그리고 나서 DB를 만들어줍니다.
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 24
Server version: 5.7.19 MySQL Community Server (GPL)
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> create database wordpress;mysql> show databases;+-------------------------------+| Database |+-------------------------------+| information_schema || mysql || performance_schema || sys || wordpress |+------------------------------+5 rows in set (0.00 sec)mysql> grant all privileges on wordpress.* to root@localhost identified by '패스워드';Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye3. DB까지 만들었으면 설정파일을 수정 해줘야 합니다.# vi /usr/share/nginx/wordpress/wp-config.php
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');
/** MySQL database username */
define('DB_USER', 'root');
/** MySQL database password */
define('DB_PASSWORD', 'mysql에서 생성한 계정의 패스워드 입력합니다');/** MySQL hostname */
define('DB_HOST', 'localhost');
/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');
/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');
:wq
그리고 나서 http:// IP 주소 /wordpress 로 접속하면 아래와 같은 화면이 나옵니다.
만약 이 페이지가 나오지 않았다면 설정하는 과정에서 오타나 빼먹은 부분이 없는지 확인해보세요.
페이지 이름과 사용자 이름, 패스워드, 이메일을 입력해주면 이렇게 나옵니다~!!
그리고 다시 http:// IP 주소 /wordpress 로 접속하면 아래와 같은 페이지가 나옵니다!
위의 페이지가 나왔다면 성공입니다~!!
'Linux' 카테고리의 다른 글
[Linux] VirtualBox 공유폴더 설정 (게스트 확장 설치) (0) 2017.09.24 [Linux] CentOS7 에 APM(Apache + PHP + Mysql) + Wordpress 설치 (0) 2017.09.24 [Linux] Virtualbox에 CentOS7 설치 (0) 2017.09.15 [Linux] 우분투(Ubuntu) 크롬(chrome) 설치 (0) 2017.09.14 [Linux] 우분투 한글 설정 (0) 2017.09.13