機能追加 #1678
履歴
#2 山本 義治 が7年以上前に更新
アプリケーション構築¶
Laravel条件
PHP >= 7.1.3
https://laravel.com/docs/5.6/installation
php5.4→そのまま
php7.2→PHP-FPMとして新規起動
PHP7.2インストール¶
[root]# yum install php72 php72-php-fpm php72-php-gd php72-php-xml php72-php-mbstring php72-php-mysqlnd php72-php-mcrypt php72-php-zip
シンボリックリンク作成
[root]# rm /usr/local/bin/php [root]# ln -s /usr/bin/php72 /usr/local/bin/php
PHP-FPM起動¶
[root]# /etc/init.d/php72-php-fpm start [root]# chkconfig php72-php-fpm on
mod_fcgiインストール¶
[root]# wget http://repoforge.mirror.digitalpacific.com.au/redhat/el6/en/x86_64/rpmforge/RPMS/mod_fastcgi-2.4.6-1.el6.rf.x86_64.rpm [root]# yum install mod_fastcgi-2.4.6-1.el6.rf.x86_64.rpm [root]# vi /etc/httpd/conf.d/fastcgi.conf FastCgiWrapper Off ScriptAlias /fcgi-bin/ /var/www/fcgi-bin/ FastCGIExternalServer /var/www/fcgi-bin/php-fpm -host 127.0.0.1:9000 AddHandler php-fastcgi .php Action php-fastcgi /fcgi-bin/php-fpm
バーチャルホスト設定¶
[root]# vi /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
DocumentRoot /var/www/haloo_navi_shindan/public
ServerName shindan.haloonavi.com
ErrorLog logs/haloo_navi_shindan-error_log
CustomLog logs/haloo_navi_shindan-access_log combined
AddHandler php-fastcgi .php
Action php-fastcgi /fcgi-bin/php-fpm
<FilesMatch \.php$>
SetHandler php-fastcgi
</FilesMatch>
<Directory "/var/www/haloo_navi_shindan/public">
Options Indexes FollowSymLinks +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
apache再起動¶
[root]# /etc/init.d/httpd restart
ソースダウンロード¶
[admin]$ cd /var/www/ [admin]$ git clone admin@49.212.24.211:/opt/git/haloo_navi_shindan.git [admin]$ cd haloo_navi_shindan/ [admin]# vi public/phpinfo.php <?php phpinfo();?>
PHP7.2動作確認¶
http://shindan.haloonavi.com/phpinfo.php
composerインストール¶
[root]# curl -sS https://getcomposer.org/installer | php [root]# mv composer.phar /usr/local/bin/composer
npmインストール¶
git cloneでfatal: HTTP request failedため以下インストール
[root]# yum update -y nss curl libcurl
[admin]$ git clone https://github.com/creationix/nvm.git ~/.nvm [admin]$ source ~/.nvm/nvm.sh vi ~/.bash_profile [admin]$ nvm --version 0.33.11 [admin]$ nvm install v8.11.3 [admin]$ node -v v8.11.3 [admin]$ npm -v 5.6.0
パーケージインストール¶
[admin]$ cd /var/www/haloo_navi_shindan [admin]$ composer install
依存パッケージインストール
[root]# yum install libpng* -y [admin]$ npm i ajv
[admin]$ npm install
ログパーミッション設定¶
[root]# chmod 777 storage/* [root]# chmod 777 storage/framework/* [root]# chmod 777 bootstrap/cache/
.envファイル生成¶
[admin]$ php artisan key:generate
[admin]$ vi .env
APP_NAME=PersonalityNavi
APP_ENV=production
APP_KEY=base64:omDFoM2vu6ByqvriqRl484+zBR8+ODFAbiyGtUuwDho=
APP_DEBUG=false
APP_URL=http://shindan.haloonavi.com
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=haloo_navi_shindan
DB_USERNAME=root
DB_PASSWORD=szm9vx8nza
BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
SESSION_LIFETIME=120
QUEUE_DRIVER=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=log
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
GITHUB_OAUTH_APP_ID=a4408ea08db225ba9343
GITHUB_OAUTH_APP_SECRET=863d041397eff27fbc774c6113f0b8d1fb85c4ae
GITHUB_OAUTH_APP_REDIRECT_URL=${APP_URL}/login/github/callback
FACEBOOK_OAUTH_APP_ID=176123903218771
FACEBOOK_OAUTH_APP_SECRET=fb4c3faec54d15b0c985e289c64ed0c9
FACEBOOK_OAUTH_APP_REDIRECT_URL=${APP_URL}/login/facebook/callback
TWITTER_OAUTH_APP_ID=9y5Phx8rJMA4adGpFlwUz4Sig
TWITTER_OAUTH_APP_SECRET=B8aBjH1gJjgoOnbiclnFqmb1WgG1li834adIfQ4ptLc8eqoIzt
TWITTER_OAUTH_APP_REDIRECT_URL=${APP_URL}/login/twitter/callback
vendorソース改修¶
[root]# vi vendor/yajra/laravel-datatables-html/src/Html/Builder.php
protected function makeDataScript(array $data)
{
$script = '';
foreach ($data as $key => $value) {
-- $script .= PHP_EOL . "data.{$key} = '{$value}';";
++ if(is_array($value)) {
++ for($i = 0; $i < count($value); $i++) {
++ $script .= PHP_EOL . "data.{$key}{$i} = '{$value[$i]}';";
++ }
++ } else {
++ $script .= PHP_EOL . "data.{$key} = '{$value}';";
++ }
}
return $script;
}
DB作成¶
[root]# mysql -u root -p mysql> create database haloo_navi_shindan;
マイグレーション初期化&seed生成¶
[admin]$ php artisan migrate --seed
テストデータ生成¶
[admin]$ php artisan db:seed --class UserPersonalityTableSeeder
レポート集計バッチ手動実行¶
[admin]$ php artisan command:user_personality_report
ログイン情報¶
■ユーザー画面
http://shindan.haloonavi.com/
ID: test@test.com
PASS: testtest
■管理画面
http://shindan.haloonavi.com/admin/
AdminID: admin@shindan.haloonavi.com
PASS: testtest
スタッフID: staff@shindan.haloonavi.com
PASS: testtest