LAMP環境搭建與配置(一)

11.1 LAMP架構介紹

LAMP指的Linux(操做系統)、ApacheHTTP 服務器,MySQL(有時也指MariaDB,數據庫軟件) 和PHP(有時也是指Perl或Python) 的第一個字母,通常用來創建web應用平臺。php


11.2 MySQL、MariaDB介紹

MySQL是一個關係型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。MySQL 是最流行的關係型數據庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關係數據庫管理系統) 應用軟件。
MySQL是一種關係數據庫管理系統,關係數據庫將數據保存在不一樣的表中,而不是將全部數據放在一個大倉庫內,這樣就增長了速度並提升了靈活性。
MySQL所使用的 SQL 語言是用於訪問數據庫的最經常使用標準化語言。MySQL 軟件採用了雙受權政策,分爲社區版和商業版,因爲其體積小、速度快、整體擁有成本低,尤爲是開放源碼這一特色,通常中小型網站的開發都選擇 MySQL 做爲網站數據庫。
因爲其社區版的性能卓越,搭配 PHP 和 Apache 可組成良好的開發環境。mysql

MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,採用GPL受權許可 MariaDB的目的是徹底兼容MySQL,包括API和命令行,使之能輕鬆成爲MySQL的代替品。在存儲引擎方面,使用XtraDB(英語:XtraDB)來代替MySQL的InnoDB。 MariaDB由MySQL的創始人Michael Widenius(英語:Michael Widenius)主導開發,他早前曾以10億美圓的價格,將本身建立的公司MySQL AB賣給了SUN,此後,隨着SUN被甲骨文收購,MySQL的全部權也落入Oracle的手中。MariaDB名稱來自Michael Widenius的女兒Maria的名字。
MariaDB基於事務的Maria存儲引擎,替換了MySQL的MyISAM存儲引擎,它使用了Percona的 XtraDB,InnoDB的變體,分支的開發者但願提供訪問即將到來的MySQL 5.4 InnoDB性能。這個版本還包括了 PrimeBase XT (PBXT) 和 FederatedX存儲引擎。linux


11.3/11.4/11.5 MySQL安裝

一、下載MySQL源碼包。web

二、初始化。sql

解壓剛纔下載的MySQL源碼包。數據庫

#tar -xvzf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gzapache

如出現錯誤:FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumpervim

是由於沒有安裝Perl模塊,解決方法是安裝autoconf庫:yum -y install autoconf服務器

上面的命令執行完畢後,再輸入命令echo $?查看輸出結果是否爲0。php7

三、配置MySQL。

複製配置文件。

而後修改配置文件以下圖:

而後複製啓動腳本文件並修改其屬性:

再修改啓動腳本:

#vim /etc/init.d/mysqld

更改內容爲datadir=/data/mysql。再把啓動腳本加入系統服務項,設定開機啓動並啓動MySQL:


11.6 MariaDB安裝

下載MariaDB源碼包並解壓:

編輯文件

 /usr/local/mariadb/my.cnf這個只須要增長以下一行便可。

更改啓動腳本:#vim /etc/init.d/mariadb

啓動mariadb服務

而後查看是否啓動成功

至此,MariaDB安裝完畢。


11.7/11.8/11.9 Apache安裝

這裏咱們要安裝的是2.4版本的,還需手動編譯安裝apr和apr-util包。

下載安裝包,並解壓 

apr(apr和apr-util)能夠理解成一個通用的函數庫,主要爲上層應用提供支持。在這裏,httpd是依賴apr和apr-util的,若是不安裝這兩個,httpd就沒法工做,咱們先安裝apr和apr-util:

若是在安裝apr-util時報錯的話,要先安裝如下包,而後再安裝

#yum install -y expat-devel

安裝好了apr和apr-util後,咱們再來安裝httpd:

此時會報錯,咱們要安裝如下包:#yum install -y pcre pcre-devel

再編譯安裝:

安裝完成後,能夠查看httpd的目錄結構以及modules目錄下面的模塊文件:

查看加載了哪些模塊:

 


11.10/11.11/11.12 安裝PHP5

下載PHP安裝包

解壓源碼包

#tar xjvf php-5.6.32.tar.bz2

配置編譯參數

