Apacheをrpmでインストール

更新日 2012-10-16 (火) 11:28:46

Apacheの確認

以下のrpmがあればOK,なければインストール

apache2-manual-2.2.3-0vl3
apache2-2.2.3-0vl3
mod_ssl-apache2-2.2.3-0vl3

/etc/apache2にconf等のファイルがある。
/var/wwwにアクセスさせるホームページがある。

ユーザでの利用

デフォルトでは~userではアクセスできないので以下のようhttp.confを変更

<IfModule mod_userdir.c>
    #
    # UserDir is disabled by default since it can confirm the presence
    # of a username on the system (depending on home directory
    # permissions).
    #
##    UserDir disable   <==コメントアウト

    #
    # To enable requests to /~user/ to serve the user's public_html
    # directory, remove the "UserDir disable" line above, and uncomment
    # the following line instead:
    #
    #UserDir public_html
    UserDir public_html <==コメントアウトを削除

</IfModule>

# 
# Control access to UserDir directories.  The following is an example
# for a site where these directories are restricted to read-only.
#
          (以下コメントアウトを削除)
<Directory /home/*/public_html>
    AllowOverride FileInfo AuthConfig Limit
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    <Limit GET POST OPTIONS>
        Order allow,deny
        Allow from all
    </Limit>
    <LimitExcept GET POST OPTIONS>
       Order deny,allow
       Deny from all
    </LimitExcept>
</Directory>

その他の変更(http.conf)

##DirectoryIndex index.html index.html.var
DirectoryIndex index.html index.htm index.php index.cgi index.pl index.shtml
##LanguagePriority en ja ca cs da de el eo es et fr he hr it ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
LanguagePriority ja en ca cs da de el eo es et fr he hr it ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW

起動

/etc/rc.d/init.d/apache2 start

1.xがhttpdで起動してる場合は起動を停止する。

以下のファイル(MySQL,PostgreSQL)は Vine Plusにある

MySQLのインストール

# apt-get install mysql
# apt-get install mysql-client

必要に応じ mysql-XXXをインストール

設定ファイルを/etcに作成

# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf 

defaultの文字コードをutfに設定

/etc/my.cnfに追加

[mysqld]

デフォルトのサーバ文字コードを指定
default-character-set=utf8 ← 追加(ujis, sjis, utf8等が指定可能)

サーバーの文字コード設定をクライアントでもそのまま使う
skip-character-set-client-handshake ← 追加

PostgreSQLのインストール

# apt-get install postgresql
# apt-get install postgresql-server

いくつかのコマンドは/usr/binにある (createdb等)
環境ファイルは/var/lib/pgsql/dataにある

必要に応じ postgresql-XXXをインストール

phpのインストール

# apt-get install php5-apache2
# apt-get install php5-pgsql
# apt-get install php5-mysql

php.ini等は/etc/php5のしたにある

設定内容はソースからインストールと同じように行う

注)indexの拡張子の表示順序はhttpd.confでよりphpについてはconf.d/php5.confの以下の部分が優先されるためコメントアウトする

# DirectoryIndex index.php index.phtm

php.iniについての注意

php.iniの最後にVineで追加された項目がある。

[Vine]
output_buffering = Off
expose_php = Off
;;memory_limit = 32M
memory_limit = 512M
variables_order = "GPCS"
;;default_charset = EUC-JP
extension_dir = /usr/lib/php5

この部分のdefault_charset = EUC-JPが有効だと、送られたHTTPのヘッダーに

Content-Type: text/html; default_charset=EUC-JP

が無条件で付き、作成したphpファイルのヘッダーに

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

と記入してもutf-8としてブラウザが判断しないので、文字化けになるので コメントアウトしておく。文字コードはphpファイルで指定するようにしておく

その他メモリの指定もここにされているので注意する

さらにmoodleでutf8でもトラブルがあったので以下をコメントアウト

;;mbstring.language = Japanese
;;mbstring.internal_encoding = EUC-JP
;;mbstring.http_input = auto
;;mbstring.http_output = pass
;;mbstring.encoding_translation = On

Directoryディレクティブの意味

All
MultiViewsを除くすべてのオプションを有効にします。MultiViewsを有効にしたい場合には、明示的にMultiViewsを追加する必要がある

FollowSymLinks
ファイルシステム内の別の場所にシンボリックリンクを作成して表示用のファイルを保持したい場合があります。このためには少なくともFollowSymLinksオプションを有効にする

SymLinksifOwnerMatch
所有者が一致した場合にのみシンボリックリンク経由でのアクセスを許可

Multiviews
HTTP/1.1 の規格に記述されているコンテントネゴシエーションの1形態であるマルチビューを有効にするためのオプション
例えば/usr/local/apache2/htdocs/testにリクエストがありtestというファイルが存在しない場合に、Apacheはディレクトリ内のtest.*をすべて検索し最適なファイルをユーザに返す

AllowOverride
該当ディレクトリに存在する.htaccessファイルによって上書きされる(許可)ディレクティブの種類を指定します。All・Noneもしくは個別のディレクティブの組み合わせで指定することが可能
「AllowOverride None」は.htaccessファイル内に記述されているディレクティブは使用されない。
「AllowOverride AuthConfig」は.htaccess内のAuthType・AuthUserFile・AuthName・Requireディレクティブの設定値の上書きが許可

Order
ホストに対するデフォルトのアクセス可能状態と、Allow/Deny ディレクティブの評価順を指定する

allow,deny (デフォルト)
allow -> deny順に評価されるのですべて拒否

deny,allow
deny -> allow順に評価されるのですべて許可

Allow from all | host または Deny from all | host
「Allow from all」はすべて許可「Allow from apache.org」はDNS名の一部
「Allow from 192.168.11.0/24」 ネットワークアドレスを許可

<Limit method ...> </Limit>と<LimitExcept method ...> </LimitExcept>は反対の意味を持つ

参考ページ

Apache基本設定


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS