ウェブサイト検索

Debian 11にNeos CMSをインストールする方法


Debian 11にNeos CMSをインストールする方法

このページで

  1. 前提条件
  2. Apache2ウェブサーバーのインストール
  3. MariaDBデータベースサーバーのインストール
  4. MariaDBデータベースとユーザーの設定
  5. PHP 8.1 パッケージのインストール
  6. Composerをインストールする
  7. ネオスベースディストリビューションのインストール
  8. Apache2のバーチャルホストの設定
  9. Neos CMSインストールの構成
  10. 結論

Neosは、直感的な編集、完全な国際化、最大の柔軟性、そしてサードパーティシステムとの統合の容易さを備えた、無料かつオープンソースのコンテンツ管理システムです。

Neosは、カスタムコンテンツモデリングを備えたエンタープライズコンテンツ管理システムで、コンテンツの編集や管理、オートリダイレクトやSEOメタデータなどのSEO最適化、強力な役割とユーザー管理の効果的な方法を提供します。

このチュートリアルでは、Debian 11 サーバーに最新の Neos CMS をインストールする方法を探ります。この例では、MariaDB データベースサーバー、PHP 8.1、および Apache2 Web サーバーを使用して Neos CMS をセットアップします。

前提条件

このチュートリアルに従うには、非ルートユーザーとsudo/管理者権限を持つDebian 11サーバーが必要であり、UFWファイアウォールが有効である必要があります。また、特にNeos CMSを本番環境にインストールする場合は、DebianサーバーのIPアドレスにポイントしているドメイン名も必要です。

Apache2ウェブサーバーのインストール

Neos CMSは複数のウェブサーバーで動作することができ、このデモではApache2ウェブサーバーを使用します。

パッケージのインストールを開始する前に、次の apt コマンドを実行して Debian リポジトリを更新し、リフレッシュしてください。

sudo apt update

次に、以下のaptコマンドを使用してApache2ウェブサーバーをインストールします。インストールの確認を求められますので、yを押してENTERを押してインストールを続行してください。

sudo apt install apache2

Apache2のインストールが完了したら、以下のsystemctlコマンドを使用して「apache2」サービスを確認および検証してください。

sudo systemctl is-enabled apache2
sudo systemctl status apache2

「apache2」の出力が有効になっており、起動時に自動的に実行されることが確認できます。そして、「apache2」サービスのステータスは実行中です。

最後に、DebianサーバーでHTTPおよびHTTPSポートを開き、以下のufwコマンドを使用してトラフィックを許可します。ufwアプリケーションプロファイル「WWW Full」は、HTTPおよびHTTPSポートへのアクセスを許可します。

sudo ufw allow "WWW Full"
sudo ufw status

UFWファイアウォールの現在の状態がアクティブであることと、ポートのリストと有効なアプリケーションプロファイルが表示されます。

MariaDBデータベースサーバーのインストール

Neos CMSは、MariaDBとPostgreSQLの2つのデータベースをサポートしています。この例では、MariaDBデータベースサーバーでNeos CMSを実行します。この記事を書いている時点で、現在のNeos CMSには少なくともMariaDB 10.2.2が必要です。

以下のaptコマンドを実行して、DebianサーバーにMariaDBをインストールします。DebianリポジトリのデフォルトのMariaDBバージョンはMariaDB 10.5で、Neos CMSのインストールと互換性があります。

sudo apt install mariadb-server

プロセスの確認を求められたら、yを入力し、ENTERを押してインストールを進めてください。

MariaDBがインストールされたら、MariaDBサービスを確認し、以下のsystemctlコマンドを使用してサービスが実行中であることを確認してください。

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

MariaDBサービスが有効になっているため、システム起動時に自動的に実行されることになります。そして、MariaDBサービスの現在の状態は実行中です。

最後に、MariaDBサーバーのインストールを保護する必要があります。そのために、MariaDBパッケージにデフォルトで含まれているスクリプト「mysql_secure_installation」を使用できます。

次のコマンド 'mysql_secure_installation' を実行してください。

sudo mysql_secure_installation

MariaDBサーバーのインストールを保護するために、段階的にガイドします。このプロセスには、MariaDBのルートパスワードの設定が含まれます。したがって、MariaDBサーバーのインストールには強力なパスワードを使用してください。

次のプロンプトでは、デフォルトの匿名ユーザーを削除すること、rootユーザーのリモートログインを禁止すること、デフォルトのデータベーステストを削除すること、テーブルの権限を再読み込みすることなどの設定について尋ねられます。これらのプロンプトにはすべてYを入力し、次にENTERを押して進んでください。

MariaDBデータベースとユーザーの設定

MariaDBサーバーをインストールし、安全にした後、Neos CMSのインストールのために新しいMariaDBデータベースとユーザーを作成します。そのためには、MariaDBシェルにログインする必要があります。

次のmysqlコマンドを実行して、デフォルトユーザーのrootを介してMariaDBシェルにログインします。パスワードの入力を求められたら、MariaDBのrootパスワードを入力してください。

sudo mysql -u root -p

