5fc89edcb32371166.jpg_fo742.jpg
apache基础设置

(1)MySQL 安装
perl-DBI-1.52-1.fc6.i386.rpm
perl-DBD-MySQL-3.0007-1.fc6.i386.rpm
mysql-5.0.22-2.1.0.1.i386.rpm
mysql-server-5.0.22-2.1.0.1.i386.rpm
mysql-devel-5.0.22-2.1.0.1.i386.rpm
(2)PHP 安装
php-5.1.6-15.el5.i386.rpm
php-cli-5.1.6-15.el5.i386.rpm
php-common-5.1.6-15.el5.i386.rpm
php-mysql-5.1.6-15.el5.i386.rpm
php-pdo-5.1.6-15.el5.i386.rpm
(3)httpd 安装
httpd-2.26

搭建LAMP 环境
安装mysql-5.0.22-2.1.0.1.i386.rpm 的时候自动解决对perl-DBI-1.52-1.fc6.i386.rpm 的依赖性
安装mysql-server-5.0.22-2.1.0.1.i386.rpm 的时候自动解决对
mysql-server-5.0.22-2.1.0.1.i386.rpm 的依赖性
最后安装mysql-devel-5.0.22-2.1.0.1.i386.rpm
启,设置MySQL 的root 用户密码
mysqladmin -u root password 123456 ——》设置密码
mysql -u root -p ——》使用root 用户登陆MySQL 数据库
创建需要的数据库
使用exit 退出
第二步去安装PHP 所需要的rpm 包,默认系统已经安装php-5.1.6-15.el5.i386.rpm 、
php-cli-5.1.6-15.el5.i386.rpm 、php-common-5.1.6-15.el5.i386.rpm 这三个了
安装php-mysql-5.1.6-15.el5.i386.rpm 的时候自动解决所依赖的包
php-pdo-5.1.6-15.el5.i386.rpm
这样PHP 就算安装完成了
第三部分去安装httpd 服务
yum install httpd
配置Apache 的配置文件
配置管理员邮箱和监听地址和端口
配置网页存放的目录
修改首页文档,添加PHP 的首页文档
创建网页存放的目录,并给予权限
写一个PHP 的测试网页,测试一下是否安装成功
touch index.php
echo ‘‘index.php
在客户端使用浏览器打开服务器的IP 或者域名进行测试
下载的一个PHP 的论坛程序,语言是UTF-8 的(Apache 默认是UTF-8)
若下载的是GB2312 的,那么就得修改一下httpd.conf 配置文件的语言了
上传upload 里面的所有文件到网页目录
浏览器进入,开始安装

个人主页的设置
编辑Apache 的配置文件,开启用户个人主页的设置
UserDir public_html
注释掉这行: UserDir disable
删除这行UserDir public_html 前面的#
到用户的家目录下面创建public_html 目录,设置权限
在public_html 目录里面创建用户的首页
配置basic 基本认证,基于用户名和密码
使用比较灵活的一种认证配置方式,使用基于目录的认证,把认证文件放在用户可以管理
的主业目录内,这样用户就可以随意修改了
添加论坛所在目录权限设置,在

下面添加如下内容,对网页目录设置权限,开启basic 用户认证:

AllowOverride AuthConfig
Order allow,deny
Allow from all

到网页目录下进行配置认证文件
cd /www
vim .htaccess
authname “this is a bbs’s basic”
authtype basic
authuserfile /etc/httpd/conf/bbs.htpasswd
require valid-user
注意:.htaccess 前面有“.”,是一个隐藏文件
内容解释:
<>里面是目录
Authtype 是认证类型Basic apache 自带的基本认证
Authname 认证名字,是提示你输入密码的对话框的提示语
Authuserfile 是存放认证用户的文件
require user 允许指定的一个或多个用户访问,就是后面跟的redking 用户
如果认证文件里面还有其他用户,还是不能访问
require valid-user 的话,就是所有认证文件里面的用户都可以访问
require group 授权给一个组,这个参数很少用
生成htpasswd 文件并在htpasswd 中添加用户数据
htpasswd -c /etc/httpd/conf/bba.htpasswd bbs
注意:-c 就是创建bbs.htpasswd 这个文件,最后的bbs 则是要添加到bbs.htpasswd 里的用
户,bbs 是系统用户,我提前已经建立好了bbs 这个系统用户了
也可以添加其他的用户,如www
htpasswd /etc/httpd/conf/bba.htpasswd www
注意:因为bbs.htpasswd 这个文件已经存在,所以我们在这个添加用户的语句中不需要再添
加-c 的参数,然后提示你输入密码
看看bbs.htpasswd 的内容
cat bbs.htpasswd
cat bba.htpasswd

