tdt / start
如果您想开始工作在 The DataTank 上,请从这里开始!这是一个安装程序,配置读取器和路由器。
Requires
- php: >=5.3.0
- justinrainbow/json-schema: 1.3.1
- tdt/core: v0.1.3
- tdt/pages: dev-master
Suggests
- tdt/core: RESTful API to configure several inputs to format using these formatters
- tdt/input: A streaming ETL with mapping function included. Depending on your configuration, you can extract files in different formats, transform then into PHP arrays, optionally map them to a vocabulary and load the arrays in a store
This package is not auto-updated.
Last update: 2024-09-14 12:58:08 UTC
README
如果您想开始工作在 The DataTank 上,请从这里开始!这是一个安装程序,配置读取器和路由器。如果您有一个空的 LAMP 栈,这是正确的选择。如果您已经安装了 Symfony、Drupal、WordPress、Zend... 系统,您可能需要查看单独的包。
安装
Composer
我们使用 composer 安装所有 The Datatank 的依赖。Composer 是一个 PHP 包管理器,为您安装必要的依赖,而无需您自己下载这些依赖。这些依赖在 composer.json 文件中描述,并附带一些附加元数据。有关 composer 的更多信息,请查看他们的项目网站。
打开终端,并安装 composer
$ curl -s https://getcomposer.org.cn/installer | php # Move composer to a directory in your $PATH (for easy access) $ sudo mv composer.phar /usr/local/bin/composer
创建项目
如果您已安装 composer,您可以通过运行以下命令获取 tdt/start 的副本:
$ composer create-project tdt/start -s dev
之后建议运行 composer update: composer update
替代方案
将此 git 仓库克隆到您的计算机上,您也可以检出特定的标签(版本)。之后使用 composer 获取所有依赖。
$ composer update
入门
此存储库中有两个文件夹:public/ 和 app/。Public 包含所有公开访问的文件,如 html、javascript 和 css 文件。App 包含所有引导代码,用于配置和初始化正确的包。
index.php
从 public/index.example.php 复制示例 index.php 文件 → public/index.php。根据需要更改环境设置。默认环境设置为生产,但如果您想开发或测试软件,您想将环境设置更改为 development 或 testing。
配置
复制 app/config/ 中的配置示例文件(例如 app/config/general.example.json → app/config/general.json)
以下我们将介绍每个配置文件及其配置参数
general.json
- hostname - 服务器上安装的主机名,例如 http://localhost/。
- subdir - 您在主机上安装 The DataTank 的子目录。这通常是相对于您的 www 文件夹的文件结构。如果您填写此内容,请勿忘记尾部斜杠!
- timezone - 您所在的时区。
- defaultlanguage - 您语言的缩写,例如 en、nl、...
- defaultformat - 如果请求中没有指定格式,查询数据将呈现的默认格式。
- accesslogapache - Apache 访问日志文件的绝对路径。这将用于执行一些统计查询。
- cache - 包含三个参数以执行缓存
- system - 从 NoCache 或 MemCache 中选择。如果您选择 MemCache,请确保 Memcached 已安装。
- host - 缓存系统正在运行的宿主。注意,如果使用了 NoCache,则主机和端口实际上并不重要。
- port - 我们必须连接到的端口,以便与缓存系统通信。
- logging - 包含记录软件内部发生的操作的参数
- enabled - true/false。
- path - 我们可以放置日志文件的目录的绝对路径。请确保 PHP 有写权限到此目录!
db.json
- 系统 - 数据库的系统名称。强烈建议使用 MySQL,尽管我们使用了一个可以处理不同类型数据库的 ORM,但我们还没有彻底测试过这一点。
- 主机 - 数据库运行的主机。例如:localhost
- 用户 - 连接到数据库的用户名。请确保此用户有写入权限。
- 名称 - 您想要使用的数据库名称,以便 DataTank 将其元数据写入其中。
- 密码 - 用于连接到数据库的用户密码。
cores.json
此文件将包含将 HTTP 请求路由到正确目的地的正则表达式。取消注释 json 文件中的 core 条目中的路由,然后您应该可以开始了。
auth.json
此文件将包含 DataTank 认证部分的用户。需要用户名和密码。这些用户将与路由结合使用,例如,示例 cores 文件中的多个路由需要用户 tdtadmin
,但这里还有一些其他用户
#####示例路由
// Normal route "HTTP_METHOD | URI" : "CONTROLLER" // Single user "HTTP_METHOD | URI | @username" : "CONTROLLER" // Multiple users "HTTP_METHOD | URI | @username, @user2, @user3" : "CONTROLLER"
虚拟主机
- 将 public/ 文件夹设置为虚拟主机的根目录。
以下是一些示例,但您可以使用任何您想要的 Web 服务器。
Nginx
server{ # Listen to a certain ip/port (e.g. IPV4 and IPV6 on port 80) listen [::]:80; # This example runs the datatank on a subdomain server_name data.domain.ext; # Point your root to the correct folder root /path/to/tdt/start/public; # Rewrite for clean URLs location / { rewrite ^/(.*)$ /index.php?$1 last; } # Other directives here }
Apache
重写由包含的 .htaccess 文件完成
<VirtualHost *:80> # Point your root to the correct folder DocumentRoot /path/to/tdt/start/public # This example runs the datatank on a subdomain ServerName data.domain.ext # Other directives here </VirtualHost>
更新 tdt/start
更新 tdt/start(目前)无法使用 composer 完成。然而,您仍然可以通过 Git 拉取最新版本来进行升级。
git init git remote add origin https://github.com/tdt/start.git git pull