centos7+nginx+php7+mysql5.7+wordpressの構築#3

ゼロベースでサーバー構築したログ

phpとmysqlの構築まで

yumと必要なパッケージの導入

前回のnginxより前に対応してた内容

centos7+nginx+php7+mysql5.7+wordpressの構築#2
sh
sudo yum update -y

# 必要なパッケージをまとめて追加(ここは好み+必要なときに都度でOK)
sudo yum -y install wget git vim zsh tmux unzip
memo
自分の.dotfilesで作業しやすいように構築するのもOK

php7のインストール

yumでそのままインストールするとバージョンが低いのでリポジトリを追加

EPEL,Remiリポジトリの追加

sh
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

インストールと設定変更

sh
# リポジトリを指定して、必要なパッケージもまとめてインストール
sudo yum --enablerepo=remi,remi-php72 -y install php php-devel php-common php-cli php-pdo php-mcrypt php-mbstring php-gd php-mysql php-mysqlnd php-pear php-soap php-xml phpxmlrpc php-pecl-apc  php-opcache php-fpm

# php.ini
sudo vim /etc/php.ini

※既存項目を書き換える
---
date.timezone = "Asia/Tokyo"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.http_output = pass
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_charset = none
expose_php = Off
---

mysql5.7のインストール

事前準備

デフォルトでmariadbが入っているので削除。
php同様に最新版を入れるためリポジトリを追加。

sh
# mariadbの削除
rpm -qa | grep maria
sudo yum -y remove mariadb-libs

# リポジトリ追加
sudo rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

インストールと初期パスワードの設定

sh
sudo yum -y install --enablerepo=mysql57-community mysql-community-server mysql-community-devel

# 起動
sudo systemctl enable mysqld.service
sudo systemctl start mysqld.service

# rootの初期パスワード確認(ログに初期パスワードが書いてる)
sudo grep 'temporary password' /var/log/mysqld.log

# 初期パスワードとセキュリティ設定(基本的にyで進めばよい)
sudo mysql_secure_installation

初期設定

sh
sudo vim /etc/my.cnf

---
#==================
# user settings

# 文字コード
character-set-server = utf8

# パスワードの有効期限
default_password_lifetime = 0

# デフォルトストレージエンジン
default_storage_engine=InnoDB

# 保存するファイル名の変換モード設定(InnoDBを使用するなら1を設定)
lower_case_table_names=1

# ファイルシステムキャッシュへのバッファリングを防ぐ
innodb_flush_method=O_DIRECT

# バッファプールをダンプするページの割合指定(単位:%)
innodb_buffer_pool_dump_pct=25

# バイナリログの有効化
log_bin=mysql-bin

# バイナリログのフォーマット
binlog-format=ROW

# バイナリログ保存日数
expire_logs_days=7

# スロークエリ
slow_query_log=ON

# スロークエリのしきい値
long_query_time=2.0

# エラーログのタイムゾーン
log_timestamps=SYSTEM

# server-id
server-id=1
---

# 再起動
sudo systemctl restart mysqld.service

nginxとphpの動作確認

sh
sudo vim /var/www/html/index.php

---
<?php
phpinfo();
---

# ブラウザからアクセスしてphpinfoが確認ができること

構築記事の一覧

centos7+nginx+php7+mysql5.7+wordpressの構築#1
centos7+nginx+php7+mysql5.7+wordpressの構築#2
centos7+nginx+php7+mysql5.7+wordpressの構築#2
centos7+nginx+php7+mysql5.7+wordpressの構築#4