eccube-2.17.2 を Arch Linux にインストール (PostgreSQL)

こちらの記事を参考にしました。
[いまさらECCUBE2をローカル環境にインストール](https://qiita.com/kanuu/items/25da2f87aca18def302b)

eccube-2.17.2 を Arch Linux にインストールしました。
データベースは、PostgreSQL です。

php のバージョンです。

```text
$ php --version
PHP 8.2.3 (cli) (built: Feb 15 2023 16:48:38) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.3, Copyright (c) Zend Technologies
```

PostgreSQL のバージョンです。

```text
$ psql --version
psql (PostgreSQL) 15.2
```

pgsql を使えるようにします。

```bash
sudo pacman -S php-pgsql
```

```text:/etc/php/php.ini
（省略）
extension=pgsql
```
PostgreSQL が動いていることを確認

```text
$ sudo systemctl status postgresql
● postgresql.service - PostgreSQL database server
     Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; pres>
     Active: active (running) since Sat 2023-03-11 14:35:55 JST; 28s ago
    Process: 2643 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGROOT}/data >
   Main PID: 2645 (postgres)
```

## データベースの用意

>ユーザー　eccube2
>パスワード　tiger123
>データベース　eccube_db

```bash
su postgres
psql
```

```text
postgres=# CREATE ROLE eccube2 login password 'tiger123';
postgres=# create database eccube_db;
postgres=# alter database  eccube_db  owner to  eccube2;
```

## ソースのダウンロード

```bash
wget https://github.com/EC-CUBE/ec-cube2/releases/download/eccube-2.17.2/eccube-2.17.2.tar.gz
```

解凍

```bash
tar xvfz eccube-2.17.2.tar.gz
```

## サーバーの起動

```bash
cd ec-cube2
```

パーミッションの変更

```bash
    chmod -R go+w "./html"
    chmod go+w "./data"
    chmod -R go+w "./data/Smarty"
    chmod -R go+w "./data/cache"
    chmod -R go+w "./data/class"
    chmod -R go+w "./data/class_extends"
    chmod go+w "./data/config"
    chmod -R go+w "./data/download"
    chmod -R go+w "./data/downloads"
    chmod go+w "./data/fonts"
    chmod go+w "./data/include"
    chmod go+w "./data/logs"
    chmod -R go+w "./data/module"
    chmod go+w "./data/smarty_extends"
    chmod go+w "./data/upload"
    chmod go+w "./data/upload/csv"
```

サーバーの起動

```bash
php -S localhost:8000
```

## インストール

次にアクセスして設定をすすめる
http://localhost:8000/html/install/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/e9ddaa24-6506-1c4c-e3f2-e38e95a07c78.png)

## 管理画面

インストールがうまくいくと、次のような画面が出てきます。
http://localhost:8000/html/[管理機能ディレクトリ]/
[管理機能ディレクトリ]　を kanri とした場合は、
http://localhost:8000/html/kanri/ です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/2446e826-b0b0-6a90-6d38-486013b971d7.png)

ログインには、
管理機能にログインするためのIDです。
管理機能にログインするためのパスワードです。
で入力したものを使います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/4b077fbb-8790-f679-cab1-fbd5f63ad03d.png)

管理者でログインした時の画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/cec78e1c-8944-f2ec-1a7f-c3bb48064339.png)

## フロント画面

http://localhost:8000/html/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/7223c095-8187-6b16-3c1b-0e2dfb4d3799.png)

## 新着情報の追加
管理画面にログインして、
コンテンツ管理　-> 新着情報
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/52c79b57-0d9e-09ab-2e7c-db4bef2b3cf7.png)

フロント画面の新着情報に表示されます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/ac45403a-dc63-c68d-9fe2-83bb9602e409.png)

## 設定情報

データベースの設定情報などはこちらです。
PostgreSQL で、
データベースは、eccube_db
ユーザーは、eccube2
です。

```php:data/config/config.php
<?php
define('ECCUBE_INSTALL', 'ON');
define('HTTP_URL', 'http://localhost:8000/html/');
define('HTTPS_URL', 'http://localhost:8000/html/');
define('ROOT_URLPATH', '/html/');
define('DOMAIN_NAME', '');
define('DB_TYPE', 'pgsql');
define('DB_USER', 'eccube2');
define('DB_PASSWORD', '*******');
define('DB_SERVER', '127.0.0.1');
define('DB_NAME', 'eccube_db');
define('DB_PORT', '');
define('ADMIN_DIR', 'kanri/');
define('ADMIN_FORCE_SSL', FALSE);
define('ADMIN_ALLOW_HOSTS', 'a:0:{}');
define('AUTH_MAGIC', '047f3e7ad583d91df4ccad16d3479e6983e45f4d');
define('PASSWORD_HASH_ALGOS', 'sha256');
define('MAIL_BACKEND', 'mail');
define('SMTP_HOST', '');
define('SMTP_PORT', '');
define('SMTP_USER', '');
define('SMTP_PASSWORD', '');
```