您的位置:首页 > 运维架构 > Apache

Linux 5.4 RHCE Apache高级配置 学习笔记

2010-05-30 15:01 691 查看
我的博客:http://wqmsl.blog.51cto.com 制作人:wqmsl

目标:1、搭建LAMP环境(基于rpm包)并安装论坛

2、个人主页设置及用户认证

3、用别名实现网站目录转换

1、IP说明:

192.168.1.6——主机名:apache.wqmsl.com apache服务器

192.168.1.4——主机名:dns.wqmsl.com dns客户端

2、前期准备

更改主机名称(更改三处):1、hostname更改,2、hosts更改,3、/etc/sysconfig/network

3、所需软件包如下

(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环境(基于rpm包)并安装论坛

我选择用yum安装,先来安装mysql相关

安装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看看









启动成功,设置MySQL的root用户密码





mysqladmin -u root password 123456 ——》设置密码

mysql -u root -p ——》使用root用户登陆MySQL数据库

创建我们需要的数据库,可以看到我创建的bbs的数据库已经成功





使用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安装就OK了





配置Apache的配置文件

配置管理员邮箱和监听地址和端口





配置网页存放的目录





同时修改(需要和上面的一致)





修改首页文档,添加PHP的首页文档





保存并退出

创建网页存放的目录,并给予权限









启动httpd服务





写一个PHP的测试网页,测试一下是否安装成功





在客户端使用浏览器打开服务器的IP或者域名进行测试

以下是我打开的内容

PHP的相关信息





Apache的相关信息





MySQL的相关信息





Mysqli的相关信息





这样有这些内容,那么你的LAMP可以确定是安装成功了

下面我们来安装一个论坛程序吧

这是我下载的一个PHP的论坛程序,语言是UTF-8的(Apache默认是UTF-8)





也有GB2312的,那么你就得修改一下httpd.conf配置文件的语言了,这个在常规配置里面讲过了

上传upload里面的所有文件到你的服务器存放网页的目录下(可以使用winSCP上传,实际环境是FTP)





上传完成后用浏览器打开





点击开始安装

按照提示,有的文件需要777的权限,你依个设置权限就行,否则无法安装

填写基本的信息,例如:数据库的密码等





然后是安装的详细信息输出,创建数据库等





最后点击完成就OK了





我们来欣赏一下自己安装的论坛吧

前台页面





后台登陆界面





后台管理界面





好了,已经安装完成了

大家也可以试试使用源码安装,其实差不多了

二、个人主页的设置

编辑Apache的配置文件,开启用户个人主页的设置





注释掉这行: UserDir disable

删除这行UserDir public_html前面的#

到用户的家目录下面创建public_html目录,设置权限





在public_html目录里面创建用户的首页





我们去浏览器测试一下(http://域名或者IP/~username/)





这样一个用户的个人主页就设置完成了

下面我们配置basic基本认证,基于用户名和密码

我们使用比较灵活的一种认证配置方式,使用基于目录的认证,把认证文件放在用户可以管理的主业目录内,这样用户就可以随意修改了

我们就为LAMP安装好的bbs论坛做用户认证吧

添加论坛所在目录权限设置,在





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





保存退出

到网页目录下进行配置认证文件





注意:.htaccess 前面有“.”,是一个隐藏文件

内容解释:

<>里面是目录

Authtype 是认证类型 Basic apache自带的基本认证

Authname 认证名字,是提示你输入密码的对话框的提示语

Authuserfile 是存放认证用户的文件

require user 允许指定的一个或多个用户访问,就是后面跟的redking用户

如果认证文件里面还有其他用户,还是不能访问

require valid-user 的话,就是所有认证文件里面的用户都可以访问

require group 授权给一个组,这个参数很少用

生成htpasswd文件并在htpasswd中添加用户数据





注意:-c就是创建bbs.htpasswd这个文件,最后的bbs则是要添加到bbs.htpasswd里的用户,bbs是系统用户,我提前已经建立好了bbs这个系统用户了

你也可以添加其他的用户,例如我再添加一个www的用户:





注意:因为bbs.htpasswd这个文件已经存在,所以我们在这个添加用户的语句中不需要再添加-c的参数,然后提示你输入密码

看看bbs.htpasswd的内容





可以看到添加的用户的信息

下面我们重新启动服务





访问进行测试









这样就成功的配置好了基于用户的认证

为了让大家更加了解,我们再来设置一个,就是对第二个实验目标里面的用户的主页配置认证

和上面一样添加网页目录的权限配置





到用户主页目录下配置认证文件,内容我已经配置好了





然后生成htpasswd文件并在htpasswd中添加用户数据





重新启动服务,访问test用户主页进行测试





看,可以访问到了哈...





哇塞,这个这么多,终于写完了哈,下面实现别名配置

二、实现第三个目标,就是使用别名实现网站目录转换

下面我们来配置,搜索Alias,在默认539行下面添加“Alias /test "/home/test/public_html/" ”

这行,Alias /test:是别名的名称, "/home/test/public_html/" :是真实网站目录的位置,Directory是对你真是目录的权限设置。





修改完后保持并重启服务,我们来测试一下,访问看一下结果哈





注意:浏览器输入:http://域名或者IP/别名的名称

别名的设置完成,

假如大家使用编译安装apache启动服务的时候肯能会出现的问题:

提示错误:

make_sock:could not bind to address 0.0.0.0:80

no listening sockets available,shutting down

Unable to open logs

解决方法:

出现这个问题,是因为APACHE的默认端口被占用的缘故.解决方法就是把这个端口占用的程序占用的端口去掉.或者改换APACHE的占用端口.

APACHE的端口当然好解决.直接改配置文件就行了.现在我们就说说如何改其它文件占用APACHE默认端口80

首先,查看是哪个程序占用了端口.方法是:

1.netstat -lnp|grep 80

tcp 0 0 192.168.1.6:61027 0.0.0.0:* LISTEN 6289/oproxyd

tcp 0 0 :::80 :::* LISTEN 846/httpd

tcp 0 0 ::ffff:192.168.180.68:7001 :::* LISTEN 32015/java

找到pid 846

#ps 846 查看

#kill -9 846 杀掉

重新启动你的服务就OK了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  笔记 Linux Apache RHCE 高级