簡體   English   中英

如何使用 docker 和 ddev 設置 TYPO3 站點?

[英]How to set up a TYPO3 site with docker and ddev?

我是docker 新手,有人告訴我ddev是一種設置本地容器來運行 TYPO3 項目的簡單方法。

但我很困惑。 我還不熟悉所有這些容器。 我應該如何進行抓握?

本教程基於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 mkdir mysite; cd mysite
  4. 配置 ddev:運行ddev config向導中沒有太多可供選擇的內容。 您可以設置 web 根目錄(例如 public_html,因此您有更高的級別)並從幾個 CMS 預設中進行選擇。 他們不會改變太多,在 TYPO3 的情況下,它將管理數據庫連接和一些 nginx 設置。 將創建文件 .ddev/config.yaml。 您可以在其中找到很多選項。
  5. 添加您的站點(並在必要時運行 Composer)
  6. 使用ddev start運行 ddev
  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是一個集合,convert是工具之一)//退出容器,回到你的系統: exit
  11. 現在,如何連接到位於 docker 容器內的數據庫? 運行ddev describe ,您將獲得登錄數據。 它基本上是db的一切。
  12. 對於TYPO3, ddev setup命令提供了一個可以使用的AdditionalConfiguration.php文件。 但是它缺少兩個重要參數,SystemMaintainers 和 Installtool Password。 這是一個例子。
$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 中自動啟動。 您也可以手動執行此操作; 那么您需要定義數據庫端口以從外部訪問它。 在 .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 help探索 ddev 的更多可能性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM