歡迎您光臨本站 註冊首頁

Linux+Apache+MySQL+PHP+FrontPage安裝

←手機掃碼閱讀     火星人 @ 2014-03-29 , reply:0

  本文介紹如何安裝Apache以支持MySQL、PHP4、FrontPage2000伺服器擴展和虛擬主機功能,本文的安裝步驟在Redhat 7.0和Mandrake 7.2上測試通過,所以應該適用於任何Linux發行,它也適用於任何形式的*nix系統,只要下載不同的軟體包。
一. 需求
  1、一個基於Intel並安裝了TCP/IP和libc6的Linux系統。如果Apache或MySQL已經安裝好了,建議用軟體包管理程序或手工刪除它們。
  2、需要安裝的軟體包,它包括:Apache 1.3.19、MySQL伺服器、PHP4和FrontPage 2000擴展、Apache支持FrontPage 2000擴展的補丁、最新的gcc編譯器及其相關庫。
二. 準備安裝
  1、下載軟體包
  下載下列軟體包到/download目錄下。
  Apache 1.3.19
  MySQL Server
  PHP4
  FrontPage 2000 Extensions
  2、解壓縮源代碼
  將所有/download目錄下的源代碼包(除了frontpage要解壓縮到/use/local目錄下)解壓縮:
  tar zxfv apache_1.3.19.tar.gz
  tar zxfv fp40.linux.tar.gz -C /usr/local
  tar mysql-3.23.32.tar.gz
  tar zxfv php-4.0.4pl1.tar.gz
三. 安裝MySQL
  第一步先要安裝MySQL,因為要安裝支持MySQL的PHP,然後安裝支持PHP的Apache,下面是具體步驟。
  1、設置用戶和組
  首先,系統增加名為mysql的擁護和組。
  groupadd mysql
  useradd -g mysql mysql
  2、配置並構建MySQL
  進入目錄/download/mysql-3.23.32並運行configure和make程序。如果想把資料庫存在非預設目錄/usr/local/mysql/var/,則為configure指定選項localstatedir=/your_path。
  cd mysql-3.23.32
  ./configure --prefix=/usr/local/mysql
  make
  make install
  MySQL現在已經安裝到/usr/local/mysql目錄下。目前還沒有一個數據目錄,現在要運行MySQL自帶的腳本創建目錄並安裝測試資料庫。 scripts/mysql_install_db 在啟動守護程序前,改變文件的屬權,否則守護程序不能運行。
  chown -R mysql.mysql /usr/local/mysql
  3、啟動MySQL守護程序
  現在準備啟動守護程序。safe_mysqld等價於tcpwrapper for MySQL,tcpwrapper常用於包裝inet的服務以增加安裝性。
  /usr/local/mysql/bin/safe_mysqld --user=mysql &
  4、設置root用戶口令並在引導時啟動MySQL。
  現在MySQL正在運行,可以用mysqladmin設置root用戶口令。
  /usr/local/mysql/bin/mysqladmin -u root -p password 'yourpass'
最後一步是需要確保MySQL能在系統重起時啟動。編輯/etc/rc/d/rc.local文件,並在末尾加入/usr/local/mysql/bin/safe_mysqld --user=mysql & 。或者可以編寫一個啟動/停止的腳本並符號鏈接到適當的運行級別。
四. 為Apache打補丁
  在繼續下列步驟前,我們必須給Apache打上FrontPage補丁,將FrontPage補丁複製到Apache源代碼目錄下並做一個到FrontPage的currentversion的符號鏈接。
  cd /usr/local/frontpage/
  ln -s version4.0 currentversion
  cd currentversion/apache-fp
  cp fp-patch-apache_1.3.12 /downloads/apache_1.3.19
  1、打補丁
  現在在Apache源代碼目錄下打上FrontPage補丁。這將需要將二進位補丁放在你的目錄下。
  patch -p0 < fp-patch-apache_1.3.12
  這將在apache源代碼目錄下生成一個mod_frontpage.c文件,它需要複製到extras模塊上。
  cp fp-patch-apache_1.3.12 src/modules/extra/
  2、運行一個簡單的apache配置
  現在運行一個簡單的配置,等一下再運行更高級的配置。
  /downloads/apache_1.3.19/configure