次に、Neos CMS用の新しいデータベースとユーザーを作成するために、以下のクエリを実行します。以下のクエリで、データベースneosdbとMariaDBユーザーneos@localhostを作成します。

neos@localhostユーザーのパスワードを強力なパスワードに置き換えることを忘れないでください。

CREATE DATABASE neosdb;
CREATE USER neos@localhost;
GRANT ALL PRIVILEGES ON neosdb.* TO neos@localhost IDENTIFIED BY 'Password';
FLUSH PRIVILEGES;

その後、次のクエリを実行して、neos@localhostユーザーの権限を確認します。

SHOW GRANTS FOR neos@localhost;

データベースとユーザーが正しく設定されている場合、neos@localhostユーザーの出力にneosdbデータベースに対する権限があることが表示されます。

最後に、MariaDBシェルからログアウトするために次のクエリを入力してください。

quit

PHP 8.1 パッケージのインストール

今、あなたはDebianサーバにPHPパッケージをインストールしようとしています。最新のNeos CMSは少なくともPHP 7.3が必要であり、この例ではサードパーティのリポジトリからPHP 8.1をインストールします。

以下の表では、Neos CMS v8の最新バージョンがPHP 8.0または8.1を必要とすることがわかります。

Neos version    Flow version    compatible PHP version
-------------------------------------------------------
4.3             5.3             7.1 - 7.4*
5.x             6.x             7.2 - 7.4
7.x             7.x             7.3 - 7.4 / 8.0 - 8.1
8.x             8.x             8.0 - 8.1

PHPをインストールする前に、次のaptコマンドを実行して、サードパーティリポジトリを管理するための基本的なパッケージをインストールします。インストールを確認するために求められたらYを入力し、続行するにはENTERを押してください。

sudo apt install ca-certificates apt-transport-https software-properties-common wget curl lsb-release

次に、以下のコマンドを実行して、DebianサーバーにPHP 8.xのリポジトリを追加してください。このリポジトリは、Debianシステム用の複数のPHPパッケージのバージョンを提供します。

curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x

このプロセス中に、次のような出力が表示されます:

次に、以下のaptコマンドを使用してPHP 8.1パッケージをインストールします。これらのコマンドは、Neos CMSで使用される画像処理用のImageMagickなどのいくつかのPHP拡張機能と追加パッケージをインストールします。

sudo apt install php8.1 php8.1-cli php8.1-common php8.1-imap php8.1-redis php8.1-snmp php8.1-xml php8.1-zip php8.1-imagick php8.1-mbstring php8.1-curl libapache2-mod-php php8.1-mysql imagemagick

インストールを確認するように求められたらYを入力し、ENTERを押して続行します。

PHPのインストールが完了したら、nanoエディタを使用して「/etc/php/8.1/apache2/php.ini」ファイルを開いてください。

sudo nano /etc/php/8.1/apache2/php.ini

デフォルト設定を以下のように変更します。

date.timezone = Europe/Stockholm

作業が完了したら、ファイルを保存してエディタを終了してください。

最後に、次のコマンドを実行してApache2サービスを再起動し、PHP設定の新しい変更を適用します。

sudo systemctl restart apache2

Composerをインストールする

ComposerはPHPパッケージのためのパッケージ管理ツールです。Neos CMSのPHP依存関係をインストールするために、DebianサーバーにComposerをインストールします。

DebianシステムにComposerをインストールするために、以下のコマンドを実行します。このコマンドはComposerインストーラスクリプトをダウンロードし、その後実行します。Composerのターゲットインストールディレクトリは/usr/binで、ファイル名はcomposerです。

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer

次に、以下のコマンドを使用してComposerのインストールを確認してください。

sudo -u www-data composer -v

あなたのDebianシステムにインストールされているComposerのバージョンの出力が表示されます。

ネオスベースディストリビューションのインストール

この時点で、Apache2ウェブサーバー、MariaDBデータベースサーバー、PHP 8.1、そしてPHP Composerを含むNeos CMSのパッケージ依存関係のインストールが完了しました。

さて、Neos CMSのソースコードをダウンロードし、Composerコマンドを介してPHPパッケージの依存関係をインストールします。

次のgitコマンドを実行して、Neos CMSのソースコードをディレクトリ/var/www/neosにダウンロードします。

git clone https://github.com/neos/neos-base-distribution.git /var/www/neos

次に、ディレクトリ /var/www/neos に移動し、Composer コマンドを実行して Neos CMS の PHP 依存関係をインストールします。

cd /var/www/neos
composer install

PHPの依存関係のインストールが完了したら、次のコマンドを実行して/var/www/neosディレクトリの所有権と権限をwww-dataユーザーに変更します。

sudo ./flow core:setfilepermissions www-data www-data

Neos CMSのソースコードとPHPの依存関係がインストールされたら、インストール用のApache2バーチャルホスト設定の作成に進む準備が整いました。

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

生産環境でNeos CMSを実行している場合は、ドメイン名がDebianサーバーのIPアドレスを指していることを確認してください。また、ドメインインストール用のSSL証明書が生成されていることを確認してください。

