LAMP

1、下載MySQLphp


1.查看本身Linux系統是多少位的,而後決定下載多少位的MySQL
html

uname -i
反饋:x86_64  64位 或者  i386  32位

 

2.使用yum安裝下載工具‘wget’mysql

yum install wget -y

 

3.切換到指定的目錄下,軟件包下載到該目錄下linux

cd /usr/local/src/

 

4.去MySQL官網下載MySQL,需註冊,找到合適的版本web

http://dev.mysql.com/downloads/mysql/

或者去搜狐的下載算法

http://mirrors.sohu.com/

 

64位下載軟件包sql

wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-x86_64-glibc23.tar.gz

32位下載軟件包數據庫

wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-i686-glibc23.tar.gz

 

下載apache

wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.47-linux2.6-x86_64.tar.gz

 

5.解壓vim

tar zxvf mysql-5.5.47-linux2.6-x86_64.tar.gz

 

6.把解壓好的MySQL放在MySQL目錄下

mv mysql-5.5.47-linux2.6-x86_64.tar.gz /usr/local/mysql

 

7.建立MySQL用戶,並不容許登陸

useradd -s /sbin/nologin mysql

 

8.建立數據庫文件存放的目錄,並更改全部者和所屬組。

mkdir -p /data/mysql
chown -R mysql:mysql !$

 

2、安裝MySQL

1.切換到MySQL安裝目錄下,開始安裝

cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

--user定義數據庫的所屬主

--datadir定義數據庫的安裝位置

 

2.檢查安裝是否出錯

echo $?

反饋0說明沒有錯誤,反饋1說明報錯。

 

3、配置MySQL

1.拷貝配置文件,並重命名。由於my.cnf文件已存在,直接覆蓋就能夠。

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

 

2.拷貝啓動腳本文件,修改啓動腳本權限

cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 !$

 

3.修改啓動腳本,(沒有vim使用" yum install vim -y "來安裝)

vim /etc/init.d/mysqld

須要把

basedir=
datadir=

修改成

basedir=/usr/local/mysql
datadir=/data/mysql

basedir定義MySQL的安裝目錄
datadir定義MySQL數據庫的文件存放目錄

 

4.加入系統服務,設置開機啓動MySQL

chkconfig --add mysqld
chkconfig mysqld on

 

5.啓動MySQL

service mysqld start

 

6.檢查MySQL是否啓動

ps aux |grep mysqld

 

 MySQL安裝,配置,啓動完成。                                                                                   

 

1、下載Apache

1.切換到下載目錄

cd /usr/local/src

 

2.下載Apache,Apache的官網是:http://www.apache.org/

Download - HTTP - 找到中國的鏡像站.cn

wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.18.tar.bz2

 

3.解壓縮

 tar -jvxf httpd-2.4.18.tar.bz2

 

2、配置編譯參數

1.切換到httpd目錄下

cd httpd-2.4.18

 

2.編譯參數,很是全的參數介紹 http://blog.chinaunix.net/uid-20784749-id-1844507.html

編譯介紹: http://www.linuxidc.com/Linux/2015-04/116060.htm

經常使用參數: http://www.cnblogs.com/xianglf/archive/2010/12/16/1908174.html

./configure \
--prefix=/usr/local/apache2 \
--with-included-apr \
--enable-so \
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--with-pcre

./configure   編譯安裝

--prefix  編譯安裝完成後生成一個目錄,該軟件全部的文件都會被複制到這個目錄裏面,爲何要指定這個目錄呢?爲了之後維護方便,若是不指定,文件會被複制到系統下各個目錄,用prefix的另外一個好處就是方便卸載和移植軟件。把刪除該目錄,整個軟件卸載的乾乾淨淨,移植只須要把這個目錄拷貝到另外一臺機器便可。

--with-included-apr  若是是開發者則使用此選項,利於鏈接apache的代碼或者是調試apache,其消除了因爲版本或者編譯中跟APR或者APR-util代碼產生的不匹配;

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

--enable-deflate=shared  表示共享的方式編譯壓縮, apache開啓gizp的壓縮功能。網頁壓縮。擴展:http://blog.csdn.net/yybjroam05/article/details/7726516

--enable-expires=shared  網站須要用到緩存功能,支持 HTTP 控制

--enable-rewrite=shared  支持 URL 重寫

--with-pcre

 

錯誤1

configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/.

apache-2.2與新出的apache-2.4安裝不一樣的地方在於,2.4版的已經不自帶apr庫,因此在安裝apache-2.4以前,須要下載apr。

