投稿者: manualmaton Page 1 of 290

Ubuntu26.04でNextcloudをインストール。(Apache/MySQL/PHP8.5-FPM)

概要

  • Ubuntu 26.04
  • Apache

をインストールした状況で、「PHP-FPM」を稼働させた上でNextcloudをインストールしていくためのメモです。

この手順はゴールではなくスタートです

  • 本手順は「構築した」という始まりに過ぎません。
  • 「動く」手順ではありますが「初期設定」は以下が絡むため、これ以上に厄介です。
    • 初期設定
    • メール設定
    • redis設定
    • 各種セキュリティ
    • ログ設定
    • アプリのチューニング…
  • インターネット環境だろうとローカルだろうと、「データを取り扱う器」を構築した以上、データ保全という義務と責任がこれから重くのしかかります。
  • 本手順で「めんどくさい」と思った方は素直にOneDrive/GoogleDrive/Dropboxをお使いください。その方があなたもデータも幸せです。(実際、筆者が使ってるGoogle AI proなら月額2900円で5TBも利用可能です!)

再掲:Nextcloudというかサービス運営者に必要なのは「資格」ではなく「責任」です。

Ubuntu24.04のインストール時にも言いましたが、この理論は未だに私の中では真理です。

巷では「○○の資格があればこの運用は」的な話があるようですが:そもそも運用の方針を取り違えていると思います。

「救急戦隊ゴーゴーファイブ」に曰く

「資格? 馬鹿野郎、誰もそんなもの持ってねぇんだ! いいか、あるのは責任だけだ。戦う責任! あの子を傷つけちまった責任! そいつを果たすには、この地球を守るしかねぇんだ!」

私が言いたいことはこれに尽きます。

なぜ mod_php ではなく PHP-FPM を使うのか?

パフォーマンスとリソース効率を向上させるためです。

従来のmod_phpでは、PHPがApacheの全プロセスに組み込まれるため、画像ファイルのリクエストのようなPHPが不要な処理でもメモリを消費し、無駄が多くなりがちでした。

一方、PHP-FPMはPHPの処理をApacheから完全に独立させた専門のプロセスとして管理します。ApacheはPHPが必要なリクエストだけをPHP-FPMに中継するため、サーバー全体の動作が軽量かつ高速になります。

前提

  • OS: Ubuntu 26.04 LTS
  • → SSH接続できること。
  • ※root権限を持っていること。
  • この権限を持っていない場合、ここから先の設定はできません。
  • データベース: MySQL 8.0
  • Webサーバー: Apache 2.4
  • 実行ユーザーはwww-data
  • ホームディレクトリを /home/www-dataにしています。自分の環境に合わせてください。
  • ドメインとSSL/TLS証明書: 準備済みであること

筆者の好みでaptitudeを用いています。必要に応じてaptをご利用ください。

さっくりとはならない手順

  1. パッケージをインストールしていきます。
  2. PHP-FPMの設定を行います。
  3. PHPのパフォーマンス設定を行います。
  4. MySQLでDB設定を行います。
  5. NextcloudのDBを設定します。
  6. Apacheバーチャルホストの設定を行います。
  7. バーチャルホストの設定を有効化します。
  8. 設定の有効化とサービスの再起動を実施します。
  9. Webブラウザで初期インストールを行います。

必要なパッケージのインストール

PHP本体、PHP-FPM、Nextcloudが必要とする各種PHPモジュールをインストールします。

sudo aptitude install php php-fpm php-opcache php-pdo php-bcmath php-calendar php-ctype php-fileinfo php-ftp php-gd php-intl php-json php-mbstring php-mysql php-posix php-readline php-sockets php-bz2 php-tokenizer php-zip php-curl php-iconv php-xml php-imagick php-gmp php-apcu memcached

バージョンを確認します。

php -v

表示例

PHP 8.5.4 (cli) (built: Apr  1 2026 09:36:11) (NTS)
Copyright (c) The PHP Group
Built by Ubuntu
Zend Engine v4.5.4, Copyright (c) Zend Technologies
    with Zend OPcache v8.5.4, Copyright (c), by Zend Technologies

※Ubuntu 26.04はリポジトリを追加するまでもなくPHP8.5がインストールされます。※

PHP-FPMとApacheの連携設定

従来の mod_php を無効化し、PHP-FPMとの通信に必要な proxy_fcgi モジュールなどを有効化します。

  • mod_phpを無効化(もしインストールされていれば)
sudo a2dismod php
  • 必要なモジュールを有効化
sudo a2enmod proxy_fcgi setenvif header rewrite

PHPのパフォーマンス設定

Nextcloudのパフォーマンス向上のため、PHPのメモリ制限、OPcache、APCuを設定します。

  • php.ini の設定 (memory_limit)
sudo sed -i 's/memory_limit = .*/memory_limit = 512M/g' /etc/php//fpm/php.ini
  • OPcacheとAPCuの有効化

Nextcloud推奨の設定値を /etc/php//mods-available/ に作成・適用します。

  • OPcache設定
cat <<- __EOF__ | sudo tee /etc/php//mods-available/opcache.ini
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
__EOF__
  • APCu設定
cat <<- __EOF__ | sudo tee /etc/php//mods-available/apcu.ini
[apcu]
apc.enabled=1 apc.shm_size=32M apc.ttl=7200 apc.enable_cli=1 apc.serializer=php __EOF__
  •  設定の有効化
sudo phpenmod opcache apcu

このphpenmodがハマりポイントでした。従来の ln -sではなく、専用コマンドを用いることでfpm / cli / apache-mod でも安定した運用が可能になります。

データベースの作成

Nextcloudが使用するMySQLデータベースと専用ユーザーを作成します。

  • MySQLにrootでログイン
mysql -u root -p

以下のSQLコマンドを実行します。YOUR_STRONG_PASSWORD は必ず強固なパスワードに変更してください。

CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'YOUR_STRONG_PASSWORD';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Nextcloudプログラムの配置

Nextcloud本体をダウンロードし、Webサーバーからアクセスできる場所に配置します。

  • 作業ディレクトリへ移動
cd /tmp && pwd

任意のディレクトリを指定します。

  • 最新版をダウンロードして展開
wget https://download.nextcloud.com/server/releases/latest.zip
unzip latest.zip
  • 展開したファイル一式をWeb公開用ディレクトリに移動
sudo mv nextcloud /home/www-data/
  • 所有者をWebサーバーの実行ユーザーに変更
sudo chown -R www-data:www-data /home/www-data/nextcloud

Apacheバーチャルホストの設定

Nextcloud用のApache設定ファイルを作成します。ここでPHP-FPMとの連携設定を組み込みます。

  • ログディレクトリの作成
sudo mkdir /var/log/nextcloud
  • ログディレクトリをwww-dataに修正。

これは、後のメンテナンス性を高めるためです。

sudo chown www-data:www-data /var/log/nextcloud
  • 設定ファイルの作成
/etc/apache2/sites-available/nextcloud.conf

を、teeで一気通貫で作ります。

