CentOS6系にMySQL5.7とPHP5.6系を入れる

Published: 2017年1月2日 by tomsato

概要

MySQL5.7系とPHP5.6系が入った環境をセットアップする
目的としてはPHP,MySQLの開発環境を用意することで、開発で使うであろうcomposerも用意する

// 以下の環境で実施していくことを想定する
$ cat /etc/redhat-release
CentOS release 6.8 (Final)

PHP5.6系を入れる

$ sudo yum install -y epel-release
// yumリポジトリを追加
$ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
// 諸々のPHP pkgをインストール
$ sudo yum install -y --enablerepo=remi,remi-php56 php php-devel php-mbstring php-pdo php-mysql php-gd php-xml
// フォントを入れる(文字化け対策)
$ sudo yum install -y ipa-pgothic-fonts.noarch

確認

// 5.6系であることを確認
$ php -v
PHP 5.6.29 (cli) (built: Dec  8 2016 08:51:50)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

ついでにcomposerも用意する

PHPの開発時には欠かせないcomposerも用意する

$ sudo bash -c "curl -sS https://getcomposer.org/installer | php"
$ sudo mv composer.phar /usr/local/bin/composer

MySQL5.7系を入れる

// yumリポジトリを追加
$ sudo rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
$ sudo yum install -y mysql-community-server

MySQLの初期設定

// mysqldの起動
$ sudo service mysqld start
$ sudo chkconfig mysqld on

// MySQL5.7からは初期パスワードが設定されているのでそれを確認する
$ grep 'temporary password' /var/log/mysqld.log

// セキュリティ設定
$ sudo mysql_secure_installation
初期パスワード設定したりを対話的に実行できるが
ローカル開発などテストで使う時にはやる必要はないので今回は実行しない

確認

// 5.7系であることを確認
$ mysql --version
mysql  Ver 14.14 Distrib 5.7.17, for Linux (x86_64) using  EditLine wrapper
// ログインできることを確認
$ mysql -uroot -p

■ インストール用の簡易スクリプトを作成する

ここまでのコマンドを毎回叩いていくのは面倒なので簡易スクリプトを用意する

$ cat tmp.sh
#!/bin/bash

# PHPインストール
sudo yum install -y epel-release
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo yum install -y --enablerepo=remi,remi-php56 php php-devel php-mbstring php-pdo php-gd php-xml
sudo yum install -y ipa-pgothic-fonts.noarch

# composerインストール
sudo bash -c "curl -sS https://getcomposer.org/installer | php"
sudo mv composer.phar /usr/local/bin/composer

# MySQLインストール
sudo yum remove mysql*
sudo rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
sudo yum install -y mysql-community-server
sudo service mysqld restart
sudo chkconfig mysqld on

# 初期パスワードの確認
grep 'temporary password' /var/log/mysqld.log

$ sh tmp.sh

■ 備考

既にMySQLが入っていてyumリポジトリが追加できない時

$ sudo rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
Retrieving http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
error: Failed dependencies:
	mysql-community-release conflicts with mysql57-community-release-el6-7.noarch

一度消してからやってみる

$ sudo yum remove mysql*

コメントを書く

※ 個別に返信が必要な時のみご記入ください

※ Emailは公開されません

※ 承認されると名前・コメントが下記に表示されます

コメント一覧

最近の投稿

ビジュアルリグレッションテストについてまとめ、ネットで調べると数多くのライブラリがありどれがどんな立ち位置なのか全体像がわかりずらかったのでどんな種類があるのか入門の入門としてまとめます、またPlaywrightを使って実際に触ってみました

社内ツールなどの超小規模なAPIをGolangで実装する際にフレームワークを使うべきかを、実際にnet/httpを使った実装とフレームワークを使った実装を比較することでどれだけ優位性があるかを見ていきたいと思います。今回はフレームワークにはシンプルで使いやすそうなEchoを使うことにします。

vue-pdfを使ってNuxt.jsで作成しているアプリケーションに pdfスライドを表示させるサンプルを作成しました README.md通りに実装してもうまくいかないところがあったのでそのあたり含めてまとめます

Vue.js / Nuxt.jsにおけるログインの実装方法をまとめる Auth0やNuxt.jsのAuth Moduleとmiddlewareについて調べつつサンプルを作成することで理解を深める

コンポーネント設計について考える Atomic DesignやPresentational Component, Container Componentについてまとめつつ 自分だったらVue.js / Nuxt.jsでどういうコンポーネント設計にするかについてまとめます

カテゴリ一覧

タグ一覧