CentOS7に開発用のLAMP環境を作りました。CentOS6との比較する感じで書いています。結果としてPHP5.6 Apache2.4 MySQL5.6の環境になりました。作業環境はMacのVagrantになります。
CentOSのバージョンを確認します。
cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
yumをupdateしておきます。
sudo yum update
リポジトリを追加
そのままyum install
をするとPHP5.4がインストールされそうなのでリポジトリを更新します。
sudo yum install epel-release
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
PHPをインストール
sudo yum install --enablerepo=remi,remi-php56 php php-common php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof
sudo yum install --enablerepo=remi,remi-php56 -y php-intl
PHPのバージョンを確認
PHPのバージョンを確認します。
php --version
PHP 5.6.15 (cli) (built: Oct 29 2015 14:18:11)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
with Xdebug v2.3.3, Copyright (c) 2002-2015, by Derick Rethans
PHP5.6がインストールされています。
Httpdをインストール
sudo yum install --enablerepo=remi,remi-php56 -y httpd
Httpdを起動
Httpdを起動します。
sudo systemctl start httpd
CentOS7からhttpdを起動するときのコマンドがsystemctl
に変わっています。
Httpdのバージョンを確認
httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: Aug 24 2015 18:11:25
MySQLをインストール
CentOS7でMySQLを入れようとするとMariaDBが入ります。なのでMySQLを入れたい場合はリポジトリを追加する必要があるようです。今回はMySQLを使用するのでMySQLを入れます。
sudo yum install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
sudo rpm -Uvh mysql-community-release-el7-5.noarch.rpm
sudo yum --enablerepo=mysql56-community install mysql-community-server
MySQLがインストールできました。
絵文字対策でutf8mb4に
my.cnfを編集します。
sudo vi /etc/my.cnf
[client]
default-character-set=utf8mb4
[mysqld]
character-set-server=utf8mb4
MySQLを起動
sudo systemctl start mysqld
mysql -u root -p
ログインできました。
Firewalldを停止
iptalbesの名前がfirewalldに変わったそうです。
sudo systemctl stop firewalld
SELINUXの確認
getenforce
Disabled
起動してないのでスルーします。
CentOS7起動時に何が起動するかを確認
CentOS6以前のchkconfig --list
にあたるコマンドで調べます。
sudo systemctl list-unit-files -t service
・・・
htcacheclean.service static
httpd.service enabled
initrd-cleanup.service static
initrd-parse-etc.service static
initrd-switch-root.service static
initrd-udevadm-cleanup-db.service static
iprdump.service disabled
iprinit.service disabled
以下略
enabled
は起動するもので、disabled
は起動しないようです。
httpdを起動にして、firewalldは起動しないようにします。
sudo systemctl enable httpd
sudo systemctl disable firewalld
OSを再起動して確認
一旦ログアウトしてOSを再起動して確認します。
exit
vagrant reload
どうやらhttpdが起動していることがわかりました。(たまに起動しない?httpdのDocumentRootでエラーがでると起動しませんでした。)
PHPファイルを置いてみたところ表示もできました(☝ ՞ਊ ՞)
参考
https://blog.apar.jp/linux/194/
http://qiita.com/daskepon/items/b6bb736b6f5fd5b817e0
http://www.slideshare.net/enakai/linux-27872553