用户的主页配置认证
添加网页目录的权限配置

AllowOverride AuthConfig
Order allow,deny
Allow from all

到用户主页目录下配置认证文件
vim htaccess
authuserfile /etc/httpd/conf/test.htpasswd

然后生成htpasswd 文件并在htpasswd 中添加用户数据
htpasswd -c /etc/httpd/conf/test.htpasswd test
cat test.htpasswd

使用别名实现网站目录转换
,搜索Alias,在默认539 行下面添加“Alias /test “/home/test/public_html/” ”
这行,Alias /test:是别名的名称, “/home/test/public_html/” :是真实网站目录的位置,
Directory 是对你真是目录的权限设置。
Alias /icons/ “/var/www/icons/”
Alias /test “/home/test/public_html/”
/,注意这里的“”代表anyone,当你再浏览器中请求一个如
http://www.domain/~user01时,Apache…ndex.html 文件。
这种设置不需要到access.conf 中设置该目录的访问属性,还有,当我们设置虚拟主机时也不
用设置目录的访问属性,但是如果你想让某个目录具有CGI 权限,都要到Access.conf 文件
中去配置目录的访问权限,如:你想让你的所有用户在他们的发布目录中具有CGI 访问权,
则需要在你的access.conf 中这样设置:

Allow Override None
Options ExecCGI

注意这里设置用户目录中的cgi-bin 子目录为cgi 执行目录,这是一种安全的设置,而且也是
一种UNIX 的习惯。
三、如何将Apache 服务器设置为inetd 的子服务
当你安装了Apache 后,默认设置为standalone 方式运行,如果你想将它设置为inetd 的子服
务,首先在每次激活Linux 时不激活httpd,然后编辑/etc/inetd.conf,在其中加入下列语句:
http stream tcp nowait root /usr/sbin/httpd httpd
然后重新激活inetd 服务器。这样你用ps -aux 命令查看进程运行情况时,你不会发现httpd
的进程的存在,但是一旦有客户请求一个页面时,inetd 就激活一个httpd 进程为该请求服务,
之后就自动释放,这种运行方式有助于节省系统资源,但是如果你的web 服务很重要,一般
不建议设置为这种方式运行。
四、将httpd.conf 做为唯一的配置文件
在Apache 中给用户提供了三个配置文件: srm.conf、access.conf 和httpd.conf files。实际
上这三个文件是平等的,所有的配置都可以放在一个单独的httpd.conf 文件中,事实上在
Apache 1.3.2中就已经这样做了,在httpd.conf 中应包括以下两条指令来防止Apache 对
srm.conf 和access.conf 两个配置文件的访问:
AccessConfig /dev/null
ResourceConfig /dev/null
在apache1.3.2中只要注释掉以下这两行即可:
AccessConfig conf/access.conf
ResourceConfig conf/srm.conf
五、用户授权和访问控制
你也许在访问某些网站时会遇到过这样的情况,当你点击某个连接时,你的浏览器会弹出一
个身份验证的对话框,要求输入账号及密码,如果没有,就无法继续浏览了。有人会以为这
是用CGI 做出来的,其实不然,这是WWW 服务器的用户授权和访问控制机制在发挥作用。
你是否还记得在设置Apache 服务环境的过程中,有……..<./Directory>这个指令,
可以对不同的目录提供不同的保护。但是这样的设定,需要重新启动服务器才会生效,灵活
性较差,通过AccessFile 指令指定访问控制文件的方式则比较灵活,在Apache 服务器中设置
用户的访问控制权限步骤如下:
1、首先对httpd.conf 文件进行设置如下:

