public/ を docroot とする PHP アプリケーションで、Apache を使って Basic 認証を行う。
ファイル構成は以下。(.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