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
- Apache起動確認
ローカルのブラウザから http://192.168.33.10/ へアクセスし
以下のようなページが表示されたら成功です。
仮想マシンを起動したときに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 へアクセスし、
以下のようなページが表示されたら成功です。
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などが表示されているようであれば成功です。
続きます。