[root@zhangjin-120:/usr/local/src]#cd php-5.6.32/
[root@zhangjin-120:/usr/local/src/php-5.6.32]#./configure \
 --prefix=/usr/local/php \
 --with-apxs2=/usr/local/apache2.4/bin/apxs \
 --with-config-file-path=/usr/local/php/etc \
 --with-mysql=/usr/local/mysql \
 --with-libxml-dir \
 --with-gd \
 --with-jpeg-dir \
 --with-png-dir \
 --with-freetype-dir \
 --with-iconv-dir \
 --with-zlib-dir \
 --with-bz2 \
 --with-openssl \
 --with-mcrypt \
 --enable-soap \
 --enable-gd-native-ttf \
 --enable-mbstring \
 --enable-sockets \
 --enable-exif

編譯錯誤的解決方法:

一、configure: error: xml2-config not found. Please check your libxml2 installation.

解決方法:

#yum install -y libxml2-devel

二、configure: error: Cannot find OpenSSL's <evp.h>

解決方法:

#yum install -y openssl openssl-devel

三、checking for BZip2 in default path... not found

configure: error: Please reinstall the BZip2 distribution

解決方法:

#yum install -y bzip2 bzip2-devel

四、configure: error: png.h not found.

解決方法:

#yum install -y libpng libpng-devel

五、configure: error: freetype-config not found.

解決方法:#yum install -y freetype freetype-devel

六、configure: error: mcrypt.h not found. Please reinstall libmcrypt.

解決方法:#yum install -y epel-release

#yum install -y libmcrypt-devel

看到這一步,就說明PHP配置編譯參數成功:

而後進行編譯和安裝:

#make

#make install

最後,咱們再複製配置文件:

[root@zhangjin-120:/usr/local/src/php-5.6.32]#cp php.ini-production /usr/local/php/etc/php.ini


11.13 安裝PHP7

下載源碼包

解壓源碼包

#tar jxvf php-7.1.6.tar.bz2

進入php-7.1.6目錄

cd php-7.1.6

而後配置編譯參數

[root@zhangjin-120:/usr/local/src/php-7.1.6]#./configure --prefix=/usr/local/php7 \
 --with-apxs2=/usr/local/apache2.4/bin/apxs \
 --with-config-file-path=/usr/local/php7/etc \
 --with-pdo-mysql=/usr/local/mysql \
 --with-mysqli=/usr/local/mysql/bin/mysql_config \
 --with-libxml-dir \
 --with-gd \
 --with-jpeg-dir \
 --with-png-dir \
 --with-freetype-dir \
 --with-iconv-dir \
 --with-zlib-dir \
 --with-bz2 \
 --with-openssl \
 --with-mcrypt \
 --enable-soap \
 --enable-gd-native-ttf \
 --enable-mbstring \
 --enable-sockets \
 --enable-exif

再編譯安裝

#make

#make install

複製配置文件:

 


11.14/11.15 Apache和PHP結合

一、配置httpd支持PHP

編輯httpd的主配置文件

[root@zhangjin-120:~]#vim /usr/local/apache2.4/conf/httpd.conf

而後將193行的#去掉

再修改以下內容:

將202行的denied修改成granted。修改的目的是,容許全部請求,若是不設置這一行,則咱們訪問的時候會報403錯誤碼。

再搜索376行,並在下面增長一行:

再將下面的內容修改成:

 

二、測試LAMP是否成功

http、MySQL和PHP安裝後,須要先檢驗httpd的配置文件是否正確,只有正確配置才能夠正確解析PHP文件。

檢驗httpd的配置文件是否正確

[root@zhangjin-120:~]#/usr/local/apache2.4/bin/apachectl -t
Syntax OK

而後啓動httpd服務

[root@zhangjin-120:~]#/usr/local/apache2.4/bin/apachectl start
/usr/local/apache2.4/bin/apachectl: 行 79: 54904 段錯誤               (吐核)$HTTPD -k $ARGV

能夠看到,報錯了,報錯的緣由是咱們安裝了2個PHP版本,解決的辦法以下圖所示:

而後咱們再啓動httpd服務

[root@zhangjin-120:~]#/usr/local/apache2.4/bin/apachectl start

而後查看是否啓動成功:

能夠看到,httpd服務已經成功啓動。

咱們也可使用curl命令進行簡單的測試:

顯示這一行則說明測試成功。

 

測試是否正確解析PHP

編寫一個測試腳本:

保存腳本的,再用curl命令進行測試:

若是能顯示以上信息則說明PHP解析正確。

相關文章
相關標籤/搜索