WindowsでVagrant + VirtualBox + LAMP環境構築(Cake PHP)その2

WindowsでVagrant + VirtualBox + LAMP環境構築(Cake PHP)その1 - かつおブログ

の続きです。

インストールするバージョンは以下です。

下記の流れで進めていきます。

仮想マシンへログイン

vagrant仮想マシンを起動し、sshでログイン 仮想マシンに入ったら、環境構築前にスーパーユーザになっておきます。

# vagrant up
# vagrant ssh

$ sudo -i

Apache

インストール

# yum install httpd

Apache起動

# systemctl start httpd

ローカルのブラウザから http://192.168.33.10/ へアクセスし

以下のようなページが表示されたら成功です。

f:id:katutoki:20190822234957p:plain

仮想マシンを起動したときにApacheも自動的に起動するように設定しておきます。

# systemctl enable httpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

MySQL

ほぼほぼ下記の手順の通りで問題なくインストールできます。

CentOS 7 に MySQL 5.7 を yum インストールして初期設定までやってみた - enomotodev’s blog

インストール

# rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
Retrieving https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
# yum -y install mysql-community-server
※数分かかります。

# mysqld --version
/usr/sbin/mysqld  Ver 8.0.17 for Linux on x86_64 (MySQL Community Server - GPL)

起動

# systemctl start mysqld.service
# systemctl enable mysqld.service

初回ログイン

ログインするためにはパスワードが必要です。 初回起動時にパスワードが仮で設定され、それがログに出力されているので、そこからパスワードを取得します。

$ grep password /var/log/mysqld.log
2019-08-28T10:05:48.843504Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: HU:oP8gjtdyf
$ mysql -u root -p
パスワードを入力

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 20
Server version: 8.0.17

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Test@1234';
Query OK, 0 rows affected (0.77 sec)

初回パスワード変更

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Test@123';

Test@123は任意のパスワードを指定します。 英語大文字小文字、数値、記号

CakePHP用にテーブルとユーザを作ります。

データベース作成

mysql> CREATE DATABASE cake;
Query OK, 1 row affected (0.02 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| cake               |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.04 sec)

ユーザ作成

mysql> create user 'my_cake'@'localhost' identified by 'Pass_123';
Query OK, 0 rows affected (0.07 sec)

mysql> SELECT user, host FROM mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| my_cake          | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
5 rows in set (0.00 sec)

権限設定

mysql> grant ALL on *.* to 'my_cake'@'localhost';
Query OK, 0 rows affected (0.01 sec)

PHP

バージョン確認

# php -v
-bash: php: command not found

インストールされていないので、入れます。

ここでは下記のEPAL、remiリポジトリを使ってインストールを進めます。 PHPはバージョン7.2にします。

EPAL、remiリポジトリの追加

# yum install -y epel-release
# yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

PHPインストール

yum install -y --enablerepo=remi,remi-php72 php72 php72-php php-devel php-mbstring php-pdo php-gd php-xml

改めてバージョン確認

# php -v
PHP 7.2.21 (cli) (built: Jul 30 2019 14:46:08) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

無事インストールできました。

PHP画面の確認

ブラウザ上からphpが動くことを確認します。

vi /var/www/html/info.php

として、

<?
phpinfo();
?>

と書いて保存

Apacheを再起動します。

systemctl restart httpd

ローカルのブラウザから http://192.168.33.10/info.php へアクセスし、

以下のようなページが表示されたら成功です。 f:id:katutoki:20190824121304p:plain

php.iniの設定

その他一般的と思う設定をしておきます。

php.ini
date.timezone = "Asia/Tokyo"

mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.http_output = pass
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_charset = none

※後続のCakePHPのプロジェクト作成時に必要だったので、下記のモジュールもインストールします。

sudo yum install -y zip unzip git
sudo yum install -y --enablerepo=remi,remi-php72 php-intl php-mysqlnd

ここで一度Apacheを再起動しておきます。

systemctl restart httpd

ローカルのブラウザから http://192.168.33.10/info.php へアクセスし、intlやmysqlndなどが表示されているようであれば成功です。

続きます。

katutoki.hatenablog.com