このWebサイト ひつじ帳 は、管理者がWEB関連の技術をまとめた備忘録サイトです。 Linux,CentOS,PHP,MySQL,Blogger,JavaScript,CSS について記録しています。

さくらのVPS/Apache/設定

[ さくらVPS/Apache ]

設定ファイル 編集

/etc/httpd/httpd.conf バックアップ


[root@www10000xx ~]# cp -a /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
[root@www10000xx ~]#

/etc/httpd/httpd.conf 編集


##■ viエディタでファイル編集する
[root@www10000xx ~]# vi /etc/httpd/conf/httpd.conf

--------------------------------------------------
ServerTokens OS
  ##▼ ↓ 変更する
ServerTokens Prod



#ServerName www.example.com:80
  ##▼ ↓ デフォルトではコメントアウトされている為、追記する
ServerName example.com:80



DocumentRoot "/var/www/html"
  ##▼ ↓ 変更する
DocumentRoot "/home/apache/public_html"



<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
  ##▼ ↓ 変更する
<Directory />
    Options All
    AllowOverride All
</Directory>



<Directory "/var/www/html">
  ##▼ ↓ 変更する
<Directory "/home/apache/public_html">



DirectoryIndex index.html index.html.var
  ##▼ ↓ 変更する
DirectoryIndex index.php index.cgi index.html



LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
  ##▼ ↓ 追記する (combined-vhost)
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
LogFormat "%{Host}i %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined-vhost



CustomLog logs/access_log combined
  ##▼ ↓ 変更する
SetEnvIf Request_URI "^/_mem_bin/" worm nolog
SetEnvIf Request_URI "^/_vti_bin/" worm nolog
SetEnvIf Request_URI "^/c/" worm nolog
SetEnvIf Request_URI "^/d/" worm nolog
SetEnvIf Request_URI "^/msadc/" worm nolog
SetEnvIf Request_URI "^/MSADC/" worm nolog
SetEnvIf Request_URI "^/scripts/" worm nolog
SetEnvIf Request_URI "^/default.ida" worm nolog
SetEnvIf Request_URI "root\.exe" worm nolog
SetEnvIf Request_URI "cmd\.exe" worm nolog
SetEnvIf Request_URI "NULL\.IDA" worm nolog
SetEnvIf Request_URI "Admin\.dll" worm nolog
CustomLog logs/access_log combined-vhost env=!nolog



ServerSignature On
  ##▼ ↓ 変更する
ServerSignature Off



Alias /icons/ "/var/www/icons/"
  ##▼ ↓ 変更する
Alias /icons/ "/home/apache/icons/"



<Directory "/var/www/icons">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
  ##▼ ↓ 変更する
<Directory "/home/apache/icons">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>



ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
  ##▼ ↓ 変更する
ScriptAlias /cgi-bin/ "/home/apache/cgi-bin/"



##■ 追記する (ScriptAlias の下部に追記)
ScriptAliasMatch /~(..*)/cgi-bin/(.*) /home/$1/cgi-bin/$2



<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>
  ##▼ ↓ 変更する
<Directory "/home/*/cgi-bin">
    AllowOverride None
    Options FollowSymLinks
    Order allow,deny
    Allow from all
</Directory>



LanguagePriority en ca cs da de el eo es et fr he hr it ja 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



AddDefaultCharset UTF-8
  ##▼ ↓ コメントアウト化する
#AddDefaultCharset UTF-8



#AddHandler cgi-script .cgi
  ##▼ ↓ デフォルトではコメントアウトされている為、追記する
AddHandler cgi-script .cgi .pl



Alias /error/ "/var/www/error/"
  ##▼ ↓ 変更する
Alias /error/ "/home/apache/error/"



<IfModule mod_negotiation.c>
<IfModule mod_include.c>
    <Directory "/var/www/error">
        AllowOverride None
        Options IncludesNoExec
        AddOutputFilter Includes html
        AddHandler type-map var
        Order allow,deny
        Allow from all
        LanguagePriority en es de fr
        ForceLanguagePriority Prefer Fallback
    </Directory>
  ##▼ ↓ 変更する
<IfModule mod_negotiation.c>
<IfModule mod_include.c>
    <Directory "/home/apache/error">
        AllowOverride None
        Options IncludesNoExec
        AddOutputFilter Includes html
        AddHandler type-map var
        Order allow,deny
        Allow from all
        LanguagePriority en es de fr
        ForceLanguagePriority Prefer Fallback
    </Directory>



##■ 追記
NameVirtualHost *:80
NameVirtualHost *:443
--------------------------------------------------

##■ 上書き保存して編集終了
:wq
[root@www10000xx ~]#

