構建LAMP平台(一)(軟體版本:httpd-2.4.16,php-5.6.12,mysql-5.6.26)

來源:互聯網
上載者:User

標籤:linux   伺服器   lamp   httpd   mysql   php   

    最近在學習LAMP,想把學到的東西寫一遍。話不多說,直奔主題好啦。

    我構建平台所用到的軟體都是目前最新版本,另外我用的linux發行版是RHEL6,下面我將分步驟依次搭建httpd伺服器,MySQL伺服器和php。(注意此處的安裝順序最好不要更改,因為後面安裝PHP需要指定MySQL的安裝路徑)

    1)、搭建httpd伺服器

       1、安裝httpd前的準備工作:

       安裝apr(Apache Portable Runtime,Apache可移植運行環境)以及apr-util工具包,此處用到的版本分別是apr-1.5.2和apr-util-1.5.4:

        (1)分別建立apr和apr-util安裝目錄:

         # mkdir /usr/local/{apr,apr-util}

        (2)解壓apr-1.5.2.tar.bz2,配置編譯安裝apr:

         # tar xvjf apr-1.5.2.tar.bz2

         # cd apr-1.5.2

         # ./configure --prefix=/usr/local/apr

         # make && make install

        (3)類似地,解壓apr-util-1.5.4.tar.bz2,配置時需要指定apr的安裝路徑,編譯安裝:

         # tar xvjf apr-util-1.5.4.tar.bz2

         # cd apr-util-1.5.4

         # ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

         # make && make install

       至此,安裝httpd的準備工作就算是完成了。

       2、安裝httpd:

        (1)建立httpd安裝目錄:

         # mkdir /usr/local/apache

        (2)解壓httpd-2.4.16.tar.bz2,配置安裝httpd (安裝httpd時配置選項較多,可以根據自己的實際需要作適當修改):

         # tar xvjf httpd-2.4.16.tar.bz2

         # cd httpd-2.4.16

         # ./configure --prefix=/usr/local/apache --enable-modules=all --enable-mods-shared=most --enable-so --enable-deflate --enable-ssl --enable-mpms-shared=all --enable-cgi --enable-cgid --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --sysconfdir=/etc/httpd --enable-rewrite --with-mpm=event

         # make && make install

       安裝完成後,會在/etc/httpd/目錄下產生httpd.conf的設定檔,可根據自己的需要對httpd進行配置。

       3、向系統添加httpd服務:

        (1)需要對以前安裝過的httpd服務指令碼(以前沒安裝過httpd可以通過yum工具和紅帽安裝光碟片進行安裝,另外為避免混亂,儘可能將以前安裝的httpd軟體卸載)進行適當的修改,即對/etc/init.d/httpd服務指令碼中的三行進行如下修改:

         apachectl=/usr/local/apache/bin/apachectl

         httpd=${HTTPD-/usr/local/apache/bin/httpd}

         pidfile=${PIDFILE-/usr/local/apache/logs/httpd.pid}

        (2)添加httpd服務至開機啟動列表:

         # chkconfig --add httpd

         根據需要設定httpd服務預設在系統哪些運行層級下啟動;

         # chkconfig --list httpd

         # chkconfig --level 2345 httpd on

         # chkconfig --list httpd

         至此,可以使用service命令啟動httpd伺服器:

         # service httpd start

         開啟瀏覽器,輸入httpd伺服器所在的主機ip地址,當看到有“It works!”標題字樣的頁面時(顯示的html文檔位於/usr/local/apache/htdocs目錄下),就說明我們的httpd伺服器能正常工作了。

