在 Heroku 上使用 Apache 进行基础身份验证

在将public文件夹作为docroot的PHP应用程序中,使用Apache进行基本认证。

以下是文件结构。(不包括.git/目录和vendor/目录下的内容)

$ tree -a
├── .git
├── .gitignore
├── .htpasswd
├── Procfile
├── composer.json
└── public
    ├── .htaccess
    └── index.php

把.htaccess 放在 docroot 中。

$ cat public/.htaccess
AuthUserFile /app/.htpasswd
AuthType Basic
AuthName "Restricted Access"
Require valid-user

创建.htpasswd文件。将.htpasswd文件存放在除了docroot以外的位置。

$ htpasswd -c .htpasswd user

仅需要最基本的信息时,只需要 Procfile 和 composer.json。

$ cat Procfile
web: vendor/bin/heroku-php-apache2 public/

$ cat composer.json
{
  "require": {
    "php": "~5.6.0"
  }
}

只需要使用Git将代码部署到Heroku。

$ git init
$ git add .
$ git commit -m 'init'

$ heroku create
$ git push heroku origin
$ heroku open