httpd 起動

Webサーバーを起動してみる。
  • ここでは、バーチャルホストが未設定の為、警告が発生しますが、[ OK ] が出れば起動に成功している。


[root@www10000xx ~]# service httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中: [xxx xxx xx 00:00:00 2013] [warn] NameVirtualHost *:80 has no VirtualHosts
                                                           [  OK  ]
[root@www10000xx ~]#

VirtualHost 設定

用途別にファイルを分けている。
  • vhosts_base.conf
    • 初期設定で使用するホスト用 (***.example.com 等)
  • vhosts_main.conf
    • 初期設定で使用するホスト以外の各ユーザードメイン用

初期ホストを設定


##■ バーチャルホスト 設定ファイル(vhosts_base.conf)を新規作成する (未作成の場合)
[root@www10000xx ~]# touch /etc/httpd/conf.d/vhosts_base.conf
[root@www10000xx ~]#

##■ バーチャルホスト 設定ファイルを編集する
[root@www10000xx ~]# vi /etc/httpd/conf.d/vhosts_base.conf

--------------------------------------------------
<VirtualHost _default_:80>
 # デフォルト
 SuexecUserGroup apache apache
 DocumentRoot /home/apache/public_html
</VirtualHost>


<VirtualHost *:80>
 # http://webmaster.example.com/
 SuexecUserGroup admin admin
 DocumentRoot /home/admin/public_html
 ServerName webmaster.example.com
 ServerAlias *.webmaster.example.com

 # http -> https
 <IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{SERVER_PORT} !^443$
  RewriteRule ^/(.*)$ https://%{HTTP_HOST}/$1 [L,R]
 </IfModule>
</VirtualHost>


<VirtualHost *:443>
 # https://webmaster.example.com/
 SuexecUserGroup admin admin
 DocumentRoot /home/admin/public_html
 ServerName webmaster.example.com
 ServerAlias *.webmaster.example.com
 SSLEngine on
 SSLCertificateFile /etc/pki/tls/certs/server.crt
 SSLCertificateKeyFile /etc/pki/tls/certs/server.key
</VirtualHost>
--------------------------------------------------

##■ 上書き保存して編集終了
:wq
[root@www10000xx ~]#

##■ 設定を再読込する
[root@www10000xx ~]# service httpd reload
httpd を再読み込み中:
[root@www10000xx ~]#

追加ホストを設定


##■ 設定ファイル(vhosts_main.conf)を新規作成する (未作成の場合)
[root@www10000xx ~]# touch /etc/httpd/conf.d/vhosts_main.conf
[root@www10000xx ~]#

##■ 設定ファイルを編集する場合の例
[root@www10000xx ~]# vi /etc/httpd/conf.d/vhosts_main.conf

--------------------------------------------------
<VirtualHost *:80>
 # http://example.com/
 SuexecUserGroup example example
 DocumentRoot /home/example/public_html
 ServerName example.com
 ServerAlias *.example.com
</VirtualHost>
--------------------------------------------------

##■ 上書き保存して編集終了
:wq
[root@www10000xx ~]#

##■ 設定を再読込する
[root@www10000xx ~]# service httpd reload
httpd を再読み込み中:
[root@www10000xx ~]#

テストページを非表示にする

IPアドレスのみで接続した場合に、デフォルトでは、CentOSのテストページが表示される為、表示されないようにする。

##■ viエディタでファイル編集する
[root@www10000xx ~]# vi /etc/httpd/conf.d/welcome.conf

--------------------------------------------------
<LocationMatch "^/+$">
    Options -Indexes
    ErrorDocument 403 /error/noindex.html
</LocationMatch>
  ##▼ ↓ 変更する
<LocationMatch "^/+$">
    Options -Indexes
</LocationMatch>
--------------------------------------------------

##■ 上書き保存して編集終了
:wq
[root@www10000xx ~]#

##■ 設定を再読込する
[root@www10000xx ~]# service httpd reload
httpd を再読み込み中:
[root@www10000xx ~]#

WebminのApache設定を変更

  • ブラウザで、Webmin に接続
  • ログイン後、左メニューの 【サーバ】 → 【Apache Webサーバ】 をクリックしてページ移動。
  • 左上の【モジュール設定】をクリックして、設定ページへ移動。
  • [仮想サーバを追加するファイル] の項目を、右にチェックを入れて、パスを変更後、[保存]ボタンをクリック。
    パスは、 /etc/httpd/conf.d/vhosts_main.conf




[ Apache 起動設定 ] へ続く

0 件のコメント:

人気記事

アーカイブ

このブログを検索