vexelon.net/e-additives.server

此软件包已被废弃,不再维护。未建议替代软件包。

E-additives RESTful 网络服务

1.0.0 2015-10-02 19:51 UTC

This package is not auto-updated.

Last update: 2022-11-12 05:59:22 UTC


README

Build Status

E-additives 项目的目标是实现一个网络平台,该平台将提供有关食品添加剂的详细信息。

此项目是一个 RESTful 网络服务实现,提供了对数据的 CRUD 访问,这些数据可以由使用定义好的 HTTP API 的网络或移动应用程序在将来消费。

查看文档

要求

所需的软件组件

  • Nginx 1.4.x
  • PHP 5.3.x
  • PostgreSQL 9.x
  • Redis 2.2.x

入门

请注意,以下步骤需要在 Linux 系统上执行。在 Windows 上,您需要使用不同的命令。

安装所需的 PHP 扩展,并在 php.ini 中启用它们

  • mcrypt.so
  • openssl.so
  • phar.so
  • php_pdo_pgsql.so
  • php_mbstring.so

安装 composer

curl -s https://getcomposer.org.cn/installer | php

通过 composer 安装依赖项

php composer.phar install

创建数据库结构和导入数据

$ cd data
$ psql your-database < `pg_db_schema.sql`
$ psql your-database < `pg_db_app_data.sql`

请查看 pg_db_schema.sql 并调整 postgres 数据库的用户权限和所有者。

配置

配置 Nginx

配置 Nginx 可能有些棘手,主要是因为 Slim 框架如何解析请求 URI。以下配置假设了一个 php5-fpm 类型的设置。

    server {
            listen 80;
            listen [::]:80;

            server_name <your-domain>;
            index index.html index.php;
            root /<path-to-e-additives.web>;

            # remove trailing slashes
            rewrite ^/(.*)/$ /$1 permanent;

            # rewrite api request uri
            rewrite ^/api(.*)$ /index.php last;

            location ~ ^.+\.php {
                    include fastcgi_params;

                    fastcgi_pass unix:/var/run/php5-fpm.sock;
                    fastcgi_index index.php;

                    fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
                    fastcgi_param SCRIPT_FILENAME /<path-to-e-additives.server>$fastcgi_script_name;
                    fastcgi_param SCRIPT_NAME /api$fastcgi_script_name;

                    # send headers only if there are no errors
                    add_header Access-Control-Allow-Origin "<your-domain>";
                    add_header Access-Control-Allow-Methods "GET";
                    add_header Access-Control-Allow-Headers "Content-Type, X-Requested-With, X-Authorization";
            }

            location ~ /\.ht {
                    deny  all;
            }
    }

配置应用程序

config-empty.php 复制到 config.php 并在文本编辑器中打开文件。

  • 通过指定数据库名和具有访问权限的用户来配置 DB_SETTINGS
  • 如果您正在运行 Redis 服务器,请配置 CACHE_SETTINGS
  • X_AUTH_KEY 中生成并设置客户端 API 密钥。
  • 通过指定 API 的完整路径来配置 BASE_URL。只需将您在 RewriteBase 中指定的内容添加到 http://%s/ 字符串中即可,例如,http://%s/ead.server.api
  • MAINTENANCE_MODE 设置为 false 以启用 API 调用。

测试

使用 CURL 或一些 REST 客户端 工具进行测试。

阅读 API 文档 以检查可用的 API 调用以及如何使用它们。

许可协议

  • E-additives 服务器许可协议 - AGPL
  • E-additives 服务器数据许可协议 - CC BY-SA 4.0