# 【】内はご自身の環境に合わせてください
cat <<- __EOF__ | sudo tee /etc/apache2/sites-available/nextcloud.conf
<VirtualHost *:80>
    ServerName 【hoge.example.com】
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>

<VirtualHost *:443>
    ServerName 【hoge.example.com】
    DocumentRoot 【/home/www-data/nextcloud】

    CustomLog /var/log/nextcloud/nextcloud_access.log combined
    ErrorLog /var/log/nextcloud/nextcloud_error.log

    <Directory 【/home/www-data/nextcloud】>
        Options -MultiViews
        AllowOverride All
        Require all granted
    </Directory>

    # PHP-FPM連携設定
    <FilesMatch \.php$>
        # SetHandlerで、phpファイルのリクエストをPHP-FPMのソケットに渡す
        SetHandler "proxy:unix:/var/run/php/php8.5-fpm.sock|fcgi://localhost/"
    </FilesMatch>

    # --- SSL設定 ---
    SSLEngine on
    Protocols h2 http/1.1
    SSLCertificateFile 【/etc/certs/hoge.example.com.crt】
    SSLCertificateKeyFile 【/etc/private/hoge.example.com.key】
    # 中間証明書が別に提供されている場合はこちらを有効化
    # SSLCACertificateFile 【/etc/certs/hoge.example.com.CA.crt】

    # --- 推奨SSL/TLS設定 ---
    SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite          ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
    SSLHonorCipherOrder     on
    SSLCompression          off
    SSLSessionTickets       off

    # --- セキュリティヘッダー ---
    Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
    Header always set Referrer-Policy "no-referrer"
    Header always set X-Content-Type-Options "nosniff"
    Header always set X-Frame-Options "SAMEORIGIN"
    Header always set X-Permitted-Cross-Domain-Policies "none"
</VirtualHost>
__EOF__

※ こちらもMod_Securityによる連携は可能です。

設定の有効化とサービスの再起動

  • 作成したサイト設定を有効化
sudo a2ensite nextcloud.conf
  • 構文チェック
sudo apache2ctl configtest

Syntax OK と表示されることを確認

  • fpm/apacheサービスを再起動
sudo systemctl restart php8.5-fpm.service
sudo systemctl restart apache2.service
  • fpm/apache再起動確認
systemctl status php8.5-fpm.service
systemctl status apache2.service

active (running)と表示されていれば正常です。

Webブラウザでのセットアップ

最後に、Webブラウザで https://【設定したドメイン】 にアクセスし、画面の指示に従ってNextcloudの初期設定を完了させます。

  • 管理者ユーザーのユーザー名とパスワードを入力
  • データベース情報を入力
  • データベースのユーザー名: nextcloud
  • データベースのパスワード: データベースのパスワード
  • データベース名: nextcloud
  • データベースのホスト名: localhost (または localhost:3306)

これで、PHP-FPM上で動作するNextcloud環境の構築が完了します。

Ubuntu26.04にRedmine6.1をインストール。(並びにハマったところのメモ)

以下の環境でインストールを確認しています。

  • Ubuntu 26.04
  • Ruby: 3.3 以上 (Ubuntu標準パッケージ)
  • Redmine: 6.1-stable
  • DB: MySQL 8.x

本記事で実施すること

  1. Redmineを動かすためのパッケージがインストールできるように準備をします。
  2. Redmineを動かすためのパッケージ(Ruby/データベース/Webサービスなど)をインストールします。
  3. データベースやWebサービスの基礎設定を行います。
  4. Redmineの動作確認を行います。

想定している読者

  • 「Redmine」をUbuntuにインストールしてみたい
  • まずは動くところまで確認できればいい

前提

  • Ubuntuサーバの初期設定が終わった直後の状態を想定します。
  • DNSでドメインの名前が解決できることを前提としています
  • 環境は以下の通りです。
  • Apache系
  • MySQL
  • Ruby
    • 3.3 (Ubuntu 26.04)
  • また、パッケージ管理としてaptitudeを用いています。aptが好みの方はこちらに読み替えてください。

特記事項

  • 本手順ではRedmine 6.1.2をインストールします。
  • 本記事のredmineの格納ディレクトリは/home/www-data/redmineです。一般的なディレクトリ(/var/lib/redmine)と異なることを最初に注記します。
  • ほぼコピペだけで済むような構成にしていますが、一部、テキストエディタを使用する箇所があります。
  • また、自身の環境に合わせたりパスワードを設定する項目がありますのでそこは注意してください。

手順

必要なパッケージをインストールします。

  • パッケージ全体のアップデート
sudo aptitude update
  • 必要なパッケージのインストール
sudo aptitude install build-essential zlib1g-dev libssl-dev libreadline-dev libyaml-dev libcurl4-openssl-dev libffi-dev mysql-server mysql-client apache2 apache2-dev libapr1-dev libaprutil1-dev imagemagick libmagick++-dev fonts-takao-pgothic subversion git ruby libruby ruby-dev libmysqlclient-dev

apacheの追加モジュールをインストールします。

sudo aptitude install libapache2-mod-passenger

rubyのパッケージ管理(gem)を用いて必要なライブラリをインストールします。

sudo gem install bundler racc mysql2

「3 gems installed」が表示されればインストール成功です。

必要に応じてmysqlの初期設定を行います。

mysql_secure_installationによる初期設定を行います。

うまくいかない場合は以下を参照してください。

https://barrel.reisalin.com/books/bbf94/page/mysql-secure-installation

mysqlでDBとユーザーを設定します。

sudo mysql -u root -p

上記で設定した「mysqlのrootパスワード」を入力し、mysqlにログインします

CREATE DATABASE redmine character set utf8mb4;

DB "redmine" を作成します

CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'password';

ユーザ "redmine"を作成し、パスワードを設定します。
この'password'は任意のパスワードに変更してください

GRANT ALL ON redmine.* TO 'redmine'@'localhost';
flush privileges;
exit

設定したDBでログインできることを確認します。

mysql -u redmine -p
SHOW DATABASES;
exit
  • 配置ディレクトリ作成
sudo mkdir -p /home/www-data/redmine

自分の環境に合わせます。

  • 所有者変更
sudo chown -R www-data:www-data /home/www-data
  • Redmine 6.1を入手
sudo -u www-data svn co https://svn.redmine.org/redmine/branches/6.1-stable /home/www-data/redmine

Redmineのコンフィグを設定します。

  • サンプルファイルをコピーしてコンフィグを編集
sudo -u www-data cp -pi /home/www-data/redmine/config/database.yml.example /home/www-data/redmine/config/database.yml

/home/www-data/redmine/config/database.yml

このファイルを教義・信仰に従ったエディタで編集してください。

database.yml 編集内容

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  # rootからredmineに変更します
  password: "redmine用のパスワード"
  encoding: utf8mb4
# 本番環境(production)のみ設定を行います

Redmineのマイグレーションを行います。

  • Redmineのルートディレクトリに移動
cd /home/www-data/redmine/ && pwd

/home/www-data/redmine/ (Redmineを配置したディレクトリ)であることを確認します

  • Bundlerの設定

