Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
10
Help us understand the problem. What is going on with this article?
@rd0501

CakePHP3.2で開発環境構築手順(Vagrant1.8.1, CentOS 6.7, CakePHP 3.2, Apache 2.2.15, Mysql 5.7.12)

More than 3 years have passed since last update.

CakePHP 開発環境整備

vagrant, virtualboxに関してはインストール済み前提です。

概要

CentOS 6.7
CakePHP 3.2
Apache 2.2.15 → 2.4 以上の方が良いよ
Mysql 5.7.12
PHP 7.0.5

vagrant

vagrant init bento/centos-6.7
vagrant up
vagrant ssh

yum

yum update

※yum updateすると、その後vagrant reload,up を行うとマウントに失敗します。下記を参考に解決してください。
http://tech.withsin.net/2015/07/10/virtualbox-vagrant-mount-fail/

Apache

yum -y install httpd

設定はこちらを参考に
http://centos.server-manual.com/centos5_apache2.html

httpd -v

PHP

rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
yum install php70w php70w-opcache php70w-cli php70w-common php70w-devel php70w-mcrypt php70w-mysql php70w-intl php70w-mbstring

php -v

mysql

wget http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
yum localinstall mysql57-community-release-el6-7.noarch.rpm 
yum install mysql-community-server

chkconfig mysqld on
chkconfig --list mysqld

mysqladmin --version

補足

cat /var/log/mysqld.log
# [Note] A temporary password is generated for root@localhost: **lNMg;#B/f6Y;** ←これがパスワードになります

パスワードは 8文字以上英大文字小文字数字記号の4種類を含む 必要がある。
※以下、**でくくられている部分が入力する部分になります。
http://weblabo.oscasierra.net/mysql-57-init-setup/

# mysql_secure_installation

Securing the MySQL server deployment.

Enter password for user root: **初期パスワードを入力する** 

The existing password for the user account root has expired. Please set a new password.

New password: **新しいパスワードを入力する**

Re-enter new password: **再度同じ新しいパスワードを入力する**

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No: **y**

There are three levels of password validation policy:

LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0
Using existing password for root.

Estimated strength of the password: 100 
Change the password for root ? ((Press y|Y for Yes, any other key for No) :** y**

New password: **ポリシーに沿った新しいパスワードを入力**

Re-enter new password: **再度新しいパスワードを入力する**

Estimated strength of the password: 50 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : **y**
By default, a MySQL installation has an anonymous user, a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : **y**
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : **y**
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : **y**
Success.

- Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : **y**
Success.

All done! 

設定

sudo vi /etc/my.cnf

下記を追記

[client]
default-character-set=utf8

[mysqld]
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8

[mysqldump]
default-character-set=utf8

[mysql]
default-character-set=utf8
sudo service mysqld restart

CakePHP

$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer.phar
$ alias composer='/usr/local/bin/composer.phar'
$ composer --version

※今後composerの更新とかやる場合はaliasを設定しなおして、composer.jsonがあるディレクトリに移動して,composerコマンドをたたくといいっぽい。

my_app_nameに今回作成するアプリの名前を入れてください。

composer self-update && composer create-project --prefer-dist cakephp/app my_app_name
sudo vi /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html"
↓
DocumentRoot "/var/www/app_name"

app_nameの部分はcake のアプリ名(上記で設定したものにします)

さらに、Vagratfileを書き換えます。

config.vm.synced_folder "./", "/vagrant", owner: 'vagrant', group: 'apache', mount_options: ['dmode=777', 'fmode=666']

上記は、共有フォルダ以下にCakephpプロジェクトを配置するために必要な処理です。

10
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
rd0501
iOS Developer、Swift、iOSあたりの投稿をします。
andfactory
Smartphone Idea Companyとして、人々の生活に「&(アンド)」を届ける。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
10
Help us understand the problem. What is going on with this article?