首页 > Linux, Unix > 源码安装架设基于Lamp(Linux+Apache+MySQL+PHP)构架的Web服务器

源码安装架设基于Lamp(Linux+Apache+MySQL+PHP)构架的Web服务器

2013年4月21日 发表评论 阅读评论

lamp(linux+apace+mysql+php)一直都是最流行的Web构架,所有组成产品均是开源软件,是国际上成熟的架构构架。不过,最近几年有被性能更高的lnmp(linux+nginx+mysql+php)替代的趋势,lnmp的配置,可以参考Linux/Unix系统下nginx+php安装简明教程


一、安装MYSQL

下载页面:http://www.mysql.com/downloads/mirror.php?id=404683#mirrors

1. 添加mysql用户和安装mysql依赖包
  1. groupadd mysql  
  2. useradd -r -g mysql mysql  
  3. yum install gcc gcc-c++ libtool autoconf automake imake libxml2-devel expat-devel ncurses-devel cmake bison 
2. 下载、解压mysql源码包
  1. mkdir -p /data/temp
  2. cd /data/temp
  3. wget ftp://ftp.fi.muni.cz/pub/mysql/Downloads/MySQL-5.5/mysql-5.5.18.tar.gz  
  4. tar -zxvf mysql-5.5.18.tar.gz  
  5. cd mysql-5.5.18 
3. 使用cmake编译mysql
  1. cmake . \  
  2. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \  
  3. -DDEFAULT_CHARSET=utf8 \  
  4. -DEXTRA_CHARSETS=all \  
  5. -DDEFAULT_COLLATION=utf8_general_ci \  
  6. -DMYSQL_USER=mysql  
  7.  
  8. make  
  9. make install   
  10. cd /usr/local/mysql  
  11. chown -R mysql .  
  12. chgrp -R mysql .  
  13. scripts/mysql_install_db --user=mysql  
  14. chown -R root .  
  15. chown -R mysql data  
  16. cp support-files/my-medium.cnf /etc/my.cnf  
  17. bin/mysqld_safe --user=mysql &    
  18. cp support-files/mysql.server /etc/init.d/mysqld  
  19. cd /usr/local/bin  
  20. ln -fs /usr/local/mysql/bin/mysql mysql 
4. 把mysql添加为系统启动服务
  1. cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld  
  2. cd /etc/rc.d/init.d  
  3. chkconfig --add mysqld         
  4. service mysqld start/stop 
二、安装Apache

apache下载页面:http://www.apache.org/dist/httpd/

1. 安装apache:
  1. wget http://www.apache.org/dist/httpd/httpd-2.2.21.tar.gz  
  2. tar -zxvf httpd-2.2.21.tar.gz  
  3. cd httpd-2.2.21  
  4. ./configure --enable-modules=so --enable-rewrite  
  5. make && make install 
2. 安装apache扩展:
  1. cd srclib/apr  
  2. make  
  3. make install  
  4.  
  5. cd ../apr-util/  
  6. ./configure --with-apr=../apr  
  7. make   
  8. make install  
三、安装PHP5
1. 安装php5依赖包:

libcurl:

  1. wget http://curl.haxx.se/download/curl-7.23.1.tar.gz  
  2. tar -zxvf curl-7.23.1.tar.gz  
  3. cd curl-7.23.1/  
  4. ./configure  
  5. make && make install  
  6. cd .. 

libxml2:

  1. wget ftp://xmlsoft.org/libxml2/libxml2-2.7.6.tar.gz  
  2. tar -zxvf libxml2-2.7.6.tar.gz  
  3. cd libxml2-2.7.6  
  4. ./configure  
  5. make && make install  
  6. cd .. 

libxslt:

  1. wget ftp://xmlsoft.org/libxml2/libxslt-1.1.24.tar.gz  
  2. tar -zxvf libxslt-1.1.24.tar.gz  
  3. cd libxslt-1.1.24  
  4. ./configure  
  5. make && make install  
  6. cd .. 

freetype:

  1. http://download.savannah.gnu.org/releases/freetype/freetype-2.4.6.tar.gz  
  2. tar -zxvf freetype-2.4.6.tar.gz  
  3. cd freetype-2.4.6  
  4. ./configure   
  5. make && make install  
  6. cd .. 

