GNU/Linux >> Linux の 問題 >  >> Debian

Debian9にTypo3CMSをインストールする方法

このガイドでは、Debian9に最新バージョンのTypo3CMSをインストールして設定する方法を学びます。

Typo3は強力なオープンソースのコンテンツ管理システムであり、ほとんどの部分がPHPプログラミング言語で書かれています。多くの場合、LinuxのApache / Nginx Webサーバー、PHPサーバー側プログラミング言語、およびMySQL / MariaDBデータベース管理システム(LAMPまたはLEMPスタックとも呼ばれます)の下にデプロイされます。 Typo3 CMSプラットフォームは非常に柔軟でスケーラブルであり、コードを何行も書かずに拡張できるため、小規模なWebサイトや強力な多言語エンタープライズポータルを展開するのに最適です。

要件
  • ベアメタルマシンまたは仮想プライベートサーバーへのDebian9の最小限のインストール
  • ローカルまたはリモートアカウントのsudoroot権限、またはrootアカウントへの直接アクセス
  • システムネットワークインターフェースカードの1つに設定された静的IPアドレス
  • Webサービス用に構成された適切なDNSレコードを使用した、展開に応じたプライベートまたはパブリックのドメイン名。有効なドメイン名または登録済みのドメイン名がない場合は、インストールを実行して、サーバーのIPアドレスを介してWebサイトにアクセスできます
  • ウェブサイトの登録、コメントの管理、その他の機能を使用する場合は、IMAPおよびSMTPサービスへのリモートアクセスを備えた実行中のメールサーバーを構内で適切に構成する必要があります。
サーバーを準備する

独自のサーバーのソースからTypoのインストールと構成を開始する前に、まず、システムがアプリケーションのコンパイルとインストールに関するすべてのソフトウェア要件を満たしていることを確認してください。最初のステップで、次のコマンドを発行して、システムリポジトリとソフトウェアパッケージを更新します。

apt update
apt upgrade

システムが完全に更新されたら、次のコマンドを実行してシステムの名前を設定します。それに応じてホスト名変数を置き換えます。

ホスト名を設定
hostnamectl set-hostname typo

以下のコマンドを発行して、マシンのホスト名とhostsファイルを確認します。

hostnamectl
cat /etc/hostname
hostname –s
hostname –f

最後に、カーネルの更新とホスト名の変更を適切に適用するために、Debianサーバーを再起動します。

systemctl reboot
必要なツールをインストールする

次のステップで、次のコマンドを実行して、コマンドラインからシステムをさらに管理するために使用されるいくつかの必要なユーティリティをインストールします。

apt install wget bash-completion zip unzip

また、ウェブサイトにアップロードされたビットマップまたは他のタイプの画像フォーマットを作成、編集、作成、または変換するためにTypo3が必要とするimagemagickソフトウェアをインストールします。

apt install imagemagick

Typo3は主にPHPサーバーサイドプログラミング言語で書かれたウェブベースのCMSプラットフォームです。アプリケーションのPHPファイルスクリプトを実行するには、Apache HTTPサーバーなどのWebサーバーと、PHP処理ゲートウェイをシステムにインストールして操作可能にする必要があります。

ApacheとPHPをインストールする

アプリケーションを正しく実行するために必要なすべてのPHPモジュールとともに、Apache WebサーバーとPHPインタープリターをインストールするには、サーバーコンソールで次のコマンドを発行します。

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-zip php7.0-gd php7.0-xml php7.0-gd php7.0-json php7.0-opcache php-imagick  php7.0-curl php7.0-mbstring php7.0-bcmath php7.0-gmp

ApacheとPHPをインストールした後、root権限で次のコマンドを発行して、Webサーバーが稼働し、ポート80でネットワーク接続をリッスンしているかどうかをテストします。

netstat –tlpn

netstatネットワークユーティリティがDebianシステムにデフォルトでインストールされていない場合は、次のコマンドを実行してインストールします。

apt install net-tools

netstatコマンドの出力を調べると、Apache Webサーバーがポート80で着信ネットワーク接続をリッスンしていることがわかります。同じタスクで、 ssを使用することもできます。 コマンド。デフォルトでDebian9に自動的にインストールされます。

