概述:
LAMP(Linux+Apachd+Mysql+Php)是搭建网站的最佳组合(尤其是商务网站),它所有的软件全部是开源免费的,Apache 是世界排名第一的Web 服务器, 根据Netcraf(www.netsraft.co.uk)所作的调查,世界上百分之五十以上的Web 服务器在使用Apache。Apache 的特性:
最新的HTTP/1.1通信协议
拥有简单而强有力的基于文件的配置过程
支持通用网关接口
支持基于IP和基于域名的虚拟主机
支持多种方式的HTTP认证
集成Perl处理模块
集成代理服务器模块
支持实时监视服务器状态和定制服务器日志
支持服务器端包含指令(SSI)
支持安全Socket层(SSL)
提供用户会话过程的跟踪
支持FastCGI
原理:
Apache也是以客户端/服务器模式,常用的客户端程序就是浏览器(如IE),通过统一资源定位器(URL)来查找定位相关的信息,客户端与服务器80端口建立TCP连接,连接后客户端发送访问请求,服务器收到请求后处理相关页面信息返回给客户端,然后断开连接,它属于无连接状态型。
安装Apache软件:
mount -t iso9660 /dev/cdrom /mnt/cdrom
rpm -ivh /mnt/cdrom/Server/httpd-2.2.3-6.el5.i386.rpm
clip_p_w_picpath002
安装完成后默认在/etc/httpd/conf目录下生成主配置文件httpd.conf,不用做任何修改就可能直接运行Apache服务器,首先启动服务器:
service httpd start
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using mail.wudionline.com for ServerName
clip_p_w_picpath004
这个一会修改一下主机对应的域名就可以了(改这里:#ServerName www.example.com:80,把#去掉,再改成自己的域名),或者在/etc/hosts里IP地址所对应的域名即可
clip_p_w_picpath006
最后重启动就不会有此提示了
clip_p_w_picpath008
启动后就可以在浏览器里输入IP地址来浏览服务器了,如图:
clip_p_w_picpath010
看到这个页面说明apache成功运行了,它的默认网站目录指向/var/www/html目录,进程名和服务名为:httpd,修改配置文件的时候最好先备份配置文件,它可供配置出错时及时还原,如果是重量级服务器最好事先在另一台机子上做好配置实验,在不影响服务器运行的前提下测试配置效果,确定无误后方可行修改。它的配置文件的注释文件较多,有兴趣的朋友好好深入研究会有好处的。
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
vi /etc/httpd/conf/httpd.conf
介绍几个常见的参数:
ServerType standalone Apache //启动方式
ServerRoot "/var/www" //apache配置文件的目录
Timeout 300 //超时时间
KeepAlive on //设置连接的生存期
MaxKeepAliveRequests //每个连接最大请求数
KeepAliveTimeout 15 //保持连接的超时时间
MinSpareServers 5 // 程序最小有5个空闲进程
MaxSpareServers 10 //程序最大有10个空闲进程
StartServer 5 //启动apache时的进程数
MaxClients 200 //同时允许客户数
MaxRequestPerChild 50 //每个客户同时可以有50个子进程
Listen 192.168.2.126:80 //监听端口和IP
BindAddress * //监听的IP地址
AddDefaultCharset GB2312 //服务器默认编码
LoadModule .......... //装载的模块
ExtendedStatus on //可以检阅apache的状态信息(一般设为off)
User onbody
Group nobody //执行apache的用户和组(要用最低权限的用户)
ServerAdmin wuzhuangyan023@163.com //管理员E-mail
ServerName www.wudionline.com //网站域名
DocumentRoot "/var/www" //网页文件目录
Options FollowSymlinks
AllowOverride none
Options Indexes FollowSymlinks
AllowOverride none
Roder allow,deny
Allow from all
UserDir publice_html
DictoryIndex index.htm //首页文件名
AccessFileName .htaccess //控制存取的文件名称
ServerSignature off //是否显示apache版本、主机、连接端口等信息量(为了安全一般设为off)
ServerTokens Prod //与上一句同时使用
ScriptAlias /cgi-bin/ "/var/www/cgi-bin" //定义cgi-bin别名
ErrorLog logs/error_log //错误日志存放点
CustomLog logs/access_log combined //访问日志
<Directory />
Options Indexes FollowSymLinks //表示允许目录浏览(为提高安全性要求去掉Indexes)
AllowOverride None
Order allow,deny //设置访问权限
allow from 192.168.2.0/24 //仅允许192.168.2.0网做访问
</Directory>
一个简单的web服务器只修改以下几个地方就可以正常工作了
DocumentRoot "/var/www/html" //网站文件路径
ServerName www.example.com:80 //服务器名字和端口
ServerAdmin root@localhost //管理员邮件地址,当有错误发生时可以发送错误报告给指定的管理员
Listen 80 //如果想更换服务监听端口则修改这里,一般保持默认值
DirectoryIndex index.html index.html.var //默认首页名称,修改成你要的就可以了
测试网站是否支持php,默认是不支持的
clip_p_w_picpath012
在/var/www/html/index.php里加入<?phpinfo()?>
clip_p_w_picpath014
浏览
clip_p_w_picpath016
它不能正确显示出php相关信息,说明当前环境并不支持php
安装php让Apache支持php:
1、网上有人提供这种方法:
在AddType application/x-gzip .gz .tgz下面加,让apach支持php后缀
AddType application/x-httpd-php .php
AddType application/x-httpd-php-soure .phps记住后面的点前面有一个空格
在LoadModule cgi_module modules/mod_cgi.so下面加多
LoadModule php5_module /usr/lib/httpd/modules/libphp5.so让apach支持php
2、我用直接安装php组件的方法:
rpm -ivh /mnt/cdrom/Server/php-5.1.6-5.el5.i386.rpm
然后重启Apache就可以直接浏览PHP网页文件了
clip_p_w_picpath018
安装php后就能正确显示php相关说明信息了,呵呵
clip_p_w_picpath020
安装Mysql数据库:
MySQL 是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。 MySQL 是以一个客户机/服务器结构的实现,它由一个服务器守护程序 mysqld 和很多不同的客户程序和库组成
rpm -ivh /mnt/cdrom/Server/mysql-server-5.0.22-2.1.i386.rpm
clip_p_w_picpath022
显示依赖包未安装,此时提示什么包就装什么包,如本例提示缺少mysql-5.0.22-2.1.i386.rpm包,而mysql-5.0.22-2.1.i386.rpm包又缺少perl-DBD-MySQL-3.0007-1.fc6.i386.rpm和libmysqlclient.so.15,所以我们两个都要安装,先装libmysqlclient.so.15,而这个包是包含在mysql-5.0.22-2.1.i386.rpm里,所以先装这个包:
rpm -ivh /mnt/cdrom/Server/mysql-5.0.22-2.1.i386.rpm
rpm -ivh /mnt/cdrom/Server/perl-DBD-MySQL-3.0007-1.fc6.i386.rpm
rpm -ivh /mnt/cdrom/Server/mysql-server-5.0.22-2.1.i386.rpm
clip_p_w_picpath024
它的脚本存放在/etc/rc.d/init.d下,叫mysqld
启动mysql
/etc/rc.d/init.d/mysqld start
clip_p_w_picpath026
登录mysql
Mysql –u root –p,当看到mysql&gt;说明登录成功了
clip_p_w_picpath028
它的常用命令如下
Mysqld //是用来启动mysql数据库的命令
mysql –u root –p //登录mysql
create database DatabaseName //创建数据库文件
show databases //显示当前系统数据库
drop database DatabaseName //删除数据库
use databaseName //把指定数据库作为当前数据库
create table TableName (列名 数据类型 备注,...) //在数据库中创建表
show tables //显示当前数据库内的表
drop talbe TableName //删除指定表
insert into TableName set 列名=值,... //插入数据
insert into TableName (列名,...) values (值,...) //插入数据
update TableName set 列名=值,... //更新指定表内容
delete from tableName //删除指定表内容
当然了,上面两条更新和删除如果没有指定条件则对整表操作(更新、删除整个表的内容),一般用法都要指定符合条件才允许操作:
update TableName set 列名=值 where 条件
delete from TableName where 条件
它会更新或删除符合条件的记录
Select 列名(*) from TableName 查询指定表的内容,如果内容较多,则可以只把符合条件的查询出来,
Select * from TableName where id=10
常见错误
至些,LAMP环境搭建成功啦,现在要做的是把一个网站放上去并连接数据库就可以正常使用,下一篇介绍通过openssl保障连接的安全、虚拟机主机架设及常用的安全设置