[root@localhost conf]# cd /var/www/cgi-bin/
[root@localhost cgi-bin]# ls
[root@localhost cgi-bin]# vi testcgi1.cgi
[root@localhost cgi-bin]# which perl
/usr/bin/perl
[root@localhost cgi-bin]# vi testcgi1.cgi
Alias /htmltest /var/www/htmltest/
<Directory "/var/www/htmltest/">
Order deny,allow
Deny from all
Allow from localhost
</Directory>
<Directory "/var/www/htmltest/sub_dir1">
Order allow,deny
Allow from all
Deny from localhost
</Directory>
Alias /www2 /var/www2/html
<Directory "/var/www2/html">
Order allow,deny
Allow from all
</Directory>
<IfModule alias_module>
#
# Redirect: Allows you to tell clients about documents that used to
# exist in your server's namespace, but do not anymore. The client
# will make a new request for the document at its new location.
# Example:
# Redirect permanent /foo http://www.example.com/bar
#
# Alias: Maps web paths into filesystem paths and is used to
# access content that does not live under the DocumentRoot.
# Example:
# Alias /webpath /full/filesystem/path
#
# If you include a trailing / on /webpath then the server will
# require it to be present in the URL. You will also likely
# need to provide a <Directory> section to allow access to
# the filesystem path.
Alias /local "/usr/local/www"
<Directory "/usr/local/www">
Require all granted
</Directory>
#
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the target directory are treated as applications and
# run by the server when requested rather than as documents sent to the
# client. The same rules about trailing "/" apply to ScriptAlias
# directives as to Alias.
#
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
</IfModule>
Alias /htmltest /var/www/htmltest/
<Directory "/var/www/htmltest/">
Order allow,deny
Allow from all
</Directory>
<Directory "/var/www/htmltest/sub_dir1">
Order allow,deny
Allow from all
Deny from localhost
</Directory>
Alias /htmltest /var/www/htmltest/
<Directory "/var/www/htmltest/">
Order deny,allow
Deny from all
Allow from localhost
</Directory>
<Directory "/var/www/htmltest/sub_dir1">
Order allow,deny
Allow from all
Deny from localhost
</Directory>
大きい範囲に許可してから小さい範囲に拒否、または大きい範囲に拒否してから小さい範囲に許可していくような順番を決めるために使う。
今回は、前者の場合なので、allow,denyである。
これが無いと、Deny from localhostでも、localhostでアクセス出来てしまったので、必ず付ける。
# Further relax access to the default document root:
<Directory "/var/www/html">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
#Options Indexes FollowSymLinks
Options FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
#AllowOverride None
AllowOverride All
#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>
Alias /htmltest /var/www/htmltest/
<Directory "/var/www/htmltest/">
Allow from all
</Directory>
Aliasディレクティブで"/htmltest"を"/var/www/htmltest/"に置き換えるようにする。
そして、<Directory>ディレクティブで、"/var/www/htmltest/"のアクセス制御を書いていく。
Allow from allだから、すべてのアクセスを許可。
[root@localhost conf]# cd /var/www/html/
[root@localhost html]# ls
index.html
[root@localhost html]# cd ..
[root@localhost www]# ls
cgi-bin html
[root@localhost www]# mkdir htmltest
[root@localhost www]# cd htmltest/
[root@localhost htmltest]# cp ../html/index.html .
[root@localhost htmltest]# ls
index.html
[root@localhost htmltest]# vi index.html