※26.04でハマったところです。Bundlerの設定を行う必要がありました。

sudo -u www-data bundle config set --local path 'vendor/bundle' && sudo -u www-data bundle config set --local without 'development test'
  • stringio競合回避

※これが一番ハマった部分です。Redmineが必要とするライブラリとUbuntu26.04のRubyのgemに齟齬があったため、これに気づかずエラーを繰り返しました。

sudo -u www-data bundle update stringio
  • bundle install
sudo -u www-data bundle install
  • シークレットトークンの発行
sudo -u www-data bundle exec rake generate_secret_token RAILS_ENV=production
  • DBマイグレーション
sudo -u www-data bundle exec rake redmine:load_default_data RAILS_ENV=production
  • 日本語化
sudo -u www-data RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data
  • アセットのプリコンパイル

※これもハマりました。表示エラーが出てきました。

sudo -u www-data bundle exec rake assets:precompile RAILS_ENV=production

Apacheの設定ファイルを作成します。

【】を自分の作成したRedmineのサーバ名/ドメイン名に変更します。

cat <<- __EOF__ | sudo tee -a /etc/apache2/sites-available/redmine.conf
<VirtualHost *:80>
    ServerName 【hoge.example.com】
    # ServerNameは自身が設定したredmineに読み替えてください。
    DocumentRoot /home/www-data/redmine/public
    <Directory /home/www-data/redmine/public>
        Options -MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
__EOF__

設定を反映させます。

  • ファイル作成確認
ls -l /etc/apache2/sites-available/redmine.conf
  • 設定ファイル有効化
sudo a2ensite redmine.conf
  • 初期サイト設定を無効化
sudo a2dissite 000-default.conf
sudo a2dissite default-ssl.conf
  • コンフィグファイル整合性確認
sudo apache2ctl configtest

Syntax OK を確認します

  • 設定反映前のapacheステータス確認
systemctl status apache2.service

active(running)を確認します

  • apache再起動
sudo systemctl restart apache2.service
  • 設定反映後のapacheステータス確認
systemctl status apache2.service

active(running)を確認します

Webページの表示を確認します。

http://設定したRedmineドメイン

でRedmineのトップページが表示されれば成功です。

直ちにadmin/adminでログインし、強固なパスワードを設定し直します。

再販、統率者デッキ。(統率者メモ2026/05/04)

前々から気になっていたデッキが再販かかっていたので注文しました。

ダスクモーン統率者デッキ『奇跡の人』

クリーチャー
  • 《覆いを貫く者、アミナトゥ/Aminatou, Veil Piercer(DSC)》
  • 《鍵の主/The Master of Keys(DSC)》
  • 《飛翔する光り/Soaring Lightbringer(DSC)》
  • 《金縛りへの恐怖/Fear of Sleep Paralysis(DSC)》
  • 《古の館底種/Ancient Cellarspawn(DSC)》
  • 《変化の狂信者/Metamorphosis Fanatic(DSC)》
  • 《現象の調査員/Phenomenon Investigators(DSC)》
  • 《メサの女魔術師/Mesa Enchantress(DSC)》
  • 《オンドゥの精霊の踊り手/Ondu Spiritdancer(DSC)》
  • 《星原の神秘家/Starfield Mystic(DSC)》
  • 《境界のレインジャー/Verge Rangers(DSC)》
  • 《夢喰い/Dream Eater(DSC)》
  • 《予知するスフィンクス/Prognostic Sphinx(DSC)》
  • 《精神のフレイル、アルヴィノクス/Arvinox, the Mind Flail(DSC)》
  • 《破滅企図の悪魔/Demon of Fate's Design(DSC)》
  • 《破滅喚起の巨人/Doomwake Giant(DSC)》
  • 《悪夢の番人/Nightmare Shepherd(DSC)》
  • 《埋葬布を纏う者、エイスリオス/Athreos, Shroud-Veiled(DSC)》
  • 《真面目な身代わり/Solemn Simulacrum(DSC)》
  • 《オーラ術師/Auramancer(DSC)》
  • 《月恵みのクレリック/Moon-Blessed Cleric(DSC)》
  • 《空想の元型/Archetype of Imagination(DSC)》
  • 《つややかな雄鹿/Burnished Hart(DSC)》
呪文
  • 《運命の是正/Redress Fate(DSC)》
  • 《秘密のアーケード+埃被った応接室/Secret Arcade+Dusty Parlor(DSC)》
  • 《手狭な通気口+進入迷路/Cramped Vents+Access Maze(DSC)》
  • 《終末/Terminus(DSC)》
  • 《アミナトゥの占い/Aminatou's Augury(DSC)》
  • 《完全なる終わり/Utter End(DSC)》
  • 《天使への願い/Entreat the Angels(DSC)》
  • 《独演の代償/Monologue Tax(DSC)》
  • 《空位の玉座の印章/Sigil of the Empty Throne(DSC)》
  • 《機を見た護法/Timely Ward(DSC)》
  • 《壮麗な複製/Extravagant Replication(DSC)》
  • 《鏡細工/Mirrormade(DSC)》
  • 《多元宇宙と共に/One with the Multiverse(DSC)》
  • 《サメ台風/Shark Typhoon(DSC)》
  • 《墨盾/Inkshield(DSC)》
  • 《生命保険/Life Insurance(DSC)》
  • 《精霊の姉の召集/Spirit-Sister's Call(DSC)》
  • 《時の一掃/Time Wipe(DSC)》
  • 《底なしプール+更衣室/Bottomless Pool+Locker Room(DSC)》
  • 《剣を鍬に/Swords to Plowshares(DSC)》
  • 《思案/Ponder(DSC)》
  • 《先触れ/Portent(DSC)》
  • 《時間の把握/Telling Time(DSC)》
  • 《悪魔の幻視/Diabolic Vision(DSC)》
  • 《秘儀の印鑑/Arcane Signet(DSC)》
  • 《太陽の指輪/Sol Ring(DSC)》
  • 《排斥/Cast Out(DSC)》
  • 《塵への帰結/Return to Dust(DSC)》
  • 《安全の領域/Sphere of Safety(DSC)》
  • 《秘儀の否定/Arcane Denial(DSC)》
  • 《渦まく知識/Brainstorm(DSC)》
  • 《異世界の凝視/Otherworldly Gaze(DSC)》
  • 《意味の渇望/Thirst for Meaning(DSC)》
  • 《最古再誕/The Eldest Reborn(DSC)》
  • 《骨読み/Read the Bones(DSC)》
  • 《アゾリウスの印鑑/Azorius Signet(DSC)》
  • 《石なる知識/Brainstone(DSC)》
  • 《統率者の宝球/Commander's Sphere(DSC)》
  • 《精神石/Mind Stone(DSC)》
  • 《オルゾフの印鑑/Orzhov Signet(DSC)》
