第一部分:理論
一.
什麼是
apache
1.
apache
是一種
web
服務平臺,用它能夠發佈網站,供內
/
外網訪問。
二.
爲何要用
apache
。
1.
Apache
是免費的,
iis
是付費的。
2.
穩定性方面:
IIS
在實際使用中常常出現
500
錯誤,並且有的時候還會出現莫名其妙的假死現象。大型網站都使用
APACHE
做爲本身的
WWW
服務提供工具。
3.
擴展性方面:
IIS
只能在微軟公司的
windows
操做系統下使用,離開了
windows
他將一事無成。
Apache
則不一樣,
windows/linux/unix
均可以。
4.
安全性:
IIS6
以前的版本有很大問題,建議少用;
apache
安全性一直不錯。
5.
開放性:
iis
源碼不公開;
apache
徹底公開。
三.
哪裏會用到
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
的目錄)
子目錄
|
描述
|
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 ./p_w_uploads ./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>
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目錄中須要創建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
不一樣版本源路徑可能不同
#cd /usr/local/mysql
#useradd mysql
#/usr/local/mysql/bin/mysql_install_db
#chown -R mysql.mysql /usr/local/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
Mysql
自啓動的方法
方法1#
cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld
#chkconfig --add mysqld
#chkconfig --level 345 mysqld on
方法2echo 「/usr/local/mysql/bin/mysql –-user=mysql&」>>/etc/rc.local