AllowOverride FileInfo AuthConfig Limit

Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

Options Includes FollowSymLinks Indexes
AllowOverride All //*注意AllowOverride 一定要设置为All,这样后面的.htaccess 文件才会起
作用
Order allow,deny
Allow from all

# Order deny,allow

Deny from all

#
#指定配置存取控制权限的文件名称
AccessFileName .htaccess

2、创建.htaccess 文件內容
要控制某目录的访问权限必须建立一访问控制文件,文件名前面指定的“.htaccess”,其内容格
式如下:
AuthUserFile 用户帐号密码文件名
AuthGroupFile 群组帐号密码文件名
AuthName 画面提示文字
AuthType 验证方式
密码验证方式
用户验证方式AuthType 目前提供了Basic 和Digest 两种。
密码检验设定方法与httpd.conf 中的相关设定相同。
具体例子如下:
AuthUserFile /etc/secure.user
AuthName 安全认证中心
AuthType Basic
require valid-user

3、建立用户密码文件
如果你是第一次创建用户密码,命令格式如下:
htpasswd -c 密码文件名用户名称
在上面的例子中,我们将用户密码文件放到了/etc/secure.user 文件中,所以这里应按照如下进
行操作:
htpasswd -c /etc/secure.user sword
程序会提示你输入两次用户的口令,然后用户密码文件就已经创建sword 这个用户也添加完
毕了。
如果要向密码文件中添加新的用户,按照如下命令格式进行操作:
htpasswd 密码文件用户名称
这样,重新启动httpd 后,进行该WEB 目录时就会有一个对话框弹出,要求输入用户名及用
户口令了。
4、如何减少访问控制对Apache 性能的影响
频繁的使用访问控制会对Apache 的性能产生较大的影响,那么,如何才能减少这种影响呢?
最简单也是最有效的方法之一就是减少.htaccess 文件的数目,这样可以避免Apache 对每一个
请求都要按照.htaccess 文件的内容进行授权检查。它不仅在当前的目录中查找.htaccess 文件,
它还会在当前目录的父目录中查找。
/
/usr
/usr/local
/usr/local/etc
/usr/local/etc/httpd
/usr/local/etc/httpd/htdocs
/usr/local/etc/httpd/htdocs/docs
通常在根目录下没有htaccess 文件,但Apache 仍然会进行例行检查以确定该文件确实不存在。
这是影响很影响服务器工作效率的事情。下面的方法可以消除这个讨厌的过程:将
AllowOverride 选设置为None,这样Apache 就会检查.htaccess 文件了。将/根目录的
AllowOverride 选项设为None,只将需要进行访问控制的目录下的AllowOverride 选项设置为
all,如下面的例子中将/根目录的AllowOverride 选项关闭了,只打开了
/usr/local/etc/httpd/htdocs 目录下的AllowOerride 选项,这样,系统就只在
/usr/local/etc/httpd/htdocs 中检查.htaccess 文件,达到的提高服务效率的目的。

AllowOverride None

AllowOverride All

如果除了根目录以外,还有其它存放WWW 文件的目录,你也可以采取同样的方法进行设置。
比如:如果你使用UserDir 来允许用户访问自己的目录,AllowOverride 的设置如下:

AllowOverride FileInfo Indexes IncludesNOEXEC

5、防止用户访问指定的文件
系统中有一些文件是不适宜提供给WWW 用户的,如:.htaccess、htpasswd、*.pl 等,可以用
达到这个目的:

order allow,deny
deny from all

用户访问控制三个.htaccess 文件、.htpasswd 和.htgroup(用于用户授权),为了安全起见,应
该防止用户浏览其中内容,可以在httpd.conf 中加入以下内容阻止用户对其进行访问:

Order deny, allow
Deny from all

这样这三个文件就不会被用户访问了。