土地
  • 《平地/Plains(DSC)》
  • 《平地/Plains(DSC)》
  • 《平地/Plains(DSC)》
  • 《平地/Plains(DSC)》
  • 《平地/Plains(DSC)》
  • 《島/Island(DSC)》
  • 《島/Island(DSC)》
  • 《島/Island(DSC)》
  • 《島/Island(DSC)》
  • 《沼/Swamp(DSC)》
  • 《沼/Swamp(DSC)》
  • 《沼/Swamp(DSC)》
  • 《沼/Swamp(DSC)》
  • 《沼/Swamp(DSC)》
  • 《アダーカー荒原/Adarkar Wastes(DSC)》
  • 《コイロスの洞窟/Caves of Koilos(DSC)》
  • 《ヘリオッドの高潔の聖堂/Hall of Heliod's Generosity(DSC)》
  • 《欺瞞の神殿/Temple of Deceit(DSC)》
  • 《啓蒙の神殿/Temple of Enlightenment(DSC)》
  • 《静寂の神殿/Temple of Silence(DSC)》
  • 《地底の大河/Underground River(DSC)》
  • 《広漠なる変幻地/Terramorphic Expanse(DSC)》
  • 《統率の塔/Command Tower(DSC)》
  • 《秘儀の聖域/Arcane Sanctum(DSC)》
  • 《灰のやせ地/Ash Barrens(DSC)》
  • 《アゾリウスの大法官庁/Azorius Chancery(DSC)》
  • 《ボジューカの沼/Bojuka Bog(DSC)》
  • 《ディミーアの水路/Dimir Aqueduct(DSC)》
  • 《進化する未開地/Evolving Wilds(DSC)》
  • 《ハリマーの深み/Halimar Depths(DSC)》
  • 《常夜会一家の店先/Obscura Storefront(DSC)》
  • 《オルゾフの聖堂/Orzhov Basilica(DSC)》
  • 《汚れた原野/Tainted Field(DSC)》
  • 《汚れた島/Tainted Isle(DSC)》
  • 《興隆する荒野/Thriving Heath(DSC)》
  • 《興隆する島嶼/Thriving Isle(DSC)》
  • 《興隆する湿地帯/Thriving Moor(DSC)》

デッキ

エンチャントに奇跡を持たせるというデッキ。そのため、ライブラリー操作も多め。

悪さができるエンチャントには尽きないので、これは結構いじりがいが理想です。

Ubuntu26.04とQNAPの連携。

QNAPの構築も一段落したため、やりたいこと「LinuxサーバとQNAPをつなぎ、冗長化を持たせた大容量ストレージにする」を開始します。

そもそもNFS (Network File System) とは?

NFSは、主にUNIXやLinuxなどのOS間でファイルを共有するために開発されたプロトコルです。

一番の特徴は、リモート(NASなど)にあるフォルダを、自分のコンピュータのディレクトリツリー(/mnt/qnap など)の一部として組み込めることです。
一度マウントしてしまえば、ユーザーやアプリからはそれがネットワーク経由であるということを意識せず、通常のファイル操作と同じコマンド(ls, cp, mvなど)で扱えるようになります。

主な用途

  • Webサーバーのデータ共有: 複数台のサーバーで同じ画像データなどを参照する場合。
  • バックアップ: サーバーのログやDBのダンプファイルをNASに直接書き込む。
  • 仮想化環境: 仮想マシンのディスクイメージを保存する場所(ストレージ)として利用。

他の共有方式(SMB/CIFS)との違い

よく比較されるものに、Windowsで一般的に使われる SMB (Server Message Block) があります。QNAPはどちらも使えますが、以下のような違いがあります。

特徴NFSSMB (Windows共有)
主なOSLinux / UNIXWindows (Linuxでも可)
設定のしやすさ非常にシンプル(IPベース)ユーザー名/パスワードが基本
パフォーマンスLinux間なら非常に高速以前は遅かったが今は高速
権限管理LinuxのUID/GIDに依存WindowsのACLに依存

今回目指したこと。

sequenceDiagram autonumber participant U as ユーザー participant S as Linuxサーバ (OS) participant NC as Nextcloud (アプリ) participant Q as QNAP (NAS) Note over S, Q: 1. インフラ層のマウント設定 S->>Q: NFSマウント要求 (linuxserver:/NFS) Q-->>S: 接続許可・ディレクトリを /mnt/qnap に結合 Note over U, Q: 2. Nextcloudでの外部ストレージ利用 U->>NC: ファイル一覧を表示 NC->>S: 外部ストレージ設定に基づき /mnt/qnap を参照 S->>Q: NFSプロトコル経由で実データにアクセス Q-->>S: フォルダ・ファイル情報を返す S-->>NC: データを透過的に引き渡し NC-->>U: ブラウザ上にQNAP内のファイルを表示 Note over U, Q: 3. ファイルのアップロード時 U->>NC: ファイルをアップロード NC->>S: /mnt/qnap 配下に書き込み命令 S->>Q: ネットワーク経由でQNAPにデータを転送・保存 Q-->>U: 保存完了

手順

以下、作業メモです。

ステップ1:QNAP側でのサービス有効化

  1. コントロールパネル > ネットワークとファイルサービス > Win/Mac/NFS/WebDAV を開く。
  2. NFSサービス タブで「NFSサービスを有効にする(v2/v3, v4)」にチェックを入れ、「適用」。

ステップ2:共有フォルダの権限設定

  1. コントロールパネル > 権限 > 共有フォルダ で対象フォルダ(例:NFS)の「アクセス権の編集」を開く。
  2. 「権限タイプの選択」を NFSホストのアクセス に切り替える。
  3. 「追加」 を押し、ホスト名に *(またはLinuxのIP)を入力。
  4. 重要設定:
    • 権限: 「読み取り/書き込み」を選択。
    • Squashオプション: rootユーザーで操作する場合は「なし(NO_ROOT_SQUASH)」を推奨。
  5. 設定を保存し、表示されている ネットワークパス(今回なら /NFS)をメモする。

ステップ3:Linuxサーバー側でのマウント操作

  1. ツールのインストール(未導入の場合):
    • sudo apt install nfs-common (Ubuntu/Debian)
    • sudo yum install nfs-utils (RHEL/CentOS)
  2. マウントポイントの作成:
    • sudo mkdir -p /mnt/qnap
  3. 手動マウントの実行:
    • sudo mount -t nfs QNAPのIP、ホスト名:/NFS /mnt/qnap
  4. 確認:
    • df -h を実行し、ファイルシステム欄に QNAP のパスと容量が表示されれば成功。

ステップ4:自動マウントの設定(永続化)

サーバー再起動後も自動で接続されるよう設定します。

/etc/fstabは正直編集したくないファイル筆頭です。可能な限り先にやっておくことを強く勧めます。

  • /etc/fstabバックアップ

※バックアップと言ったところで、失敗した瞬間にサーバが立ち亜が楽なるは普通に発生します。慎重を期してください。

sudo cp -pi /etc/fstab /path/to/backup/fstab.$(date +%Y%m%d)
  • バックアップ確認
diff -u /path/to/backup/fstab.$(date +%Y%m%d) /etc/fstab

差分がないことを確認します。

  • /etc/fstab追記:
