目次

LAMP構築

Apache Install

  • インストール
# yum -y install httpd
  • conf ファイル編集(=設定)
# vi /etc/httpd/conf/httpd.conf

設定サンプル

  • 起動
# /etc/rc.d/init.d/httpd start
(# service httpd start)
  • 自動起動設定
# chkconfig httpd on
2014/02/17 15:00

SELINUX 設定

SELinux状態確認

  • SELinux有効
    # getenforce
    Enforcing
  • SELinux無効
    # getenforce
    Permissive

SELinux無効化

# setenforce 0

システム起動時にSELinuxを自動起動させない

# vi /etc/sysconfig/selinux
-) SELINUX=enforcing
+) SELINUX=disabled
2014/02/17 15:00

iptables

設定ファイル

# vi /etc/sysconfig/iptables

設定サンプル

以下は、すべて接続を許可する設定

http(port80)
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
https(port443)
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
MySQL(port3306)
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

サービス再起動/設定反映

# /etc/rc.d/init.d/iptables restart
2014/02/17 15:00

CentOS6.xにMySQLをyumでインストール

# cat /etc/redhat-release 
CentOS release 6.7 (Final)
# uname -a
Linux my01 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

リポジトリとインストール可能Ver

標準リポジトリのみ

updatesリポジトリからVer5.1がインストール可能

# yum install mysql-server mysql-client mysql-devel
~省略~
==========================================================================================
 パッケージ                  アーキテクチャ
                                          バージョン                  リポジトリー   容量
==========================================================================================
インストールしています:
 mysql-devel                 x86_64       5.1.73-5.el6_7.1            updates       129 k
 mysql-server                x86_64       5.1.73-5.el6_7.1            updates       8.6 M
~省略~
remiリポジトリ

PHPとの親和を考えてremiリポジトリからインストール、と思うとVer5.5がインストール可能

# rpm -Uvh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
# rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

# yum --enablerepo=remi,remi-php56,remi-php70 install mysql-server mysql-client mysql-devel
~省略~
==========================================================================================
 パッケージ                  アーキテクチャ
                                          バージョン                  リポジトリー   容量
==========================================================================================
インストールしています:
 mysql                       x86_64       5.5.48-1.el6.remi           remi          5.8 M
 mysql-devel                 x86_64       5.5.48-1.el6.remi           remi          164 k
 mysql-server                x86_64       5.5.48-1.el6.remi           remi           10 M
~省略~
公式リポジトリ

公式リポジトリからは、標準でVer5.7が、任意でVer5.6がインストール可能

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

# less /etc/yum.repos.d/mysql-community.repo

[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-tools-community]
name=MySQL Tools Community
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

# Enable to use MySQL 5.5
[mysql55-community]
name=MySQL 5.5 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql


# yum install mysql-community-server mysql-community-devel
~省略~
==========================================================================================
 パッケージ                アーキテクチャ
                                     バージョン                リポジトリー          容量
==========================================================================================
インストールしています:
 mysql-community-devel     x86_64    5.7.11-1.el6              mysql57-community    3.7 M
 mysql-community-libs      x86_64    5.7.11-1.el6              mysql57-community    2.1 M
     置き換えています  mysql-libs.x86_64 5.1.73-5.el6_7.1
 mysql-community-server    x86_64    5.7.11-1.el6              mysql57-community    135 M
~省略~

# yum --enablerepo=mysql56-community --disablerepo=mysql57-community install mysql-community-server mysql-community-devel
~省略~
==========================================================================================
 パッケージ                アーキテクチャ
                                     バージョン                リポジトリー          容量
==========================================================================================
インストールしています:
 mysql-community-devel     x86_64    5.6.29-2.el6              mysql56-community    3.2 M
 mysql-community-libs      x86_64    5.6.29-2.el6              mysql56-community    1.9 M
     置き換えています  mysql-libs.x86_64 5.1.73-5.el6_7.1
 mysql-community-server    x86_64    5.6.29-2.el6              mysql56-community     53 M
~省略~

インストール

# yum --enablerepo=remi install mysql-server mysql-client mysql-devel

文字コードの設定

# vi /etc/my.cnf

以下の行を先頭に追加

[mysqld]
character_set_server=utf8
skip_character_set_client_handshake

起動

# /etc/rc.d/init.d/mysqld start

自動起動設定

# chkconfig mysqld on

mysql_secure_installation

Set root password? [Y/n]

UPDATE mysql.user SET Password=PASSWORD('$esc_pass') WHERE User='root';

Remove anonymous users? [Y/n]

DELETE FROM mysql.user WHERE User='';

Disallow root login remotely? [Y/n]

DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');

Remove test database and access to it? [Y/n]

DROP DATABASE test;
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'

Reload privilege tables now? [Y/n]

FLUSH PRIVILEGES;
2014/02/17 15:00

ユーザ、DBを作成

使用するアプリケーション・環境に応じてユーザ、DBを追加する。

# mysql -u root -p

e.g.1)

mysql> GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'redmine';
mysql> CREATE DATABASE redmine;

e.g.2)

mysql> GRANT USAGE ON *.* TO 'openpne'@'localhost' IDENTIFIED BY 'pwd';
mysql> GRANT ALL ON openpne3.* TO 'openpne'@'localhost';
mysql> exit
2014/02/17 15:00

○ Postfix(Mail)

	インストール
	# yum -y install postfix
	
	起動
	# /etc/rc.d/init.d/postfix start
	

○ PHP

	⇒ OpenPNEの仕様でPHP5.2以降を推奨
	  2010年10月時点でPHP 5.2.14/5.3.3があるが、5.2系は5.2.14が採集となる予定。
	  今後 5.3系へ移行する必要がある。
	
	※ PHP 5.2.x
	# rpm -import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
	# vi /etc/yum.repos.d/utterramblings.repo
	
	以下、記述
		[utterramblings]
		name=Jason Utter Ramblings Repo
		baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
		gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
		gpgcheck=1
		priority=1
		enabled=0
	
	# yum -y --enablerepo=utterramblings install php
	
	※ PHP 5.3.x
	epel リポジトリを登録
	# rpm -ivh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
	remi リポジトリを登録
	# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
	インストール
	# yum -y --enablerepo=remi install php
	
	
	# yum -y --enablerepo=remi install php-mbstring
	# yum -y --enablerepo=remi install php-xml
	# yum -y --enablerepo=remi install php-mysql
	

○ APC(PHP用アクセラレータ)

	⇒ 2010年10月時点でPHP 5.3系ではAPCの正式対応が間に合っていない。
	  ベータ版(apc-beta)はインストール可能。
	  ⇒ 2011年1月時点でPHP 5.3系のAPC正式版(ver3.1.6)確認済み
	
	※ PHP 5.2.x
	# yum -y --enablerepo=utterramblings install php-devel
	# yum -y --enablerepo=utterramblings install httpd-devel
	# pecl install APC	※事前にpearのインストールが必要
	# echo "extension=apc.so" | sudo tee /etc/php.d/apc.ini
	
	※ PHP 5.3.x
	# yum -y --enablerepo=remi install php-devel
	# yum -y --enablerepo=remi install httpd-devel
	(-)# pecl install apc-beta	※事前にpearのインストールが必要
	(+)# pecl install apc	※事前にpearのインストールが必要
	# echo "extension=apc.so" | sudo tee /etc/php.d/apc.ini