站長資訊網
        最全最豐富的資訊網站

        LAMP環境搭建與配置

        LAMP是Linux  Apache  MySQL  PHP的縮寫,即把Apache、MySQL以及PHP安裝在Linux系統上,組成一個環境來運行PHP的腳本語言。Apache是最常用的Web服務軟件,而MySQL是比較小型的數據庫軟件。三個角色可以安裝在一臺機器上,也可以分開(但httpd和php要在一起的)

            LAMP環境搭建與配置

        下面來介紹如何構建LAMP環境:

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

            (1)MySQL/Mariadb介紹     

             MySQL是一個關系型數據庫,由mysql ab公司開發,mysql在2008年被sun公司收購(10億刀),2009年sun公司被Oracle公司收購(74億刀)

             MySQL官網https://www.mysql.com  最新版本5.7GA/8.0DMR

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

             Mariadb為MySQL的一個分支,官網https://mariadb.com/最新版本10.2

             MariaDB主要由SkySQL公司(現更名為MariaDB公司)維護,SkySQL公司由MySQL原作者帶領大部分原班人馬創立.

             Mariadb5.5版本對應MySQL的5.5,10.0對應MySQL5.6

             Community 社區版本,Enterprise 企業版,GA(Generally Available)指通用版本,在生產環境中用的,DMR(Development Milestone Release)開發里程碑發布版,RC(Release Candidate)發行候選版本,Beta開放測試版本,Alpha內部測試版本

            (2)MySQL安裝過程:

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

                        進入該目錄:cd /usr/local/src/

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

                    ②解壓,然后挪動位置/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目錄名稱!

                        挪動位置:mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql

                    ③創建MySQL用戶,啟動MySQL需要該用戶:useradd -s /sbin/nologin mysql

                    ④創建MySQL數據庫文件存放目錄/data/mysql并更改權限:mkdir -p /data/mysql;    chown -R mysql:mysql /data/mysql;

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

                        LAMP環境搭建與配置

                    這里會出現FATAL ERROR報錯,這是因為缺少perl包導致的,我們yum安裝就好了:yum install -y perl-Module-Install

                    安裝完成后,重新執行上一條命令;接下來你會看見兩個OK,并且會在/data/mysql目錄下生成了幾個文件和目錄,說明執行成功了。或者echo $?查看是否成功!

                    LAMP環境搭建與配置 

                    LAMP環境搭建與配置

                    ⑥復制配置文件:cp support-files/my-default.cnf /etc/my.cnf;    (因為系統默認有my.cnf文件,所以會提示覆蓋)

                    LAMP環境搭建與配置

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

                    LAMP環境搭建與配置

                    ⑧復制啟動腳本,并修改其屬性

                    LAMP環境搭建與配置

                    ⑨修改啟動腳本:vim /etc/init.d/mysqld

                    LAMP環境搭建與配置

                    ⑩到這里安裝就完成了,接下來就是啟動和檢查了

                    LAMP環境搭建與配置

                    從上圖看見已經是啟動成功了,還提示了mysql錯誤日志文件。

                    使用之前的命令檢查MySQL是否啟動了:          LAMP環境搭建與配置

        安裝Apache:

            (1)Apache介紹

                Apache是一個基金會的名字,httpd才是我們要安裝的軟件包,早期它的名字就叫apache;Apache官網www.apache.org

            (2)Apache安裝過程

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

                        進入src目錄:cd /usr/local/src

                        下載源碼包以及兩個依賴包:

                                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

                    ③安裝依賴庫,如果不安裝這兩個依賴,httpd2.4就無法工作(如果是httpd2.2是不用手動安裝的)

                        安裝apr:

                                cd /usr/local/src/apr-1.6.3

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

                                make && make install

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

                        LAMP環境搭建與配置

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

                        安裝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

                        可能報錯:

                        LAMP環境搭建與配置

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

                ④安裝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

                可能報錯:

                LAMP環境搭建與配置

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

                LAMP環境搭建與配置

                說明:缺少了xml相關的庫,需要安裝libxml2-devel包。直接安裝并不能解決問題,因為httpd調用的apr-util已經安裝好了,但是apr-util并沒有libxml2-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       # 這一步很重要,必須清除之前配置時的緩存 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的木目錄結構和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/      # 查看已經加載了哪些模塊      /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)配置編譯參數:

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

            可能報錯:

            LAMP環境搭建與配置

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

            LAMP環境搭建與配置

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

            LAMP環境搭建與配置

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

            LAMP環境搭建與配置

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

            LAMP環境搭建與配置

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

            LAMP環境搭建與配置

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

            (5)最后是復制配置文件: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環境搭建與配置

                LAMP環境搭建與配置

        測試LAMP是否成功:

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

                LAMP環境搭建與配置

            (2)啟動apache服務

                LAMP環境搭建與配置

            (3)使用curl命令簡單測試:

                LAMP環境搭建與配置

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

                添加測試php腳本!

                LAMP環境搭建與配置

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

        httpd配置:

            (1)默認虛擬主機

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

                    LAMP環境搭建與配置

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

                    LAMP環境搭建與配置

                    這樣一個<VirtualHost>***</VirtualHost>就是一個虛擬主機了。

                    還要創建網站目錄呢

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

                     LAMP環境搭建與配置

            (2)用戶認證

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

                    LAMP環境搭建與配置

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

                    LAMP環境搭建與配置

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

          LAMP環境搭建與配置LAMP環境搭建與配置

                    當然你也可以對網站的文件進行用戶認證了,新建了一個站點進行文件的用戶認證。

                    LAMP環境搭建與配置

                    LAMP環境搭建與配置

                    效果:

                    LAMP環境搭建與配置

            (3)配置域名跳轉

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

                    在<VirtualHost>站點加入下面的代碼

                    LAMP環境搭建與配置

                    當然還需要去httpd主配置文件,打開rewrite模塊

                    LAMP環境搭建與配置

                    驗證是否開啟:

                    LAMP環境搭建與配置

                    配置完成后,使用curl進行測試

                    LAMP環境搭建與配置

            (4)配置訪問日志

                    定義訪問日志的格式在主配置文件httpd.conf

                    LAMP環境搭建與配置

                    繼續修改vhost配置文件:(默認是common,我們現在修改成combined)

                    LAMP環境搭建與配置

                    當有訪問時,會產生日志文件:(記錄的信息明顯變多了)

        LAMP環境搭建與配置

                    日志過濾掉圖片、js、css等靜態文件,節約磁盤容量,并且做日志切割,一天一個文件!

                    在站點的配置文件vhost中加入過濾代碼:LAMP環境搭建與配置

            (5)配置靜態元素過期時間

                    修改vhost:

                    LAMP環境搭建與配置

                    LAMP環境搭建與配置

            (6)配置防盜鏈

                    LAMP環境搭建與配置

                    LAMP環境搭建與配置

            (7)訪問控制

                    ①通過限制IP訪問

                    修改vhost配置文件:

                    LAMP環境搭建與配置

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

                    LAMP環境搭建與配置

                    ②也可以針對某個文件做限制

                    同樣是修改vhost

                    LAMP環境搭建與配置

                    效果:

                    LAMP環境搭建與配置

                    ③針對user_agent來做訪問控制

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

                    LAMP環境搭建與配置

                    效果:(curl -A指定user_agent)

                    LAMP環境搭建與配置

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

                    LAMP環境搭建與配置

                    LAMP環境搭建與配置

        PHP配置:

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

        LAMP環境搭建與配置

                設置時區:vim /usr/local/php/etc/php.ini

                LAMP環境搭建與配置

                (2)禁用一些php內置的危險函數

             LAMP環境搭建與配置

                (3)配置日志error_log

                    打開php配置文件php.ini:vim /usr/local/php/etc/php.ini

         # 修改一下的設置項          log_errors = On          error_log = /var/log/php/php_errors.log          error_reporting = E_ALL & ~E_NOTICE          display_errors = Off
         

                    然后創建錯誤日志存放目錄,并修改權限

                    LAMP環境搭建與配置

                (4)配置open_basedir

                    open_basedir的作用是將網站限定在指定的目錄里,萬一一個站點被黑了,也不會影響其他的站點。

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

                    下面介紹在每個站點的獨立虛擬主機上配置open_absedir:

                    LAMP環境搭建與配置

                (5)PHP動態擴展模塊安裝

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

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

                    安裝php的redis擴展模塊:

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

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

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

                        報錯:LAMP環境搭建與配置

                        安裝: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

                    ⑦檢驗:/usr/local/php/bin/php -m|grep redis

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 精品无码国产污污污免费网站 | 国产精品多人p群无码| 99久久精品国产一区二区蜜芽| 亚洲精品成人片在线观看精品字幕 | 国产精品美女WWW爽爽爽视频| 国产精品无码A∨精品影院| 精品无人区无码乱码毛片国产| 国产精品自拍一区| 亚洲国产精品综合久久一线| 久久青青草原精品国产| 久久亚洲av无码精品浪潮| 国产成人精品福利网站在线观看| 99精品视频免费| 国产精品免费AV片在线观看| 日韩精品人妻系列无码专区| 亚洲欧美日韩国产精品影院| 久久久久久国产精品美女| 国产精品无码国模私拍视频| 99在线观看视频免费精品9| 久久99精品国产| 精品亚洲欧美高清不卡高清| 98视频精品全部国产| 精品一区二区三区在线观看视频| 亚洲精品乱码久久久久久蜜桃图片 | 国产成人精品一区二区秒拍| 欧美精品v国产精品v日韩精品| 亚洲欧美日韩久久精品| 欧美精品91欧美日韩操| 久久se精品一区精品二区国产| 国产精品极品| 国产精品五月天强力打造| 911亚洲精品国内自产| 97精品在线播放| 国产精品最新国产精品第十页 | 日韩精品在线视频| 99爱在线视频这里只有精品| 91久久福利国产成人精品| 国产精品美女网站| 国产午夜亚洲精品国产成人小说 | 人妻VA精品VA欧美VA| 日韩精品成人亚洲专区|