【0】寫在最前
由於准備實習原因,今天又重溫了Lamp的搭建過程,之前一直是看燕十八老師2012年的教程學習,因此今天也是拿了十八哥的lamp搭建筆記作參考。但這次按照筆記重新搭建,發現了很多問題,由於該筆記已時隔多年,部分軟件已經更新幾代,網上也少有部分問題的解決方法,因此趁剛搭建好lamp環境,於此整理一下步驟。
【0.1】本人操作環境
ubuntu 15.04
軟件存放路徑 /root/lamp_need/
安裝路徑 /usr/local/
【0.2】軟件准備
- zlib-1.2.7.tar.gz zlib壓縮庫
- httpd-2.2.29.tar.gz apache
- mysql-5.5.40-linux2.6-i686.tar.gz mysql5.5 (選擇Linux - Generic 2.? (x86, ??-bit), Compressed TAR Archive)
- libxml2-2.7.8.tar.gz
- libpng-1.4.3.tar.bz2
- freetype-2.3.5.tar.bz2
- jpegsrc.v7.tar.gz
- libgd-2.1.1.tar.bz2 GD庫(選擇2.1以上版本)
- php-5.6.8.tar.bz2 PHP
【0.2】基本解壓命令
//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】以下是手冊中的說明:
如果想開機啟動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信息,工作就完成了!