cd /usr/local/src/
wget http://mirrors.hust.edu.cn/apache/apr/apr-1.5.2.tar.bz2

wget http://mirrors.hust.edu.cn/apache/apr/apr-util-1.5.4.tar.bz2

解壓

tar -jxvf apr-1.5.2.tar.bz2
tar -jxvf apr-util-1.5.4.tar.bz2

拷貝到指定目錄下

 cp -rf apr-1.5.2 ./httpd-2.4.18/srclib/apr
cp -rf apr-util-1.5.4 ./httpd-2.4.18/srclib/apr-util

 

猜想多是之前安裝用過./configure 來直接安裝致使安裝文件已經不太「乾淨」
解決方法:
1、執行make clean後,從新編譯安裝。
2、刪除目錄,從新解壓安裝包,進行編譯安裝,可解決上面的問題。

 

 

從新執行 configure 命令。

 

 

錯誤2

checking for gcc... no
checking for cc... no
checking for cl.exe... no

沒有gcc編譯器

yum install gcc -y

從新執行 configure 命令。

 

錯誤3

configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org

配置:錯誤:pcre-config libpcre不見了。PCRE是必需的,能夠從http://pcre.org

yum -y install pcre-devel

 

錯誤4

checking whether to enable mod_deflate... configure: error: mod_deflate has been requested but can not be built due to prerequisite failures

檢查是否啓用mod_deflate……配置:錯誤:mod_deflate一直要求可是不能創建因爲先決條件失敗

yum install  zlib-devel -y

 

檢查編譯參數是否正確

echo $?

 

3.make && make install

make
echo $?

 

 

make install
echo $?

 

 

Apeche編譯安裝、啓動成功                                                                                            

 

 

1、下載php

1.切換到下載目錄

 cd /usr/local/src/

 

2.下載php,php的官網是:http://www.php.net/

Downloads  -  Current Stable PHP  -  php-*.*.*.tar.*  -  China  - cn2.php.net 

wget http://cn2.php.net/distributions/php-7.0.2.tar.gz

 

3.解壓縮

 tar zxf php-7.0.2.tar.gz

 

2、配置編譯

1.切換到php目錄下

cd php-7.0.2

 

2.編譯參數

 編譯來至(全)http://blog.csdn.net/godmatrix/article/details/5969558

 ./configure \
--with-apr=/usr/local/apr \
--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-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-bz2 \
--with-mcrypt \
--with-openssl \
--enable-soap \
--enable-gd-native-ttf \
--enable-mbstring \
--enable-sockets \
--enable-exif \
--disable-ipv6
 
去掉了
--with-mcrypt \
不知道會有什麼影響



./configure \
配置,安裝
--with-apr=/usr/local/apr \   
指定apr代碼的目錄  
--prefix=/usr/local/php \    
指定php安裝目錄.
--with-apxs2=/usr/local/apache2/bin/apxs \
讓Apache服務器可以支持PHP。整合 apache,apxs功能是使用mod_so中的LoadModule指令,加載指定模塊到 apache,要求 apache 要打開SO模塊
--with-config-file-path=/usr/local/php/etc \ 
指定php.ini配置文件的位置

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

--with-libxml-dir \
打開對libxml2庫的支持

--with-gd \
打開對gd庫的支持

--with-jpeg-dir \
--with-png-dir \
打開對jpeg圖片和png圖片的支持

--with-freetype-dir \
打開對freetype字體庫的支持

--with-iconv-dir \
打開對iconv函數庫,種字符集間的轉換

--with-zlib-dir \
打開對zlib庫的支持

--with-bz2 \
打開對bz2文件的支持

--with-openssl \
打開openssl的支持,加密傳輸時用到的

--with-mcrypt \
算法,mhash和mcrypt都是算法的擴展

--enable-soap \
打開soap的支持

--enable-gd-native-ttf \
支持True Type 字符串 函數庫

--enable-mbstring \
多字節,字符串的支持

--enable-sockets \
打開sockets支持

--enable-exif \
圖片的元數據支持

--disable-ipv6

不支持ipv6

 

 

錯誤1

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

配置:錯誤:xml2-config不見了。請檢查你的libxml2安裝。

檢查有沒有安裝libxml2

 rpm -qa |grep  libxml2
yum install libxml2 libxml2-devel -y

 

錯誤2

configure: error: Cannot find OpenSSL’s <evp.h>

配置:錯誤:找不到OpenSSL的< evp.h >

yum install openssl openssl-devel -y

 

