CentOS下安裝配置LAMP(Linux+Apache+MySQL+PHP)

來源:互聯網
上載者:User

標籤:des   style   http   io   os   使用   ar   strong   for   

 

關於LAMP的各種知識,今天主要是介紹一下在CentOS下安裝,搭建一個Web伺服器的過程。(本文是使用安裝包安裝)

一、簡介

什麼是LAMP     LAMP是一種Web網路應用和開發環境,是Linux, Apache, MySQL, Php/Perl的縮寫,每一個字母代表了一個組件,每個組件就其本身而言都是在它所代表的方面功能非常強大的組件。     LAMP這個詞的由來最早始於德國雜誌“c‘t Magazine”,Michael  Kunze在1990年最先把這些公事包在一起創造了LAMP的縮寫字。這些組件並不是開始就設計為一起使用的,但是,這些軟體都是開源的,可以很方便的隨時獲得並免費使用,這就導致了這些組件經常在一起使用。這些組件的相容性也在不斷完善,為了改善不同組件之間的協作,已經建立了某些擴充功能,在一起的應用情形變得非常普便,因而成為目前最流行的web應用基礎架構。

LAMP的組件    平台由四個組件組成,呈分層結構,每一層都提供了整個架構的一個關鍵區段:    LinuxLinux  處在最底層,提供作業系統。它的靈活性和可定製化的特點意味著它能夠產生一種高度定製的平台,讓其它組件在上面運行。其它組件運行於Linux  之上,但是並不一定局限於 Linux,也可以在 Microsoft Windows, Mac OS X 或  UNIX上運行。    ApacheApache位於第二層,它是一個Web 服務平台,提供可讓使用者獲得 Web 頁面的機制。Apache 是一款功能強大、穩定、可支撐關鍵任務的Web伺服器,Internet 上超過 50% 的網站都使用它作為 Web 服務器。    MySQLMySQL 是最流行的開源關聯式資料庫管理系統,是LAMP的資料存放區端。在 Web 應用程式中,所有帳戶資訊、產品資訊、客戶資訊、業務資料和其他類型的資訊都儲存於資料庫中,通過 SQL 語言可以很容易地查詢這些資訊。    PHP/PerlPerl是一種靈活的語言,特別是在處理文本要素的時候,這種靈活性使Perl很容易處理通過 CGI介面提供的資料,靈活地運用文字檔和簡單資料庫支援動態要素。PHP 是一種被廣泛應用的開放原始碼的多用途指令碼語言,它可嵌入到  HTML中,尤其適合 web 開發。可以使用 PHP 編寫能訪問 MySQL 資料庫中的資料和 Linux 提供的一些特性的動態內容。

二、系統內容

系統平台:CentOS6.3

Apache版本:httpd-2.2.9

Mysql 版本:mysql-5.0.41

Php版本:php-5.2.6

在CentOS下安裝軟體有兩種方式,第一種是使用yum命令,自動安裝軟體,安裝的軟體具有固定的位置和固定的目錄;第二種是下載源碼安裝包,手動解壓,配置,編譯和安裝,在安裝的過程中可以自己選擇安裝的目錄和路徑等。在這裡,我選擇的安裝方式是第一種,比較便捷,雖然在靈活性上有所欠缺,但是對於實驗階段已經夠了。

三、安裝

(1):配置防火牆(預設情況下,連接埠80和3306是拒絕訪問的,在防火牆上進行配置):

       1.vi /etc/sysconfig/iptables(在"COMMIT"的上一行加上如下兩句)  

       2.-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(允許80連接埠通過防火牆)  

       3.-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT(允許3306連接埠通過防火牆)  

接著重啟防火牆使得配置生效:

       1./etc/init.d/iptables restart  

(2):安裝Apache

使用以下命令安裝Apache:

      1.yum install httpd  

如果出下下面所示的語句,說明已經安裝了Apache了,不需要重新安裝:

                       

安裝完之後,重新啟動Apache:/etc/init.d/httpd restart

接著將Apache設定為開機啟動:chkconfig httpd on.(這一步使得伺服器不需要在每次重啟的時候都要手動啟動httpd服務)

要查看httpd服務的啟動狀態,可以使用命令:chkconfig --list httpd(會顯示httpd在各個層級(level)下的啟動狀態)

(3):安裝MySQL

1、使用以下命令安裝MySQL:

      1.yum install mysql mysql-server  

同樣,如果出現提示已安裝的話,就說明系統安裝了MySQL了,可以跳過這一步,否則,系統接下來會自動安裝MySQL。

安裝完成了之後,啟動MySQL:/etc/init.d/mysql start

將MySQL設定為開機啟動:chkconfig mysqld on
最後,拷貝設定檔:cp /usr/share/mysql/my-medium.cnf   /etc/my.cnf (在/etc下有個my.cnf檔案,直接覆蓋就行了)

2、用以下命令給root賬戶設定密碼     

       1.mysql_secure_installation  

根據提示輸入2次密碼,就設定成功了。注意,在設定過程中,會提示刪除是否anonymous使用者,是否拒絕root的遠端存取,是否刪除測試用的資料庫等,這些都需要根據自己的實際情況進行選擇。最後出現:Thanks for using MySQL!,設定密碼成功了。

