天天看點

LAMP搭建

一、mysql編譯安裝(5.7版本)

1. 下載下傳存放路徑:/usr/local/src/

2. 解壓檔案移至程式安裝路徑/usr/local/mysql

    mv  mysql-5.7.12-linux-glibc2.5-x86_64  /usr/local/mysql

3. 初始化,擷取資料庫初始密碼

    useradd -M -s /sbin/nologin  mysql 

    mkdir -p /data/mysql

    chown mysql /data/mysql

    cd /usr/local/mysql

    ./bin/mysqld  --initialize --user=mysql --datadir=/data/mysql

    ./bin/mysql_ssl_rsa_setup --datadir=/data/mysql

4. 拷貝并編輯配置檔案和啟動腳本

    cp support-files/my-default.cnf  /etc/my.cnf  

    編輯内容:

            basedir = /usr/local/mysql

            datadir = /data/mysql

            port = 3306

            socket = /tmp/mysql.sock

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

           basedir=/usr/local/mysql

           datadir=/data/mysql

5. 啟動服務,用初始密碼登陸資料庫,修改密碼

    /etc/init.d/mysqld start

    /usr/local/mysql/bin/mysql -uroot -p'初始密碼'  

    mysql>set password = password('新密碼'); 

 注:

    如果忘記密碼,則修改配置/etc/my.cnf,在[mysqld]下面增加一行

    skip-grant-tables

    免密碼登入後,重設密碼,再去掉skip-grant-table

    update user set authentication_string=password('123333') where user='root';

二、Apache編譯安裝(2.4版本)

1.下載下傳源碼包

2. 解壓,配置編譯參數,安裝

    ./configure --prefix=/usr/local/apache2 \  #指定安裝目錄

      --with-included-apr  \           #apache跨平台運作,就是基于底層庫apr 

      --enable-so \                         #讓apache核心裝載DSO 

      --enable-deflate=shared  \   #支援網頁壓縮 

      --enable-expires=shared  \   #支援 HTTP 控制 

      --enable-rewrite=shared  \   #支援 URL 重寫 

      --with-pcre                           #一個Perl庫,相容正規表達式

    make;make install

    說明:檢測驗證方式 echo $?;過程中可能要求:“zlib-devel”和“pcre pcre-devel apr apr-devel”等庫檔案

常用選項:

1. 列出所有加載子產品,包括靜态和動态

   指令 /usr/local/apache2/bin/apachectl -M

   說明:動态子產品檔案目錄:/usr/local/apache2/modules

2. 列出所有加載靜态子產品

    指令 /usr/local/apache2/bin/apachectl -l

3. 檢查apache配置檔案httpd.conf是否有文法錯誤

    指令  /usr/local/apache/bin/apachectl -t

4. apache工作模式

    說明:可以通過/usr/local/apache2/bin/apachetl -l 檢視

    apache2.2 版本預設模式 :prefork

    apache2.4 版本預設模式為:event

5. 檢視編譯配置幫助資訊

   指令 ./configure --help | less

6. 檢視編譯配置參數

    cat /usr/local/apache2/build/config.nice

  注:

   1)可以通過pid檔案關閉apahce

        指令 kill ` cat /usr/local/apache2/logs/httpd.pid`

  2)同一台實體機上運作多個版本的apache,隻需指定不同的安裝目錄;運作多個同一版本的副本,隻需指定不

        同的配置檔案,如:httpd -f /usr/local/apache2/conf/httpd.conf

  3) 如果apache需要的某些子產品沒有安裝,則可進入源碼包,找到需要編譯的子產品,使用apsx動态編

        譯,如 /usr/local/apache2/bin/apxs -i -c mod_status.c ,需注意是否該子產品已靜态加載

三、PHP編譯安裝過程(7.0版本)

