第一部分:理论
一.
什么是
apache
1.
apache
是一种
web
服务平台,用它可以发布网站,供内
/
外网访问。
二.
为什么要用
apache
。
1.
Apache
是免费的,
iis
是付费的。
稳定性方面:
5.
三.
哪里会用到
apache
?
1.
不管是内网还是外网只要搭建网站平台都可以用。
四.
apache
主配文件
httpd.conf
中的主要参数介绍
ServerRoot "/usr/local/apache" web
服务器根目录
Timeout 300
如果客户端
300
秒还没有连上,或者服务器
300
秒还没有传送数据到客户端,就会自动断线。
KeepAlive On 设置是否支持续传功能。
MaxKeepAliveRequests 100 设置支持续传功能的数目。数目越多则浪费的硬盘空间越多。设置为 0 则不支持续传。
KeepAliveTimeout 15 如果该为使用者在 15 秒后还没有向服务器发出要求,则他在不能续传。
MaxRequestsPerChild 0 设置同时间内 child process 数目。
ThreadsPerChild 50 设置服务器使用进程的数目。
Listen 80
#Listen 12.34.56.78:80 # 允许使用其它的 Port 或 IP 访问服务器。此例中 Port 为 3000 , IP 为 12.34.56.78:80 。
#BindAddress *
# 设置 Apache 监听所有的 IP ,也可以具体的指定。
#LoadModule anon_auth_module modules/ApacheModuleAuthAnon.dll …… 打开当前未激活预定义的模块。
#ExtendedStatus On 设置服务器产生的状态信息。
Port 80 设置服务器使用的 Port 。
ServerAdmin you@your.address 设置服务器管理者的 E-Mail 地址。
#ServerName new.host.name 服务器的主机名。如果你有固定的 IP 地址,则不需要设置。
DocumentRoot "/usr/local/apache/htdocs" 设置存放站点 html 文件的目录。
五. /usr/local/apache2/ 目录中的子目录 (源码包安装的 apache 的目录)
KeepAlive On 设置是否支持续传功能。
MaxKeepAliveRequests 100 设置支持续传功能的数目。数目越多则浪费的硬盘空间越多。设置为 0 则不支持续传。
KeepAliveTimeout 15 如果该为使用者在 15 秒后还没有向服务器发出要求,则他在不能续传。
MaxRequestsPerChild 0 设置同时间内 child process 数目。
ThreadsPerChild 50 设置服务器使用进程的数目。
Listen 80
#Listen 12.34.56.78:80 # 允许使用其它的 Port 或 IP 访问服务器。此例中 Port 为 3000 , IP 为 12.34.56.78:80 。
#BindAddress *
# 设置 Apache 监听所有的 IP ,也可以具体的指定。
#LoadModule anon_auth_module modules/ApacheModuleAuthAnon.dll …… 打开当前未激活预定义的模块。
#ExtendedStatus On 设置服务器产生的状态信息。
Port 80 设置服务器使用的 Port 。
ServerAdmin you@your.address 设置服务器管理者的 E-Mail 地址。
#ServerName new.host.name 服务器的主机名。如果你有固定的 IP 地址,则不需要设置。
DocumentRoot "/usr/local/apache/htdocs" 设置存放站点 html 文件的目录。
五. /usr/local/apache2/ 目录中的子目录 (源码包安装的 apache 的目录)
子目录
|
描述
|
bin
|
保存Apache
服务器运行和管理所需的执行程序
|
lib
|
保存Apache
服务器运行所需的库文件
|
conf
|
保存
Apache
服务器的配置文件
|
htdocs
|
Apache
服务器的文档根目录
|
manual
|
保存Apache
服务器的帮助手册文件(网页格式)
|
man
|
保存Apache
服务器的手册页文件
|
logs
|
保存Apache
服务器的日志文件
|
第二部分:实验
一.Gcc的安装(在安装apache之前,必须先安装gcc)
挂载gcc.iso这个包,进入这个目录然后执行
rpm -ivh * --force
二. Apache的安装:
安装
Apache
(
2.2
)
tar xjvf 2.2…..
cd http….
./configure --prefix=/usr/local/apache --enable-modules=so (
相当于
windows
下的
dll
库
)
make
make install
三.安装
mysql
mount /dev/hdc /mnt
cd /mnt/ReHat/RPMS
rpm -ivh mysql-4.1.7-4.RHEL4.1.i386.rpm –aid
rpm -ivh mysql-server-4.1.7-4.RHEL4.1.i386.rpm
启动
mysqld
服务后
可以直接用
mysql
来登录
mysql
了
四.安装
php
安装前必须安装的
rpm
包
flex-2.5.4a-33.i386.rpm(
在做
./configure
这一步的时候,
php
会报错,提示需要安装这个包
)
然后是
php
二进制包的安装过程
Tar xjvf php……
Cd php…..
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache/bin/apxs
(小知识点:
apxs
相当于
apache
的扩展工具,他可以扩展
apache
的模块,比如以
.so
结尾的文件,但前提是在编译
apache
时,要开启模块扩展功能
)
Make
Make install
五.整合
apache
和
php
然后修改
apache
的配置文件
vi /usr/local/apache/conf/httpd.conf
1.
查找是否存在下面一行,如果没有,证明
php
安装没有成功。
LoadModule php5_module modules/libphp5.so
2.
在
837
行下面添加如下一行(可以复制一下
837
行,然后修改一下就可以了)
AddType application/x-httpd-php .php
添加该行
3.
修改
395
行,添加
index.php
,如下所示
DirectoryIndex index.php index.html index.html.var
(把index.php
加上)
六.测试
php
环境
1.
在
apache
的主目录建立文件
index.php
文件内容如下
<?
Phpinfo();
?>
2.
在客户端用
web
浏览器测试
php
环境是否正常。
七.安装
discuz!
软件
1.
解压软件
unzip /home/aa/Discuz….
–d /usr/local/apache/htdocs
2.
设置
/upload
目录下面文件的权限。
./config.inc.php ./attachments ./forumdata ./forumdata/cache
./forumdata/templates ./forumdata/threadcaches ./forumdata/logs ./uc_client/data/cache
3.
进入数据库建立一个数据库
进入数据库
/usr/local/mysql/bin/mysql
Create
数据库名称
4.
在一台
win
系统用浏览器访问
http://ip/upload/install.php
来进一步安装
搭建虚拟主机
1.
基于域名的虚拟主机
a.
新建目录
/usr/local/apache/htdocs/123
b.
在
123
目录下面新建文件
index.html
内容:
<h1>123.com<h1>
c.
新建目录
/usr/local/apache/htdocs/456
d.
在
456
目录下面新建文件
index.html
内容:
<h1>456.com<h1>
e.
修改
/usr/local/apache/conf/httpd.conf
在文件的最后加入内容如下
#NameVirtualHost *:80
把前面的
#
去掉
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /usr/local/apache/htdocs/123
ServerName www.123.com
ErrorLog logs /dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /usr/local/apache/htdocs/456
ServerName www.456.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
f.
测试在浏览器里面分别输入
www.123.com ;www.456.com
查看网页是否能正常显示。(注意:在做这些之前,必须搭建好
dns
服务器,解析好
www.123.com
和
www.456.com
)
2.
基于
ip
的虚拟主机:
a.
前四部跟上面一样,
b.
第五步:修改
/usr/local/apache/conf/httpd.conf
在文件的最后加入内容如下
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /usr/local/apache/htdocs/123
ServerName 10.100.100.172
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /usr/local/apache/htdocs/456
ServerName 10.100.100.182
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
2.
基于端口的虚拟主机:(先让学生自己做)
建立系统用户的个人主页
v
httpd.conf
文件配置
§
在httpd.conf
文件中需要进行UserDir
的设置
UserDir public_html
v
用户目录设置
§
用户宿主目录需设置为其他用户可以进入
$ chmod o+x ~
-
- 用户宿主目录中需要建立public_html目录
-
- public_html目录中需要建立index.html文件
v
访问用户个人主页
http://192.168.1.2/~st02/
补充:mysql
源码包的安装
tar xzvf mysql-5…..
cd mysql-5….
./configure --prefix=/usr/local/mysql --with-charset=gbk --sysconfdir=/etc
#make
#make install
# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf 不同版本源路径可能不一样
#make install
# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf 不同版本源路径可能不一样
#cd /usr/local/mysql
#useradd mysql
#/usr/local/mysql/bin/mysql_install_db
#/usr/local/mysql/bin/mysql_install_db
#chown -R mysql.mysql /usr/local/mysql
#/usr/local/mysql/bin/mysqld_safe --user=mysql &
#/usr/local/mysql/bin/mysqld_safe --user=mysql &
修改mysql的root密码方法:
/usr/local/mysql/bin/mysqladmin –u root password
要设置的密码
#chmod 700 /etc/rc.d/init.d/mysqld
#chmod 700 /etc/rc.d/init.d/mysqld
Mysql
自启动的方法
方法1#
cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld
#chkconfig --add mysqld
#chkconfig --level 345 mysqld on
#chkconfig --level 345 mysqld on
方法2 echo “/usr/local/mysql/bin/mysql –-user=mysql &”>>/etc/rc.local
本文转自 gehailong 51CTO博客,原文链接:http://blog.51cto.com/gehailong/263899,如需转载请自行联系原作者