Apacheの仮想ホスト設定を作成する前に、次のコマンドを実行してApache2モジュールmod_sslおよびmod_rewriteを有効にしてください。

sudo a2enmod ssl rewrite

今、新しいバーチャルホスト設定ファイル「/etc/apache2/sites-available/neos.conf」を以下のnanoエディタを使用して作成してください。

sudo nano /etc/apache2/sites-available/neos.conf

あなたのドメインでドメイン名を変更し、SSL証明書のパスを自分のパスに変更します。次に、設定をファイルに貼り付けてください。

<VirtualHost *:80>
    ServerName howtoforge.local
    ServerAdmin [email 
    # Redirect Requests to SSL
    Redirect permanent "/" "https://howtoforge.local/"
    ErrorLog ${APACHE_LOG_DIR}/howtoforge.local.error.log
    CustomLog ${APACHE_LOG_DIR}/howtoforge.local.access.log combined
</VirtualHost>
<IfModule mod_ssl.c>
    <VirtualHost _default_:443>
        ServerName howtoforge.local
        ServerAdmin [email 
        #SetEnv FLOW_CONTEXT Production
        DocumentRoot /var/www/neos/Web
        # Add security
        php_flag register_globals off
        ErrorLog ${APACHE_LOG_DIR}/howtoforge.local.error.log
        CustomLog ${APACHE_LOG_DIR}/howtoforge.local.access.log combined
        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/howtoforge.local/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/howtoforge.local/privkey.pem
        <Directory /var/www/neos/Web>
                AllowOverride All
        </Directory>
        <Directory /var/www/neos/Web/>
            RewriteEngine on
            RewriteBase /
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*) index.php [PT,L]
        </Directory>
    </VirtualHost>
</IfModule>

作業が完了したら、ファイルを保存してエディタを終了してください。

次に、次のコマンドを使って仮想ホスト設定'neos.conf'を有効にします。その後、Apache2の設定ファイルを確認してください。

sudo a2ensite neos.conf
sudo apachectl configtest

適切なApache2の設定ファイルがあれば、"構文はOK"というような出力が表示されます。

最後に、次のようにsystemctlコマンドを使用して新しい変更を適用するために、'apache2'サービスを再起動してください。

sudo systemctl restart apache2

Neos CMSインストールの構成

Neos CMSインストールの設定を開始するには、ウェブブラウザを開き、Neos CMSインストールのドメイン名(例:https://howtoforge.local/)にアクセスしてください。

まず、Neosからのウェルカムメッセージが表示されます。「セットアップに進む」をクリックして、Neos CMSの設定を開始してください。

Neos CMSの初期化が始まります。

Neos CMSの設定を開始するには、セットアップパスワードを求められます。

ターミナルサーバーに戻り、Neos CMSのセットアップパスワードを表示するために以下のコマンドを実行してください。

cat /var/www/neos/Data/SetupPassword.txt

生成されたセットアップパスワードをコピーして、Neosセットアップページに貼り付けます。その後、「ログイン」をクリックします。

これからNeosの要件チェックのページが表示されます。画像操作の一つがインストールされていることを確認してください。それから「次へ」をクリックしてください。

この例では、画像処理にImageMagickを使用しており、php-imagickおよびImageMagickパッケージがインストールされています。

データベースの設定のために、データベースのユーザー名、パスワード、ホストを入力してください。その後、Neos CMSのインストール用のデータベースを選択します。その後、次の設定に進むために「次へ」をクリックしてください。

次に、新しい管理者ユーザー名とパスワード、名、姓の詳細をクリックしてください。それから、「次へ」をクリックしてください。

新しいNeosサイトの設定では、サイトパッケージでNeos.Demoを選択し、サイト名の設定にあなたのNeos CMSインストールのドメイン名を入力してください。

次へをクリックして、インストールを続けてください。

Neos CMSのインストールと構成が完了すると、次のページが表示されます。

「フロントエンドに移動」というボタンをクリックすると、Neos CMSインストールのデフォルトのホームページが表示されます。または、「バックエンドに移動」をクリックすると、Neos CMS管理ダッシュボードにアクセスできます。

以下は、"Neos.Demo"サイトパッケージを使用したNeos CMSインストールのデフォルトのホームページです。

「バックエンドに移動」ボタンをクリックすると、Neos CMSのログインページにリダイレクトされます。Neos CMSのインストール用のユーザー名とパスワードを入力し、「ログイン」をクリックしてください。

Neos CMSのユーザー名とパスワードが正しければ、Neos CMSの管理ダッシュボードが表示されます。

結論

このガイドでは、Debian 11 サーバーに Apache2 ウェブサーバー、MariaDB データベースサーバー、および PHP 8.1 を使用して Neos CMS をインストールしました。また、PHP パッケージ依存関係をインストールするための PHP Composer のインストールも学びました。さらに、SSL が有効な Neos CMS 用の Apache 仮想ホスト構成を作成しました。

Neos CMS は次世代の CMS であり、さまざまな使用方法に柔軟に対応しています。これで、Neos CMS を使用して瞬時にコンテンツを管理し、サイトを公開できるようになります。

関連記事: