AlmaLinuxにEC-CUBE４をターミナルでインストール

[基本環境](#基本環境)
[データベース作成](#データベース作成)
[composerpharインストール](#composerpharインストール)
[ec-cube4系最新バージョンをインストール](#ec-cube4系最新バージョンをインストール)
[データベース設定](#データベース設定)
[ブラウザで確認](#ブラウザで確認)
[サイト設定](#サイト設定)
[後始末](#後始末)
[管理画面にbasic認証](#管理画面にbasic認証)
[参考記事](#参考記事)

# 基本環境
AlmaLinux release 8.5
PHP 7.4.27 
MariaDB 10.5.13

# データベース作成

ログイン

```
mysql -u ユーザー名

MariaDB [(none)]>
```
既存データベース確認

```
show databases;
```

新規データベース作成

```
create database データベース名;
```

作成されたデータベースを確認

```
show databases;
```

# composerpharインストール

EC-CUBEをインストールするディレクトリの一つ上の階層に移動
/var/www/html/example.comをEC-CUBEルートにしたい

```
cd /var/www/html
```
composer.pharファイルを生成

`https://getcomposer.org/download/`
からコマンドをコピペしてダウンロードする

composer.phar のバージョンをEC-CUBE 4.0の対応しているバージョン（1.x）に変更

```
php composer.phar selfupdate --1

Upgrading to version 1.10.25 (1.x channel).
```

# ec-cube4系入れたいバージョンをインストール
`"4.x.x"`　部分に入れたいバージョンを入力しコマンド

```
php composer.phar create-project ec-cube/ec-cube ec-cube "4.x.x" --keep-vcs

Deprecated: Directive 'allow_url_include' is deprecated in Unknown on line 0
  > Finished Successful!
Executing script cache:clear --no-warmup [OK]
Executing script cache:warmup --no-optional-warmers [OK]
Executing script assets:install --symlink --relative html [OK]
```

ファイルを確認

```
ls /var/www/html

composer.phar ec-cube 
```

ディレクトリ名を変更、パーミッション変更し、ディレクトリ内に移動

```
mv /var/www/html/ec-cube /var/www/html/example.com
chmod 777 -R /var/www/html/example.com
chown -R apache:apache /var/www/html/example.com
cd /var/www/html/example.com
```

# データベース設定

```
php bin/console eccube:install


EC-CUBE Installer Interactive Wizard
====================================

 If you prefer to not use this interactive wizard, define the environment variables as follows:
 
  $ export APP_ENV=prod
  $ export APP_DEBUG=0
  $ export DATABASE_URL=database_url
  $ export DATABASE_SERVER_VERSION=server_version
  $ export MAILER_URL=mailer_url
  $ export ECCUBE_AUTH_MAGIC=auth_magic
  ... and more
  $ php bin/console eccube:install --no-interaction

 Trusted hosts. ex) www.example.com, localhost ...etc [^127\.0\.0\.1$,^localhost$]:
 > 

 Database Url [sqlite:///var/eccube.db]:
 > 
```

データベースURLを尋ねられるので入力

```
mysql://[ユーザー名]:[パスワード]@[ホスト名]/[データベース名]

Mailer Url [null://localhost]:
 > 
```

データベースホストを尋ねられるので入力

```
localhost

Auth Magic [Bul8AEaleFQrDjD5]:
 > 
```

そのままを入力

```
Bul8AEaleFQrDjD5
```

すべてのデータを初期化するか尋ねられるのでYES

```
[CAUTION] Execute the installation process. All data is initialized.         
 !                                                                              
 Is it OK? (yes/no) [yes]:
 > 
```

```
yes

[OK] EC-CUBE installation successful.  
```

EC-CUBEインストールが成功した

# ブラウザで確認
フロントページ
`https://example.com/`
管理画面
`https://example.com/admin/login`
ログインID：`admin`
パスワード：`password`

### アクセスできなかったら
![スクリーンショット 2022-12-05 9.32.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1653133/d2e583c7-a8f5-2e7a-a20c-0cefeab24be4.png)

```:#&nbsp;/var/www/html/example.com/.env
（ドメインでアクセスの場合）
TRUSTED_HOSTS=^example\.com$

（IPアドレスでアクセスの場合）
TRUSTED_HOSTS=^xxx\.xxx\.xxx\.xxx$
```


# サイト設定
### ログインフォルダ名を憶測されにくいものに変更
管理画面＞設定＞システム設定＞セキュリティ管理
管理画面URL`hoge`
SSLを強制`✔︎`
管理画面URLが`https://example.com/hoge/login`に変更された

### ログイン情報を変更
管理画面＞設定＞システム設定＞メンバー管理

### 店舗設定
管理画面＞店舗設定＞基本設定


# 後始末
###composer.phar削除

```
# rm /var/www/html/composer.phar
```

### パーミッション設定

一般ディレクトリ　705

```
find /var/www/html/example.com -type d -exec chmod 705 {} +
```

一般ファイル 604

```
find /var/www/html/example.com -type f -exec chmod 604 {} +
```

以下ディレクトリ　707

```
chmod 707 /var/www/html/example.com/
chmod 707 /var/www/html/example.com/app/
chmod 707 /var/www/html/example.com/app/Plugin/
chmod 707 /var/www/html/example.com/app/PluginData/
chmod 707 /var/www/html/example.com/app/proxy/
chmod 707 /var/www/html/example.com/app/template/
chmod 707 /var/www/html/example.com/html/
chmod 707 /var/www/html/example.com/var/
chmod 707 /var/www/html/example.com/vendor/
```

以下ファイル 606

```
chmod 606 /var/www/html/example.com/composer.json
chmod 606 /var/www/html/example.com/composer.lock
```

以下ファイル 400

```
chmod 400 /var/www/html/example.com/.env
chmod 400 /var/www/html/example.com/.htaccess
```

# 管理画面にBasic認証

EC-CUBE4.1~ Basic認証は使用しない
https://github.com/EC-CUBE/ec-cube/pull/5242


***
# 参考記事
`https://doc4.ec-cube.net/quickstart/command_install`
`https://getcomposer.org/download/`
`https://qiita.com/takeshi81/items/48ea62eae2fc7f1cb2f0`
`https://colorfulpuzzle.jp/2022/10/03/eccube4_changing_domain_error/`