libpng:

  1. wget "http://prdownloads.sourceforge.net/libpng/libpng-1.5.6.tar.gz?download" 
  2. tar -zxvf libpng-1.5.6.tar.gz   
  3. cd libpng-1.5.6  
  4. ./configure   
  5. make && make install  
  6. cd .. 

libjpeg:

  1. wget http://ijg.org/files/jpegsrc.v8c.tar.gz  
  2. tar -zxvf jpegsrc.v8c.tar.gz  
  3. cd jpeg-8c/  
  4. ./configure   
  5. make && make install  
  6. cd .. 

2. 安装PHP:

  1.  
  2. wget http://cn2.php.net/get/php-5.2.17.tar.bz2/from/hk.php.net/mirror  
  3. cat php-5.2.17.tar.bz2 |bunzip2 | tar xvf -   
  4. cd php-5.2.17   
  5. ./configure --with-apxs2=/usr/local/apache2/bin/apxs  \  
  6.  --with-curl \  
  7.  --enable-calendar \  
  8.  --with-xsl \  
  9.  --with-libxml-dir \  
  10.  --enable-ftp \  
  11.  --with-gd \  
  12.  --with-freetype-dir \  
  13.  --with-jpeg-dir \  
  14.  --with-png-dir \  
  15.  --enable-mbstring \  
  16.  --with-zlib \  
  17.  --enable-shared \  
  18.  --with-mysql   
  19. make && make install  
  20. cd ..  
3. 让apache加载php模块:
  1. vim /usr/local/apache2/conf/httpd.conf  
  2. #确保下面三行在httpd.conf配置文件中存在
  3. LoadModule php5_module modules/libphp5.so  
  4. AddType application/x-httpd-php .php  
  5. AddType application/x-httpd-php-source .phps  
4. 启动HTTP服务及测试
  1. /usr/local/apache2/bin/httpd -k restart  
  2. echo "<?php phpinfo(); ?>" > /usr/local/apache2/htdocs/index.php   
  3. #使用浏览器打开URL:http://ip/index.php
常见错误:

1. 现象:make install时报"dlname not found in /usr/local/apache2/modules/libphp5.la."
 解答:这是由于apache与php的libtool版本不一致引起的。

  1. /usr/local/apache2/build/libtool --version  
  2. ltmain.sh (GNU libtool) 1.5.26 (1.1220.2.492 2008/01/30 06:40:56)  
  3. ./libtool --version  
  4. ltmain.sh (GNU libtool) 1.5.22 (1.1220.2.365 2005/12/18 22:14:06)  

解决方法:使php安装目录下的libtool与apache的libtool版本一致,再重新安装,操作如下:

  1. cd /data/temp/  
  2. cp /usr/local/apache2/build/libtool .  
  3. make clean  
  4. make install  
lamp构架相关文件、依赖包下载地址:

libcurl: http://curl.haxx.se/download.html
libxml2: ftp://xmlsoft.org/libxml2/
libxslt: ftp://xmlsoft.org/libxml2/
libpng: http://www.libpng.org/pub/png/libpng.html
libjpeg: http://ijg.org/files/
freetype:http://download.savannah.gnu.org/releases/freetype/
apache:http://www.apache.org/dist/httpd/
PHP:http://www.php.net/downloads.php
MySQL:http://www.mysql.com/downloads/mirror.php?id=404683#mirrors

分类: Linux, Unix 标签: , , , , , ,
  1. 本文目前尚无任何评论.
  1. 2014年1月7日09:07 | #1
  2. 2014年5月30日23:50 | #2
  3. 2014年6月1日08:04 | #3
  4. 2014年6月3日10:04 | #4
  5. 2014年6月5日15:14 | #5
  6. 2014年7月5日14:48 | #6
  7. 2014年7月8日12:35 | #7
  8. 2014年7月12日21:29 | #8
  9. 2014年9月6日00:24 | #9
  10. 2014年9月6日01:18 | #10
  11. 2014年9月20日18:35 | #11
  12. 2014年10月27日16:44 | #12
  13. 2014年11月5日10:06 | #13