# NextCode CMS インストール説明書

最終更新: 2026-06-12（v1.1.0）

## 1. 必要なもの

| 項目 | 要件 |
|---|---|
| PHP | 7.4 〜 8.5（**推奨 8.3**。8.3 / 8.4 / 8.5 で動作確認済み） |
| データベース | MySQL 5.5以上 または MariaDB（空のDBを1つ） |
| Webサーバー | Apache + mod_rewrite（XServer等の共用レンタルサーバーOK） |
| PHP拡張 | php-gd（画像リサイズに使用）、mysqli |

共用サーバーの場合は、サーバーパネルの「PHPバージョン切替」で **PHP 8.3** （無ければ7.4〜8.5のいずれか）を選択してください。

## 2. かんたんインストール（推奨・2ファイルだけ）

全ファイルを転送する代わりに、**2つのファイルだけ**アップロードする方法です。

1. `quick-install.php` と `nextcode-cms.zip`（配布ZIPを改名）を公開ディレクトリにアップロード
2. ブラウザで `https://あなたのドメイン/quick-install.php` を開く
3. 「インストール開始」を押す → 展開・権限設定が自動で行われ、セットアップ画面に進みます
4. インストーラーとZIPは完了時に自動削除されます

> ZIPを置かなくても配布サーバーからの自動ダウンロードを試みます（配布サーバー稼働時）。

## 3. 手動アップロード（FTPで全ファイル転送する場合）

ZIPを展開してできる以下の構成を、**そのまま公開ディレクトリ直下**（例: XServerなら `public_html/`）にアップロードします。

```
public_html/
├── .htaccess        ← 必ずアップロードする（隠しファイル）
├── app/
└── lib/
```

> **注意**: `.htaccess` はFTPソフトの設定によっては表示されません。「隠しファイルを表示」を有効にして、アップロード漏れがないか確認してください。

### パーミッション設定
以下の2フォルダを書き込み可能（707 または 757）にします。

```
app/tmp/            … キャッシュ・ログ・セッション
app/webroot/files/  … アップロード画像の保存先
```

## 4. データベースの準備

サーバーパネル等で空のMySQLデータベースを1つ作成し、以下の4つを控えます。

- ホスト名（例: `localhost` / `mysqlXXX.xserver.jp`）
- データベース名
- ユーザー名
- パスワード

テーブルはインストーラーが自動作成するので、手動でSQLを実行する必要はありません。

## 5. セットアップウィザード

ブラウザでサイトのURL（例: `https://example.com/`）を開くと、自動的にセットアップ画面へ移動します。

| ステップ | 入力内容 |
|---|---|
| ① 必要要件 | PHPバージョン・GDモジュールを自動チェック |
| ② DB設定 | 手順4で控えたDB情報を入力（接頭辞は通常空欄でOK） |
| ③ サイト設定 | サイト名を入力（後から管理画面で変更可） |
| ④ 管理者設定 | 管理者の名前・メールアドレス・パスワード |
| ⑤ 完了 | 設定ファイル `my.php` とテーブルが自動生成されます |

完了すると、ホーム・お問い合わせ・ブログの3ページを持つサイトが立ち上がります。最初の管理者は最上位権限（developer）で作成されます。

## 6. インストール後の最初の設定

1. `/system/signin` からサインイン
2. 管理画面 **[設定 > 基本設定]** で以下を入力
   - サイト名 / キャッチコピー（ヘッダー・メタタグに反映）
   - メールアドレス（お問い合わせの通知先・自動返信の差出人）
   - 電話番号 / 住所 / 会社名（ヘッダー・フッターに自動表示）
3. トップページを開き「編集モードへ」→ ブロックを編集

## 7. うまく動かないとき

| 症状 | 原因と対処 |
|---|---|
| トップが真っ白 / 500エラー | PHPバージョンを確認（7.4未満はNG）。`app/tmp` の書き込み権限を確認 |
| セットアップ画面が出ない | `.htaccess` のアップロード漏れ。mod_rewriteが有効か確認 |
| 「設定ファイルに書き込みできません」 | 公開ディレクトリ直下（`my.php` が作られる場所）の書き込み権限を確認 |
| DB接続に失敗 | ホスト名・DB名・ユーザー名・パスワードの再確認。DBサーバーが `localhost` ではない場合あり |
| 画像アップロードに失敗 | `app/webroot/files` の書き込み権限と php-gd の有無を確認 |
| 再インストールしたい | 公開ディレクトリ直下の `my.php` を削除し、DBを空にしてから再アクセス |

## 8. セキュリティの推奨設定

- 管理者パスワードは12文字以上を推奨
- サイト全体をHTTPS化（サーバーパネルの無料SSL等）
- `my.php`（DB接続情報）は配布・コミットしない
