-
Notifications
You must be signed in to change notification settings - Fork 6
Install
Mitsuru Mutaguchi edited this page Apr 30, 2024
·
29 revisions
Linux等へのインストール、root権限ある場合
- Requirements(必要なツール等)
- Installation(インストール作業)
- 日本語ファイルの日本語が消える/文字化けした場合
- PHP7.3 or later(PHP7.3以上) ※ 2024-02時点で、PHP8.1 は動作します。
- PHP本体以外にPHP拡張モジュールのインストールも必要です。
- Connect-CMSは「Laravel ver8.X」を採用(2022年9月時点)しており、必要なPHP拡張モジュールはLaravelの要求に依存します。
- https://laravel.com/docs/8.x#server-requirements
- https://github.com/laravel/laravel/blob/8.x/composer.json
- GD (wysiwygの画像リサイズ、画像の傾き自動修正、フォームの画像認証)
(インストールコマンド例)
$ 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以上相当)
- PHP
- php_ldap (LDAP認証)
- php_zip (キャビネットのまとめてダウンロード)
- Apache
// Create DB and connected user in advance // (あらかじめDBと接続ユーザを作っておく)
# ドキュメントルートへ移動
cd /var/www/html
# GitHubからプログラムをダウンロード
git clone https://github.com/opensource-workshop/connect-cms.git
# プログラム群がダウンロードされていることを確認
ls /var/www/html
# connect-cmsディレクトリに移動し、安定版(最新のバージョン)に切り替える
cd /var/www/html/connect-cms
git checkout $(git describe --tags --abbrev=0)
# ※別バージョンの指定を行う場合
後述ページ「(参考)Update」の「2.アップデートの実行」を参考にコマンドを実行してください。
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
// (開発ライブラリをダウンロードしたい場合は ※1 参照)
(Linuxの場合)
COMPOSER=composer-dev.json php -d allow_url_fopen=1 composer.phar install
(他のコマンド例1)
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
(他のコマンド例2)
set COMPOSER=composer-dev.json
composer install
// 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>
# apachectl configtest
Syntax OK
# apachectl graceful
cd /var/www/html/connect-cms/
cp .env.example .env
vi .env
「#」はコメントとして扱われます。
APP_NAME="Connect-CMS"
APP_ENV=production ← 開発環境は ※2参照
APP_KEY= ←Enter an appropriate string(適当な文字列を入力、※ダブルクオートで囲まない)
APP_DEBUG=false
APP_URL=http://localhost ← (例:DNS設定済みの場合)http://xxx.com/(例:ローカル端末の場合)そのまま
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(同上)
# (メール送信を使う場合は以下の値も適切に変更する)
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null # メールユーザー名
MAIL_PASSWORD=null # メールユーザーのパスワード
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=abcde@example.com # 送信元として使うメールアドレス
MAIL_FROM_NAME="${APP_NAME}" # 送信者として表示する名前
※ .envのMAIL_XXXX 設定例(さくらのレンタルサーバ)
※ .envのMAIL_XXXX 設定はインストール後、管理画面>システム管理>メール設定 から変更することもできます。
下記の該当箇所を修正する。
他は Create .env file(.envファイル作成) と同様です。
APP_ENV=local
# php artisan key:generate
**************************************
* Application In Production! *
**************************************
Do you really wish to run this command? (yes/no) [no]:
> yes ← yes を入力
# php artisan migrate
**************************************
* Application In Production! *
**************************************
Do you really wish to run this command? (yes/no) [no]:
> yes ← yes を入力
# php artisan db:seed
**************************************
* Application In Production! *
**************************************
Do you really wish to run this command? (yes/no) [no]:
> yes ← yes を入力
composer dump-autoload
を実行後、seederを再実行します。
(Linuxの場合)
# php composer.phar dump-autoload
(他のコマンド例)
# php /usr/bin/composer dump-autoload
# composer dump-autoload
# php artisan db:seed
storage
ディレクトリとbootstrap/cache
ディレクトリ、vendor/tecnickcom/tcpdf/fonts
ディレクトリ、public/themes/Users
ディレクトリを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
chown -R apache:apache public/themes/Users
chmod -R u+wr storage
chmod -R u+wr bootstrap/cache
chmod -R u+wr vendor/tecnickcom/tcpdf/fonts
chmod -R u+wr public/themes/Users
(例:DNS設定済みの場合)http://xxx.com
(例:ローカル端末の場合)http://localhost
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"
キャビネットでzipをアップロード&解凍した時に、日本語フォルダ・ファイルが含まれた場合、日本語ファイルやフォルダの日本語が消えたり文字化けする場合があります。
サーバ環境の設定によって引き起こされるため、以下参考設定を記載します。
### ApacheをRHEL/CentOSのパッケージで導入した場合
vi /etc/sysconfig/httpd
# 末尾に追記
HTTPD_LANG=ja_JP.utf8
# apache再起動
systemctl restart httpd
- home
- Overview
- Install
- Install (インストール)(Linux等へのインストール:root権限ある場合)
- Install-XAMPP(Windows+XAMPP)
-
Install-sakura(さくらのレンタルサーバ)
- Install-sakura-root(ドキュメントルート版)
- Install-Xserver(XServer)
- Install-lolipop(ロリポップ-ハイスピードプラン)
- Install-ColorfulBox(カラフルボックス)
- install-CentOS7+PHP7
- install-Docker
- Update (アップデート)
- Plans
- Data
- File Upload
- Design
- Theme(テーマ)
- Font-Icon
- Button(ボタン)
- Display of input error(入力エラーの表示)
- Multi Language
- Policies
- Plugin
- Basic function(基本の関数)
- Opac(蔵書管理)
- OpeningCalendar(開館カレンダー)
- Template(テンプレート)
- Cabinet(キャビネット)
- Whatsnew(新着)
- Search(サイト内検索)
- Approval(承認機能)
- Holidays(祝日管理)
- Menu(メニュー)
-
OriginalPlugin(オリジナル・プラグイン開発)
- OriginalPluginFiles(ファイル一覧)
- Sample.php
- SamplePost.php
- plugin.ini
- SamplesPlugin.php
- create_samples_table.php
- create_sample_posts_table.php
- samples_frame_edit_tab.blade.php
- card/index.blade.php
- card/template.ini
- default/bucket.blade.php
- default/edit.blade.php
- default/empty_bucket.blade.php
- default/index.blade.php
- default/list_buckets.blade.php
- default/show.blade.php
- default/template.ini
- WYSIWYG
- Session
- Programing tips
- Rule(ルール)
- Laravel method tips
- Laravel reference pages
- PHP
- phpcs
- Datetimepicker
- Hook(処理のフック)
- SQL
- Pull-Request(Web画面上)
- Post
- Optimize
- Composer
- npm
- コントローラー側の$this--can()-の調査
- API (外部サービスAPI)
- Test Case(テストケース)
- memo(永原のメモ)
- TCPDF(実装サンプル)
-
Dusk(ブラウザテスト)
- Github-Actions-Dusk(Github Actionsでブラウザテスト)
- Dusk-Manual(マニュアル自動生成)
- Develop-Windows(Windows開発環境)
- Phpunit(ユニットテスト)
- users_columns(ユーザ任意項目)
- container-page-beta(コンテナ方式(ページ)対応(ベータ版))
- Migration
- Other
- Link
- MultiLanguage(多言語化の際の注意点)