Centos7とPHP7 の LAMP環境を構築する(ApacheのPathは /usr/local/apache/ で)
技術系記事です
yum を使って簡単に開発環境が構築できる現代で、
毎回2,3か所くらい詰まって解決するのが面倒だったので、手順をまとめました。
これで1発OKなはず。
◆前提◆
vagrant で centosが立ち上がっていることを前提としています
◆ゴール◆
local.xxxxx.com などの独自ドメインで phpinfo() が動くこと
apache のパスが /usr/local/apache/ であること
(ソースからapacheをインストールしていた時代のパスのが未だに慣れているため)
0.事前準備
yumのアップデートを行います
# sudo su root # yum -y update
1.Apacheのインストール
centOS7 では、2.4がデフォルトみたいです
### apache のインストール # yum -y install httpd ## vesionの確認 # httpd -v ## サービスの設定と起動 # systemctl enable httpd # systemctl restart httpd
2. MySQL のインストール
### 事前にリポジトリの追加 # yum -y localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm ### MySQL のインストール # yum -y install mysql-community-server ### version確認 # mysqld --version ### サービス設定と起動 # systemctl enable mysqld.service # systemctl restart mysqld.service ### passwordの取得 # cat /var/log/mysqld.log | grep "temporary password" ----------------------------------------------------------------------- 2017-06-17T07:05:30.855638Z 1 [Note] A temporary password is generated for root@localhost: {初期パスワード} ----------------------------------------------------------------------- ### passwordの設定(上の{初期パスワード}を使用) # mysql_secure_installation ### passwordの有効期限設定(デフォルト1年なので、以下を追記して無期限にします) # vi /etc/my.cnf ----------------------------------------------------------------------- default_password_lifetime=0 ----------------------------------------------------------------------- ### 再起動 # systemctl restart mysqld
3. PHP7インストール
### リポジトリインストール # yum -y install epel-release # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm ### PHPのインストール # yum install --enablerepo=remi,remi-php70 php php-devel php-mbstring php-pdo php-gd php-mysql php-xml ### version確認 # php -version
基本はここまでで完了です。
以下、/usr/local/apache/ のパスで動かしたいので、シムリンクで対応します
4. ドメイン設定
### httpd.conf の編集 # cd /etc/httpd/conf # cp httpd.conf httpd.conf_bk # vi httpd.conf
編集内容
### ServerNameの設定(編集) ------------------------------------------------------ # ServerName www.example.com:80 ServerName yukibata.com ------------------------------------------------------ ### アクセス許可(編集) ------------------------------------------------------ <Directory /> AllowOverride none # Require all denied Require all granted </Directory> ------------------------------------------------------ ### ドメイン設定(追記) ------------------------------------------------------ <VirtualHost *:80> DocumentRoot /usr/local/apache/vhosts/local.yukibata.com/htdocs ServerName local.yukibata.com.com ErrorLog vhosts/local.yukibata.com.com/logs/error_log TransferLog vhosts/local.yukibata.com.com/logs/access_log <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory "/usr/local/apache/vhosts/local.yukibata.com/htdocs"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> ------------------------------------------------------
5. ドメインに合わせてディレクトリ設定
### ディレクトリ作成と権限 # mkdir -p /usr/local/apache/vhosts/local.yukibata.com/htdocs # mkdir -p /usr/local/apache/vhosts/local.yukibata.com/logs # touch /usr/local/apache/vhosts/local.yukibata.com/logs/error_log # touch /usr/local/apache/vhosts/local.yukibata.com/logs/access_log # chmod -R 777 /usr/local/apache/vhosts/ ### シムリンクを張る # cd /etc/httpd/ # ln -s /usr/local/apache/vhosts vhosts # ls -la | grep vhost --------------------------------------------------------- lrwxrwxrwx 1 root root 24 Jun 18 04:12 vhosts -> /usr/local/apache/vhosts --------------------------------------------------------- ### apache再起動 # systemctl restart httpd.service
6. htdocsにファイルを置いて確認
# echo "<?php phpinfo();" > /usr/local/apache/vhosts/local.yukibata.com/htdocs/test.php
ブラウザから local.yukibata.com/test.php へアクセスして、phpinfo を確認
以上です。
シンプルですが、機械的にやっていけば構築は完了になります。