五. 安裝PHP4
  PHP4是一種伺服器端、跨平台、HTML嵌入式腳本語言,它賦予我們開發動態網站的能力,並能很容易地與MySQL伺服器介面。
  1、配置PHP4以支持MySQL和Apache
  你將安裝支持位於/usr/local/mysql目錄下的MySQL的PHP4。
  cd /downloads/php-4.0.4pl1
  ./configure --with-mysql=/usr/local/mysql --with-apache=/downloads/apache_1.3.19 --enable-  track-vars
  2、配置apache支持MySQL和Apache
  現在運行make和make install來編譯Apache所需的文件。
  make
  make install
六. 安裝Apache伺服器
  Apache是本文的核心,所以請仔細安裝下列步驟進行。現在PHP已經構建好,你將在Apache源代碼目錄下找到一個新目錄../apache_1.3.19/src/modules/php4。現在我們再次配置apache,但這時對PHP和FrontPage的支持已經靜態地構建好了。
  1、創建符號鏈接和目錄結構
  創建符號鏈接/usr/local/httpd指向/usr/local/apache-1.3.x,這樣你可以構建一個新版本apache,然後在必要時重新鏈接。用下列命令:
  mkdir /usr/local/apache-1.3.19
  ln -s /usr/local/apache-1.3.19 /usr/local/httpd
  2、配置Apache支持ForntPage和PHP4
  現在,我們可以用--prefix=/usr/local/httpd配置apache,它是指向apache-1.3.19的符號鏈接。要知道,src/modules/php4/libphp4.a毫不存在,但將要生成。要注意用--add-module加入FrontPage,--activate-module加入PHP。現在運行make和make install以構建並安裝Apache。其它無關緊要的是httpd.conf放在哪裡,有些人喜歡放在/etc目錄下。如果像這樣做,加上--localstatedir=/etc即可。
  cd /downloads/apache_1.3.19
  ./configure --prefix=/usr/local/httpd
  --activate-module=src/modules/php4/libphp4.a
  --add-module=src/modules/extra/mod_frontpage.c
  3、構建Apache
  運行make將創建httpd二進位代碼。如果你覆蓋一個老版本的伺服器,你要做的就是make,然後將httpd二進位代碼從bin目錄夫知道現有的httpd產品目錄即可。這裡建議你有一個全新的安裝,因為這樣非常容易地從原先的安裝遷移www數據和conf文件。
  make
  make install
七. 修改httpd.conf
  很好,你已經安裝好了Apache,並支持FrontPage、PHP和MySQL。現在整理一下其他事情以便能工作得更好。首先修改一些httpd.conf配置。
  1、增加PHP標記
  為了讓Apache處理PHP擴展名,必須加入該類型。確保你把配置文件中的下列兩行去掉註釋。如果這兩行不存在,必須手工添加。
  AddType application/x-httpd-php .php
  AddType application/x-httpd-php-source .phps
  2、改變Directory Index
  改變Directory Index支持以增加index.php和index.shtml。這完全作為參考,但如果你的網站嚴格地用SSI或PHP編寫,那麼有這些額外的Directory Index文件將避免參照index文件的全路徑,相反,你可以簡單地鍵入http://www.virtual.com而不是http://www.virtual.com/index.php。
  DirectoryIndex index.php index.shtml index.html index.htm
  3、修改目錄許可權
  對配置文件幾個重要的修改是DocumentRoot和Directory的許可權。修改DocumentRoot指向你的預設網頁文件,如
  DocumentRoot /www/httpd
  現在對它修改目錄許可權是的FrontPage能夠用其.htaccess文件覆蓋它們。AllowOverride從None改為All。
  <Directory "/www/httpd">
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  Allow from all
  </Directory>
