Linux 5.4下Apache高级配置 学习笔记
目标: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了