6、限制某些用户访问特定文件
可以对目录进行约束,要限制某些用户对某个特定文件的访问可以使用
,比如:不允许非domain.com 域内的用户对/prices/internal.html 进行访问,可以用
如下的设置:

order deny,allow
deny from all
allow from .domain.com

如果你要授于相应权限的机器没有公开的域名,请在你的/etc/hosts 文件中,将其IP 地址映射
到某个指定的名称,然后在Location 中对其进行设置,否则该选项是不起作用的。

7、只接受来自特定链接的访问
例如,只让所有来自http://www.sina.com.cn/* 的链接的用户进入此目录,由其它链接来的访
客都不得进入; ” * “表示此网站底下所有的链接。其中的http://www.sina.com.cn/* 也可以
是:http://202.106.184.200/* 或是指定文件http://www.sina.com.cn/news.html
.htaccess 文件的内容如下:
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName ExampleAllowFromSpecificURL
AuthType Basic
order deny,allow
deny from all
referer allow from http://www.sina.com.cn/*

六、如何通过Apache 访问挂接到mnt 中的目录内容
在Linux 下,要浏览光盘的内容,必须要先将光盘挂接到/mnt/cdrom 上,在Linux 下访问dos
或其它分区也一样,都要将其先挂接到/mnt 下。下面提供的方法,可以通过Apache 显示上
挂的目录内容:
1、先将需要挂接的内容挂接到mnt 下,如:
mount –t iso9660 /dev/cdrom /mnt/cdrom
2、修改/usr/local/etc/httpd/conf 中的srm.conf 文件(在Apache1.3.2中修改httpd.conf)
加入别名支持:

Alias fakename realname

alias for netware server //

Alias /netware/ /mnt/MYDOM_NW/vol1/home/htmldocs/
Alias /winNT/ /mnt/MYDOM_NT/
Alias /unix/ /mnt/MYDOM_UNIX
其实这一步还有个最简单的方法就是直接在WWW 文件目录下建立链接目录,比如:
ln –s /mnt/MYDOM_NT/ winNT
也能达到同样的效果。
3、最后,用Directory 分别指定用户对上面这几个目录的访问权限:

Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all

注意, Options 中的Indexes 一定要注明,否则被打开的目录中若没有Index.html 文件,用户
无法浏览整个目录的结构,服务器会返回错误指示。
这些工作都完成后,别忘了重新启动Apache。在客户端通过http://www.yourdomain/CDROM/
访问光盘内容,其余系统以此类推
#DocumentRoot “/usr/local/apache/htdocs”
#设置存放站点html 文件的目录。

Options FollowSymLinks
AllowOverride None

#设置/目录的指令。具体地说明:
Option:定义在目录内所能执行的操作。
None:表示只能浏览,
FollowSymLinks:允许页面连接到别处,
ExecCGI:允许执行CGI,
MultiViews:允许看动画或是听音乐之类的操作,
Indexes:允许服务器返回目录的格式化列表,
Includes:允许使用SSI。这些设置可以复选。
All:则可以做任何事,但不包括MultiViews。
AllowOverride:加None 参数表示任何人都可以浏览该目录下的文件。
另外的参数有:FileInfo、AuthConfig、Limit。

3 对 “apache高级设置”的想法;

  1. java –version
    如果出现openjdk,最好还是先卸载掉openjdk,在安装sun公司的jdk.
    rpm -qa|grep java

    rpm -e –nodeps libguestfs-java-1.20.11-14.el6.x86_64 tzdata-java-2015f-1.el6.noarch java-1.7.0-openjdk-1.7.0.85-2.6.1.3.el6_7.x86_64 java-1.8.0-openjdk-1.8.0.51-3.b16.el6_7.x86_64 java-1.8.0-openjdk-headless-1.8.0.51-3.b16.el6_7.x86_64

    出现以上信息说明已成功启动。

  2. 启动时报错:
    Starting httpd: httpd: Syntax error on line 202 of /etc/httpd/conf/httpd.conf: Cannot load /etc/httpd/modules/libphp5.so into server: /etc/httpd/modules/libphp5.so: cannot open shared object file: No such file or directory

    用yum install php 即可

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code