八. 運用FrontPage Extensions到根網站
  我們已經完成了支持PHP和MySQL的Apache,剩下的事情就是FrontPage伺服器擴展了,你可能用或不用於你的網站。但你有多人需要編輯網站並且不是每個人都熟悉FTP和HTML時,它就有用了。
  1、運行fpsrvadm.exe
  我們把FrontPage擴展用於網站根目錄(/www/httpd)。
  cd /usr/local/frontpage/currentversion/bin/
  並運行fpsrvadm.exe安裝擴展到根目錄。 ./fpsrvadm.exe -o install
  : 0 for apache (do not choose apache-fp)
  : /usr/local/httpd/conf/httpd.conf (patch to server config file)
  : ENTER (Just hit enter for a blank multi-hosting)
  : apache (user owner of DocumentRoot (i.e. /www/httpd))
  : web (group owner of DocumentRoot (i.e. /www/httpd))
  : myuser (frontpage login)
  : mypass (frontpage password)
  注意,這裡使用用戶"apache"和"web"組。對於虛擬域,對每個虛擬域分開用戶,但組總是"web"。
  2、創建其他FrontPage用戶
  現在簡單地為FrontPage提供一個管理員賬號及該賬號口令,它將是訪問FrontPage的登陸名和口令。如果你保持這些與ftp登陸同步,可能更好些。你總能回來並運行./fpsrvadm.exe並用Option 7增加一個用戶並輸入正確的信息。或者你可以修改包含用戶和加密口令的/_vti_pvt/service.pwd文件,如果需要生成一個加密口令,使用:
  htpasswd temp.pass.file
  Enter Password : **********
  pico temp.pass.file
  <my-new-user>:3923kw#$sdfk32$
然後複製用戶和加密口令到service.pwd並且該用戶即可登陸,你也必須包用戶組成一組,這樣對網站的修改可以進行了,這通過編輯/_vti_pvt/service.grp完成。
  pico _vti_pvt/service.grp
  administrators : administrator <my-new-user>
  authors :
  增加新用戶到適當的修改網站的組中。現在嘗試通過FrontPage登陸,用戶再增加"author"或"administrator"后應該有權編輯了。
九. 用FrontPage支持創建虛擬網站
  這個過程與把它們加入根網站相同,唯一的差別是當運行fpsrvadm.exe時要提供一個muulti-hosting名而不是指打回車。多宿主名將是定義在<VirtualHost>中的ServerName。
  首先,編輯htppd.conf並去掉NameVirtualHost行的註釋。如果你在這台機器上只有一個IP地址,那麼表中第一個虛擬主機將是你的根網站。如果有兩個IP地址,那麼你的根網站可能在192.168.0.1並且虛擬網站可能在192.168.0.2,這可以保持根網站的完整。
  if you have 1 ip address
  NameVirtualHost *
  if you have a separate ip address just for your virtual webs
  NameVirtualHost 192.168.0.2
  確保如果你有多個IP地址,告訴Apache監聽哪個IP地址,或用Listen *讓Apache監聽列在ifconfig中的所有介面。
  # to make apache listen on all ip addresses assigned to the box
  Listen *
  # Listen for root web
  Listen 192.168.0.1
  # Listen for virtual webs
  Listen 192.168.0.2
