LAMP指的Linux(操做系統)、ApacheHTTP 服務器,MySQL(有時也指MariaDB,數據庫軟件) 和PHP(有時也是指Perl或Python) 的第一個字母,通常用來創建web應用平臺。php
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
一、下載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:
下載MariaDB源碼包並解壓:
編輯文件
/usr/local/mariadb/my.cnf這個只須要增長以下一行便可。
更改啓動腳本:#vim /etc/init.d/mariadb
啓動mariadb服務
而後查看是否啓動成功
至此,MariaDB安裝完畢。
這裏咱們要安裝的是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目錄下面的模塊文件:
查看加載了哪些模塊:
下載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
下載源碼包
解壓源碼包
#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
複製配置文件:
一、配置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解析正確。