- トップ >
仮想ホスト名を用いたWWW空間提供サービスについて
概要
共用作業領域名を仮想ホスト名としてWWW空間を提供するサービスです。
URL | http://仮想ホスト名.sfc.keio.ac.jp/ |
---|
Webページを設置するには
-
指定の公開用ディレクトリに公開したいファイルをサーバ上のエディタ(Emacs,viなど)で編集するかSFTPソフトウェアを使ってアップロードします。
アップロード先サーバ webedit.sfc.keio.ac.jp 公開用ディレクトリ(アップロード先) /pub/WWW/仮想ホスト名/ ユーザ名 CNSログイン名 パスワード CNSログインパスワード
CGI/SSI/PHP/メール について
- CGI/SSI
- 実行権限
- CGI/SSIはHTTPDソフトウェアの権限(wwwユーザ,wwwグループ)で実行されます。
- 実行権限
- PHP
- セーフモード
- セーフモード(safe_mode) は有効です。(セーフモード について)
- グローバル変数の扱い
- グローバル変数の機能は無効(register_globals=off)です。入出力に使用する変数はスーパーグローバル変数($_GET,$_POSTなど)を利用してください。
- PHPの実行ユーザ
- wwwユーザ,wwwグループで動作します。
- mb_send_mail(),mail()の第5引数によるReturn-Pathの設定
- PHPの仕様変更によりsafe_modeが有効なCNSでは使用できなくなっています。
- PHP4互換モード
- PHP4互換モードを使用する場合はPHPスクリプト設置ディレクトリに以下の内容を書いた .htaccess を置いてください。
php_flag zend.ze1_compatibility_mode On
- PHP4互換モードを使用する場合はPHPスクリプト設置ディレクトリに以下の内容を書いた .htaccess を置いてください。
- セーフモード
- メール
- メールプログラムのパスは /usr/sbin/sendmail です。
データベースの連携について
概要
- 仮想ホスト名を用いたWWW空間提供サービスからデータベースが利用できるようになりました。
- PostgreSQL と MySQL が利用可能です。
利用方法
- オンライン申請
- SFC-CNS オンライン申請 から 共用作業領域申請 の申請をしてください。
データベース情報
データベースサーバ名 | webpubdb.sfc.keio.ac.jp | |
---|---|---|
接続ポート | PostgreSQL | 5432 |
MySQL | 3306 |
- データベースに接続できるのはwebedit.sfc.keio.ac.jpからのみです。
- PHP,CGI等からのデータベースパスワード利用方法について (塾内ネットワークからのみアクセス可。塾外からは VPN をご利用ください。)
接続方法
- PostgreSQL
- 例1: webeditでcommandでPostgreSQLに接続する
webedit% psql -h webpubdb -U PostgresSQL用ユーザ名 -W
- 例2: PHPでPostgreSQLに接続する
$con = pg_connect("host=webpubdb.sfc.keio.ac.jp port=5432 dbname=DB名 user=DBユーザ名 password=DBパスワード");
- 例1: webeditでcommandでPostgreSQLに接続する
- MySQL
- 例1: webedit でcommandで MySQL に接続する
webedit% mysql -h webpubdb -u MySQL用ユーザ名 -p
- 例2: PHPでMySQLに接続する
$con = mysql_connect("webpubdb:3306","DBユーザ名","DBパスワード");
- 例1: webedit でcommandで MySQL に接続する
応用
アクセス制限
1. パスワードによる制限(Digest認証)
- http://仮想ホスト名.sfc.keio.ac.jp/secret/ というディレクトリ内のコンテンツをパスワードが知っている人のみアクセスできるようにします。Digest認証はBasic認証よりも安全性の高い仕組みです。
- webedit.sfc.keio.ac.jp にリモートログインします。
リモートログインの方法については リモートログインについて をご覧ください。 - パスワードファイル用ディレクトリ(secdir)を作成し、アクセス権を変更します。
% cd /pub/WWW/仮想ホスト名 % mkdir secdir % chmod o-r secdir
- パスワードファイルを作成します。ここにアクセスできるユーザ名は taro とし、領域名をsecret 1としています。
% htdigest -c /pub/WWW/仮想ホスト名/secdir/.htdigest "secret 1" taro New password: (パスワードを入力する) Re-type new password: (再度パスワードを入力する) Adding password for user taro
- /pub/WWW/仮想ホスト名/secret/ に次のような内容のファイルを .htaccess という名前で設置します。AuthNameにはパスワードファイルを作成した時の領域名を指定して一致させます。
AuthName "secret 1" AuthType Digest AuthUserFile /pub/WWW/仮想ホスト名/secdir/.htdigest require user taro
- ブラウザで http://仮想ホスト名.sfc.keio.ac.jp/secret/ を開くとユーザ名とパスワードの入力を促すダイアログが表示されます。
2. パスワードによる制限(Basic認証)
- http://仮想ホスト名.sfc.keio.ac.jp/secret/ というディレクトリ内のコンテンツをパスワードが知っている人のみアクセスできるようにします。
- webedit.sfc.keio.ac.jp にリモートログインします。
リモートログインの方法については リモートログインについて をご覧ください。 - パスワードファイル用ディレクトリ(secdir)を作成し、アクセス権を変更します。
% cd /pub/WWW/仮想ホスト名 % mkdir secdir % chmod o-r secdir
- パスワードファイルを作成します。ここにアクセスできるユーザ名は taro としています。
% htpasswd -c /pub/WWW/仮想ホスト名/secdir/.htpasswd taro New password: (パスワードを入力する) Re-type new password: (再度パスワードを入力する) Adding password for user taro
- /pub/WWW/仮想ホスト名/secret/ に次のような内容のファイルを .htaccess という名前で設置します。
AuthUserFile /pub/WWW/仮想ホスト名/secdir/.htpasswd AuthGroupFile /dev/null AuthName "Members Only" AuthType Basic require user taro
- ブラウザで http://仮想ホスト名.sfc.keio.ac.jp/secret/ を開くとユーザ名とパスワードの入力を促すダイアログが表示されます。
3. 指定したホスト/IPアドレスで制限
- 制限したいコンテンツを保存しているディレクトリに以下を書いた .htaccess というファイルを設置します。
- 例1: 特定のホストとSFC内からのアクセスのみ許可 (IPアドレスの場合)
order deny,allow deny from all allow from hoge.example.com allow from 133.27.0.0/16
- 例2: SFC内からのアクセスのみ許可。(サーバの処理が増えるため例1のIPアドレスでの制限を推奨)
order deny,allow deny from all allow from .sfc.keio.ac.jp
- 例1: 特定のホストとSFC内からのアクセスのみ許可 (IPアドレスの場合)
1.と3.の組み合わせ
AuthDigestFile /pub/WWW/仮想ホスト名/secdir/.htdigest AuthName "secret 1" AuthType Digest order deny,allow deny from all require user himitsu allow from 133.27.0.0/16 Satisfy any
2.と3.の組み合わせ
AuthUserFile /pub/WWW/仮想ホスト名/secdir/.htpasswd AuthName "Members Only" AuthType Basic order deny,allow deny from all require user himitsu allow from 133.27.0.0/16 Satisfy any
注意事項
- 管理グループについて
- 管理グループメンバー内でファイルやディレクトリ操作を行えるようにするためには、ファイルやディレクトリのグループに対して書き込み権限を設定してください。
- テンポラリファイルの使用について
- テンポラリファイルを再利用したい場合は各領域の指定されたディレクトリ以下に作成してください。
- WikiやBlogの設置について
- 設置後も定期的に配布元を確認し、脆弱性が発見された時は速やかにバージョンアップするなどしてください。
特にトラックバックスパムやコメントスパムはサーバ資源を浪費し、共用作業領域全体に影響が及びますので対策を確実に行なってください。
- 設置後も定期的に配布元を確認し、脆弱性が発見された時は速やかにバージョンアップするなどしてください。
- Return-Pathの設定
- CGIなどからsendmail によりメール送信を行なう場合は、エラーメールの返送先である Return-Path: を設定してください。
- perlでの例
$from にはエラーメールの送信先のメールアドレスを指定します。
$from = 'z00000tk@sfc.keio.ac.jp' open(MAIL,/usr/sbin/sendmail -f $from -t $to)
- perlでの例
- CGIなどからsendmail によりメール送信を行なう場合は、エラーメールの返送先である Return-Path: を設定してください。
- PHPでのfopen()に使用について
- fopenする対象のファイルポインタの参照先が存在することを確認するようにコーディングしてください。
FAQ
サーバ仕様
OS構成 | |
---|---|
OS | Ubuntu 18.04 LTS |
CGI利用可能言語 | |
Perl, Ruby, PHP5, Python, C/C++*1 | |
実行パス | |
Perl 5.26.1 | /usr/local/bin/perl |
Ruby 2.5.1p57 | /usr/local/bin/ruby |
Python 2.7.17 | /usr/local/bin/python |
PHP 7.2系 + suPHP | CGI: /usr/local/bin/php5 |
C/C++ 7.5.0 | /usr/local/bin/gcc |
sendmail | /usr/sbin/sendmail |
nkf | /usr/local/bin/nkf |
利用可能データベース | |
PostgreSQL, MySQL | |
HTTPサーバ仕様 | |
HTTPサーバ | Apache 2.4.29 |
セキュリティ | CGI/SSI: SuEXEC有効 |
PHP: suPHP有効 |
変更履歴
2020年03月16日 | OS を Ubuntu 18.04 LTS に更新しました。
Apache 2.4.29 に更新しました。 PHP 7.2 系に更新しました。 |
2012年03月12日 | 機器置き換えに伴い、OS を Debian GNU/Linux 5.0.4(lenny) から 6.0.4(squeeze) に更新しました。
Apache 2.2.22 に更新しました。 PHP 5.2.17 に更新しました。 |
2011年08月25日 | Apache 2.0.64 に更新しました。 |
2010年09月03日 | Digest認証に対応しました。 |
2010年08月18日 | PHP 5.2.14 に更新しました。 |
2010年03月15日 | OS を Debian GNU/Linux 4.0(etch) から 5.0.4(lenny) に更新しました。
PHP 5.2.13 に更新しました。 |
2010年02月19日 | Microsoft Office 2007 ドキュメントファイル (.docx, .xlsx, .pptx) をダウンロードした際に zip ファイルとして扱われる不具合を修正しました。 |
2009年06月29日 | PHP 5.2.10 に更新しました。PDO-MySQL, PDO-PgSQL を有効にしました。 |
2009年03月03日 | PHP 5.2.9 に更新しました。 |
2009年01月16日 | PHP 5.2.8 に更新しました。 |
2008年09月10日 | PHP のファイルアップロードサイズを 2M -> 10M に変更しました。 |
2008年07月10日 | cURL(Client URL Library)を導入しました。 |
2008年06月30日 | 機器置き換えに伴い、Debian GNU/Linux 4.0(Etch), Apache 2.0.63, PHP 5.2.6 に更新しました。PHP5への移行に伴いPHP4はサービス停止しました。 |
2008年06月16日 | データベース (PostgreSQL 8.3.1, MySQL 5.0.51b) が利用可能になりました。 |
2007年12月19日 | Apache 2.0.61 に更新しました。 |
2006年9月7日 | Apache 2.0.59, PHP 4.4.4, PHP 5.1.6 に更新しました。 |
2006年6月19日 | OS を Debian GNU/Linux 3.0(Woody) から 3.1(Sarge) に更新しました。 Apache 2.0.58 に更新しました。 |
2006年4月7日 | PHP のセキュリティ強化のためグローバル変数の登録機能を無効(register_globals=off)としました。入出力に使用する変数にはスーパーグローバル変数($_GET、$_POSTなど)を利用してください。 |
2006年1月16日 | PHP 4.4.2 正式バージョンに更新しました。 |
2005年12月19日 | PHP 4.4.2RC1 に更新しました。bug fix優先のため。 |
2005年11月24日 | PHP 4.4.1 に更新しました。PHP 4.4.0 以下に致命的な脆弱性が発見されたため。 |
2005年10月19日 | Apache 2.0.55 に更新しました。 |
2005年6月10日 | PHP5(CGI/CLI版のみ)をインストールしました。(個人用Webサーバのみ: /usr/local/bin/php5) |
2005年5月13日 | Apache 2.0.54 に更新しました。 |
2005年4月5日 | PHP 4.3.11 に更新しました。security/bug fixです。 |
2005年2月22日 | Apache 2.0.53 に更新しました。 |
2005年1月27日 | Ruby 1.8.2 をインストールしました。(/usr/local/bin/ruby) |
2004年12月17日 | 各CGIやSSIのメモリ使用量が200MB〜333MBを越えた場合、その処理を 強制終了するように設定を変更しました。(個人用サーバのみ) |
2004年12月16日 | PHP 4.3.9 -> 4.3.10 に更新しました。security fixです。 |
2004年11月4日 | 各CGIやSSIのメモリ使用量が256MB〜512MBを越えた場合、その処理を 強制終了するように設定を変更しました。(個人用サーバのみ) |
2004年10月5日 | PHP 4.3.8 -> 4.3.9 に更新しました。GIF Create Supportが復活しています。 |
2004年10月5日 | Apache 2.0.52 に更新しました。 |
2004年8月25日 | ImageMagick, perlmagickパッケージをインストールしました。 |
2004年8月17日 | ruby-dev, libuconv-rubyパッケージをインストールしました。 |
2004年7月28日 | PHPのJPG SUPPORTが有効になるよう修正しました。 |
2004年7月27日 | Perlモジュールの一部を修正しました。 |
2004年7月26日 | 本運用を開始しました。 |
2004年7月26日 | PHPのオプション mbstring.encoding_translation をOnからOffに修正しました。 |
2004年7月15日 | PHP 4.3.7のバグ修正バージョン 4.3.8 に更新しました。 |
2004年7月1日 | Apache 2.0.49の脆弱性の修正バージョン 2.0.50 に更新しました。 |
2004年6月28日 | 試験運用開始 |
最終更新日: 2021年12月23日
内容はここまでです。