tata-website/tata-steel-sailing

Tata steel sailing club 网站导航

1.1.x-dev 2020-11-21 12:43 UTC

This package is auto-updated.

Last update: 2024-09-21 20:59:16 UTC


README

关于

这是一个为 Tata Steel Sailing Club 构建的 Laminas MVC 网站,附带数据库、Web 服务器和 phpmyadmin。

该网站会调用外部 API,包括 ReCaptchaWeatherApiGoogle Maps。需要获取这些服务的 API 密钥。

使用 Docker 安装

使用 Docker 是构建项目和确保所有依赖项都已处理的最佳方式。

提供了一个 docker-compose.yaml 文件,用于与 docker-compose 一起使用;它使用提供的 Dockerfile 来构建一个用于 tata_web 容器的 Docker 镜像。

使用以下命令构建和启动镜像和容器:

$ git clone https://github.com/RhydianJenkins/MVCWebsite.git path/to/install
$ cd path/to/install
$ docker-compose --env-file ./.env up -d --build

此时,您可以通过访问 https://:80 来查看正在运行的网站。

docker-compose 还会安装一个 phpmyadmin 客户端,并将其托管在 https://:8080,一个 MySQL 数据库和一个邮件服务器。

可以在提供的 .env 文件中自定义环境变量,如用户名、密码和容器名称。

您还可以在容器中运行 composer 等命令。容器环境名为 "tata_web",因此您需要将此值传递给 docker-compose run

$ docker-compose run tata_web composer install

使用 Composer 安装

可以使用 Composer 来构建项目。如果您尚未安装它,请根据文档进行安装。

创建新项目

$ composer create-project -sdev tata-website/tata-steel-sailing path/to/install

安装后,您可以使用 PHP 内置的 Web 服务器立即进行测试

$ cd path/to/install
$ php -S 0.0.0.0:8080 -t public
# OR use the composer alias:
$ composer run --timeout 0 serve

这将在端口 8080 上启动 CLI 服务器,并将其绑定到所有网络接口。然后您可以通过访问 https://:8080/ 来查看网站。

注意:内置的 CLI 服务器仅适用于开发。

数据库连接和 API 密钥存储

数据库适配器设置和 API 密钥存储不受版本控制,因此需要手动添加到 config/autoload/global.php 配置文件中。建议创建一个新的 config/autoload/local.php 文件,其中包含您不希望进行版本控制的安全信息。有关添加新配置文件的说明,请参阅 Laminas 文档

更改后,生成的项目目录应类似于以下内容:

project
│   README.md
│   ...
│
└───config
│   └───autoload
│       │   global.php
│       │   local.php   # add this new file containing sensitive information
│       │   ...

Apache 设置

如果是从源代码构建,可能需要设置 Apache。为此,请设置一个虚拟主机,将其指向项目的 public/ 目录,然后您就可以开始了!它应该看起来像以下内容:

<VirtualHost *:80>
    ServerName website.localhost
    DocumentRoot /path/to/install/public
    <Directory /path/to/install/public>
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
        <IfModule mod_authz_core.c>
        Require all granted
        </IfModule>
    </Directory>
</VirtualHost>

鸣谢

该项目最初是基于Laminas 框架骨骼构建的。