ウェブサイト検索

Ubuntu 24.04サーバーにNEOS CMSをインストールする方法


Ubuntu 24.04サーバーにNEOS CMSをインストールする方法

このチュートリアルはこれらのOSバージョンのために存在します

  • Ubuntu 24.04 (ノーブル・ナンバット)
  • Ubuntu 22.04 (ジャミー・ジェリーフィッシュ)
  • Ubuntu 20.04 (フォーカルフォッサ)
  • Ubuntu 18.04 (ビオニックビーバー)

このページで

  1. 前提条件
  2. 依存関係のインストール
  3. PHPの設定
  4. MariaDBサーバーの設定
  5. Neos CMSのソースコードをダウンロードしています
  6. Apacheの仮想ホストの設定
  7. Neos CMSをHTTPSで保護する
  8. コマンドラインからNEOS CMSをインストールする
  9. 結論

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

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

このガイドでは、Ubuntu 24.04サーバーにNeos CMSをインストールする手順を説明します。LAMPスタック、Composer、ImageMagickを使用してNeos CMSをインストールします。また、Neos CMSのインストールと管理にはflowユーティリティを使用します。

前提条件

このガイドを始める前に、以下のものを用意してください:

  • Ubuntu 24.04サーバー。
  • 管理者権限を持つ非ルートユーザー。
  • ドメイン名があなたのサーバーのIPアドレスを指している。

依存関係のインストール

Neos CMSをインストールする前に、LAMPスタック(Linux、Apache、MySQL/MariaDB、PHP)やComposer、Git、ImageMagickなどの依存関係をインストールする必要があります。それらのパッケージはUbuntuのリポジトリにデフォルトで用意されており、APTを通じてインストールできます。

まず、次のコマンドでUbuntuのパッケージインデックスを更新します:

sudo apt 更新

次に、以下のコマンドを使用して Neos CMS の依存関係をインストールしてください。これから、LAMP スタック(Linux、Apache、MySQL/MariaDB、PHP)、Composer、Git、ImageMagick パッケージをインストールします。

sudo apt install apache2 mariadb-server composer git php php-cli php-common php-imap php-redis php-snmp php-xml php-zip php-imagick php-mbstring php-curl libapache2-mod-php php-mysql imagemagick

インストールを確認するには、Yを入力してください。

インストール後、ApacheとMariaDBサービスの状態を確認して、それが実行中であることを確認してください。

以下を使ってApacheウェブサーバーをチェックしてください。サービスが有効でアクティブ(実行中)であることがわかります。

sudo systemctl is-enabled apache2
sudo systemctl status apache2

次に、以下のようにMariaDBサービスの状態を確認してください。似たような出力が表示されます。MariaDBはenabledであり、active(running)です。

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

最後に、以下のコマンドを使用してPHPとComposerのバージョンを確認してください。あなたのUbuntuシステムにはPP 8.3とComposer 2.7がインストールされています。

php -v
sudo -u www-data composer -v

PHPの設定

依存関係をインストールした後、php.ini ファイルを編集して PHP のインストールを設定し、その後 Apache ウェブサーバーを再起動します。

次のnanoエディタコマンドを使って、PHP設定ファイル/etc/php/8.3/apache2/php.iniを開きます。

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

以下のようにデフォルト設定を変更します。サーバー設定に合わせて、date.timezone と memory_limit の両方を調整することを確認してください。

date.timezone = Europe/Amsterdam
upload_max_filesize = 80M
memory_limit = 512M
max_execution_time = 360

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

下記のコマンドを実行して、Apacheウェブサーバーを再起動し、PHP設定を適用してください。

sudo systemctl restart apache2

MariaDBサーバーの設定

このセクションでは、MariaDBサーバーのインストールを安全にし、Neos CMS用の新しいデータベースとユーザーを作成します。mariadb-secure-installationを使用してMariaDBを安全にした後、mariadbクライアントを通じてMariaDBサーバーにアクセスします。

