Skip to content
Mitsuru Mutaguchi edited this page May 11, 2022 · 33 revisions

Linux等へのインストール、root権限ある場合

目次

Requirements(必要なツール等)

(インストールコマンド例)
$ yum install -y php73 php73-php php73-php-mysql php73-php-php-mysqlnd php73-php-bcmath php73-php-ctype php73-php-json php73-php-mbstring php73-php-openssl php73-php-PDO php73-php-tokenizer php73-php-xml gcc
  • Apache ※後述の設定例はApache2.4を前提
    • mod_rewrite
  • git
  • composer
  • MySQL 5.7 or later(MySQL5.7以上) or Maria DB(MySQL5.7以上相当)

Option

  • PHP
    • GD (wysiwygの画像リサイズ、画像の傾き自動修正)
    • php_ldap (LDAP認証)
  • Apache
    • mod_shib (Shibboleth認証)

Installation(インストール作業)

DB/user creation(DB/ユーザ作成)

// Create DB and connected user in advance // (あらかじめDBと接続ユーザを作っておく)

git clone

# ドキュメントルートへ移動
cd /var/www/html

# GitHubからプログラムをダウンロード
git clone https://github.com/opensource-workshop/connect-cms.git

# プログラム群がダウンロードされていることを確認
ls /var/www/html

Download the library using composer(composerで利用ライブラリのダウンロード)

cd /var/www/html/connect-cms/

php -d allow_url_fopen=1 -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'ハッシュ値はcomposerのバージョン変わるたびに変わるので、https://getcomposer.org/download/を見てね') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php -d allow_url_fopen=1 composer-setup.php
php -r "unlink('composer-setup.php');"

// ※
php -d allow_url_fopen=1 composer.phar install --no-dev

※ 開発ライブラリ(phpunit等)を入れるバージョン

・Linuxの場合
COMPOSER=composer-dev.json php -d allow_url_fopen=1 composer.phar install

他のコマンド例)
COMPOSER=composer-dev.json php -d allow_url_fopen=1 /usr/bin/composer install

・Windows(コマンドプロンプト)の場合
set COMPOSER=composer-dev.json
php -d allow_url_fopen=1 composer.phar install

他のコマンド例)
set COMPOSER=composer-dev.json
composer install

apache settings(apache設定)

// laravel default route changed to public // (laravelのデフォルトルートはpublic配下に変更)

vi /etc/httpd/conf/httpd.conf

#DocumentRoot /var/www/html
DocumentRoot /var/www/html/connect-cms/public

#<Directory "/var/www/html">
<Directory "/var/www/html/connect-cms/public">
    AllowOverride All ←.htaccessの使用を許可する設定です。特段の事情がない限りはAllを設定してください。
    Require all granted
</Directory>

apache restart(apache再起動)

# apachectl configtest
Syntax OK
# apachectl graceful

Laravel

Create .env file(.envファイル作成)

cd /var/www/html/connect-cms/
cp .env.example .env
vi .env

「#」はコメントとして扱われます。

APP_NAME="Connect-CMS"
APP_ENV=local
APP_KEY=               ←Enter an appropriate string(適当な文字列を入力)
APP_DEBUG=false
APP_URL=http://localhost    ← http://localhost:8000

LOG_CHANNEL=daily

DB_CONNECTION=mysql
DB_HOST=127.0.0.1      ← Change to localhost(localhostに変更)
DB_PORT=3306
DB_DATABASE=homestead     ← Change to created DB, user, password(作成したDB、ユーザ、パスワードに変更)
DB_USERNAME=homestead     ← Same as above(同上)
DB_PASSWORD=secret        ← Same as above(同上)

Application key initialization(アプリケーションキーの初期化)

# php artisan key:generate

DB migration(DBマイグレーション)

# php artisan migrate

Initial data import with seeder(seederで初期データインポート)

# php artisan db:seed

Directory permissions(ディレクトリパーミッション)

storageディレクトリとbootstrap/cacheディレクトリ、vendor/tecnickcom/tcpdf/fontsディレクトリをWebサーバから書き込み可能にします。

cd /var/www/html/connect-cms/

chown -R apache:apache storage
chown -R apache:apache bootstrap/cache
chown -R apache:apache vendor/tecnickcom/tcpdf/fonts

chmod -R u+wr storage
chmod -R u+wr bootstrap/cache
chmod -R u+wr vendor/tecnickcom/tcpdf/fonts

Check site display(サイト表示確認)

(例:DNS設定済みの場合)http://xxx.com

(例:ローカル端末の場合)http://localhost:8000

Initial login ID(初期ログインID)

https://github.com/opensource-workshop/connect-cms/blob/master/database/seeds/DefaultUsersTableSeeder.php


Directory install(ディレクトリにインストールする場合)

Apache conf

    Alias /dir_laravel "{install-laravel Path}/public"

    <Directory "{install-laravel Path}/public">
        AllowOverride All
        Require all granted
    </Directory>

public/.htaccess

    RewriteEngine On
    # add dir_install
    RewriteBase /dir_laravel

.env

APP_URL=http://localhost/dir_laravel


# 複数のサイトをディレクトリインストールする場合 APP_NAME をサイト毎に変更します。
# 変更する事で SESSION_COOKIE の名前が重複しなくなり、ディレクトリインストールしたサイトの片方ログインしたら、もう片方が強制ログアウトされる問題が解消します。
APP_NAME="Connect-CMS"

関連ページ

Composer

Clone this wiki locally