QNAPのIP、ホスト名:/NFS  /mnt/qnap  nfs  defaults,_netdev  0  0

※自分の環境に合わせます。

  • /etc/fstab追記確認:
diff -u /path/to/backup/fstab.$(date +%Y%m%d) /etc/fstab

以下の差分を確認します。

+ QNAPのIP、ホスト名:/NFS  /mnt/qnap  nfs  defaults,_netdev  0  0

テスト

  • NFSマウント解除
sudo umount /mnt/qnap
  • fstabマウント
sudo mount -a
  • マウント確認
df -h

は味気ないので

{
&nbsp; echo "| デバイスパス | タイプ | 全サイズ | 使用率 | マウントポイント |"
&nbsp; echo "| --- | --- | --- | --- | --- |"
&nbsp; df -hPT | grep -vE 'tmpfs|shm|devtmpfs' | tail -n +2 | awk '{printf "| %s | %s | %s | %s | %s |\n", $1, $2, $3, $6, $7}'
}

のワンライナーを用います。

デバイスパスタイプ全サイズ使用率マウントポイント
/dev/sda2ext4233G6%/
efivarfsefivarfs256K12%/sys/firmware/efi/efivars
/dev/sda1vfat1.1G1%/boot/efi
QNAP:/NFSnfs44.2T30%/mnt/qnap

などが表示されればOKです。

サーバの再起動

この段階で

sudo reboot

をかけておきます。序盤でfstabの不具合に気づかないと、後のサーバ運用そのものが詰みます。

Ubuntu26.04にPHP8.5/PHP8.5-FPMをインストール。

概要

Ubuntu 26.04でWebアプリ(Nextcloudを想定)を動かす際の柱であるPHPのインストールを行います。

盛大にはまったポイント

2026/04/23にリリースされた26.04。導入されるミドルウェアの最新性がキモでした。

筆者が前項でやったレポジトリ追加は「26.04には対応してない。そもそもミドルウェアが合ってない」など言われましたが、
「リポジトリを追加するまでもなく最新版がインストールされる」ことに気づきませんでした。

さっくりとした手順

  1. システムを最新化します。
  2. PHP 8.5本体を導入します。
  3. 必須モジュールをインストールします。
  4. PHP-FPMを導入します。
  5. 高速化設定を行います。(OPcache, APCu周り)
  6. 設定を反映します。

システムの更新

まずは標準リポジトリを最新の状態にします。

sudo aptitude update

PHP 8.5 本体と Redis サーバーのインストール

メタパッケージ(バージョン指定なし)を使用することで、OSが最適な 8.5 系を自動選択します。

sudo aptitude install php php-fpm php-common php-cli php-readline redis-server

当初筆者はPHP8.4を選択していたのですが、そこが盛大なはまりポイントでした。(PHPの動向を追っていなかったという失態もあります)

Nextcloud 必須・推奨拡張モジュールのインストール

Nextcloudの動作に不可欠なモジュール群を一括で導入します。

sudo aptitude install php-{bcmath,bz2,curl,gd,gmp,intl,ldap,mbstring,mysql,sockets,xml,zip,imagick,redis,apcu,memcached}

Apache 連携設定 (PHP-FPM版)

Apacheで PHP 8.5 を FPM 経由で動作させる設定です。

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.5-fpm
sudo systemctl restart apache2

5. PHP 8.5 高速化設定 (OPcache / APCu)

Nextcloudの警告を消し、パフォーマンスを最大化するための設定です。

  • OPcache設定の作成
cat <<- __EOF__ | sudo tee /etc/php/8.5/mods-available/opcache.ini > /dev/null
; configuration for php opcache module
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.memory_consumption=256
opcache.save_comments=1
opcache.revalidate_freq=1
__EOF__

→ 既にあるファイルを上書きます。(切り戻し想定せず)

  • APCu設定の作成
cat <<- __EOF__ | sudo tee /etc/php/8.5/mods-available/apcu.ini > /dev/null
extension=apcu.so
[apcu]
apc.enabled=1 apc.shm_size=32M apc.ttl=7200 apc.enable_cli=1 apc.serializer=php __EOF__

 設定の有効化

sudo phpenmod opcache apcu

このphpenmodもハマりポイントでした。従来の ln -sではなく、専用コマンドを用いることでfpm / cli / apache-mod でも安定した運用が可能になります。

サービスの再起動と確認

sudo systemctl restart php8.5-fpm
sudo systemctl restart redis-server
sudo systemctl restart apache2
  • バージョンの確認
php -v

with Zend OPcache v8.5.4 等 と表示されれば正解です。

備考:PHPを用いるWebアプリ設定の確認

