站長(zhǎng)資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        LAMP環(huán)境搭建與配置

        LAMP是Linux  Apache  MySQL  PHP的縮寫,即把Apache、MySQL以及PHP安裝在Linux系統(tǒng)上,組成一個(gè)環(huán)境來(lái)運(yùn)行PHP的腳本語(yǔ)言。Apache是最常用的Web服務(wù)軟件,而MySQL是比較小型的數(shù)據(jù)庫(kù)軟件。三個(gè)角色可以安裝在一臺(tái)機(jī)器上,也可以分開(kāi)(但httpd和php要在一起的)

            LAMP環(huán)境搭建與配置

        下面來(lái)介紹如何構(gòu)建LAMP環(huán)境:

        安裝MySQL:(Mariadb安裝幾乎一樣)

            (1)MySQL/Mariadb介紹     

             MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù),由mysql ab公司開(kāi)發(fā),mysql在2008年被sun公司收購(gòu)(10億刀),2009年sun公司被Oracle公司收購(gòu)(74億刀)

             MySQL官網(wǎng)https://www.mysql.com  最新版本5.7GA/8.0DMR

             MySQL5.6變化比較大,5.7性能上有很大提升

             Mariadb為MySQL的一個(gè)分支,官網(wǎng)https://mariadb.com/最新版本10.2

             MariaDB主要由SkySQL公司(現(xiàn)更名為MariaDB公司)維護(hù),SkySQL公司由MySQL原作者帶領(lǐng)大部分原班人馬創(chuàng)立.

             Mariadb5.5版本對(duì)應(yīng)MySQL的5.5,10.0對(duì)應(yīng)MySQL5.6

             Community 社區(qū)版本,Enterprise 企業(yè)版,GA(Generally Available)指通用版本,在生產(chǎn)環(huán)境中用的,DMR(Development Milestone Release)開(kāi)發(fā)里程碑發(fā)布版,RC(Release Candidate)發(fā)行候選版本,Beta開(kāi)放測(cè)試版本,Alpha內(nèi)部測(cè)試版本

            (2)MySQL安裝過(guò)程:

                    ①下載源碼包到/usr/local/src/目錄下:

                        進(jìn)入該目錄:cd /usr/local/src/

                        下載源碼包:wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

                    ②解壓,然后挪動(dòng)位置/usr/local/mysql

                        解壓:tar -zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

                        [ -d /usr/local/mysql ] && mv /usr/local/mysql /usr/local/mysql_old    這一步意思:是否存在mysql目錄了,有的話,修改就mysql目錄名稱!

                        挪動(dòng)位置:mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql

                    ③創(chuàng)建MySQL用戶,啟動(dòng)MySQL需要該用戶:useradd -s /sbin/nologin mysql

                    ④創(chuàng)建MySQL數(shù)據(jù)庫(kù)文件存放目錄/data/mysql并更改權(quán)限:mkdir -p /data/mysql;    chown -R mysql:mysql /data/mysql;

                    ⑤進(jìn)入/usr/local/mysql目錄,初始化:./scripts/mysql_install_db –user=mysql –datadir=/data/mysql

                        LAMP環(huán)境搭建與配置

                    這里會(huì)出現(xiàn)FATAL ERROR報(bào)錯(cuò),這是因?yàn)槿鄙賞erl包導(dǎo)致的,我們yum安裝就好了:yum install -y perl-Module-Install

                    安裝完成后,重新執(zhí)行上一條命令;接下來(lái)你會(huì)看見(jiàn)兩個(gè)OK,并且會(huì)在/data/mysql目錄下生成了幾個(gè)文件和目錄,說(shuō)明執(zhí)行成功了。或者echo $?查看是否成功!

                    LAMP環(huán)境搭建與配置 

                    LAMP環(huán)境搭建與配置

                    ⑥復(fù)制配置文件:cp support-files/my-default.cnf /etc/my.cnf;    (因?yàn)橄到y(tǒng)默認(rèn)有my.cnf文件,所以會(huì)提示覆蓋)

                    LAMP環(huán)境搭建與配置

                    ⑦修改配置文件:vim /etc/my.cnf

                    LAMP環(huán)境搭建與配置

                    ⑧復(fù)制啟動(dòng)腳本,并修改其屬性

                    LAMP環(huán)境搭建與配置

                    ⑨修改啟動(dòng)腳本:vim /etc/init.d/mysqld

                    LAMP環(huán)境搭建與配置

                    ⑩到這里安裝就完成了,接下來(lái)就是啟動(dòng)和檢查了

                    LAMP環(huán)境搭建與配置

                    從上圖看見(jiàn)已經(jīng)是啟動(dòng)成功了,還提示了mysql錯(cuò)誤日志文件。

                    使用之前的命令檢查MySQL是否啟動(dòng)了:          LAMP環(huán)境搭建與配置

        安裝Apache:

            (1)Apache介紹

                Apache是一個(gè)基金會(huì)的名字,httpd才是我們要安裝的軟件包,早期它的名字就叫apache;Apache官網(wǎng)www.apache.org

            (2)Apache安裝過(guò)程

                    ①下載源碼包存放在/usr/local/src/:

                        進(jìn)入src目錄:cd /usr/local/src

                        下載源碼包以及兩個(gè)依賴包:

                                httpd:wget http://mirrors.sohu.com/apache/httpd-2.4.29.tar.gz

                                apr:wget http://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.6.3.tar.gz

                                apr-util:wget http://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.6.1.tar.gz

                    ②解壓

                        tar -zxvf apr-1.6.3.tar.gz

                        tar -zxvf apr-util-1.6.1.tar.gz

                        tar -zxvf httpd-2.4.29.tar.gz

                    ③安裝依賴庫(kù),如果不安裝這兩個(gè)依賴,httpd2.4就無(wú)法工作(如果是httpd2.2是不用手動(dòng)安裝的)

                        安裝apr:

                                cd /usr/local/src/apr-1.6.3

                                ./configure –prefix=/usr/local/apr

                                make && make install

                        可能出錯(cuò):(友情提示:安裝軟件時(shí),最好沒(méi)執(zhí)行一步,就echo $?看看是否執(zhí)行成功!)

                        LAMP環(huán)境搭建與配置

                        錯(cuò)誤提示很明顯了,缺少gcc包;那我們就yum安裝:yum install -y gcc;安裝完成后,重新執(zhí)行上面的命令!

                        安裝apr-util:

                            cd /usr/local/src/apr-util-1.6.1

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

                            make && make install

                        可能報(bào)錯(cuò):

                        LAMP環(huán)境搭建與配置

                        缺少expat.h文件,yum安裝:yum install -y expat-devel;安裝完成后,重新執(zhí)行上面的命令!

                ④安裝httpd:

                        cd /usr/local/src/httpd-2.4.29

                        ./configure –prefix=/usr/local/apache2.4 –with-apr=/usr/local/apr –with-apr-util=/usr/lcal/apr-util –enable-so –enable-mods-shared=most

                        make && make install

                可能報(bào)錯(cuò):

                LAMP環(huán)境搭建與配置

                解決辦法:yum install -y pcre pcre-devel

                LAMP環(huán)境搭建與配置

                說(shuō)明:缺少了xml相關(guān)的庫(kù),需要安裝libxml2-devel包。直接安裝并不能解決問(wèn)題,因?yàn)閔ttpd調(diào)用的apr-util已經(jīng)安裝好了,但是apr-util并沒(méi)有l(wèi)ibxml2-devel包支持

                解決辦法:

         # 安裝libxml2-devel包      yum install -y libxml2-devel      # 刪除apr-util安裝目錄,并重新編譯安裝 rm -rf /usr/local/apr-util         cd /usr/local/src/apr-util-1.6.1       # 這一步很重要,必須清除之前配置時(shí)的緩存 make clean       ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr      make && make install # 重新編譯安裝httpd cd /usr/local/src/httpd-2.4.29      # 同樣要清理之前的緩存十分重要 make clean      ./configure --prefix=/usr/local/apache2.4  --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most      make && make install
         

                ⑤安裝完成后,查看httpd的木目錄結(jié)構(gòu)和modules目錄下的模塊文件:

         ls /usr/local/apache2.4/      bin  build  cgi-bin  conf  error  htdocs  icons  include  logs  man  manual  modules      ls /usr/local/apache2.4/modules/      # 查看已經(jīng)加載了哪些模塊      /usr/local/apache2.4/bin/apachectl -M
         

        安裝PHP:

            (1)下載源碼包/usr/local/src/:wget http://mirrors.sohu.com/php/php-5.6.9.tar.gz

            (2)解壓:tar -zxvf php-5.6.9.tar.gz

            (3)配置編譯參數(shù):

                ./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-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

            (4)編譯和安裝:make && make install

            可能報(bào)錯(cuò):

            LAMP環(huán)境搭建與配置

            解決辦法:yum install -y openssl openssl-devel

            LAMP環(huán)境搭建與配置

            解決辦法:yum install -y bzip2 bzip2-devel

            LAMP環(huán)境搭建與配置

            解決辦法:yum install -y libjpeg libjpeg-devel

            LAMP環(huán)境搭建與配置

            解決辦法:yum install -y libpng libpng-devel

            LAMP環(huán)境搭建與配置

            解決辦法:yum install -y lfreetype freetype-devel

            LAMP環(huán)境搭建與配置

            解決辦法:yum install -y epel-release libmcrypt-devel

            (5)最后是復(fù)制配置文件:cp php.ini-production /usr/local/php/etc/php.ini

        配置httpd支持PHP:

            (1)修改httpd主配置文件/usr/local/apache2.4/conf/httpd.conf

                    搜索ServerName,刪除前面的 ‘#’

                    找到<Directory />,修改成

         <Directory />         AllowOverride none         Require all granted      </Directory>
         

                 在AddType增加一行:   

                 LAMP環(huán)境搭建與配置

                LAMP環(huán)境搭建與配置

        測(cè)試LAMP是否成功:

            (1)測(cè)試配置文件是否正確

                LAMP環(huán)境搭建與配置

            (2)啟動(dòng)apache服務(wù)

                LAMP環(huán)境搭建與配置

            (3)使用curl命令簡(jiǎn)單測(cè)試:

                LAMP環(huán)境搭建與配置

            (4)測(cè)試是否正確解析php

                添加測(cè)試php腳本!

                LAMP環(huán)境搭建與配置

        到這里,LAMP環(huán)境就搭建好了,下面熟悉一下httpd的配置!

        httpd配置:

            (1)默認(rèn)虛擬主機(jī)

                    編輯httpd配置文件httpd.conf:vim /usr/local/apache2.4/conf/httpd.conf

                    LAMP環(huán)境搭建與配置

                    然后編輯虛擬主機(jī)的配置文件:vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

                    LAMP環(huán)境搭建與配置

                    這樣一個(gè)<VirtualHost>***</VirtualHost>就是一個(gè)虛擬主機(jī)了。

                    還要?jiǎng)?chuàng)建網(wǎng)站目錄呢

         mkdir -p /data/www/default.com          echo "This is the default site." > /data/www/default.com/index.html
         

                     LAMP環(huán)境搭建與配置

            (2)用戶認(rèn)證

                    編輯httpd配置文件httpd.conf:vim /usr/local/apache2.4/conf/httpd.conf

                    LAMP環(huán)境搭建與配置

                    接下來(lái)就是創(chuàng)建密碼文件:(-c為create, -m為MD5加密;第二次就不用-c了,否則會(huì)清空密碼文件)

                    LAMP環(huán)境搭建與配置

                    用戶認(rèn)證效果:(當(dāng)然你需要在本機(jī)的hosts文件加入虛擬機(jī)的IP和default.com才能在瀏覽器訪問(wèn)了)

          LAMP環(huán)境搭建與配置LAMP環(huán)境搭建與配置

                    當(dāng)然你也可以對(duì)網(wǎng)站的文件進(jìn)行用戶認(rèn)證了,新建了一個(gè)站點(diǎn)進(jìn)行文件的用戶認(rèn)證。

                    LAMP環(huán)境搭建與配置

                    LAMP環(huán)境搭建與配置

                    效果:

                    LAMP環(huán)境搭建與配置

            (3)配置域名跳轉(zhuǎn)

                    編輯httpd配置文件httpd.conf:vim /usr/local/apache2.4/conf/httpd.conf

                    在<VirtualHost>站點(diǎn)加入下面的代碼

                    LAMP環(huán)境搭建與配置

                    當(dāng)然還需要去httpd主配置文件,打開(kāi)rewrite模塊

                    LAMP環(huán)境搭建與配置

                    驗(yàn)證是否開(kāi)啟:

                    LAMP環(huán)境搭建與配置

                    配置完成后,使用curl進(jìn)行測(cè)試

                    LAMP環(huán)境搭建與配置

            (4)配置訪問(wèn)日志

                    定義訪問(wèn)日志的格式在主配置文件httpd.conf

                    LAMP環(huán)境搭建與配置

                    繼續(xù)修改vhost配置文件:(默認(rèn)是common,我們現(xiàn)在修改成combined)

                    LAMP環(huán)境搭建與配置

                    當(dāng)有訪問(wèn)時(shí),會(huì)產(chǎn)生日志文件:(記錄的信息明顯變多了)

        LAMP環(huán)境搭建與配置

                    日志過(guò)濾掉圖片、js、css等靜態(tài)文件,節(jié)約磁盤容量,并且做日志切割,一天一個(gè)文件!

                    在站點(diǎn)的配置文件vhost中加入過(guò)濾代碼:LAMP環(huán)境搭建與配置

            (5)配置靜態(tài)元素過(guò)期時(shí)間

                    修改vhost:

                    LAMP環(huán)境搭建與配置

                    LAMP環(huán)境搭建與配置

            (6)配置防盜鏈

                    LAMP環(huán)境搭建與配置

                    LAMP環(huán)境搭建與配置

            (7)訪問(wèn)控制

                    ①通過(guò)限制IP訪問(wèn)

                    修改vhost配置文件:

                    LAMP環(huán)境搭建與配置

                效果:(192.168.159.131和127.0.0.1都是本機(jī)IP)

                    LAMP環(huán)境搭建與配置

                    ②也可以針對(duì)某個(gè)文件做限制

                    同樣是修改vhost

                    LAMP環(huán)境搭建與配置

                    效果:

                    LAMP環(huán)境搭建與配置

                    ③針對(duì)user_agent來(lái)做訪問(wèn)控制

                    修改vhost:(OR:或者;NC:不區(qū)分大小寫;F:Forbidden)

                    LAMP環(huán)境搭建與配置

                    效果:(curl -A指定user_agent)

                    LAMP環(huán)境搭建與配置

                    ④上傳目錄禁止解析php代碼

                    LAMP環(huán)境搭建與配置

                    LAMP環(huán)境搭建與配置

        PHP配置:

            (1)查看php配置文件所在路徑:/usr/local/php/bin/php -i |grep -i “loaded configaration file”

        LAMP環(huán)境搭建與配置

                設(shè)置時(shí)區(qū):vim /usr/local/php/etc/php.ini

                LAMP環(huán)境搭建與配置

                (2)禁用一些php內(nèi)置的危險(xiǎn)函數(shù)

             LAMP環(huán)境搭建與配置

                (3)配置日志error_log

                    打開(kāi)php配置文件php.ini:vim /usr/local/php/etc/php.ini

         # 修改一下的設(shè)置項(xiàng)          log_errors = On          error_log = /var/log/php/php_errors.log          error_reporting = E_ALL & ~E_NOTICE          display_errors = Off
         

                    然后創(chuàng)建錯(cuò)誤日志存放目錄,并修改權(quán)限

                    LAMP環(huán)境搭建與配置

                (4)配置open_basedir

                    open_basedir的作用是將網(wǎng)站限定在指定的目錄里,萬(wàn)一一個(gè)站點(diǎn)被黑了,也不會(huì)影響其他的站點(diǎn)。

                    如果直接在php配置文件設(shè)置open_basedir參數(shù)的,就是所有的站點(diǎn)都定義在一起了,起不到open_basedir的作用。

                    下面介紹在每個(gè)站點(diǎn)的獨(dú)立虛擬主機(jī)上配置open_absedir:

                    LAMP環(huán)境搭建與配置

                (5)PHP動(dòng)態(tài)擴(kuò)展模塊安裝

                    查看php加載了哪些功能模塊:

                    /usr/local/php/bin/php -m

                    安裝php的redis擴(kuò)展模塊:

                    ①下載模塊:wget https://codeload.github.com/phpredis/phpredis/zip/develop

                    ②重命名:mv develop phpredis-develop.zip; 解壓:unzip phpredis-develop.zip

                    ③生成可執(zhí)行文件:cd phpredis-develop/ ;   /usr/local/php/bin/phpize

                        報(bào)錯(cuò):LAMP環(huán)境搭建與配置

                        安裝:yum install -y autoconf

                    ④編譯安裝 三部曲:./configure    make   make install 

                ./configure --with-php-config=/usr/local/php/bin/php-config          make && make install
         

                    ⑤查看安裝的模塊文件:ls /usr/local/php/lib/php/extensions/no-debug-zts-20131226/

                    ⑥編輯php配置文件:echo “extension = redis.so” >> /usr/local/php/etc/php.ini

                    ⑦檢驗(yàn):/usr/local/php/bin/php -m|grep redis

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 99爱在线视频这里只有精品| 欧美精品一区二区三区免费观看| 久久青草国产精品一区| 欧美精品福利视频一区二区三区久久久精品| 97热久久免费频精品99| 免费精品精品国产欧美在线| 亚洲国产精品久久久久网站 | 国产精品美女久久久久AV福利| 国产精品亚洲A∨天堂不卡| 欧美在线精品永久免费播放| 黑巨人与欧美精品一区 | 亚洲电影日韩精品| 国产免费久久精品99久久| 亚洲国产精品国自产拍电影| www国产精品| 国产亚洲精品无码成人| 亚洲精品国产精品乱码在线观看| 久久久久成人精品无码| 国产精品天干天干在线综合| 亚洲国产成人久久精品动漫| 国产香蕉精品视频在| 99久久精品费精品国产一区二区| 亚洲精品V欧洲精品V日韩精品| 欧美在线精品一区二区三区| 日韩AV毛片精品久久久| 久久狠狠一本精品综合网| 国产精品成人久久久久久久| 亚洲欧洲国产精品你懂的| 久久久91精品国产一区二区三区 | 97在线精品视频| 国产欧美日韩综合精品一区二区| 精品国产一区二区三区色欲| 精品无码一区二区三区爱欲| 久久99精品久久久久久久久久| 亚洲国产另类久久久精品小说 | 久久精品中文字幕有码| 久久精品免费大片国产大片| 欧美日韩专区麻豆精品在线| 一本色道久久88精品综合| 亚洲国产精品无码久久| 亚洲AV永久纯肉无码精品动漫|