3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CentOS6.5(6.x)にPHP5.6,MySQL5.6などをインストールするメモ

Last updated at Posted at 2015-11-23

実環境では、CentOS6.xとPHP5.6やMySQL5.6とかをインストールして使うことが多くなったので、メモしておきます。

##環境の確認と設定

AWSとかクラウドのイメージを使うことが多くなったので、ネット接続等は基本問題ない。

###日本語環境

そもそも日本語localeが設定可能かの確認。

locale -a | grep ja_JP.utf8

これで、なにも表示されなければ、そもそもlocaleを設定できる状態にないので、設定を追加。

localedef -f UTF-8 -i ja_JP ja_JP.utf8

追加したか、そもそもあれば、設定を確認する。

vi  /etc/sysconfig/i18n

そこで、

LANG="ja_JP.utf8"

とする。

多くの場合、LANG="en_US.UTF-8"になっている。

###タイムゾーン

とりあえず、

date
2015年 11月 18日 水曜日 10:33:36 JST

JSTになっていればいいですが、UTCになっていることもある。

JSTになっていない場合は、

cp /usr/share/zoneinfo/Japan /etc/localtime

として、再度dateしてみる。

システムクロックを設定するためには、

vi /etc/sysconfig/clock

で、UTCになっていれば、

Zone=”Asia/Tokyo”

とする。

###SELinuxの状態確認と無効化

現状の確認は、

getenforce

で、Enforcedとなっていると、有効になっているので、diabledにします。

vi /etc/selinux/config

で、

SELINUX=disabled

とする。

##基本設定など

###ユーティリティーツールのインストール

必要なツールをインストールしておきます。

yum groupinstall -y 'Development tools'

rootかsudoで。

で、だいたい必要なものは入ります。
その他、

yum install -y wget

とか。

###ユーザーの追加

多くの場合、作業用のユーザーを追加します。

useradd hoge
passwd hoge

削除はuserdel hoge

###グループの作成、クループへの追加

必要に応じて、グループの作成、追加を行ないます。

groupadd webmaster
gppasswd -a hoge webmaster

グループの削除はgroupdel -r webmaster
-rをつけると、homeディレクトリも削除
グループからユーザーを削除する場合はgpasswd -d hoge webmaster

追加を確認するには、

groups hoge

とする。

###sudo可能にする

wheelグループにいる人にsudoを許可します。

visudo

とし、%Wheel~の行をコメントイン(2箇所あるうちの最初の方)

必要なユーザーをwheelグループに追加します。

gpasswd -a hoge wheel

###ssh keyをコピーする

通常、Linuxの管理にはsshを使うと思うのでsshの設定をします。

設定の前に、iptablesまたはクラウドサービスのFirewallで22番ポートが開いてることを確認しておく必要があります。

私は、Macを使い、brewでssh-copy-idを入れているので、

#@mac
cd ~/.ssh
ssh-copy-id -i id_isa.pub username@remotehost

パスワード聞いてくるので、正しく入力したらで完了です。
ssh-copy-idとかが使えない環境では、scp等でコピーします。

scp ~/.ssh/id_rsa.pub username@remotehost:~/.ssh/authorized_key

リモートに、ユーザーが追加されており、ホームディレクトリに.sshディレクトリがあることが前提になります。
また、

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

という感じで、適切にディレクトリ、Keyのパーミッションを設定しておかないとログイン時エラーが出ます。

コピーが終了したら、

ssh username@remotehost

で、ログインを確認しておきます。

###sshdの設定を確認(変更)しておく

ssh-copy-idやscpが利用できたということはパスワードログインがonになっているということです。
証明書のみでのログインを許可するように設定を変更します。

vi /etc/ssh/sshd_config

を編集し、

PasswordAuthentication no
PermitRootLogin no

として下さい。パスワードログインの無効化、ルートログインの無効化です。
設定を変更したら、

service sshd restart

とし、設定を反映させます。

##サーバ類のインストール

やっと本番です。私は基本、メンテナンス性などを考慮し、yumの基本レポジトリのみをつかってシステムを構築することがほとんどですが、最新ツールやフレームワークがPHP5.6やMySQL5.6以上を要求することがあるので、今回はそちらでインストールします。

とは言え、基本方針として、yumを利用してインストールしたいと思います。

###レポジトリの追加

現在のレポジトリを確認するには

yum repolist all

で、確認できます。

epel,remiのレポジトリを追加します。

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

最新のレポジトリを確認するには、epel,remiのページを見て、CentOSのバージョンに合ったrpmのURLを調べます。

epel,remiレポジトリがonになっていると、yum update等の際、時間がかかるので、デフォルトではoffにしておき、インストールの際に、--enablerepo=epel,remiなどとするようにします。

/etc/yum.repos.d

以下に、各種レポジトリファイルがあるので、enable=0に設定します。設定したら、yum repolist allで状況を確認します。

###Apacheのインストール

yum install httpd

最低限の設定として、/etc/httpd/conf/httpd.confの/var/www/htmlを

  • -Indexes
  • Override All

くらいしておいてもいい。

サービスをスタートさせ、再起動しても起動するようにします。

service httpd start
chkconfig httpd on

###PHPインストール

yum install php php-common --enablerepo=remi,remi-php56

###PHPモジュールのインストール

yum install php-mysqlnd php-mbstring php-gd php-pdo php-gd php-xml --enablerepo=remi,remi-php56

私はLaravelを使うので、さらに

yum install libmcrypt --enablerepo=epel
yum install php-mcrypt --enablerepo=remi,remi-php56

としました。最低限度の設定として、/etc/php.ini

  • memory_limit = 512M(メモリサイズに応じて調整)
  • display_erros = On(開発環境なら)

あたりをいじる。

設定をいじったらhttpd再起動。

service httpd restart

###MySQLのインストール

MySQLのレポジトリはyumでインストールできるようです。

####レポジトリのインストール

yum install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

####MySQLのインストール

MySQLをインストールします。

yum install mysql mysql-devel mysql-server

インストールが完了したら、まず、

mysql_secure_installation

を実行して、rootへのパスワード設定を行ないましょう。

標準ではrootにパスワードはありません。5.7からはあります。

####最低限の設定

[mysqld]

character_set_server=utf8
innodb_file_per_table
skip-character-set-client-handshake

くらい。
メモリサイズもいじっておいたほうがいい。

innodb_buffer_pool_size = 1G
innodb_log_buffer_size = 64M

設定をいじったり再起動。OSを再起動しても起動するようにchkconfig設定。

service mysqld start
chkconfig mysqld on

とりあえずこんな感じ。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?