2. 解壓,配置編譯參數

    ./configure --prefix=/usr/local/php \       # 指定 php 安裝目錄

    --with-apxs2=/usr/local/apache2/bin/apxs \      # 整合 apache,啟用apxs功能 

    --with-config-file-path=/usr/local/php/etc  \   # 指定php.ini位置 

    --with-mysql=/usr/local/mysql \      # mysql安裝目錄,對mysql的支援 

    --with-libxml-dir \     #  打開libxml2庫的支援,libxml是一個用來解析XML文檔的函數庫 

    --with-gd \                 # 是php處理圖形的擴充庫 

    --with-jpeg-dir \        #  打開對jpeg圖檔的支援 

    --with-png-dir \         #  打開對png圖檔的支援 

    --with-freetype-dir \     #  打開對freetype字型庫的支援 

    --with-iconv-dir \       #  打開iconv函數,種字元集間的轉換 

    --with-zlib-dir \        #  zlib是提供資料壓縮用的函式庫 

    --with-bz2 \           #  打開對bz2檔案的支援 

    --with-openssl \        #   openssl的支援,加密傳輸時用到的 

    --with-mcrypt \       # php 裡面重要的加密支援擴充庫,支援20多種加密算法和8種加密模式 

    --enable-soap \          #   

    --enable-gd-native-ttf \   # 支援TrueType字元串函數庫 

    --enable-mbstring \         # 多位元組,字元串的支援 

    --enable-sockets \            # 打開 sockets 支援 

    --enable-exif \                  # 圖檔的中繼資料支援 

    --disable-ipv6                   #

    --with-mysqli

    --with-mcrypt=/usr/local/libmcrypt

./configure   --prefix=/usr/local/php   --with-apxs2=/usr/local/apache2/bin/apxs   --with-config-file-path=/usr/local/php/etc   --with-mysql=/usr/local/mysql   --with-libxml-dir --with-mysqli --with-gd   --with-jpeg-dir   --with-png-dir   --with-freetype-dir   --with-iconv-dir   --with-zlib-dir   --with-bz2   --with-openssl   --with-mcrypt=/usr/local/libmcrypt   --enable-soap   --enable-gd-native-ttf   --enable-mbstring   --enable-sockets   --enable-exif   --disable-ipv6 

    編譯過程中需要安裝的包:

yum install freetype-devel  libjpeg-devel libpng-devel  bzip2 bzip2-devel openssl-devel  xml2-devel  libmcrypt libmcrypt-devel  libjpeg-turbo-devel

    可以借助第三方yum源下載下傳庫檔案或者安裝擴充源,如:

<a href="http://rpmfind.net/linux/rpm2html/search.php?query=libmcrypt-devel" target="_blank">http://rpmfind.net/linux/rpm2html/search.php?query=libmcrypt-devel</a>

    apxs 自動幫助安裝擴充子產品用,安裝完之後子產品将會在apache目錄/usr/local/apache2/modules下顯示;其他編譯參數解釋,可以檢視下面連結:

<a href="http://www.oschina.net/question/17_10674" target="_blank">http://www.oschina.net/question/17_10674</a>

3. 安裝make;make install

4. 拷貝配置檔案

    說明:拷貝檔案至安裝目錄etc子目錄下,編譯時已指定該路徑,并更名為php.ini

    指令 cp /usr/local/src/php-5.6.26/php.ini-production   /usr/local/php/etc/php.ini

常用選項

1. 檢視靜态編譯的子產品,動态子產品需要自己編譯

    指令 /usr/local/php/bin/php -m

2. 檢視php相關的配置

    說明:檢視編譯參數等,等同于用浏覽器檢視info.php檔案

    指令 /usr/local/php/bin/php -i

    注:php的函數或者子產品,下載下傳解壓之後是沒有configure檔案的,需要先執行/usr/local/php/bin/phpize解釋完檔案生成configure,才能執行./configure ;make;make install

四、Apache結合php過程

1. apache主配置檔案添加php解析

    配置檔案/usr/local/apache2/conf/httpd.conf,找到

    AddType application/x-gzip .gz .tgz

    添加:

    AddType application/x-httpd-php .php

    說明:将.php的檔案交給php去解析,如果php5子產品沒有加載,即表示php沒有裝好,那麼Apache碰到自己識别不了的檔案,一般都會提示下載下傳

2. apache主配置檔案添加php索引首頁

    找到:

    &lt;IfModule dir_module&gt;    DirectoryIndex index.html &lt;/IfModule&gt;

    改為:

   &lt;IfModule dir_module&gt;    DirectoryIndex index.html  index.htm  index.php&lt;/IfModule&gt;

3. apache主配置檔案開啟web伺服器域名和端口号

    1)去掉主機名注釋符

         ServerName localhost:80

    2)找到并修改:

     &lt;Directory /&gt;

       Options FollowSymLinks

       AllowOverride None

       Order deny,allow

       Allow from all   #2.4版本Require all grant

     &lt;/Directory&gt;

4. 啟動httpd服務

    指令 /usr/local/apache2/bin/apachectl  start

5. 啟動驗證

    在網站預設資料目錄 /usr/local/apache2/htdocs下建立編輯一個phpinfo檔案,用浏覽器打開

本文轉自 huangzp168 51CTO部落格,原文連結:http://blog.51cto.com/huangzp/1906842,如需轉載請自行聯系原作者