【Lamp】 Linux 下安裝PHP+Apache+Mysql 手記

【0】寫在最前php

  因爲準備實習緣由,今天又重溫了Lamp的搭建過程,以前一直是看燕十八老師2012年的教程學習,所以今天也是拿了十八哥的lamp搭建筆記做參考。但此次按照筆記從新搭建,發現了不少問題,因爲該筆記已時隔多年,部分軟件已經更新幾代,網上也少有部分問題的解決方法,所以趁剛搭建好lamp環境,於此整理一下步驟。html

【0.1】本人操做環境mysql

  ubuntu 15.04linux

  軟件存放路徑 /root/lamp_need/git

  安裝路徑 /usr/local/github

【0.2】軟件準備sql

  1. zlib-1.2.7.tar.gz   zlib壓縮庫
  2. httpd-2.2.29.tar.gz  apache
  3. mysql-5.5.40-linux2.6-i686.tar.gz mysql5.5 (選擇Linux - Generic 2.? (x86, ??-bit), Compressed TAR Archive)
  4. libxml2-2.7.8.tar.gz
  5. libpng-1.4.3.tar.bz
  6. freetype-2.3.5.tar.bz2
  7. jpegsrc.v7.tar.gz
  8. libgd-2.1.1.tar.bz2 GD庫(選擇2.1以上版本)
  9. php-5.6.8.tar.bz2 PHP

【0.2】基本解壓命令shell

//tar.gz格式
tar -zxvf xxx
//tar.bz2格式
tar -jxvf xxx

 

【1】安裝Mysql數據庫

 1 groupadd mysql
 2 useradd -r -g mysql mysql
 3 cd /usr/local
 4 tar -zxvf /root/lamp_need/mysql-5.5.40-linux2.6-i686.tar.gz -C ./mysql5.5
 5 ln -s /usr/local/mysql5.5 mysql
 6 cd mysql
 7 chown -R mysql .
 8 chgrp -R mysql .
 9 scripts/mysql_install_db --user=mysql
10 
11 
12 #若是提示error while loading shared libraries: libaio.so.1等錯誤
13 #是缺乏了libaio 安裝便可
14 #sudo apt-get install libaio-dev
15
16 
17 chown -R root .
18 chown -R mysql data
19 #可選
20 cp support-files/my-medium.cnf /etc/my.cnf
21 bin/mysqld_safe --user=mysql &
22 #可選
23 cp support-files/mysql.server /etc/init.d/mysql.server

【1.1】如下是手冊中的說明:apache

若是想開機啓動mysqld,能夠複製support-files/mysql.server文件到你係統的正確位置(按照手冊翻譯,具體位置不清楚)

你能夠用下面方法設置mysql密碼:

./bin/mysqladmin -u root password 'new-password'

./bin/mysqladmin -u root -h ubuntu password 'new-password'

或者也能夠運行:
./bin/mysql_secure_installation

你也能夠刪除測試數據庫和匿名用戶,做爲產品服務時,強烈推薦此作法

使用下面命令啓動mysql進程:
cd . ; ./bin/mysqld_safe &

可使用下面命令測試mysql進程:
cd ./mysql-test ; perl mysql-test-run.pl

 

【1.2】測試登陸mysql,修改登陸密碼

#登陸mysql
./bin/mysql -uroot -p

#顯示數據庫,當你看到此表,則mysql已經安裝成功
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+


#用戶名和登陸密碼都存儲在mysql數據庫中
#所以能夠經過update直接修改登陸密碼


#切換數據庫
mysql> use mysql;

#展現所需的列
mysql> select Host,User,Password from user;
+-----------+------+-------------------------------------------+
| Host      | User | Password                                  |
+-----------+------+-------------------------------------------+
| localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| ubuntu    | root |                                           |
| 127.0.0.1 | root |                                           |
| ::1       | root |                                           |
| localhost |      |                                           |
| ubuntu    |      |                                           |
+-----------+------+-------------------------------------------+

#修改密碼
mysql> update user set Password=password('123') where Host='localhost' and User='root';

#刷新權限
mysql> flush privileges;

#從新登陸便可

至此Mysql 暫告一段落。

 

 

【2】安裝apache

【2.1】編譯安裝 zlib壓縮庫

cd /root/lamp_need
tar -zxvf zlib-1.2.7.tar.gz
cd zlib-1.2.7
./configure     #這個配置編譯命令不要加目錄參數
make && make install

【2.2】編譯安裝httpd2(apache)

cd /root/lamp_need
tar -zxvf httpd-2.2.29.tar.gz
cd httpd-2.2.29
./configure --prefix=/usr/local/httpd2  \
    --enable-modules=all \
    --enable-rewrite \
    --enable-mods-shared=all \
    --enable-so
make && make install

【2.3】啓動apache 

/usr/local/httpd2/bin/apachectl start

默認使用127.0.0.1

【2.4】測試apache

瀏覽器打開: http://虛擬機IP
看到 "it works!",即爲成功

至此Apache暫告一段落

 

【3】安裝圖形庫

【3.1】libxml2

cd /root/lamp_need
tar -zxvf libxml2-2.7.8.tar.gz 
cd libxml2-2.7.8
./configure --prefix=/usr/local/libxml2
make && make install

【3.2】jpeg7

cd /root/lamp_need
tar -zxvf jpegsrc.v7.tar.gz 
cd jpeg-7 
./configure --prefix=/usr/local/jpeg7/ --enable-shared --enable-static 
make && make install

