apache網路服務的搭建和配置

技術小阿哥發表於2017-11-22
第一部分:理論
一.       什麼是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 #
允許使用其它的PortIP訪問伺服器。此例中Port3000IP12.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的安裝:
安裝Apache2.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.comwww.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 
不同版本源路徑可能不一樣
#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 &
修改mysqlroot密碼方法:
/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
方法2     echo “/usr/local/mysql/bin/mysql –-user=mysql  &”>>/etc/rc.local


本文轉自 gehailong 51CTO部落格,原文連結:http://blog.51cto.com/gehailong/263899,如需轉載請自行聯絡原作者


相關文章