MariaDBサーバーのインストールを安全にするために、以下のmariadb-secure-installationコマンドを実行してください。

sudo mariadb-secure-installation

これからMariaDBサーバーの設定が表示されます:

  • デフォルトのMariaDBサーバーインストールでルートパスワードがない場合は、パスワードの問い合わせに対してENTERを押してください。
  • MariaDBのルートユーザーのローカル認証はデフォルトで保護されています。認証方式を「unix_socket」に変更するように求められたときは、「n」と入力してください。
  • 新しいMariaDBのルートパスワードを作成するには‘Y’を入力してください。その後、MariaDBのルートユーザーの強力なパスワードを入力し、再度入力してください。
  • MariaDBのrootユーザーのリモート認証を無効にするよう求められた場合、入力‘Y’で同意してください。
  • デフォルトのMariaDBサーバーインストールには「test」データベースが含まれており、匿名ユーザーがアクセスできるようになっています。
  • 両方の設定で‘Y’を入力して、デフォルトのデータベース‘test’を削除し、匿名の権限を削除してください。
  • 最後に、テーブル権限の再読み込みを確認するために‘Y’を入力してください。

MariaDBを確保した後、mariadbクライアントユーティリティを使用して新しいデータベースとユーザーを作成します。

以下のコマンドを実行してMariaDBサーバーにログインします。求められたらMariaDBのルートパスワードを入力してください。

sudo mariadb -u root -p

次に、Neos CMS用の新しいデータベースとユーザーを作成するために、以下のクエリを実行してください。この例では、新しいデータベースneosdbと、パスワードneospasswordを持つユーザーneosを作成します。この情報は、あなたのものに合わせて調整できます。

NEOSDBというデータベースを作成する;
neos@localhostというユーザーを‘neospassword’で識別する;
neos@localhostにneosdb.*のすべての権限を‘neospassword’で付与する;
権限をフラッシュする;

次に、ユーザーneosの権限を確認するために、以下のクエリを実行してください。ユーザーneosがデータベースneosdbにアクセスできることを確認してください。

neos@localhostの権限を表示する;

最後に、quitと入力してMariaDBサーバーから退出します。

Neos CMSのソースコードをダウンロードしています

PHPとMariaDBの両方を設定したので、Neos CMSのソースコードをダウンロードし、Composerを使ってPHPの依存関係をインストールします。また、適切な権限と所有権を設定してNeos CMSのインストールを行います。

まず、以下の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の依存関係をインストールします。

cd /var/www/neos
composer install

今は、確認するためにyesを入力して、Composerをルートとして実行してください。

プロセスが完了したら、下記のコマンドを実行してNeos CMSのソースコードの権限をwww-dataユーザーに変更してください。

sudo ./flow core:setfilepermissions www-data www-data
sudo chown -R www-data:www-data /var/www/neos

Apacheの仮想ホストの設定

このセクションでは、Neos CMSを実行するための新しいApache仮想ホストを作成します。したがって、ドメイン名がサーバーのIPアドレスにポイントされていることを確認してください。開発にはパブリックドメインまたはローカルドメインを使用できます。

以下のコマンドを使用して、Apacheのrewriteおよびsslモジュールを有効にします。

sudo a2enmod rewrite ssl

新しいApache仮想ホストファイル/etc/apache2/sites-available/neos.confを作成し、次のnanoエディタを使用します。

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

設定をファイルに挿入し、ServerNameオプションにあなたのドメイン名を入力してください。