ss- tulpn
ファイアウォールを構成する

システムでUFWファイアウォールアプリケーションなどのファイアウォールを有効にしている場合は、次のコマンドを発行して、HTTPトラフィックがファイアウォールを通過できるようにする新しいルールを追加する必要があります。

ufw allow WWW

または

ufw allow 80/tcp

iptablesを使用している場合 Debianサーバーでファイアウォールルールを管理するための生のルール。次のルールを追加して、訪問者がWebサイトを閲覧できるようにファイアウォールでポート80のインバウンドトラフィックを許可します。

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload
Apacheを構成する

次に、次のコマンドを発行して、Webアプリケーションが正しく実行されるために必要な次のApacheモジュールを有効にして適用します。

a2enmod rewrite deflate headers
systemctl restart apache2

最後に、次の図に示すように、HTTPプロトコルを介してDebianマシンのIPアドレス、ドメイン名、またはサーバーFQDNにアクセスして、ApacheWebサーバーのデフォルトのWebページをクライアントのブラウザーに表示できるかどうかをテストします。マシンのIPアドレスがわからない場合は、 ifconfigを実行してください またはipa サーバーのIPアドレスを明らかにするコマンド。

http://your_domain.tld

クライアントのトラフィックを保護するHTTPSプロトコルを介してバックアップされたTypo3ウェブ管理パネルとフロントエンドウェブサイトをインストールしてアクセスするには、次のコマンドを発行してApacheウェブサーバーSSLモジュールとSSLサイト構成ファイルを有効にします。

a2enmod ssl
a2ensite default-ssl.conf

次に、テキストエディタでApacheのデフォルトSSLサイト構成ファイルを開き、 DocumentRoot の後に次のコード行を追加して、URL書き換えルールを有効にします。 次のサンプルに示すように、ディレクティブ:

nano /etc/apache2/sites-enabled/default-ssl.conf

SSLサイト構成ファイルの抜粋:

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

また、以下の抜粋に示すように、VirtualHost行に次の変更を加えます。

        <VirtualHost *:443>

SSL Apacheファイルを閉じて、 /etc/apache2/sites-enabled/000-default.confを開きます。 編集用のファイルを作成し、SSL構成ファイルと同じURL書き換えルールを追加します。 DocumentRootの後にコード行を挿入します 次の例に示すようなステートメント。

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

最後に、Apacheデーモンを再起動して、これまでに構成されたすべてのルールを適用し、HTTPプロトコルを介してドメインにアクセスします。インストール時にApacheによって発行された自動的に自己署名された証明書のペアを使用しているため、ブラウザにエラー警告が表示されます。

systemctl restart apache2

https://yourdomain.tld

次の画像に示すように、信頼できない証明書を使用し、続行してApacheのデフォルトのWebページにリダイレクトするには、警告を受け入れます。

UFWファイアウォールアプリケーションがHTTPSポートへの着信ネットワーク接続をブロックする場合は、次のコマンドを発行して、HTTPSトラフィックがファイアウォールを通過できるようにする新しいルールを追加する必要があります。

ufw allow 'WWW Full'

または

ufw allow 443/tcp

iptablesの場合 は、Debianシステムをネットワークレベルで保護するためにインストールされるデフォルトのファイアウォールアプリケーションです。次のルールを追加して、訪問者がドメイン名を閲覧できるように、ファイアウォールでポート443のインバウンドトラフィックを許可します。

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

PHPを構成する

次のステップでは、次のPHP変数が有効になり、PHPのタイムゾーンが有効になるように、PHPのデフォルト構成ファイルにさらに変更を加える必要があります。 設定は正しく構成されており、システムの地理的な場所と一致しています。 /etc/php/7.0/apache2/php.iniを開きます 編集用のファイルを作成し、次の行が次のように設定されていることを確認します。また、最初に、PHP構成ファイルのバックアップを作成します。

cp /etc/php/7.0/apache2/php.ini{,.backup}
nano /etc/php/7.0/apache2/php.ini

php.ini で次の変数を検索、編集、変更します 構成ファイル:

file_uploads = On
memory_limit = 128 M
upload_max_file_size = 64M
max_execution_time = 240
max_input_vars = 1500
date.timezone = Europe/London

upload_max_file_sizeを増やします 大きなファイルの添付ファイルをサポートし、 time.zoneを置き換えるのに適した変数 次のリンクhttp://php.net/manual/en/timezones.php

でPHPドキュメントによって提供されるタイムゾーンのリストを参照することにより、物理的な時間に応じて変更できます。

PHP7で使用可能なOPCacheプラグインを介してWebサイトページの読み込み速度を上げたい場合は、以下に詳述するように、PHPインタープリター構成ファイルの下部に次のOPCache設定を追加します。

opcache.enable=1 
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

php.ini構成ファイルを閉じ、PHP構成ファイルの終わりを確認して、以下のコマンドを発行して変数が正しく追加されているかどうかを確認します。

tail /etc/php/7.0/apache2/php.ini

上記で説明したすべての変更を行ったら、OPCacheモジュールを有効にし、apacheデーモンを再起動して、次のコマンドを発行して新しい変更を適用します。

phpenmod opcache
systemctl restart apache2

最後に、次のコマンドを実行してPHP情報ファイルを作成し、次の画像に示すように、次のURLのブラウザーからPHP情報スクリプトファイルにアクセスして、PHPタイムゾーンが正しく構成されているかどうかを確認します。 日付まで下にスクロールします PHPのタイムゾーン構成を確認するための設定。

echo '<?php phpinfo(); ?>'| tee /var/www/html/info.php

https://domain.tld/info.php

MariaDBをインストール

Typo3 CMSプラットフォームは、ユーザー、セッション、連絡先、記事、ページ、その他の設定などのさまざまな構成をリレーショナルデータベースに保存します。このガイドでは、MariaDBデータベースをバックエンドとして使用するようにTypo3を設定します。以下のコマンドを発行して、MariaDBデータベースとmysqlデータベースにアクセスするために必要なPHPモジュールをインストールします。

apt install mariadb-server php7.0-mysql mariadb-client

MariaDBをインストールしたら、 netstat を実行して、デーモンが実行されているかどうかを確認し、ローカルホストのポート3306で接続をリッスンします。 コマンド。

netstat –tlpn | grep mysql

次に、MySQLコンソールにログインし、次のコマンドを発行してMariaDBルートアカウントを保護します。

mysql -h localhost
use mysql;
update user set plugin='' where user='root';
flush privileges;
exit

次のステップでは、スクリプト mysql_secure_installationを実行してMariaDBを保護します Debianストレッチリポジトリからのインストールパッケージによって提供されます。スクリプトの実行中に、MariaDBデータベースを保護するために設計された一連の質問が表示されます。たとえば、MySQLルートパスワードの変更、匿名ユーザーの削除、リモートルートログインの無効化、テストデータベースの削除などです。次のコマンドを発行してスクリプトを実行し、MySQLデーモンを完全に保護するために尋ねられたすべての質問にyesと入力していることを確認します。次のスクリプト出力の抜粋をガイドとして使用してください。

sudo mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB

      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

 

In order to log into MariaDB to secure it, we'll need the current

password for the root user.  If you've just installed MariaDB, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.

 

Enter current password for root (enter for none):

OK, successfully used password, moving on...

 

Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorisation.

 

You already have a root password set, so you can safely answer 'n'.

 

Change the root password? [Y/n] y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

 ... Success!

 

 

By default, a MariaDB installation has an anonymous user, allowing anyone

to log into MariaDB without having to have a user account created for

them.  This is intended only for testing, and to make the installation

go a bit smoother.  You should remove them before moving into a

production environment.

 

Remove anonymous users? [Y/n] y

 ... Success!

 

Normally, root should only be allowed to connect from 'localhost'.  This

ensures that someone cannot guess at the root password from the network.

 

Disallow root login remotely? [Y/n] y

 ... Success!

 

By default, MariaDB comes with a database named 'test' that anyone can

access.  This is also intended only for testing, and should be removed

before moving into a production environment.

 

Remove test database and access to it? [Y/n] y

 - Dropping test database...

 ... Success!

 - Removing privileges on test database...

 ... Success!

 

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

 