【3.3】libpng

cd /root/lamp_need
tar -jvxf libpng-1.4.3.tar.bz2 
cd libpng-1.4.3 
./configure  #和zlib同樣不要帶參數,讓它默認安裝到相應目錄
make && make install

【3.4】freetype

cd /root/lamp_need
tar -jvxf freetype-2.3.5.tar.bz2 
cd freetype-2.3.5
mkdir -p /usr/local/freetype 
./configure --prefix=/usr/local/freetype 
make && make install

上面幾個基本都是一鼓作氣。

 

【3.5】編譯安裝GD庫

cd /root/lamp_need
tar -jvxf libgd-2.1.1.tar.bz2
cd libgd-2.1.1
mkdir -p /usr/local/gd 
./configure --prefix=/usr/local/gd \
    --with-jpeg=/usr/local/jpeg7/ \
    --with-png --with-zlib \
    --with-freetype=/usr/local/freetype
make && make install

 

至此,圖形庫基本安裝完成。

 

 

【4】編譯安裝PHP

cd /root/lamp_need
tar -jxvf php-5.6.8.tar.bz2
cd php-5.6.8
./configure --prefix=/usr/local/php5.6 \
    --with-apxs2=/usr/local/httpd2/bin/apxs \
    --with-mysql=mysqlnd \
    --with-pdo-mysql=mysqlnd \
    --with-mysqli=mysqlnd \
    --with-freetype-dir=/usr/local/freetype \
    --with-gd=/usr/local/gd \
    --with-zlib --with-llsibxml-dir=/usr/local/libxml2 \
    --with-jpeg-dir=/usr/local/jpeg7 \
    --with-png-dir \
    --enable-mbstring=all \
    --enable-mbregex \
    --enable-shared 
make && make install 

【4.1注】遇到問題了。在./configure沒有提示錯誤警告的下 make install 中途提示:

ext/gd/.libs/gd.o: In function `zm_info_gd':
/root/phpneed/php-5.6.8/ext/gd/gd.c:1345: undefined reference to `XpmLibraryVersion'
collect2: error: ld returned 1 exit status
Makefile:255: recipe for target 'sapi/cli/php' failed
make: *** [sapi/cli/php] Error 1

【4.2】安裝libXpm後再編譯安裝PHP

無奈,只能安裝libXpm

apt-get install libXpm-dev

查找出libXpm的安裝位置

shell>dpkg -L libxpm-dev
/.
/usr
/usr/lib
/usr/lib/i386-linux-gnu
/usr/lib/i386-linux-gnu/pkgconfig
/usr/lib/i386-linux-gnu/pkgconfig/xpm.pc
/usr/lib/i386-linux-gnu/libXpm.a
/usr/include
/usr/include/X11
/usr/include/X11/xpm.h
/usr/share
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libxpm-dev
/usr/share/doc
/usr/share/doc/libxpm-dev                   #此處就是安裝位置(以你的系統查找出的目錄爲準)
/usr/share/doc/libxpm-dev/copyright
/usr/share/doc/libxpm-dev/xpm.PS.gz
/usr/lib/i386-linux-gnu/libXpm.so
/usr/share/doc/libxpm-dev/changelog.Debian.gz

因而make clean,再從新configure

cd /root/lamp_need
tar -jxvf php-5.6.8.tar.bz2
cd php-5.6.8
./configure --prefix=/usr/local/php5.6 \
    --with-apxs2=/usr/local/httpd2/bin/apxs \
    --with-mysql=mysqlnd \
    --with-pdo-mysql=mysqlnd \
    --with-mysqli=mysqlnd \
    --with-freetype-dir=/usr/local/freetype \
    --with-gd=/usr/local/gd \
    --with-zlib --with-llsibxml-dir=/usr/local/libxml2 \
    --with-jpeg-dir=/usr/local/jpeg7 \
    --with-png-dir \
    --enable-mbstring=all \
    --enable-mbregex \
    --enable-shared \
    #------------加上下面這句----------------
    --with-xpm-dir=/usr/share/doc/libxpm-dev
make && make install 

OK,一頓飯時間,完成。

 

【4.3】複製php.ini到安裝目錄

#複製後綴爲development的php.ini文件到php的etc目錄
cp /root/lamp_need/php-5.6.8/php.ini-development /usr/local/php5.6/etc/php.ini
#有的教程說是放到lib目錄,鑑於此,我都複製到這兩個目錄下
cp /root/lamp_need/php-5.6.8/php.ini-development /usr/local/php5.6/lib/php.ini

 

【4.4】檢查PHP是否安裝完成

cd /usr/local/php5.6
./bin/php -v

正常顯示:

PHP 5.6.8 (cli) (built: Mar 6 2016 04:53:35)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies

若是正常顯示php版本信息,則安裝成功。

 

 

【5】配置Apache的httpd.conf使其支持PHP

vi /usr/local/httpd2/conf/httpd.conf

【5.1】在httpd.conf(Apache主配置文件)中增長:
   AddType application/x-httpd-php .php

【5.2】找到下面這段話:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>

在index.html 前面添加index.php


【5.3】創建php測試網頁
vi /usr/local/httpd2/htdocs/index.php
輸入以下內容:
<?php
phpinfo();
?>

【5.4】重啓apache
/usr/local/httpd2/bin/apachectl restart

【5.5】再次瀏覽器查看http://虛擬機IP若是看到php信息,工做就完成了!

相關文章
相關標籤/搜索