<VirtualHost *:80>
 ServerName howtoforge.local
 ServerAdmin [email 
 ErrorLog ${APACHE_LOG_DIR}/howtoforge.local.error.log
 CustomLog ${APACHE_LOG_DIR}/howtoforge.local.access.log combined
 #SetEnv FLOW_CONTEXT Production
 DocumentRoot /var/www/neos/Web
 # Add security
 php_flag register_globals off
 <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>

完了したら、ファイルを保存して終了します。

次に、仮想ホストファイルneos.confをアクティブにするために、以下のコマンドを実行し、Apacheの構文を確認してください。正しいApacheの構文があれば、出力としてSyntax is OKが表示されます。

sudo a2ensite neos.confsudo apachectl configtest

最後に、次のコマンドを実行してApacheウェブサーバーを再起動し、変更を適用します。再起動後、Neos CMSは使用できる状態になるはずです。

sudo systemctl restart apache2

Neos CMSをHTTPSで保護する

このガイドでは、CertbotとLetsencryptを使用してHTTPSでNeos CMSを実行する方法を説明します。これは、Neos CMSを公開ドメイン名にインストールする場合のみ可能です。ローカルドメインを使用している場合は、OpenSSLを使用してSSL証明書を生成し、HTTPSを手動で構成できます。

次のコマンドを使用して、Certbot と Certbot Apache プラグインをインストールします。インストールを確認するには Y と入力してください。

sudo apt install certbot python3-certbot-apache2

次に、下記の certbot コマンドを実行して、Neos CMS のための SSL/TLS 証明書を生成してください。メールアドレスとドメイン名をあなたの情報に変更することを忘れないでください。

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email  -d howtoforge.local

プロセスが終了すると、SSL証明書は/etc/letsencrypt/live/domain.comディレクトリに保存されます。そして、あなたのNeos CMSは自動的にHTTPSで保護されるべきです。

コマンドラインからNEOS CMSをインストールする

Neos CMSのソースコードをダウンロードし、Apacheのバーチャルホストを設定したので、これからターミナルを通じてNeos CMSのインストールを開始します。flowユーティリティを使用することで、ターミナルからNeos CMSを管理およびインストールできます。

/var/www/neosディレクトリに次のコマンドで移動してください:

cd /var/www/neos

以下のコマンドを実行して、Neos CMS のデータベースをセットアップします。データベースドライバーとして mysqli を選択し、作成した MariaDB データベースとユーザーの詳細を入力してください。

sudo ./flow setup:database

成功すると、データベース neosdb は正常に接続されましたのような出力が表示されます。

下記のコマンドを実行して、Neos CMSのデフォルト画像ハンドラーを設定し、Imagickを選択してください。

sudo ./flow setup:imagehandler

データベースと画像ハンドラーを設定した後、以下のコマンドを実行してNeos CMSデータベースを移行します。

sudo ./flow doctrine:migrate

データベースの移行中に次の出力が表示されます。

次に、Neos CMSのインストール用に管理者ユーザーを作成するために、以下のコマンドを実行します。ユーザー名、メールアドレス、名前、姓、そしてパスワードを入力してください。

sudo ./flow user:create --roles 管理者

次のような出力が得られます:

以下のコマンドを実行して、Neos.Demoサイトをインストールにインポートしてください。成功すると、サイト「Neos Demo site」のインポートが完了しましたという出力が得られます。

sudo flow:cache:flush
sudo ./flow site:import --package-key Neos.Demo

これで、Neos CMSは完成です。https://howtoforge.local などのドメイン名にアクセスすると、以下のようなNeos CMSのホームページが表示されます。

Neos CMSのログインページにアクセスするには、https://howtoforge.local/login にアクセスし、作成した管理者ユーザー名とパスワードを入力してください。ログインをクリックして確認します。

適切な管理者権限があれば、次のようなNeos CMSダッシュボードが表示されます:

結論

おめでとうございます!あなたはUbuntu 24.04サーバー上でNeos CMSのインストールを完了しました。あなたはLAMPスタック(Linux、Apache、MySQL/MariaDB、PHP)を使用してNeos CMSを稼働させ、Let's Encryptを通じてHTTPSで保護しました。また、Neos CMSのインストールと管理のための基本コマンドflowも学びました。

関連記事: