4

私はdockerを初めて使用し、TYPO3 プロジェクトを実行するローカル コンテナーをセットアップする簡単な方法は ddev だと言われました。

しかし、私は混乱しています。私はまだこれらすべてのコンテナに精通しているわけではありません。グリップを得るにはどうすればよいですか?

4

1 に答える 1

1

チュートリアルはhttps://docs.typo3.org/m/typo3/guide-contributionworkflow/master/en-us/Appendix/SettingUpTypo3Ddev.htmlに基づいていますが、気を付けてください – 必要に応じて、それはステップバイステップのマニュアルですTYPO3コアに貢献する。自分のサイトを運営したい場合、«TYPO3のクローン»セクションは適用されません。

したがって、次のように開始します。

  1. https://www.docker.com/products/docker-desktopから Docker をインストールします (デスクトップ アプリで問題ありません) 。
  2. ddev をインストールします: https://ddev.readthedocs.io/en/latest/#installation (Mac: brew tap drud/ddev && brew install ddev)
  3. サイトを実行するディレクトリを作成します。mkdir mysite; cd mysite
  4. ddevddev config の構成: 実行 ウィザードで選択できる項目はあまりありません。web-root を設定し (例: public_html など、より上のレベルにある)、いくつかの CMS プリセットから選択することができます。それらはあまり変更されません.TYPO3の場合、db接続といくつかのnginx設定を管理します. ファイル .ddev/config.yaml が作成されます。その中には、多くのオプションがあります。
  5. サイトを追加します (必要に応じて composer を実行します)
  6. でddevを実行しますddev start
  7. mkcert がインストールされているかどうかを確認し、インストールされていない場合は、提供された指示に従ってください (これにより、少なくとも Firefox で自己署名証明書を使用できるようになります) (mac: brew install mkcert nss; mkcert -install)
  8. ddev は、サイトの場所、ポート、phpmyadmin の場所など、いくつかの情報を出力します。
  9. ddev helpより多くのコマンドを提供します
  10. コンテナーにログインする場合は、 を使用しますddev ssh。これはファイルの変更などには使用されません。ファイルはコンテナに自動的にミラーリングされます。しかし、ログインしてバイナリなどをインストールすることはできます。試してみましょう。必要なコマンド: どのシステムを実行していますか? uname -a-> linuxkit // 利用可能なパッケージを更新します: sudo apt-get update// パッケージを検索しますapt-cache search packagename// Pdftools をインストールします (pdftotext, pdfinfo..): sudo apt-get install poppler-utils// imagemagick へのパスを取得します (既にインストールされている場合): whereis convert(imagemagick はコレクションであることを思い出してください。はツールの 1 つです) // コンテナからログアウトして、システムに戻ります。exit
  11. では、docker コンテナ内に存在するデータベースに接続するにはどうすればよいでしょうか? 実行するddev describeと、ログインデータが取得されます。それは基本的dbにすべてのためです。
  12. TYPO3 の場合、ddev setupコマンドはAdditionalConfiguration.php使用できるファイルを提供します。ただし、SystemMaintainers と Installtool Password という 2 つの重要なパラメータがありません。これが例です。
$GLOBALS['TYPO3_CONF_VARS']['SYS']['trustedHostsPattern'] = '.*';
$GLOBALS['TYPO3_CONF_VARS']['DB']['Connections']['Default'] = array_merge($GLOBALS['TYPO3_CONF_VARS']['DB']['Connections']['Default'], [
                    'dbname' => 'db',
                    'host' => 'db',
                    'password' => 'db',
                    'port' => '3306',
                    'user' => 'db',
]);

// This mail configuration sends all emails to mailhog
$GLOBALS['TYPO3_CONF_VARS']['MAIL']['transport'] = 'smtp';
$GLOBALS['TYPO3_CONF_VARS']['MAIL']['transport_smtp_server'] = 'localhost:1025';

$GLOBALS['TYPO3_CONF_VARS']['SYS']['devIPmask'] = '*';
$GLOBALS['TYPO3_CONF_VARS']['SYS']['displayErrors'] = 1;

// add these
$GLOBALS['TYPO3_CONF_VARS']['SYS']['systemMaintainers'] = [123,456];
$GLOBALS['TYPO3_CONF_VARS']['BE']['lockSSL'] = 1; // optional
$GLOBALS['TYPO3_CONF_VARS']['BE']['installToolPassword'] = '123';
  1. しかし、事前構成済みの phpMyAdmin ではなく、別のツールを使用してデータベースにアクセスしたい場合はどうすればよいでしょうか? Sequel Pro を使用している場合は、実行するだけでddev sequelpro、データベースが Sequel Pro で自動的に起動されます。これを手動で行うこともできます。次に、外部からアクセスするための db ポートを定義する必要があります。これを .ddev/config.yaml に追加して行います (例host_db_port: "32778":

Sequel Pro で ddev mysql に接続する

注意: PHP は引き続きデフォルトのポート 3306 を使用します。

  1. では、行きましょう。ddev は既に開始されているため、ローカル ディレクトリ (.ddev/ がある場所) にいることを確認し、ddev describe を実行してパラメーターを再度確認します。おそらく、https://mysite.ddev.localにアクセスすると、Webroot のすべてが機能していることがわかります。
  2. 完了したら、 で終了しddev stopます。ddev が停止したときに、データベースがどこに永続化されるかはまだよくわかりません。たぶん、最初にダンプを取得しddev snapshotます。
  3. で ddev のさらに多くの可能性を探りddev helpます。
于 2019-07-04T15:02:00.293 に答える