概要
VirtualBoxのCentOS7にCakePHPを導入する
環境
- Windows 10(64Bit)
- VirtualBox 5.1.6
- Tera Term 4.92
導入環境
- CentOS 7
- CakePHP 3.0
- MySQL 5.7.15
- PHP 7.0.11
- git
- httpd
- unzip
対象
- VagrantやDockerを使わず環境構築したい人
- VirtualBoxにOS導入出来る
- Linuxのcmdを理解出来る
- viの操作が出来る
記事を読んで出来る事
- CakePHPの導入
- ホストOSからゲストOSに導入されたCakePHPをブラウザから閲覧
手順
VirtualBox仮想マシン作成
設定内容 | 値 |
---|---|
メモリ | 2048MB |
HDD | 30G |
ネットワークのポートフォワーディング
名前 | プロトコル | ホストIP | ホストポート | ゲストIP | ゲストポート |
---|---|---|---|---|---|
http | TCP | 8888 | 80 | ||
ssh | TCP | 2222 | 22 |
CentOS 導入
起動時の通信設定変更
vi /etc/sysconfig/network-scripts/ifcfg-eth3
設定内容 | 値 |
---|---|
ONBOOT | yes |
Tera Term 導入
https://osdn.jp/projects/ttssh2/releases/
この時点でssh接続出来る
必要なアプリインストール
yum -y install git unzip httpd
MySQL
http://dev.mysql.com/downloads/repo/yum/
から、対象のOSのrpmを取得する
yum -y install http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
yum -y install mysql-community-server
PHP7系
yum -y install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum -y install --enablerepo=remi,remi-php70 php php-devel php-mbstring php-intl php-mysql
Composer
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
ポート解放(80番)
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload
firewall-cmd --add-port=80/tcp --zone=public --permanent
firewall-cmd --reload
MySQL アカウント設定
- MySQL起動
- 初期パスワード閲覧
- ログイン
- パスワード設定
systemctl start mysqld
cat /var/log/mysqld.log | grep 'password is generated'
にて初期パスワードが閲覧出来るので
mysql -u root -p
*パスワード入力*
し、mysqlを立ち上げる
set password for root@localhost=password('任意');
任意の部分について
『validate_password』がデフォルト導入されていてかつ
『validate_password_policy』が『MEDIUM』なので複雑なパスワードにする必要がある。
uninstall plugin validate_password;
でアンインストールしてしまうのも手
PHP 設定
vi /etc/php.ini
設定内容 | 値 |
---|---|
date.timezone | "Asia/Tokyo" |
mbsting.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 導入
~/に導入してもいいのですが、httpdと合わせて使いたかったので/var/www下に配置する事にしました。
/usr/local/bin/にパスを通してある場合冗長なコマンドになっています。
cd /var/www
php /usr/local/bin/composer create-project --prefer-dist cakephp/app "好きなプロダクト名"
ApacheのDocumentRootに設定
vi /etc/httpd/conf/httpd.conf
設定内容 | 値 |
---|---|
DocumentRoot | プロダクトの場所/webroot/ |
SELinuxを無効化
本設定まで実施し、ホストPCから『localhost:8888』へアクセスしてもエラーが出た。
setenforce 0
備考
- 適時systemctl (start|restart|status)にて状況確認しながら作業すると吉
- 適時rpm -qa | grep にてインストール済みか確認し、導入済みなら一度破棄するか読み飛ばすと吉
- もっとスマートな実現方法ありましたら教えて下さい