錯誤3

Configure: error: Please reinstall the BZip2 distribution

配置:錯誤:請從新安裝BZip2分佈

yum install bzip2 bzip2-devel -y

 

錯誤4

Configure: error: libjpeg.(a|so) not found

配置:錯誤:libjpeg。(還)沒有找到

 yum install libjpeg libpng freetype libjpeg-devel libpng-devel freetype-devel -y

 

錯誤5

Configure: error: mcrypt.h not found. Please reinstall libmcrypt.

配置:錯誤:mcrypt。沒有找到。請從新安裝libmcrypt。

 解決:

搜索:libmcrypt-第一個-Download Source-libmcrypt-*.*.*.tar.gz

  安裝epel-release源

 yum install epel-release

yum install libmcrypt-devel

 

 

 

 

繼續./configure

echo $?

反饋0

 

3.編譯安裝

make
echo $?
make install
echo $?

 

4.拷貝PHP主配置文件

 cp php.ini-production /usr/local/etc/php.ini

 

5.修改apache的配置文件

vim /usr/local/apache2/conf/httpd.conf
 
 
1.找到 #ServerName www.example.com:80
改成
ServerName localhost:80
2.找到<IfModule dir_module>
    DirectoryIndex index.html 
</IfModule>
改成
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

3.找到AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
改成
AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php

4.找到
<Directory />

AllowOverride none
Require all denied

</Directory>

改成

<Directory />
Options FollowSymLinks
AllowOverride none
Order deny,allow
Allow from all
</Directory>

1.ServerName www.example.com:80    打開服務器佔用80端口

2.DirectoryIndex index.html index.php   目錄索引支持php

3. AddType application/x-httpd-php .php  應用類型支持php

4.Allow from all  容許訪問web內容目錄

 

 

6.檢查配置文件是否錯誤

/usr/local/apache2/bin/apachectl -t

 

7.啓動apache服務

/usr/local/apache2/bin/apachectl start

 

8.查看進程

 ps aux |grep httpd

 

9.瀏覽器訪問IP 

是否顯示 it works!顯示說明成功。若是沒有顯示

 

 

10.關閉防火牆。

永久關閉SElinux,重啓生效。

 vim /etc/selinux/config
找到
SELINUX=enforcing 改成 SELINUX=disabled

臨時關閉

 setenforce 0

getenforce  查看當前SElinux防火牆狀態

 setenforce 0 是臨時關閉

 setenforce 1 是臨時打開

enforcing - SELinux security policy is enforced.打開
permissive - SELinux prints warnings instead of enforcing.打開不攔截
disabled - No SELinux policy is loaded.關閉,默認

也能夠

清空iptables規則  

 iptables -F 

保存 

 service iptables save

 

11.重啓mysql apache

service mysqld restart ; /usr/local/apache2/bin/apachectl restart

 

 12.測試解析php

cd /usr/local/apache2/htdocs

php主配置文件vim /usr/local/apache2/conf/httpd.conf指定的文檔根目錄的路徑DocumentRoot"/usr/local/apache2/htdocs"

vim 1.txt    隨便寫點東西
http://192.168.1.116/1.txt

 

 

vim 2.php
<?php
phpinfo();
?>
http://192.168.1.116/2.php

 

中間解析php失敗,

./configure

make clean

./configure

成功

 

 

 

擴展:

1.修改真機DNS

windows記事本打開,添加

C:\Windows\System32\drivers\etc\HOSTS
1927168.1.116 www.wangshaojun.com www.denny.com www.qqq.com

 

2.修改apache虛擬主機配置文件,先建立存放文檔的根目錄

mkdir /data/www
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
把最下面兩段修改成
<VirtualHost *:80> DocumentRoot "/data/www" ServerName www.wangshaojun.com ServerAlias www.denny.com # ErrorLog "logs/dummy-host.example.com-error_log" # CustomLog "logs/dummy-host.example.com-access_log" common </VirtualHost>
 

 

<VirtualHost *:80>     虛擬主機配置  80端口
    DocumentRoot "/data/www"       指定文檔根目錄,把論壇安裝在此目錄下, servername訪問則是訪問論壇。
    ServerName www.wangshaojun.com       服務器名稱
    ServerAlias www.denny.com            服務器別名
   # ErrorLog "logs/dummy-host.example.com-error_log"          錯誤日誌
   # CustomLog "logs/dummy-host.example.com-access_log" common     訪問日誌           
</VirtualHost>
相關文章
相關標籤/搜索