まさに私的過ぎるメモ。
今日から毎日数時間ずつリハビリしよう。
3時間ずつ。
2009年02月11日
WEBサーバでPHP利用可能にする怪
惰性でPHP使えるようにしたので、その手順をメモ。
全く苦労した記憶がありません。
※再構築するので# yum install gcc等でgccを用意しておいてください。
手順
1.PHPを有効にするためにapacheをソースから再インストールします。
・ソースのアドレスを確認します。
下のアドレスからDownload>from a mirrorと進んでUnix Source: httpd-2.2.11.tar.gz(その時々の最新版)のURLを確認しましょう。
http://httpd.apache.org/
・確認したらサーバでダウンロードしましょう。
# cd /home/sis
# wget http://ftp.kddilabs.jp/infosystems/apache/httpd/httpd-2.2.11.tar.gz
・解凍します。
# tar zxfv httpd-2.2.11.tar.gz
・解凍出来たらインストールです。
# cd httpd-2.2.11
※本当は違う目的だったのと作業効率化のために色々有効にしました。
下準備をします。
# yum install openssl-devel
# yum install krb5-devel
/usr/kerberosディレクトリにincludeディレクトリが無かったので。
# mkdir /usr/kerberos/include
# cd /usr/include
# ln -s /usr/kerberos/include/*
いよいよインストールのオプション設定です。
# export CPPFLAGS=-I/usr/kerberos/include
# ./configure
--enable-ssl<SSL
--enable-dav<WebDAV
--enable-so<PHP
--enable-suexec<suEXEC(これをやりたかった。でもダメだった。)
--with-suexec-caller=apache<suEXECを利用するユーザ
--with-suexec-userdir=public_html
--with-suexec-docroot=/home/html
--with-suexec-logfile=/usr/local/apache2/logs/suexec_log
--with-suexec-uidmin=500<使用出来るユーザIDの最小値
--with-suexec-gidmin=100<上のグループ版
# make clean(以前にmakeしてたら)
# make
# /etc/rc.d/init.d/httpd stop
# make install
2.PHP本体をインストールしましょう。
# yum install php php-mbstring
3.httpdを起動
# /etc/rc.d/init.d/httpd start
4.動作テスト
test.phpを置いて動くか確かめましょう。
---test.phpの中身---
--------------------
パーミッションは755
動けば成功です。その他の機能はそのうちメモしていきます。
全く苦労した記憶がありません。
※再構築するので# yum install gcc等でgccを用意しておいてください。
手順
1.PHPを有効にするためにapacheをソースから再インストールします。
・ソースのアドレスを確認します。
下のアドレスからDownload>from a mirrorと進んでUnix Source: httpd-2.2.11.tar.gz(その時々の最新版)のURLを確認しましょう。
http://httpd.apache.org/
・確認したらサーバでダウンロードしましょう。
# cd /home/sis
# wget http://ftp.kddilabs.jp/infosystems/apache/httpd/httpd-2.2.11.tar.gz
・解凍します。
# tar zxfv httpd-2.2.11.tar.gz
・解凍出来たらインストールです。
# cd httpd-2.2.11
※本当は違う目的だったのと作業効率化のために色々有効にしました。
下準備をします。
# yum install openssl-devel
# yum install krb5-devel
/usr/kerberosディレクトリにincludeディレクトリが無かったので。
# mkdir /usr/kerberos/include
# cd /usr/include
# ln -s /usr/kerberos/include/*
いよいよインストールのオプション設定です。
# export CPPFLAGS=-I/usr/kerberos/include
# ./configure
--enable-ssl<SSL
--enable-dav<WebDAV
--enable-so<PHP
--enable-suexec<suEXEC(これをやりたかった。でもダメだった。)
--with-suexec-caller=apache<suEXECを利用するユーザ
--with-suexec-userdir=public_html
--with-suexec-docroot=/home/html
--with-suexec-logfile=/usr/local/apache2/logs/suexec_log
--with-suexec-uidmin=500<使用出来るユーザIDの最小値
--with-suexec-gidmin=100<上のグループ版
# make clean(以前にmakeしてたら)
# make
# /etc/rc.d/init.d/httpd stop
# make install
2.PHP本体をインストールしましょう。
# yum install php php-mbstring
3.httpdを起動
# /etc/rc.d/init.d/httpd start
4.動作テスト
test.phpを置いて動くか確かめましょう。
---test.phpの中身---
--------------------
パーミッションは755
動けば成功です。その他の機能はそのうちメモしていきます。
2009年02月10日
WEBサーバで複数のDDNSごとに違うページ表示の怪
apacheの仮想ホスト(バーチャルホスト)機能を使うと複数のWEBページを別ドメインで管理出来るようになります。普通に複数のドメインを取得している場合でも可能なのですが、うちの環境ではDDNSなので今回はこれでメモしていきます。
・図
mydomain1 ⇒ 111.222.333.444
medomain2 ⇒ 111.222.333.444
このように変換できる環境が前提です。
http://mydomain1.com/ ⇒ mydomain1用のWEBページ
http://mydomain2.com/ ⇒ mydomain2用のWEBページ
すでにDDNSを二つ取得済みで両方から自分のIPアドレスに変換されてるとします。
手順
1.httpd.confを編集します。
# vi /etc/httpd/conf/httpd.conf
---ファイルの中身---
〜末尾に追加
#VirtualHost conf
NameVirtualHost 192.168.12.6<NICに割り当てられているIP
DocumentRoot /home/html/domain1
ServerName domain1.com
#エラーログ
ErrorLog logs/domain1.com-error_log
#アクセスログ
CustomLog logs/domain1.com-access_log common
DocumentRoot /home/html/domain2
ServerName domain2.com
ErrorLog logs/domain2.com-error_log
CustomLog logs/domain2.com-access_log common
〜こうやって幾らでも増やせます。
---------------------
2.httpdを再起動します。
# /etc/rc.d/init.d/httpd restart
※項目説明
#
# ServerAdmin webmaster@host.some_domain.com
# DocumentRoot /www/docs/host.some_domain.com
# ServerName host.some_domain.com
# ErrorLog logs/host.some_domain.com-error_log
# CustomLog logs/host.some_domain.com-access_log common
#
IPアドレス直打ちで表示されるのは一番上に書かれた仮想ホストです。(多分)
※最後にログは/var/log/httpd/にあります。
追記
※仮想ホストを設定した時は今までのDocumentRootをコメントアウトしておきましょう。
・図
mydomain1 ⇒ 111.222.333.444
medomain2 ⇒ 111.222.333.444
このように変換できる環境が前提です。
http://mydomain1.com/ ⇒ mydomain1用のWEBページ
http://mydomain2.com/ ⇒ mydomain2用のWEBページ
すでにDDNSを二つ取得済みで両方から自分のIPアドレスに変換されてるとします。
手順
1.httpd.confを編集します。
# vi /etc/httpd/conf/httpd.conf
---ファイルの中身---
〜末尾に追加
#VirtualHost conf
NameVirtualHost 192.168.12.6<NICに割り当てられているIP
DocumentRoot /home/html/domain1
ServerName domain1.com
#エラーログ
ErrorLog logs/domain1.com-error_log
#アクセスログ
CustomLog logs/domain1.com-access_log common
DocumentRoot /home/html/domain2
ServerName domain2.com
ErrorLog logs/domain2.com-error_log
CustomLog logs/domain2.com-access_log common
〜こうやって幾らでも増やせます。
---------------------
2.httpdを再起動します。
# /etc/rc.d/init.d/httpd restart
※項目説明
#
# ServerAdmin webmaster@host.some_domain.com
# DocumentRoot /www/docs/host.some_domain.com
# ServerName host.some_domain.com
# ErrorLog logs/host.some_domain.com-error_log
# CustomLog logs/host.some_domain.com-access_log common
#
IPアドレス直打ちで表示されるのは一番上に書かれた仮想ホストです。(多分)
※最後にログは/var/log/httpd/にあります。
追記
※仮想ホストを設定した時は今までのDocumentRootをコメントアウトしておきましょう。
2009年02月09日
FTPサーバにSSL通信を導入の怪
FTPサーバ導入については下
CentOSでFTPサーバの怪
FTP通信は実のところ全く暗号化がされていません。物理的に線の中継者なら通信内容を読む事が出来ます。なのでFTPはイントラネット内のみで使うべきなのでした。
では、その通信をSSLで暗号化して読めなくしましょう。
手順
1.VSFTPの設定ファイルを編集します。
# vi /etc/vsftpd/vsftpd.conf
---ファイルの中身---
〜〜末尾
#ssl有効化
ssl_enable=YES
#サーバ証明書のパス
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem
#SSL以外の通常通信も使えるようにするためには。(非推奨)
force_local_logins_ssl=NO#ログイン時にSSLを強制しない
force_local_data_ssl=NO#データ送受信時に…
-------------------
2.サーバ証明書を作りましょう。
# cd /etc/pki/tls/certs/
# make vsftpd.pem
以下質問形式で進みます。
・国を入力
Country Name (2 letter code) [GB]:JP
・都道府県名
State or Province Name (full name) [Berkshire]:Tokyo
・更に詳しく市区町(面倒な場合は同じでもOK)
Locality Name (eg, city) [Newbury]:Tokyo
・サイトの名前
Organization Name (eg, company) [My Company Ltd]:sis's server
・記入しないで問題無し。
Organizational Unit Name (eg, section) []:
・ホスト名
Common Name (eg, your name or your server's hostname) []:ドメインアドレスとか
・管理者のメールアドレス
Email Address []:
3.vsftpdを再起動します。
# /etc/rc.d/init.d/vsftpd restart
これでサーバ側の設定は終わりです。
クライアント側のFTPソフトもSSL通信をサポートしていないといけません。そこでいくつかソフトを挙げておきます。
・smartFTP(最近シェアになったそうです。試用期間は1ヶ月)
http://www.smartftp.com/localization/projects/japanese/
日本語化と本体をインストールしましょう。
・Filezilla(フリーソフトです。)ただし3.x版ではタイムアウトになったりリストだけ表示出来なかったりどうやってもうまくいかないので2.xの最終バージョン(2.2.32)のリンクを貼っておきます。
・http://downloads.sourceforge.net/filezilla/FileZilla_2_2_32.zip
・http://prdownloads.sourceforge.net/filezilla/FileZilla_2_2_32_setup.exe
・http://downloads.sourceforge.net/filezilla/FileZilla_2_2_32_src.zip?big_mirror=0
・FirefoxアドオンのFireFTPでも出来るそうですがうまく行きませんでした。うまく行ってる人もいるので使えると思います。多分。
プロトコルはFTP over SSL(explicit encryption)
ポートは通常では21
※SFTPではなくSSLFTPなので注意しましょう。
CentOSでFTPサーバの怪
FTP通信は実のところ全く暗号化がされていません。物理的に線の中継者なら通信内容を読む事が出来ます。なのでFTPはイントラネット内のみで使うべきなのでした。
では、その通信をSSLで暗号化して読めなくしましょう。
手順
1.VSFTPの設定ファイルを編集します。
# vi /etc/vsftpd/vsftpd.conf
---ファイルの中身---
〜〜末尾
#ssl有効化
ssl_enable=YES
#サーバ証明書のパス
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem
#SSL以外の通常通信も使えるようにするためには。(非推奨)
force_local_logins_ssl=NO#ログイン時にSSLを強制しない
force_local_data_ssl=NO#データ送受信時に…
-------------------
2.サーバ証明書を作りましょう。
# cd /etc/pki/tls/certs/
# make vsftpd.pem
以下質問形式で進みます。
・国を入力
Country Name (2 letter code) [GB]:JP
・都道府県名
State or Province Name (full name) [Berkshire]:Tokyo
・更に詳しく市区町(面倒な場合は同じでもOK)
Locality Name (eg, city) [Newbury]:Tokyo
・サイトの名前
Organization Name (eg, company) [My Company Ltd]:sis's server
・記入しないで問題無し。
Organizational Unit Name (eg, section) []:
・ホスト名
Common Name (eg, your name or your server's hostname) []:ドメインアドレスとか
・管理者のメールアドレス
Email Address []:
3.vsftpdを再起動します。
# /etc/rc.d/init.d/vsftpd restart
これでサーバ側の設定は終わりです。
クライアント側のFTPソフトもSSL通信をサポートしていないといけません。そこでいくつかソフトを挙げておきます。
・smartFTP(最近シェアになったそうです。試用期間は1ヶ月)
http://www.smartftp.com/localization/projects/japanese/
日本語化と本体をインストールしましょう。
・Filezilla(フリーソフトです。)ただし3.x版ではタイムアウトになったりリストだけ表示出来なかったりどうやってもうまくいかないので2.xの最終バージョン(2.2.32)のリンクを貼っておきます。
・http://downloads.sourceforge.net/filezilla/FileZilla_2_2_32.zip
・http://prdownloads.sourceforge.net/filezilla/FileZilla_2_2_32_setup.exe
・http://downloads.sourceforge.net/filezilla/FileZilla_2_2_32_src.zip?big_mirror=0
・FirefoxアドオンのFireFTPでも出来るそうですがうまく行きませんでした。うまく行ってる人もいるので使えると思います。多分。
プロトコルはFTP over SSL(explicit encryption)
ポートは通常では21
※SFTPではなくSSLFTPなので注意しましょう。
2009年02月07日
WEBサーバでCGI利用可能にする怪
CGIはサーバ上で動作するアプリケーションです。ユーザが送ってきた情報やファイルをサーバのCPUが処理します。つまりユーザにとって便利ですがサーバ管理者としてはチェックしていないとサーバを死に追いやる危険性もあります。
とりあえず今回はCGIをとにかく動かす手順です。保守?ナニソレ?美味しいの?という状態です。rootログイン出来る人間(つまり管理者)のみしかWEBサーバを管理しない場合は、これで問題ありません。しかしユーザ(HPを管理する利用者)がいる場合は最後に紹介する次の記事を読みましょう。問題点等は、最後に詳しく書く予定です。
すでにapacheが稼動していて/home/html以下でCGIを使えるようにするとします。
手順
1.apacheの設定ファイルを開きます。
# vi /etc/httpd/conf/httpd.conf
---ファイルの中身---
〜〜〜〜
AddHandler cgi-script .cgi .pl<これも追加
↑この行がコメントアウトされてるので#を消して有効にしましょう。
〜〜〜〜〜〜〜
Options Includes ExecCGI<基本的にはここが重要
∧を書き足すか編集する。
--------------------
2.httpdを再起動します。
# /etc/rc.d/init.d/httpd restart
これで完了です。適当なCGIを置いてテストしてみてください。
※問題点
この方法ですとCGIが生成したファイル(アップローダでアップされたモノやログファイル)の所有者がapacheになってしまい、HP管理ユーザがCGIを管理する事が出来なくなってしまいます。(つまりroot以外はCGIの保守活動が出来ない)
更に所有者がapacheになってしまっているのでアップローダ等の容量制限をquotaで行なえません。(多分)もしかしたら上層ディレクトリの所有者がユーザなら問題無いかも。
そこで次の記事でそれらの対策を書こうと思っています。
とりあえず今回はCGIをとにかく動かす手順です。保守?ナニソレ?美味しいの?という状態です。rootログイン出来る人間(つまり管理者)のみしかWEBサーバを管理しない場合は、これで問題ありません。しかしユーザ(HPを管理する利用者)がいる場合は最後に紹介する次の記事を読みましょう。問題点等は、最後に詳しく書く予定です。
すでにapacheが稼動していて/home/html以下でCGIを使えるようにするとします。
手順
1.apacheの設定ファイルを開きます。
# vi /etc/httpd/conf/httpd.conf
---ファイルの中身---
〜〜〜〜
AddHandler cgi-script .cgi .pl<これも追加
↑この行がコメントアウトされてるので#を消して有効にしましょう。
〜〜〜〜〜〜〜
Options Includes ExecCGI<基本的にはここが重要
∧を書き足すか編集する。
--------------------
2.httpdを再起動します。
# /etc/rc.d/init.d/httpd restart
これで完了です。適当なCGIを置いてテストしてみてください。
※問題点
この方法ですとCGIが生成したファイル(アップローダでアップされたモノやログファイル)の所有者がapacheになってしまい、HP管理ユーザがCGIを管理する事が出来なくなってしまいます。(つまりroot以外はCGIの保守活動が出来ない)
更に所有者がapacheになってしまっているのでアップローダ等の容量制限をquotaで行なえません。(多分)もしかしたら上層ディレクトリの所有者がユーザなら問題無いかも。
そこで次の記事でそれらの対策を書こうと思っています。
2009年02月07日
WEBサーバで拡張子ごとにブラウザでの挙動を制御の怪(mime.types編)
Linux(CentOS,Fedora)でWEBサーバの怪
.htaccess編でディレクトリごとの方法を紹介しましたが本来こっちが正しい設定方法らしいです。
手順
vi /etc/mime.types
ここにMIMEの書き方で足しましょう。
例
application/octet-stream exe
MIMEリファレンス
http://www.geocities.co.jp/Hollywood/9752/mime.html
.htaccess編でディレクトリごとの方法を紹介しましたが本来こっちが正しい設定方法らしいです。
手順
vi /etc/mime.types
ここにMIMEの書き方で足しましょう。
例
application/octet-stream exe
MIMEリファレンス
http://www.geocities.co.jp/Hollywood/9752/mime.html
2009年02月06日
WEBサーバで拡張子ごとにブラウザでの挙動を制御の怪(.htaccess編)
Linux(CentOS,Fedora)でWEBサーバの怪
ダウンロードする時にダイアログが出ずブラウザで開かれてしまい文字化けがずらずらっと出てしまう時の対処法です。
※IEはファイルの中身で判別してるので関係ありません。
概略は.htaccessファイルを置く事によって、そのディレクトリ以下のサーバ設定をします。.htaccessは上層ディレクトリの物ほど強く、上書き出来る項目については下層ディレクトリに存在している.htaccessファイルの設定項目を上書きしてしまいます。なのでよく考えて設定しましょう。
手順
1.まず.htaccessファイルの使用をサーバ側で許可します。
# vi /etc/httpd/conf/httpd.conf
---ファイルの中身---
AllowOverride All(デフォルトではnoneになってます。)
--------------------
2.httpdを再起動しましょう。
# /etc/rc.d/init.d/httpd restart
3..htaccessファイルを用意します。
適用したいディレクトリに.htaccessというファイルを作り、置きましょう。そのディレクトリ以下のファイルは.htaccessファイルに書いた通りのサーバ挙動になります。
---ファイルの中身---
# .exe 実行ファイル
AddType application/octet-stream exe
# .lzh アーカイブ
AddType application/octet-stream lzh
# Macintosh .hqx 圧縮
AddType application/mac-binhex40 hqx
# Flash コンテンツ
AddType application/x-shockwave-flash swf
# ZIP ファイル
AddType application/zip zip
--------------------
これで完了です。
※制御はページにでは無くDLする物にかかってます。
つまり適用されてない上層ディレクトリからのリンクでもDLする物が適用されているディレクトリにあれば、そのディレクトリにある.htaccessファイルの挙動になります。
・何をしているか。
.htaccessの設定でhttpd.confの設定の上書きを許可しています。
AllowOverride
None
上書きを許しません。
ALL
全ての種類の設定について上書きを許します。
AuthConfig
認証に関する設定について上書きを許します。
Limit
ホスト名やIP addressによるアクセス制御の上書きを許します。
Options
Options指定子で設定する機能について上書きを許します。
FileInfo
ディレクトリ表示の設定について上書きを許します。
.htaccessリファレンス
http://memorva.jp/memo/linux/htaccess.php
MIMEリファレンス
http://www.geocities.co.jp/Hollywood/9752/mime.html
※この方法はサーバ管理者でなくとも役立ちますが、サーバ管理者の立場だとユーザ任せになってしまうので怠慢管理者と呼ばれるそうです。サーバ設定としては違う方法を次に紹介します。
WEBサーバで拡張子ごとにブラウザでの挙動を制御の怪(mime.types編)
ダウンロードする時にダイアログが出ずブラウザで開かれてしまい文字化けがずらずらっと出てしまう時の対処法です。
※IEはファイルの中身で判別してるので関係ありません。
概略は.htaccessファイルを置く事によって、そのディレクトリ以下のサーバ設定をします。.htaccessは上層ディレクトリの物ほど強く、上書き出来る項目については下層ディレクトリに存在している.htaccessファイルの設定項目を上書きしてしまいます。なのでよく考えて設定しましょう。
手順
1.まず.htaccessファイルの使用をサーバ側で許可します。
# vi /etc/httpd/conf/httpd.conf
---ファイルの中身---
AllowOverride All(デフォルトではnoneになってます。)
--------------------
2.httpdを再起動しましょう。
# /etc/rc.d/init.d/httpd restart
3..htaccessファイルを用意します。
適用したいディレクトリに.htaccessというファイルを作り、置きましょう。そのディレクトリ以下のファイルは.htaccessファイルに書いた通りのサーバ挙動になります。
---ファイルの中身---
# .exe 実行ファイル
AddType application/octet-stream exe
# .lzh アーカイブ
AddType application/octet-stream lzh
# Macintosh .hqx 圧縮
AddType application/mac-binhex40 hqx
# Flash コンテンツ
AddType application/x-shockwave-flash swf
# ZIP ファイル
AddType application/zip zip
--------------------
これで完了です。
※制御はページにでは無くDLする物にかかってます。
つまり適用されてない上層ディレクトリからのリンクでもDLする物が適用されているディレクトリにあれば、そのディレクトリにある.htaccessファイルの挙動になります。
・何をしているか。
.htaccessの設定でhttpd.confの設定の上書きを許可しています。
AllowOverride
None
上書きを許しません。
ALL
全ての種類の設定について上書きを許します。
AuthConfig
認証に関する設定について上書きを許します。
Limit
ホスト名やIP addressによるアクセス制御の上書きを許します。
Options
Options指定子で設定する機能について上書きを許します。
FileInfo
ディレクトリ表示の設定について上書きを許します。
.htaccessリファレンス
http://memorva.jp/memo/linux/htaccess.php
MIMEリファレンス
http://www.geocities.co.jp/Hollywood/9752/mime.html
※この方法はサーバ管理者でなくとも役立ちますが、サーバ管理者の立場だとユーザ任せになってしまうので怠慢管理者と呼ばれるそうです。サーバ設定としては違う方法を次に紹介します。
WEBサーバで拡張子ごとにブラウザでの挙動を制御の怪(mime.types編)
2009年02月06日
WEBサーバ(Apache)でインデックスファイル形式を追加の怪
WEBサーバ導入は下
Linux(CentOS,Fedora)でWEBサーバの怪
Apacheではディレクトリにアクセスするとindex.htmlを表示するインデックスファイル機能があります。つまりhttp://IPアドレス/sis/にアクセスするとLinux上のファイルの./sis/index.htmlを表示します。
デフォルトではindex.htmlにだけ対応しています。それだけでは不便なのでindex.htm等も対応させましょう。
手順
1.設定ファイルを開きます。
# vi /etc/httpd/conf/httpd.conf
---ファイルの中身---
〜
DirectoryIndex index.html index.html.var index.htm index.php index.cgi
〜
-------------------
このように書き足したら保存しましょう。
2.httpdを再起動します。
# /etc/rc.d/init.d/httpd restart
これで完了です。
Linux(CentOS,Fedora)でWEBサーバの怪
Apacheではディレクトリにアクセスするとindex.htmlを表示するインデックスファイル機能があります。つまりhttp://IPアドレス/sis/にアクセスするとLinux上のファイルの./sis/index.htmlを表示します。
デフォルトではindex.htmlにだけ対応しています。それだけでは不便なのでindex.htm等も対応させましょう。
手順
1.設定ファイルを開きます。
# vi /etc/httpd/conf/httpd.conf
---ファイルの中身---
〜
DirectoryIndex index.html index.html.var index.htm index.php index.cgi
〜
-------------------
このように書き足したら保存しましょう。
2.httpdを再起動します。
# /etc/rc.d/init.d/httpd restart
これで完了です。
2009年02月05日
Linux(CentOS,Fedora)でWEBサーバの怪
Apacheを使ってWEBサーバを作る方法です。これがあればhttp://サーバのIPアドレス/でHPを作ったりファイルを公開したり出来るようになります。
最終的にIPアドレスになれば良いのでドメインがあればドメインでも可能です。
導入手順
1.まずApacheをインストールします。
# yum install httpd
2.とりあえず使えるようにするために最低限の設定をします。
/home/htmlディレクトリをhttpで公開する設定です。
# vi /etc/httpd/conf/httpd.conf
---ファイルの中身---
これはサーバ本体の場所なので変えてはいけません。
ServerRoot "/etc/httpd"
#httpで公開するディレクトリを指定
DocumentRoot "/home/html"
#ページの文字コードを指定。
#・全てのページの文字コードを指定する場合。
AddDefaultCharset UTF-8 #unicode
(AddDefaultCharset Shift_JIS #シフトJISの場合はこっち)
#ページごとにMETAタグで文字コードを指定する場合
AddDefaultCharset none
---------------------
とりあえず、これで最低限設定しました。
3.Firewallに穴を開けます。
# iptables -I RH-Firewall-1-INPUT -p tcp -m tcp --dport http -j ACCEPT
設定保存
/etc/rc.d/init.d/iptables save
火壁再起動
/etc/rc.d/init.d/iptables restart
4.httpdを起動します。
# /etc/rc.d/init.d/httpd start
(設定反映の場合はrestart)
5.自動起動するようにする。
# chkconfig httpd on
これで完了です。外部に公開する場合はルータの80番ポートを開けましょう。これで外部からもアクセス出来ます。
その他HTTP設定
WEBサーバ(Apache)でインデックスファイル形式を追加の怪
最終的にIPアドレスになれば良いのでドメインがあればドメインでも可能です。
導入手順
1.まずApacheをインストールします。
# yum install httpd
2.とりあえず使えるようにするために最低限の設定をします。
/home/htmlディレクトリをhttpで公開する設定です。
# vi /etc/httpd/conf/httpd.conf
---ファイルの中身---
これはサーバ本体の場所なので変えてはいけません。
ServerRoot "/etc/httpd"
#httpで公開するディレクトリを指定
DocumentRoot "/home/html"
#ページの文字コードを指定。
#・全てのページの文字コードを指定する場合。
AddDefaultCharset UTF-8 #unicode
(AddDefaultCharset Shift_JIS #シフトJISの場合はこっち)
#ページごとにMETAタグで文字コードを指定する場合
AddDefaultCharset none
---------------------
とりあえず、これで最低限設定しました。
3.Firewallに穴を開けます。
# iptables -I RH-Firewall-1-INPUT -p tcp -m tcp --dport http -j ACCEPT
設定保存
/etc/rc.d/init.d/iptables save
火壁再起動
/etc/rc.d/init.d/iptables restart
4.httpdを起動します。
# /etc/rc.d/init.d/httpd start
(設定反映の場合はrestart)
5.自動起動するようにする。
# chkconfig httpd on
これで完了です。外部に公開する場合はルータの80番ポートを開けましょう。これで外部からもアクセス出来ます。
その他HTTP設定
WEBサーバ(Apache)でインデックスファイル形式を追加の怪
2009年02月05日
Linuxでユーザごとに使用容量制限の怪
公開サーバの場合は容量制限を活用したくなります。そこでLinuxに限らずユーザごとにディスクの使用容量制限をかけられるquotaという物を利用します。
まずquotaは/以外のパーティションでしか使えません。つまり/homeではsisユーザは10GBまでしか使えないという風に制限をかけます。
ユーザに関係無くディレクトリ自体に制限かけたい場合はパーティション切ってディレクトリを隔離すれば良いでしょう。
quotaはパッケージとしての提供ですが機能としてはOS標準の機能を使ってる、らしいです。
導入手順
1.まずquotaが入ってるか確認しましょう。最近のLinuxならBaseだけインストールでも入ってます。CentOS5とFedora10は入ってました。
# rpm -q quota
バージョンが表示されれば入ってます。
入ってない場合や確認が面倒な場合は以下でインストール
# yum install quota
でも最近のなら入ってます。OSサポートもしてます。OSサポートしてないとOSを再構築しなくてはいけないようですが、結局そこが問題ではなく泥沼になりました。
2.quotaを使うパーティションを指定します。
まずパーティションを確認
# df -h
/dev/hda0 **G **M *G **% /
/dev/hda1 **M **M *M **% /boot
/dev/hda2 **G **G *G **% /home
ここでは/homeに利用制限をかける事にしましょう。
# vi /etc/fstab
---ファイルの中身---
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
LABEL=/home /home ext3 defaults 1 1
--------------------
こんな風になっていると思います。適当に書いたので細部が違うかもしれませんが。これを以下のように書き換えます。
---ファイルの中身---
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
/dev/hda2 /home ext3 defaults,usrquota 1 2
--------------------
3.マウントし直しますが面倒なのでrebootしましょう。
# reboot
4.quotaを使用出来るようにします。
制限用ファイル生成
# quotacheck -acug
# quotacheck -avug
5.quotaを起動します。
# quotaon -guv -a
停止は
# quotaoff -guv -a
6.ユーザごとに容量制限設定をします。
# edquota sis(ユーザ名)
viが起動します。
---------------
Disk quotas for user sis (uid 501):
Filesystem blocks soft hard inodes soft hard
/dev/hda2 2334196 0 0 17 0 0
意味 使用容量(KB) 容量警告(KB) 容量制限(KB) iノード数 file数警告 file数制限
---------------
保存して終了したら一応quotaをオフ⇒オンをしてください。
これで完了です。
まずquotaは/以外のパーティションでしか使えません。つまり/homeではsisユーザは10GBまでしか使えないという風に制限をかけます。
ユーザに関係無くディレクトリ自体に制限かけたい場合はパーティション切ってディレクトリを隔離すれば良いでしょう。
quotaはパッケージとしての提供ですが機能としてはOS標準の機能を使ってる、らしいです。
導入手順
1.まずquotaが入ってるか確認しましょう。最近のLinuxならBaseだけインストールでも入ってます。CentOS5とFedora10は入ってました。
# rpm -q quota
バージョンが表示されれば入ってます。
入ってない場合や確認が面倒な場合は以下でインストール
# yum install quota
でも最近のなら入ってます。OSサポートもしてます。OSサポートしてないとOSを再構築しなくてはいけないようですが、結局そこが問題ではなく泥沼になりました。
2.quotaを使うパーティションを指定します。
まずパーティションを確認
# df -h
/dev/hda0 **G **M *G **% /
/dev/hda1 **M **M *M **% /boot
/dev/hda2 **G **G *G **% /home
ここでは/homeに利用制限をかける事にしましょう。
# vi /etc/fstab
---ファイルの中身---
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
LABEL=/home /home ext3 defaults 1 1
--------------------
こんな風になっていると思います。適当に書いたので細部が違うかもしれませんが。これを以下のように書き換えます。
---ファイルの中身---
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
/dev/hda2 /home ext3 defaults,usrquota 1 2
--------------------
3.マウントし直しますが面倒なのでrebootしましょう。
# reboot
4.quotaを使用出来るようにします。
制限用ファイル生成
# quotacheck -acug
# quotacheck -avug
5.quotaを起動します。
# quotaon -guv -a
停止は
# quotaoff -guv -a
6.ユーザごとに容量制限設定をします。
# edquota sis(ユーザ名)
viが起動します。
---------------
Disk quotas for user sis (uid 501):
Filesystem blocks soft hard inodes soft hard
/dev/hda2 2334196 0 0 17 0 0
意味 使用容量(KB) 容量警告(KB) 容量制限(KB) iノード数 file数警告 file数制限
---------------
保存して終了したら一応quotaをオフ⇒オンをしてください。
これで完了です。

