詳解FreeBSD8下安裝Apache+MySQL+PHP5_Web服務器教程

      編輯Tag賺U幣
      教程Tag:FreeBSD8PHP5添加

        眾所周知,在生產環境下配置Apache+PHP 5環境或Nginx+PHP 5環境還是很復雜的,即大家熟悉的LAMP或NAMP架構,就算按照詳細的部署文檔來安裝的話也是一個較長和麻煩的過程;但這一切在FreeBSD下用ports就簡化了,本人感覺特別適應于開發環境,特將FreeBSD 8下的部署過程記錄如下,方便與大家交流共享。

        一、安裝Apache2.2

      cd /usr/ports/www/apache22 
      make install clean

       ◆去掉IPV6

      ◆添加MySQL

      安裝完成后,需要編輯/etc/rc.conf文件,添加下面內容到/etc/rc.conf:

      apache22_enable="YES"

      配置Apache 2.2

      安裝完成后,備份/usr/local/etc/apache22/httpd.conf文件:

      cp /usr/local/etc/apache22/httpd.conf /usr/local/etc/apache22/httpd.conf.bak 編輯/usr/local/etc/apache22/httpd.conf文件,以使Apache22 Server支持PHP:

      vim /usr/local/etc/apache22/httpd.conf 1.大約354行

      在AddType application/x-gzip .gz .tgz下面添加以下內容:

      AddType application/x-httpd-php .php  AddType application/x-httpd-php-source .phps 2.大約212行

      添加'index.php' 到'DirectoryIndex' 主目錄索引:

      DirectoryIndex index.php index.html 3.第152行

      DocumentRoot "/home/www"  #存放web的路徑,根據自己需求更改

      4.第178行

      <Directory "/home/www">   #存放web的路徑,這個根據自己需求更改

      二、安裝PHP 5.2

      cd /usr/ports/lang/php52  make install clean 選擇如下安裝選項:

      ◆去掉IPV6

      ◆添加CLI、CGI、APACHE、SUHOSION、FASTCGI、PATHINFO

      三、安裝PHP 5.2-extensions擴展

      cd /usr/ports/lang/php52-extensions 
      make config 
      make install

      clean make config安裝添加選項如下:

      添加BZ2、CALENDAR、CTYPE、GD、GETTEXT、ICONV、MBSTRING、MCRYPT、MHASH、MYSQL、MYSQLI、OPENSSL、PCRE、POSIX、SESSION、SOCKETS、TOKENIZER、ZIP、ZLIB。

      我在線上服務器的centos5.4下,一個個手動源碼編譯PHP 5的擴展包,感覺是件非常痛苦的事情;Apache如是,Nginx下亦如是;在FreeBSD 8下一切都簡單了,這個過程有點長。

      復制/usr/local/etc/php.ini-dist為/usr/local/etc/php.ini:

      cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini

      四、安裝ZendOptimizer

      cd /usr/ports/devel/ZendOptimizer 
      make install clean

      安裝完成提示如下:

      ******************************************************************************** 
      You have installed the ZendOptimizer package. 
      Edit /usr/local/etc/php.ini and add: 
      [zend] 
      zend_optimizer.optimization_level=15
      zend_extension_manager.optimizer="/usr/local/lib/php/20060613/Optimizer"
      zend_extension_manager.optimizer_ts="/usr/local/lib/php/20060613/Optimizer_TS"
      zend_extension="/usr/local/lib/php/20060613/ZendExtensionManager.so"
      zend_extension_ts="/usr/local/lib/php/20060613/ZendExtensionManager_TS.so"
      *********************************************************************


       編輯php.ini,復制以上[Zend]內容到文本末尾:

      vim /usr/local/etc/php.ini
      重新啟動你的Web Server.

      /usr/local/etc/rc.d/apache22 restart
      測試Apche Server對PHP和ZendOptimizer支持,在/home/www里面建立一個index.php,輸入以下內容:

      <?
      phpinfo(); 
      ?>
      我這里安裝此版本為5.2.13,新的PHP已近更新至5.3.3,但是老版本的ZendOptimizer對其不支持,所以本著穩定就好的原則,繼續使用5.2.13;

       

       

      五、安裝MySQL Server5.0

      cd /usr/ports/databases/mysql50-server 
      make install clean

      配置MySQL

      安裝完成后,需要編輯/etc/rc.conf文件,添加下面內容到/etc/rc.conf:

      mysql_enable="YES"

      復制文件:

      cp /usr/local/share/mysql/my-medium.cnf /etc/my.conf

      啟動MySQL服務:

      /usr/local/etc/rc.d/mysql-server start

      新裝的mysql是沒有密碼的,使用mysqladmin命令更改MySQL密碼:

      /usr/local/bin/mysqladmin -uroot password '你的密碼'  
      例如:/usr/local/bin/mysqladmin -uroot password 12345678

      六、安裝PHPmyadmin

      1.安裝

      cd /usr/ports/databases/phpmyadmin 
      make fetch  #只下載,不安裝

      PHPmyadmin解壓以后直接使用了:

      cp /usr/ports/distfiles/phpMyAdmin-3.3.2-all-languages.tar.bz2 /home/www    #/home/www為apache指定路徑 
      tar zxvf phpMyAdmin-3.3.2-all-languages.tar.bz2 
      mv phpMyAdmin-3.3.2-all-languages phpmyadmin      #phpmyadmin文件名就為外部地址路徑http://xxx.xxx.xxx.xxx/phpmyadmin

      2.配置

      cd /home/www/phpmyadmin 
      cp config.sample.inc.php  config.inc.php# ee config.inc.php

      3.修改

      cfg[‘blowfish_secret’]=’host’;            #隨便輸入,不要留空這個一定要設置 
      cfg[‘Servers’][$i][‘auth_type’]=’cookie’#設置認證方式,默認即可

       4.設置權限

      chmod 755 config.inc.php

      這時候你就可以在內網用root等用戶進行登陸管理了,PHPMyadmin的強大是有目共睹的,這也是它現在作為Linux/unix發行版的默認軟件之一。

      值得注意的是,基于線上環境的嚴謹性,我一般采用64位的Cenots系統,軟件均采用源碼安裝;而以上所述,均是出于開發環境的考慮,即快速方便的部署測試服務器,如果用于線上環境,還需要注意的細巧還有許多,比如PHP要禁用危險的函數、Apache要考慮其Web安全及SSL證書(一個不小心就要考慮支持多域名的SSL證書)等、MySQL要考慮生產環境下的壓力及備份等,這里細節繁多就不細述了。

      來源:網絡搜集//所屬分類:Web服務器教程/更新時間:2013-04-13
      相關Web服務器教程