重新啟動MySQL:/etc/init.d/mysqld restart

(4)安裝PHP

1、使用以下命令安裝PHP:

    1.yum install php  

根據提示往下安裝就行了。安裝完之後重新啟動Apache:/etc/init.d/httpd restart
2、安裝PHP組件,是PHP支援MySQL

可以使用命令:yum search php來查看PHP的組件,選擇需要的模組進行安裝:

(php組件列表http://www.php100.com/html/itnews/PHPxinwen/2013/0305/12149.html)

 yum install php-mysqlphp-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpcphp-mbstring php-mcrypt php-bcmath php-mhash libmcrypt

安裝完之後,重啟Apache:/etc/init.d/httpd restart 

重啟MySQL:/etc/init.d/mysqld restart

 

到了這一步,LAMP中的AMP都已經安裝完畢了,但是web伺服器此時並不能被訪問,因為要訪問伺服器,還需要對Apache和PHP進行相應的配置。

第一步:配置Apache

 

修改Apache設定檔:vi /etc/httpd/conf/httpd.conf,並在檔案中尋找下面所在行,進行修改(尋找可以在vi的一般模式下輸入“/要尋找的字元”進行尋找):

 

ServerTokens OS           修改為:     ServerTokens Prod                       (在出現錯誤頁的時候不顯示伺服器作業系統的名稱)

ServerSignature On        修改為:     ServerSignature Off                      (在錯誤頁中不顯示Apache的版本)

Options Indexes FollowSymLinks     修改為:     Options Includes ExecCGI FollowSymLinks             (允許伺服器執行CGI及SSI,禁止列出目錄)

#AddHandler cgi-script .cgi           修改為:     AddHandler cgi-script .cgi .pl                                       (允許副檔名為.pl的CGI指令碼運行)

AllowOverride None                      修改為:     AllowOverride All                                 (允許.htaccess)

AddDefaultCharset UTF-8            修改為:     AddDefaultCharset GB2312                                     (添加GB2312為預設編碼)

 

Options Indexes MultiViews FollowSymLinks      修改為      Options MultiViews FollowSymLinks        (不在瀏覽器上顯示樹狀目錄結構)

DirectoryIndex index.html index.html.var             修改為:  DirectoryIndex index.html index.htm Default.html Default.htm index.php Default.php index.html.var  (設定預設首頁檔案,增加index.php)

KeepAlive Off                                  修改為:     KeepAlive On                                (允許程式性聯機)

MaxKeepAliveRequests 100           修改為:     MaxKeepAliveRequests 1000   (增加同時串連數)

 

修改好之後儲存配置,重新啟動Apache:/etc/init.d/httpd restart

 

建議刪除預設的測試頁面:rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html

 

第二步:配置PHP

修改PHP設定檔:vi /etc/php.ini,以下需要修改的行的位置可以通過vi的尋找命令來尋找:

 

date.timezone = PRC                    #把前面的分號去掉,改為date.timezone = PRC

(PRC,People’s Republic of China,中華人民共和國,也就是日期使用中國的時區)

 

如果想保證伺服器的安全,請將這個函數加到disable_functions裡或者將安全模式開啟吧

disable_functions =                             passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

 

#列出PHP可以禁用的函數,如果某些程式需要用到這個函數,可以刪除,取消禁用。

 

expose_php = Off                                     #禁止顯示php版本的資訊

 

display_errors = OFF                               #關閉錯誤提示

register_globals = OFF                           #關閉註冊全域變數

magic_quotes_gpc = On                        #開啟magic_quotes_gpc來防止SQL注入

log_errors = On                                         #記錄錯誤記錄檔

error_log = /var/log/php/error_log.log   #設定錯誤記錄檔存放目錄,檔案必須允許apache使用者的和組具有寫的許可權(注意,在修改之前,要先建立檔案/var/log/php/error_log.log,然後在修改其屬性,使其屬於apache使用者和使用者組。chown apache /var/log/php/error_log.log和chgrp apache /var/log/php/error_log.log)

 

open_basedir = .:/tmp/                             #設定表示允許訪問目前的目錄(即PHP指令檔所在之目錄)和/tmp/目錄,可以防止php木馬跨站

 

 

 

 

經過安裝和配置之後,web伺服器基本上已經搭建起來了,可以對其進行訪問。

 

 

 

 

測試篇

 

在目錄/var/www/html下:cd /var/www/html

 

建立php檔案:vi index.php

 

<?php

phpinfo();

?>

 

那麼,在瀏覽器中輸入本機地址的時候,就可以訪問到剛才建立的index.php網頁檔案了。

 

注意:apache的預設程式目錄是:/var/www/html,網頁檔案放在這裡就可以被訪問到。需要保證這個目錄是屬於使用者apache和使用者組apache的。

MySQL的資料庫目錄是:/var/lib/mysql

 

寫到這裡,LAMP就安裝配置完畢了,瀏覽器只要輸入伺服器的IP地址或者是網域名稱的話,就能夠訪問到伺服器上的網頁檔案了。

 

CentOS下安裝配置LAMP(Linux+Apache+MySQL+PHP)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.