ApacheでBasic認証をかける

予算なく認証をかけるのに手っ取り早いbasic認証をかけてみました

今回はサーバーはCentos6、Apache2.4です
レンタルサーバーで、confがさわれないので、.htaccessを使います

$ vim .htaccess

AuthUserfile /home/user/www/.htpasswd
AuthGroupfile /dev/null
AuthName "Input ID and password"
AuthType Basic
require valid-user

.htpasswdがユーザー名とパスワードが保存されるファイルで、お好みの場所、ファイル名で
.htpasswdをコマンドでつくります

$ htpasswd -c .htpasswd username
(パスワード入力)

-c が新規作成です

これで、username、入力したパスワードで認証がかかります

Ubuntuにphpenvで複数バージョンのphpをいれる

諸事情で古めのphpが必要になったので、phpenvを試してみました
エラーでまくりでかなり時間かかりましたが、手順をまとめておきます

必要なものをいれます
$ sudo aptitude install -y libxml2 re2c autoconf bison libxml2-dev libcurl4-dev libjpeg62 libjpeg62-dev libreadline6-dev libpng12-0 libpng12-dev libtidy-dev libxslt-dev libltdl-dev libltdl7 libltdl7-dev libmcrypt-dev openssl libcurl4-openssl-dev

phpenv、php-buildを落としてきます

$ curl -L https://raw.github.com/CHH/phpenv/master/bin/phpenv-install.sh | bash
$ git clone git://github.com/CHH/php-build.git ~/.phpenv/plugins/php-build
$ echo ‘export PATH=”$HOME/.phpenv/bin:$PATH”‘ >> ~/.bashrc
$ echo ‘eval “$(phpenv init -)”‘ >> ~/.bashrc
$ exec $SHELL -l

configureのオプションを修正
$ vim ~/.phpenv/plugins/php-build/share/php-build/default_configure_options

enable-fpm
を消して
–with-apxs2=/usr/sbin/apxs
を追記

$ phpenv install -l
でバージョンを確認

$ phpenv install 5.3.29
でだめだったので

rootになって試しました(phpenvを入れなおしたかも)
$ sudo -s
$ phpenv install 5.3.29
で入りました

php.iniが
~/.phpenv/versions/5.3.29/etc/php.ini
にあります

date.timezone = Asia/Tokyo
pdo_mysql.default_socket=/var/run/mysqld/mysqld.sock
mysql.default_socket = /var/run/mysqld/mysqld.sock
mysqli.default_socket = /var/run/mysqld/mysqld.sock

を追記

phpenv-apache-versionをいれます
$ git clone https://github.com/garamon/phpenv-apache-version ~/.phpenv/plugins/phpenv-apache-version

バージョンセット
$ phpenv apache-version 5.3.29

apache再起動して完了

苦労しました..

(参考)
ubuntuにphp-buildでphp5.5を入れるためにシェルスクリプトと格闘した記録 | hirobanex.net
phpenvの導入して複数バージョンのPHPを管理する – Qiita
Hunting Field: もう一度php-5.3.8を入れる
ubuntuにphp-buildでphp5.5を入れるためにシェルスクリプトと格闘した記録 | hirobanex.net

Apache+phpのサーバーに.htaccessでCookieにsecure属性をつける

PHPを使っているSSL導入済みのWebサーバーへ
Cookieにsecure属性をつけてみました

php.ini
にかきたいとこですが、レンタルサーバーでダメだったので.htaccessに書きました

php_flag session.cookie_secure On

ChromeのWebデベロッパーツールのResources>CookieにSecureの枠にチェックがついれてば効いてます

SSLを導入したサーバーでHSTSを有効にしてみた

SSL導入済みのApacheで
HTTP Strict Transport Security – Security | MDN
通称、HSTSを有効にしてみました

ブラウザにHTTPの代わりにHTTPSを使うようにできる機能です
対応しているブラウザが限られていますが、今後、IEも対応するみたいです

HTTP Strict Transport Security comes to Internet Explorer – IEBlog – Site Home – MSDN Blogs

.htaccessに書き込みました

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

モダンブラウザでhttpのアクセスがhttpsに転送されれば成功です