Reload privilege tables now? [Y/n] y

 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB

installation should now be secure.

Thanks for using MariaDB!

MariaDBのセキュリティ設定をテストするには、rootアカウントを使用してコンソールからデータベースにログインし、パスワードを入力しないでください。次のコマンドの抜粋に示すように、rootアカウントにパスワードが指定されていない場合は、データベースへのアクセスを拒否する必要があります。

[email protected]:~# mysql -h localhost -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

ルートパスワードが指定されている場合は、次のコマンドサンプルに示すように、ログインプロセスをMySQLコンソールに付与する必要があります。

[email protected]:~# mysql -h localhost -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 15
Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
exit
Bye

次に、MariaDBデータベースコンソールにログインし、以下のコマンドを発行して、Typo3CMS用のデータベースとアプリケーションデータベースの管理に使用されるパスワードを持つユーザーを作成します。それに応じて、データベース名、ユーザー、およびパスワードを置き換えます。

mysql –u root -p
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>
create database typo;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on typo.* to 'typo_user' identified by 'password1';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;  
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit
Bye

これまでに行ったすべての変更を適用するには、MySQLデーモンとApacheデーモンを再起動し、次のコマンドを発行してデーモンが実行されているかどうかを確認します。

systemctl restart mysql apache2
systemctl status mysql apache2
Typo3をインストールする

Typo3プラットフォームをインストールするためのすべてのシステム要件が満たされたら、https://typo3.org/download/のTypo3 CMS公式ダウンロードページにアクセスし、次のコマンドを発行して、wgetユーティリティを使用して最新のzipパッケージ圧縮アーカイブを取得します。

wget --content-disposition https://get.typo3.org/current/zip 

zipアーカイブのダウンロードが完了したら、Typo3 zip圧縮アーカイブを現在の作業ディレクトリに抽出し、次のコマンドを発行して抽出したファイルを一覧表示します。

unzip typo3_src-8.7.8.zip
ls -al typo3_src-8.7.8

また、Apache Webサーバーによってwebrootパスにインストールされたデフォルトのindex.htmlファイルを削除し、以前に作成したinfo.phpファイルも削除します。

rm /var/www/html/index.html
rm /var/www/html/info.php

Typo3のインストールファイルは、現在の作業ディレクトリの typo3_src-8.7.8にあります。 ディレクトリ。次のコマンドを発行して、Typo3抽出ディレクトリのすべてのコンテンツをWebサーバーのドキュメントルートパスにコピーします。