現在你已經知道該信息,假如一個虛擬網站。
  <VirtualHost *>
  ServerAdmin root@virtual.com
  ServerName virtual.com
  DocumentRoot /www/virtual.com/public_html
  CustomLog logs/virtual.com/access_log combined
  ScriptAlias /cgi-bin /www/virtual.com/public_html/cgi-bin/
  <DIRECTORY /www/virtual.com>
  AllowOverride All
  Options Indexes FollowSymLinks Includes ExecCGI MultiViews
  Options All
  order allow,deny
  allow from all
  </DIRECTORY>
  <DIRECTORY /www/virtual.com/public_html/cgi-bin>
  AllowOverride None
  Options ExecCGI FollowSymLinks INcludes
  </DIRECTORY>
  LogFormat Combined
  ServerAlias virtual.com *.virtual.com
  </VirtualHost>
  首先,在這個虛擬域定義中有幾點說明。<VirtualHost *〉可以改為下列任何一個。
  # To make this virtual web listen on all interfaces and all ports <VirtualHost *>
  # If you have a separate IP # for virtual hosting <VirtualHost 192.168.0.2>
  # To listen only on port 80 on 192.168.0.2
  <VirtualHost 192.168.0.2:80>
  # To listen only on port 80 on all interfaces
  <VirtualHost *:80>
  這裡只使用<VirtualHost *>,因為在機器上只有一個IP地址。記住,這的確破壞了你的根網站(/www/httpd)並使得第一個<VirtualHost>定義稱為你的根網站。
  在有人到達你的IP地址時,他們首先被第一個虛擬網站服務,而不是根網站。這是為什麼機器要有兩個IP地址並將根網站置於各自獨立的IP地址的原因。或者你有整個C類地址,或一個子網,那麼你可以將每一個網站賦予其自己的IP地址,這樣會好些。
  在虛擬主機中的<Directory>定義允許FrontPage用.htaccess文件改寫許可權。
好了,現在你已經把一個虛擬主機加到了httpd.conf中,名為"virtual.com",保存httpd.conf並運用FrontPage擴展。
  cd /usr/local/frontpage/currentversion/bin
  ./fpsrvadm.exe -o install
  : 0 for apache (do not choose apache-fp)
  : /usr/local/httpd/conf/httpd.conf (patch to server config file.
  : www.virtual.com (the name of ServerName in <VirtualHost>)
  : apache (user owner of DocumentRoot (i.e. /www/httpd))
  : web (group owner of DocumentRoot (i.e. /www/httpd))
  : myuser (frontpage login)
  : mypass (frontpage password)
  注意,對虛擬網站,為每一個網站在機器上創建一個用戶。 本例中用戶和組為:
  : virtual (virtual.com的用戶)
  : web (所有網站的用戶組)
  用戶和組必須在運行./fpsrvadm.exe安裝FrontPage擴展前在/etc/passwd和/etc/group中是有效的。現在FrontPage擴展已經被複制到了你的新虛擬網站的DocumentRoot(如/www/virtual/public_html)。
  你可以改變該目錄並檢驗再次有一個_vti_文件夾。
  現在嘗試通過FrontPage連接新虛擬網站,Open Web -> http://www.virtual.com。
  它應該詢問登陸名和口令,如果沒問題,你可以增加更多的虛擬主機到httpd.conf中,然後以同樣的方式實現FrontPage擴展。
  十. 測試文件
  最後的步驟是測試PHP、CGI和SSI。你可以用下列文件或創建自己的。通過FTP上傳文件到網站上,然後點擊瀏覽器測試它們。
  一、PHP測試文件:test.php
  ----------------------------------------
  <html>
  <head>
  <title>PHP Test</title>
  </head>
  <body>
  <?php echo "Hello World<P>"; ?>
  </body></html>
二、CGI測試文件:test.cgi(確保至少chmod 755)
  ----------------------------------------
  #!/usr/bin/perl
  print "Content-type: text/html\n\n";
  print "
  <html>
  <head>
  <title>Perl Test</title>
  </head>
  <body>
  HEllo World
  </body></html>
  ";
  exit (0);
  ----------------------------------------
  三、SSI測試文件:test.shtml
  ----------------------------------------
  <html>
  <head>
  <title>SSI Test</title>
  </head>
  <body>
  <!--#include virtual="test.txt">
  </body></html>
  ----------------------------------------
  File : test.txt (used in SSI parsing in test.shtml file above)
  ----------------------------------------
  Hello World
  ----------------------------------------

[火星人 ] Linux+Apache+MySQL+PHP+FrontPage安裝已經有472次圍觀

http://coctec.com/docs/linux/show-post-203132.html