のいじーメモ

勉強したことを忘れないうちにメモしていくためのブログ

Centos7でcakephp3を自動インストール

#!/bin/sh
DOCUMENT_ROOT='/var/www/html'    //ドキュメントルート
APP_DIR='cake'                   //cakeのディレクトリ
DB_USER='root'                   //mysql user
DB_NAME='test'                   //cakeで使用するDB名
DB_PASSWORD=''          //mysqlのログインパスワード

yum update -y
yum install -y epel-release zip unzip
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum install -y --enablerepo=remi,remi-php70 php php-devel php-mbstring php-ldap php-mysql php-pdo php-gd php-cli php-opcache php-mcrypt php-intl
yum install -y mysql mariadb-server httpd git

systemctl enable httpd
systemctl enable mariadb
systemctl start httpd
systemctl start mariadb

#cakephp インストーcurl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
mkdir $DOCUMENT_ROOT/$APP_DIR

composer create-project --prefer-dist cakephp/app $DOCUMENT_ROOT/$APP_DIR <<EOS
Y
Y
EOS


firewall-cmd --add-service=http --permanent
firewall-cmd --reload
#disable SElinux
setenforce 0
sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

#cakeの設定
sed -i -e "s/\/\/date_default_timezone_set('\(.*\)')/date_default_timezone_set('Asia\/Tokyo')/" $DOCUMENT_ROOT/$APP_DIR/config/bootstrap.php


#config/app.php
#	Datasourcesのところ
#	'username' => 'root',
#	'password' => '',
#	'database' => 'test',
#	'timezone' => 'Asia/Tokyo',

cp $DOCUMENT_ROOT/$APP_DIR/config/app.default.php $DOCUMENT_ROOT/$APP_DIR/config/app.php
sed -ie "232 s/my_app/$DB_USER/" $DOCUMENT_ROOT/$APP_DIR/config/app.php
sed -ie "233 s/secret/$DB_PASSWORD/" $DOCUMENT_ROOT/$APP_DIR/config/app.php
sed -ie "234 s/my_app/$DB_NAME/" $DOCUMENT_ROOT/$APP_DIR/config/app.php
sed -ie "s/__SALT__/hogefugavar/" $DOCUMENT_ROOT/$APP_DIR/config/app.php

sed -ie "236 s/UTC/Asia\/Tokyo/" $DOCUMENT_ROOT/$APP_DIR/config/app.php

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u $DB_USER mysql

echo \
"<Directory \"$DOCUMENT_ROOT/$APP_DIR\">
	Options FollowSymLinks
	AllowOverride All
</Directory>" > /etc/httpd/conf.d/${APP_DIR}.conf