cp -rf typo3_src-8.7.8/* /var/www/html/

次に、ファイル FIRST_INSTALLを作成します ドメインのwebrootパスで次のコマンドを実行して、ApacheランタイムユーザーにWebサーバーのドキュメントルートパスへの完全な書き込み権限を付与します。 lsを使用する / var / www /html/ディレクトリにあるアプリケーションのインストール済みファイルの権限を一覧表示するコマンド。

touch /var/www/html/FIRST_INSTALL
chown -R www-data:www-data /var/www/html/
ls –al /var/www/html/

次に、ブラウザを開いてTypo3 CMSのインストールプロセスに進み、HTTPSプロトコルを介してサーバーのIPアドレスまたはドメイン名またはサーバーFQDNをナビゲートします。次の画像に示すように、最初のインストール画面で、Typo3インストーラーはシステム環境をチェックして、アプリケーションをインストールするためのすべての要件が満たされているかどうかを判断します。すべての要件が満たされている場合は、[システムは正常に見えます]をクリックします。続行してください! インストールプロセスを開始するためのボタン。

https://yourdomain.tld

次のインストール画面で、手動で設定されたMySQL TCP / IP接続を選択し、Typo3 CMSデータベース用に以前に作成されたMySQLデータベースアドレス、名前、および資格情報を追加します。次の図に示すように、MySQLホストに127.0.0.1アドレスを使用し、ポート番号をデフォルト(3306)のままにします。終了したら、[続行]ボタンを押して、次のインストール手順に進みます。

次のステップで、「既存の空のデータベースを使用する」を選択します オプションで、Typo3用に以前に作成したデータベース名を選択し、続行ボタンを押してインストールプロセスを続行します。

データベーススキーマがインポートされた後、Typo3 CMSの管理者ユーザーを作成し、管理者アカウントの強力なパスワードを書いてください。また、下の画像に示すように、Typo3 Webサイトの名前を追加し、[続行]ボタンをクリックしてインストールプロセスを完了します。

インストールが完了すると、インストーラーは事前構成されたサイトが必要かどうかを尋ねてきます。 はい、ディストリビューションのリストをダウンロードを選択します TYPO3バックエンドを開くをクリックします ボタンをWebサイトのダッシュボードパネルにリダイレクトします。

また、HTTPSプロトコルを介してサーバーのIPアドレスまたはドメイン名に移動して /typo3/index.php に移動することにより、Typo3管理Webパネルにアクセスすることもできます。 URL。下の画像に示すように、インストールプロセス中に設定された管理者アカウントのクレデンシャルでTypo3ダッシュボードにログインします。

https://yourdomain.tld/typo3/index.php

Typo3管理ダッシュボードにログインした後、表示されたリストから事前設定された配布パッケージを選択してインストールします。このガイドでは、をインストールして使用します 公式紹介パッケージ ページ構造とコンテンツ要素を簡単に作成するためにTypo3によって提供される配布。

最後に、訪問者にTypo3フロントエンドウェブサイトを閲覧させ、サーバーとクライアントブラウザ間のトラフィックを暗号化するHTTPSプロトコルを介してバックエンドインターフェースに安全にアクセスさせるには、サーバーのターミナルに戻り、ウェブサイトのパスにある.htaccessファイルを編集します。

まず、以下のコマンドを実行して、Typo3が提供するサンプルファイルに基づいて.htaccessファイルを作成します。

cp /var/www/html/_.htaccess /var/www/html/.htaccess

次に、.htaccessファイルを開いて編集し、ファイルの下部でネイティブPHP設定を以下の構成に変更します。独自のサーバーリソースに一致するようにPHP設定を変更できます。

nano /var/www/html/.htaccess

.htaccess ファイルの抜粋:

# Modify PHP settings
php_flag register_globals off
php_flag magic_quotes_gpc Off
php_value upload_max_filesize 500M
php_value post_max_size 500M

最後に、ドメイントラフィックをHTTPSにリダイレクトするために、ファイルの最後に次のルールを挿入します。

# Redirect to HTTPS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

また、 typo3に新しい.htaccessファイルを作成します 管理ダッシュボードセッションをHTTPSに自動的にリダイレクトするために、ドメインwebrootパスにあるディレクトリ。

nano /var/www/html/typo3/.htaccess

.htaccess ファイルの抜粋:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

最後に、次のスクリーンショットに示すように、HTTPSプロトコルを介してサーバーのIPアドレスまたはドメイン名に移動して、デフォルトのTypo3Webサイトのフロントエンドページにアクセスします。

https://www.yourdomain.tld

それで全部です! Debian9にTypo3CMSWebプラットフォームを正常にインストールして設定しました。ただし、Apache HTTPサーバーは信頼できない自己署名証明書を使用してサーバーと訪問者のブラウザー間のトラフィックを暗号化するため、警告メッセージが常に生成され、ブラウザーに表示されます。 。この警告は、Webサイトのフロントエンドページにアクセスするクライアントには適していません。この場合、信頼できる認証局によって発行された証明書を購入するか、Let’sEncryptCAから無料の証明書ペアを入手する必要があります。

Typo3 CMS Webアプリケーションに関する他のカスタム構成については、次のアドレスのドキュメントページにアクセスしてください:https://docs.typo3.org/


Debian
  1. MySQL 8.0/5.7をDebian11/Debian10にインストールする方法

  2. Debian8にProFTPDをインストールする方法

  3. Nextcloud14をDebian9にインストールする方法

  1. Debian11にRedisサーバーをインストールする方法

  2. Debian9にTYPO3をインストールする方法

  3. Debian9にOdoo12をインストールする方法

  1. MySQLサーバーをDebian9にインストールする方法

  2. ClickHouseをDebian9にインストールする方法

  3. Debian9にRoadizCMSをインストールする方法