如果遇到頁面打不開的情況,可以嘗試把selinux功能關閉以及iptables模組卸載。

    2)、安裝MySQL伺服器

       1、安裝MySQL前的準備工作:

       由於MySQL伺服器需要維護大量資料,最好是將MySQL的資料存放到邏輯卷上,好處是以後如果出現儲存空間不足,方便隨時進行擴充。

        (1)建立MySQL資料存放目錄:

         # mkdir /mysql_data/data -pv

        (2)建立一個可用的邏輯卷(選擇一個閒置磁碟分割,或者對已有磁碟進行劃分得到一個新分區,並把分區類別修改為LVM,此處我以/dev/sdb3為例):

         # pvcreate /dev/sdb3

         # vgcreate myvg /dev/sdb3

         # lvcreate -n mysql_lv -L 5G myvg

        (3)對邏輯卷進行格式化並掛載至MySQL資料存放目錄:

         # mke2fs -j /dev/myvg/mysql_lv

         將要掛載的邏輯卷寫入/etc/fstab檔案,以後系統啟動時會將邏輯卷自動掛載至MySQL資料存放目錄下,在/etc/fstab檔案中添加如下一行即可:

         /dev/myvg/mysql_lv    /mysql_data    ext3    defaults    0 0

         然後執行命令掛載/etc/fstab中定義的所有檔案系統,包括邏輯卷/dev/myvg/mysql_lv:

         # mount -a

         至此,建立並掛載邏輯卷的工作就算是完成了。

       安裝MySQL前的另外一項準備工作就是建立系統使用者mysql,該使用者主要負責MySQL服務的啟動和運行。因此:

        (4)建立系統使用者mysql及其所屬的使用者組:

         # groupadd -r mysql

         # useradd -r -g mysql mysql

        (5)修改MySQL資料存放目錄的屬主屬組及許可權(不讓其他使用者隨意訪問):

         # chown mysql:mysql /mysql_data/data

         # chmod 750 /mysql_data/data

         至此,安裝MySQL前的準備工作就算是完成了。

       2、安裝MySQL:

        (1)將mysql-5.6.26-linux-glibc2.5-i686.tar.gz壓縮包直接解壓至/usr/local/目錄下(註:選擇mysql軟體的版本一定要跟自己系統的版本保持一致,否則可能會導致初始化資料庫時出現問題):

         # tar xvzf mysql-5.6.26-linux-glibc2.5-i686.tar.gz -C /usr/local

        (2)建立軟網站連結接到解壓後的/usr/local/mysql-5.6.26-linux-glibc2.5-i686目錄,目的是為了保留MySQL的版本號碼,以後就可以對/usr/local/mysql目錄直接操作:

         # ln -sv /usr/local/mysql-5.6.26-linux-glibc2.5-i686 /usr/local/mysql

        (3)修改/usr/local/mysql目錄下所有檔案的屬主屬組,加強資料庫檔案安全性:

         # cd /usr/local/mysql

         # chown -R root:mysql ./*

        (4)對MySQL資料庫進行初始化:

         # ./scripts/mysql_install_db --user=mysql --datadir=/mysql_data/data

        (5)複製mysql服務指令碼以及設定檔:

         # cp support-files/mysql.server /etc/init.d/mysqld

         # cp my.cnf /etc/

        (6)如果想像正常情況下使用mysql提供的命令,則需要將mysql提供的命令所在路徑以PATH環境變數的形式輸出,以後系統就能識別mysql提供的命令:

         # vim /etc/profile.d/mysql.sh

         向檔案添加以下內容:

         export $PATH=PATH:/usr/local/mysql/bin

        (7)接下來就可以啟動MySQL服務了,但在啟動服務之前還有一項很關鍵的事情要做,就是需要往mysql的設定檔中添加一項:

         # vim /etc/my.cnf

         添加一行即可:datadir=/mysql_data/data

        (8)接下來就可以啟動MySQL服務了

         # service mysqld start

         可以通過“netstat -tunlp”命令驗證mysql伺服器端是否工作起來,監聽在3306連接埠上;此外,還需要添加mysql資料庫管理員root(註:不是系統管理員root)登入資料庫的密碼。至此,安裝mysql的工作就算完成。

    3)、安裝php:

       1、安裝php前的準備工作:

         由於安裝php過程需要用到mcrypt模組,所以需要先安裝libmcrypt和mhash及其開發庫,此處用到了libmcrypt-2.5.7-5.el5.i386.rpm、libmcrypt-devel-2.5.7-5.el5.i386.rpm、mhash-0.9.2-6.el5.i386.rpm和mhash-devel-0.9.2-6.el5.i386.rpm等四個rpm包。安裝過程很簡單:

         # rpm -ivh *.rpm

       2、安裝php:

        (1)建立php安裝目錄:

         # mkdir /usr/local/php

        (2)解壓php源碼包,配置php與httpd伺服器的結合工作方式(此處php採用編譯成httpd的模組的方式進行工作),編譯安裝:

         # tar xvjf php-5.6.12.tar.bz2

         # cd php-5.6.12

         # ./configure --prefix=/usr/local/php/ --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/etc/ --with-config-file-scan-dir=/etc/php.d --with-jpeg-dir --with-png-dir --enable-mbstring --with-mcrypt --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --with-freetype-dir --with-zlib --with-libxml-dir=/usr/ --enable-xml --enable-sockets --with-bz2 --enable-maintainer-zts

         # make && make install

        (3)複製php的設定檔(註:複製的檔案是源碼目錄中的php.ini-production檔案,而不是安裝目錄下的,另安裝目錄下也不存在這個檔案):

         # cp php.ini-production /etc/php.ini

        (4)要使httpd能和php結合起來工作,需要配置httpd能支援以.php結尾的動態網頁面,因此需要編輯httpd的設定檔httpd.conf:

         # vim /etc/httpd/httpd.conf

         找到有“AddType”字眼的行,在其後添加兩行:

         AddType application/x-httpd-php .php

         AddType application/x-httpd-php-source .phps

         另外,找到有“DirectoryIndex”字眼的行,配置httpd能支援.php結尾的首頁面,在該行添加index.php,即DirectoryIndex index.php index.html

         做完這些,httpd與php結合的配置工作就算完成,接下來只需要在/usr/local/apache/htdocs目錄下添加一個index.php頁面,重啟httpd服務,開啟瀏覽器輸入主機ip地址就可以測試php能否工作以及httpd,mysql,php三者能否結合工作。



<附:index.php測試指令碼>


<title>www.hello.com</title>

<?php

$value=mysql_connect(‘localhost‘,‘root‘,‘password‘); #此處的password為root在localhost主機上登入mysql資料庫的密碼;

if($value)

echo "Successful...";

else

echo "Failed...";

?>

本文出自 “奮鬥不止” 部落格,請務必保留此出處http://fdbz1024.blog.51cto.com/10435362/1685139

構建LAMP平台(一)(軟體版本:httpd-2.4.16,php-5.6.12,mysql-5.6.26)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.