Apacheの各サイト設定ファイル (/etc/apache2/sites-available/*.conf) 内で、必ず 8.5 のソケットを指定してください。

<FilesMatch \.php$>
&nbsp; &nbsp; SetHandler "proxy:unix:/var/run/php/php8.5-fpm.sock|fcgi://localhost/"
</FilesMatch>

これを入れないと、

The requested URL was not found on this server.   
    
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

の非情なるメッセージが返ってきます。

Apacheのインストールと初期設定(Ubuntu 26.04)

概要

Ubuntu26.04にWebサーバーApacheをインストールします。最近のトレンドではNginxではあるものの、

  1. 豊富なモジュールとカスタマイズ
  2. 動的コンテンツの設定をしやすい
  3. 小規模サイトを立ち上げる上での手間の少なさ
  4. 外部ファイルやモジュールの連携により、以下のような細かい設定が可能
  • 自宅等からのアクセスログを残さず、ログの透明化を図る
  • Robots.txtを無視する悪質なクローラーの排除
  • mod_securityに代表されるWAF(Web Application Firewall)の設置

を考慮してのApache設定です。

さっくりとした手順

  1. (未実施の場合必須)UFWの設定を行います。
  2. Apacheのインストールを行います。
  3. Apacheの設定を行います。
  4. 設定の反映を確認します。

(未実施の場合必須)UFWの設定

この作業、サーバ移設などになれている人ほど陥る罠です。「設定はしっかりしている。なのにサンプルページすら引っかからない!」という場合、大概が「UFWでポート80/443を空けていない」パターンが大半を占めます。

大前提

SSH接続を許可(ポート22はSSH記事で許可済みを前提とする)。

設定の前の心構え:

UFWは堅牢であると同時に融通の利かない門番です。設定を間違えると「自分のサーバにログインできない」事態が易々と発生します。

そのため、この作業に臨む際は落ち着いて臨みましょう。コマンドを打つ際に3回ぐらい深呼吸してもいいぐらいの心構えです。

  • http通信を許可する
sudo ufw allow http comment 'Allow HTTP traffic for Apache'
  • https通信を許可する
sudo ufw allow https comment 'Allow HTTPS traffic for Apache'
  • 設定を確認する
 sudo ufw status verbose

上記、http/httpsが有効になっていることを確認します。

  • UFWが有効になっていない場合:有効化
sudo ufw enable 

インストールを行います。

  • パッケージ全体のアップデート
sudo aptitude update 
  • apacheのインストール
sudo aptitude install apache2
  • バージョン確認
apache2ctl -v
  • 表示例
Server version: Apache/2.4.62 (Ubuntu)
Server built:   2024-07-22T12:37:10
  • サービス稼働確認
systemctl status apache2.service

enabledactive (running)を確認します。

設定を行います。

  • 設定ファイルのバックアップ
sudo cp -pi /etc/apache2/apache2.conf /path/to/backup/directory/apache2.conf.$(date +%Y%m%d)

任意のバックアップディレクトリを指定します。

  • 設定ファイルのバックアップ確認
diff -u /path/to/backup/directory/apache2.conf.$(date +%Y%m%d) /etc/apache2/apache2.conf

差分が無いことでバックアップを確認します。

  • 設定ファイル追記
sudo tee -a /etc/apache2/apache2.conf > /dev/null << 'EOF'
ServerSignature Off
ServerTokens Prod
ServerName example.com
EOF

自分のサーバー名を英数字で置き換えてください。

  1. サーバーの署名をオフにして
  2. 最小限の情報のみを公開し
  3. Webサーバの名前を指定する

内容です。

  • 追記確認
diff -u /path/to/backup/directory/apache2.conf.$(date +%Y%m%d) /etc/apache2/apache2.conf
  • 差分内容
+ ServerSignature Off
+ ServerTokens Prod
+ ServerName 自分のサーバー名

設定反映を確認します。

  • 構文確認
sudo apache2ctl configtest

Syntax OKを確認します。

  • サービス再起動
sudo systemctl restart apache2.service
  • サービス再起動確認
systemctl status apache2.service

active (running)を確認します。

  • 設定反映確認
curl -I http://localhost

以下のように、ServerヘッダーにApacheのみが表示されていることを確認します。

Server: Apache

ノートPCサーバ化計画。(ノートPCのオートスリープオフ設定)

こちらで買っていた

LinuxデスクトップPCですら怪しい性能になったので、これをサーバに変えます。

  • Core i-5 7300
  • 8GB Memory
  • 256GB SSD

はサーバとして必要最小限以上の機能。何よりも「UPS/コンソールつきのサーバ」として家庭内運用ではこの上なく役立ちます。

今回の方針

  • Nextcloudサーバにする。
  • ローカルNWでのみ運用。DDNSやブロードバンドルータのポート解放などは行わない。
  • データストレージはNASをNFSマウントして利用。

Linuxサーバのインストール

今回選んだのは2026/04/23にリリースされたばかりのUbuntu26.04。

適当な方法でインストールメディアを作り、画面に従ってインストールするだけ。

ノートPCならではの制限解除

蓋を閉じてもスリープさせない設定

これが地味に重要です。

  • 設定ファイルのバックアップ
sudo cp -pi /etc/systemd/logind.conf /path/to/backup/logind.conf.$(date +%Y%m%d)
  • 設定ファイルのバックアップ確認
diff -u /path/to/backup/logind.conf.$(date +%Y%m%d)

エラーがないことを確認します。

  • 変更箇所

以下を修正していきます。

  • HandleLidSwitch=ignore
  • HandleLidSwitchExternalPower=ignore
  • HandleLidSwitchDocked=ignore
  • LidSwitchIgnoreInhibited=no

修正後、保存します。

  • 差分確認
diff -u /path/to/backup/logind.conf.$(date +%Y%m%d)

以下のような差分を確認します。

-#HandleLidSwitch=suspend
-#HandleLidSwitchExternalPower=suspend
-#HandleLidSwitchDocked=ignore
+HandleLidSwitch=ignore
+HandleLidSwitchExternalPower=ignore
+HandleLidSwitchDocked=ignore
 #HandleSecureAttentionKey=secure-attention-key
 #PowerKeyIgnoreInhibited=no
 #SuspendKeyIgnoreInhibited=no
 #HibernateKeyIgnoreInhibited=no
-#LidSwitchIgnoreInhibited=yes
+LidSwitchIgnoreInhibited=no
  • システム反映
sudo systemctl restart systemd-logind

システムの自動スリープ・サスペンドを分陰

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

→ システムのスリープ機能そのものを物理的にリンク切れにします。

これから

NASの設定確認やらApache設定やらが待っています。

Growi 7.5.x→7.5.yへのアップグレード

概要

Growi 7.5.x → Growi 7.5.yにアップデートする 手順です。

7.5.1 → 7.5.2への手順で実際に実施しています。

前提

さっくりとした手順

  1. Growiをメンテナンスモードにします。
  2. Growi・Elasticsearchのサービスを停止します。
  3. バックアップを取ります。
  4. gitコマンドで最新版をcheckoutします。
  5. アップグレードを行います。
  6. Growiのメンテナンスモードを解除します。
  7. アップグレードされたことを確認します。

メンテナンスモード有効化

  1. Growiに管理者権限でログインします。
  2. 管理トップ>アプリ設定に進み、「メンテナンスモードを開始する」をクリックします。
  3. トップページに戻り「メンテナンスモード」が表示されていることを確認します。

バックアップ

以下をバックアップします。

  • mongodbの格納データ
cat /etc/mongod.conf |grep dbPath

として、ここのディレクトリ一式を控えます。(筆者環境 /home/mongodb)

このディレクトリを任意の方法でバックアップします。

  • Growiの添付ファイル一式が納められているディレクトリ(ファイルアップロード先をlocalにしている場合のみ)
/growi/root/directory/apps/app/public

(筆者環境 /home/www-data/growi/apps/app/public)ここも念のためバックアップします。

※ 添付ファイルのアップロード先をAWSやAzureなどにしている場合は不要です

  • vpsや仮想ゲストの場合はシステム全体:推奨

スナップショット機能などでシステム全体をバックアップした方が確実で安心です。

ElasticsearchとGrowiの停止

  • Elasticsearchサービス停止
sudo systemctl stop elasticsearch.service
  • Growiサービス停止
sudo systemctl stop growi.service
  • サービス停止確認
systemctl status elasticsearch.service growi.service | grep Active

inactive(dead)を確認します。

作業前バックアップ

  • データディレクトリを丸ごとコピー (-aオプションでパーミッションを維持)
sudo cp -a /var/lib/elasticsearch/ /path/to/backup/dir/elastic_bk.$(date +%Y%m%d)

自分の環境に合わせます。

  • バックアップ確認
sudo ls -l /path/to/backup/dir/elastic_bk.$(date +%Y%m%d)

バックアップした内容があることを確認します。(※管理者権限でないとこのディレクトリを見ることはできません)

growiディレクトリに移動します

cd /home/www-data/growi && pwd

自分の環境に合わせます。(筆者環境/home/www-data/growi)

リリースタグを確認します。

  • リリースタグ取得
sudo git fetch --tags
  • リリースタグ確認
sudo git tag -l

スペースで確認していき、上記リリースサイトと同じバージョンがあることを確認します。

チェックアウトとインストールを行います。

  • 変更を一時的に退避
sudo git stash
  • チェックアウト
sudo git checkout 【バージョン】

リリースタグは再確認しましょう。今回は 2026/04/23にリリースされたv7.5.2を選択しました。

  • pnpm install
sudo pnpm i
  • ビルド
NODE_OPTIONS="--max-old-space-size=4096" sudo pnpm run app:build

→ ビルド時のメモリ大量使用を抑えるため上限を抑えています。

ElasticsearchとGrowiの再開

  • Elasticsearchサービス開始
sudo systemctl restart elasticsearch.service
  • Growiサービス開始
sudo systemctl restart growi.service
  • サービス開始確認
systemctl status elasticsearch.service growi.service | grep Active

active(running)を確認します。

メンテナンスモード無効化

  1. Growiに管理者権限でログインします。
  2. 管理トップ>アプリ設定に進み、「メンテナンスモードを終了する」をクリックします。
  3. トップページに戻り「メンテナンスモード」が表示されていないことを確認します。

バージョンアップを確認します。

  1. 画面下部にあるバージョンがチェックアウトしたバージョン(v7.5.x)であることを確認します。
  2. 各種機能(ページ閲覧や編集)などが正常に行えるかを確認します。

バージョンアップ後の作業

必要に応じてバックアップしたファイル一式やスナップショットを削除します。

狙われる.envファイル。

ログ解析をしていると、1分にも満たない大量の.envへのスキャンがありましたので、そのメモです。

「テロリストに名前を与えない」のポリシーから、IP等はダミーに置き換えています。

観測されたログデータ(IPはダミーに置き換え)

[Mon Apr 27 05:14:18 2026] [security2:error] [client 999.999.999.999] ModSecurity: Access denied with code 404. [msg "[CUSTOM RULE] Host header is a numeric IP address. Blocked immediately."] [uri "/.env"]
[Mon Apr 27 05:14:18 2026] [security2:error] [client 999.999.999.999] ModSecurity: Access denied with code 404. [uri "/app/frontend/.env"]
[Mon Apr 27 05:14:19 2026] [security2:error] [client 999.999.999.999] ModSecurity: Access denied with code 404. [uri "/.gitlab-ci/.env"]
[Mon Apr 27 05:14:21 2026] [security2:error] [client 999.999.999.999] ModSecurity: Access denied with code 404. [uri "/resources/.env"]
[Mon Apr 27 05:14:22 2026] [security2:error] [client 999.999.999.999] ModSecurity: Access denied with code 404. [uri "/alpha/.env"]
[Mon Apr 27 05:14:23 2026] [security2:error] [client 999.999.999.999] ModSecurity: Access denied with code 404. [uri "/.idea/.env"]
[Mon Apr 27 05:14:26 2026] [security2:error] [client 999.999.999.999] ModSecurity: Access denied with code 404. [uri "/.env.sendgrid"]
[Mon Apr 27 05:14:27 2026] [security2:error] [client 999.999.999.999] ModSecurity: Access denied with code 404. [uri "/new/.env.production"]
[Mon Apr 27 05:14:34 2026] [security2:error] [client 999.999.999.999] ModSecurity: Access denied with code 404. [uri "/xampp/.env"]
[Mon Apr 27 05:14:36 2026] [security2:error] [client 999.999.999.999] ModSecurity: Access denied with code 404. [uri "/kubernetes/.env"]
[Mon Apr 27 05:14:37 2026] [security2:error] [client 999.999.999.999] ModSecurity: Access denied with code 404. [uri "/stripe/.env"]

なぜ.envファイルを狙うのか?

.envファイルは通常、アプリケーションの設定情報を保存するために使われます。ここには、ソースコードには直接書けない機密情報(クレデンシャル)が凝縮されています。

データベースの接続情報: DB_PASSWORD, DB_USERNAME, DB_HOST

これが漏れると、DB内の個人情報や顧客データをすべて盗まれる(SQLインジェクションの手間すら不要になります)。

外部APIのキー: STRIPE_SECRET_KEY, SENDGRID_API_KEY, AWS_SECRET_ACCESS_KEY

ログにも .env.sendgrid/stripe/.env がありますが、これらが盗まれると、攻撃者はあなたの名義で勝手に決済を行ったり、大量のスパムメールを送信したり、クラウドサービス上で高額なマイニングマシンを動かしたりできます。

特にAWS関連が狙われると

  • あなたのお金で大量のサーバが立てられ
  • 見たくもない額の請求がAWSから届き
  • 更に海外当局から嫌疑をかけられる

などもあり得ます。

アプリケーションの秘密鍵: APP_KEY, SECRET_KEY

セッションの偽造やデータの復号が可能になり、管理者アカウントを乗っ取られる原因になります。

なぜこれほど多くのパスを試行するのか?

上記ログには様々なディレクトリ(/alpha/, /kubernetes/, /.idea/ など)を探索しています。これには2つの戦略があります。

  • フレームワークの特定:
    • パスのパターンから、そのサーバーがLaravelなのか、Djangoなのか、あるいはDockerKubernetesで動いているのかを推測しようとしています。
  • 不注意なバックアップや設定ミスの露呈:
    • 開発者が一時的に作成したコピー(.env.production)や、Gitの管理ディレクトリ(/.idea/)の中に残された設定ファイルを狙っています。本流のルートディレクトリがガードされていても、サブディレクトリの設定が甘いケースが多いことを彼らは知っています。

攻撃のメカニズム:スキャンから悪用まで

攻撃のプロセスは非常に効率化(自動化)されています。

  • 一斉スキャン:
    • ボットを使用して、世界中のIPアドレスに対して /.env へのリクエストを投げまくります。
  • 自動検知:
    • ステータスコード 200 OK が返ってきた瞬間に、中身を自動でパース(解析)します。
  • 即時悪用:
    • AWSのキーが見つかれば数分以内にインスタンスを立て、DB情報が見つかればデータをダンプしてランサムウェア(身代金要求)のメッセージを残します。

防御の鉄則

WAFは、もはやWEBサーバの必須装備となりつつあります。それに留まらず、基本を守りましょう。

  • 公開ディレクトリの外に置く:
    • .env は、Webブラウザからアクセスできる public_html や www の外側に配置するのが鉄則です。
  • Webサーバーの設定:
    • Apacheなら .htaccess、Nginxなら location ブロックで、ドットファイル(.*)へのアクセスを拒否する設定を入れます。
  • 権限設定:
    • 実行ユーザー以外が読み取れないよう、パーミッションを最小限(600 など)にします。

このように、多くの攻撃は「意志を持たず、目標を自動的に追尾する」ボットが大半以上を占めています。言うなれば「自動操縦型の群体スタンド」と言うべきでしょう。
スタンドそのものが意志を持たない(上に“本体”への直接攻撃が許されていない)以上、こちらも意志を持たずに防御していくというお話しです。

デッキ微調整記録。(統率者メモ2026/04/27)

気がつけばウルザ以上に使い込んでいるミシュラデッキ。

今度は逆に、オリジナルのところを太字にしています。

統率者

  • 《高名な者、ミシュラ/Mishra, Eminent One(BRC)》

クリーチャー

  • 《湖に潜む者、エムリー/Emry, Lurker of the Loch(BRC)》
  • 《ガジェットマスター、ドナテロ/Donatello, Gadget Master(TMT)》
  • 《練達の変成者/Master Transmuter(BRC)》
  • 《発明の領事、パディーム/Padeem, Consul of Innovation(BRC)》
  • 《オートンの兵士/Auton Soldier(WHO)》
  • 《ゴブリンの溶接工/Goblin Welder(C14)》
  • 《ゴブリンの技師/Goblin Engineer(MH1)》
  • 《大胆な再製者/Audacious Reshapers(BRC)》
  • 《爆発炉のヘルカイト/Blast-Furnace Hellkite(BRC)》
  • 《無情な屍技術師/Ruthless Technomancer(NEC)》
  • 《求道の達人、サイラス・レン/Silas Renn, Seeker Adept(BRC)》
  • 《ウェザーライトの艦長、ジョイラ/Jhoira, Weatherlight Captain(BRC)》
  • 《テルカーの技師、ブルーディクラッド/Brudiclad, Telchor Engineer(BRC)》
  • 《増殖されし者、マスター/The Master, Multiplied(WHO)》
  • 《歩行格納庫の自動機械/Stridehangar Automaton(DRC)》
  • 《クルーグの災い魔、トラクソス/Traxos, Scourge of Kroog(BRC)》
  • 《飛行機械の組立工/Thopter Assembly(MOC)》
  • 《ワームとぐろエンジン/Wurmcoil Engine(SOM)》
  • 《サイバーマン軍団/Cybermen Squadron(WHO)》
  • 《金属製の巨像/Metalwork Colossus(BRC)》

アーティファクト

  • 《改良式鋳造所/Retrofitter Foundry(DRC)》
  • 《虚無の呪文爆弾/Nihil Spellbomb(BRC)》
  • 《旅人のガラクタ/Wayfarer's Bauble(BRC)》
  • 《太陽の指輪/Sol Ring(PIP)》
  • 《順応する万能工具/Adaptive Omnitool(DRC)》
  • 《ラクドスの印鑑/Rakdos Signet(BRC)》
  • 《精神石/Mind Stone(BRC)》
  • 《胆液の水源/Ichor Wellspring(BRC)》
  • 《ディミーアの印鑑/Dimir Signet(BRC)》
  • 《忘却の偶像/Idol of Oblivion(BRC)》
  • 《忘却石/Oblivion Stone(BRC)》
  • 《ソニック・ドライバー/Sonic Screwdriver(WHO)》
  • 《スカイクレイブのイカ/Skyclave Squid(ZNR)》
  • 《溶鉄の大桶/Smelting Vat(BRC)》
  • 《スランの発電機/Thran Dynamo(BRC)》
  • 《面晶体の記録庫/Hedron Archive(BRC)》
  • 《石成エンジン/Lithoform Engine(BRC)》
  • 《ゴンティの霊気心臓/Gonti's Aether Heart(AER)》
  • 《イシュ・サーの背骨/Spine of Ish Sah(BRC)》
  • 《監視亀ラ/Sewer-veillance Cam(TMT)》
  • 《身代わり合成機/Simulacrum Synthesizer(BIG)》
  • 《税血の刃/Tithing Blade(LCI)》
  • 《呪われた鏡/Cursed Mirror(BRC)》
  • 《時の篩/Time Sieve(ARB)》

インスタント / ソーサリー

  • 《知識の渇望/Thirst for Knowledge(BRC)》
  • 《発明品の唸り/Whir of Invention(AER)》
  • 《シンクロ解除/Desynchronization(ACR)》
  • 《削剥/Abrade(BRC)》
  • 《ラクドスの魔除け/Rakdos Charm(EOC)》
  • 《魔性/Bedevil(BRC)》
  • 《加工/Fabricate(M10)》
  • 《ロリアンの発見/Lorien Revealed(LTR)》
  • 《大群への給餌/Feed the Swarm(BRC)》
  • 《テリシアの終焉/Terisiare's Devastation(BRC)》
  • 《財宝発掘/Trash for Treasure(C16)》
  • 《消却/Delete(WHO)》
  • 《冒涜の行動/Blasphemous Act(BRC)》

エンチャント

  • 《テフェリーのヴェール/Teferi's Veil(WTH)》
  • 《武器製造/Weapons Manufacturing(EOE)》
  • 《鏡割りの寓話/Fable of the Mirror-Breaker(NEO)》

プレインズウォーカー

  • 《屑鉄の学者、ダレッティ/Daretti, Scrap Savant(C14)》

土地

  • 《島/Island》
  • 《沼/Swamp》
  • 《山/Mountain》
  • 《モリアの坑道/Mines of Moria(LTR)》
  • 《教議会の座席/Seat of the Synod(BRC)》
  • 《囁きの大霊堂/Vault of Whispers(BRC)》
  • 《大焼炉/Great Furnace(BRC)》
  • 《Underground Sea(3ED)》
  • 《硫黄泉/Sulfurous Springs(10E)》
  • 《窪み渓谷/Sunken Hollow(BFZ)》
  • 《燻る湿地/Smoldering Marsh(BRC)》
  • 《闇滑りの岸/Darkslick Shores(SOM)》
  • 《黒割れの崖/Blackcleave Cliffs(SOM)》
  • 《水没した地下墓地/Drowned Catacomb(M10)》
  • 《竜髑髏の山頂/Dragonskull Summit(M12)》
  • 《湿った墓/Watery Grave(RAV)》
  • 《血の墓所/Blood Crypt(DIS)》
  • 《轟音の滝/Thundering Falls(MKM)》
  • 《霧霊堂の橋/Mistvault Bridge(BRC)》
  • 《鉱滓造の橋/Drossforge Bridge(BRC)》
  • 《銀色険の橋/Silverbluff Bridge(BRC)》
  • 《崩れゆく死滅都市/Crumbling Necropolis(BRC)》
  • 《ザンダーの居室/Xander's Lounge(SNC)》
  • 《統率の塔/Command Tower(BRC)》
  • 《産業の塔/Spire of Industry(DRC)》
  • 《風変わりな果樹園/Exotic Orchard(BRC)》
  • 《ヨーグモスの墳墓、アーボーグ/Urborg, Tomb of Yawgmoth(PLC)》
  • 《フォモーリの宝物庫/Fomori Vault(BIG)》
  • 《アカデミーの廃墟/Academy Ruins(DRC)》
  • 《灰のやせ地/Ash Barrens(BRC)》
  • 《血染めのぬかるみ/Bloodstained Mire(ONS)》
  • 《汚染された三角州/Polluted Delta(ONS)》

好きなコンボ

  • ゴンティの霊気心臓による実質1枚無限ターン。
  • 飛行機械の組立工と時の篩による無限ターン
  • 身代わり合成機とオートンの兵士による盤面制圧。

その分、アーティファクト全部破壊などに弱いものの「それはまた統率者の華」という形です。

Page 1 of 290

Powered by WordPress & Theme by Anders Norén