LAMP架构编译及安装

Apach所需软件包

apr-1.4.6.tar    apr-util-1.4.1.tar      httpd-2.4.4.tar

Mysql所需软件包

mysql-5.5.24.tar

Php所需软件包

gd-2.0.35.tar   php-5.4.5.tar

()Apach编译及安装(A)

1.linuxwindows平台共享apache安装软件,并挂载

yum install -y cifs-utils

mount //192.168.1.100/Apache /opt

2.解压文件

cd /opt 

tar zxvf apr-1.4.6.tar.gz -C /usr/local

tar zxvf apr-util-1.4.1.tar.gz -C /usr/local

tar zxvf httpd-2.4.4.tar.gz -C /usr/local 

3.复制解压文件,去掉版本号

cd  /usr/local

cp -r apr-1.4.6 httpd-2.4.4/srclib/apr

cp -r apr-util-1.4.1 httpd-2.4.4/srclib/apr-util

4.安装下面的三个必须安装的编译语言工具gccgcc-c++make

安装过程出现的错误要安装prce-devel这个开发包

yum -y install gcc 

yum -y installgcc-c++ 

yum -y installmake 

yum -y installpcre-devel

5.源码编译

cd  /usr/local/httpd-2.4.4

./configure \

--prefix=/usr/local/apache \

--enable-so \

--enable-rewrite \

--enable-mods-shared=most \

--with-mpm=worker \

--disable-cgid \

--disable-cgi

参数解释:

./configure \     //可执行配置程序

--prefix=       //指定将httpd服务程序安装到哪个目录

--enable-so  //该参数表示支持用mod_so模块提供的功能,用LoadModulehttpd.conf文件或包含的conf文件中

动态加载某个模块。让 Apache 可以支持DSO模式

--enable-rewrite       / /启用网页地址重启功能,用于网站优化及目录迁移维护

--enable-mods-shared=most  //选项:告诉编译器将所有标准模块都动态编译为DSO模块。

--with-mpm=worker // apacheworker方式运行

--with-mpm=worker   //该参数是配置apache将以何种模式编译的。Apache网站文档指出不同操作系统下的不同

的默认模式.

--disable-cgid //禁止用一个外部 CGI 守护进程执行CGI脚本

--disable-cgi //禁止编译 CGI 版本的 PH,不便于扩展网站的应用访问能力

6.源码编译及安装

make                把源代码转换为可执行程序

make install           拷贝过程:将/usr/local/httpd-2.4.4目录下编译完的http程序及相关目录,文件复制到预设

                               的安装目录(及--prefix=/usr/local/apache指定安装路径

7.使httpd服务可以使用service管理

"service管理的命令都在/etc/init.d/这个目录下

grep -v "#"/usr/local/apache/bin/apachectl> /etc/init.d/httpd

vi /etc/init.d/httpd

在文件最前面插入下面的行,使其支持chkconfig命令 

    #!/bin/sh 

              # chkconfig: 2345 85 15 

              # description: Apache is a World Wide Web server.

行参数意义分别为:Linux2,3,4,5级别需要启动httpd服务,启动序号(85);关闭序号(15)

chmod+x /etc/init.d/httpd    //httpd文件加上可执行权限

chkconfig --add httpd //注如果在/etc/init.d/httpd不编辑这个# chkconfig: 2345 85 15内容的话,

就没法用chkconfig --add来添加apache这个服务的

8.修改主配置文件

vi /etc/httpd.conf(# vi /usr/local/apache/conf/httpd.conf)

ServerName //设置成hostname显示的名称

Listen 192.168.1.20//添加或修改监听本地的IPv4的地址的80端口

9.验证是否搭建成功

在游览器输入Apache服务器地址//192.168.1.20

It works!       //It works! 为默认首页------搭建成功!

(二)Mysql编译及安装

1.linuxwindows平台共享mysql源码包,并挂载

yum install -y cifs-utils

mount //192.168.1.100/Mysql /opt

cd /opt

tar zxvfmysql-5.5.24.tar.gz-C /usr/local     //解压源码包

2.源码安装

useraddmysql -s /sbin/nologin       //添加用户mysql,并不让mysql登陆系统

mkdir /usr/local/mysql               //mysql安装目录

安装编译工具

yum -y install \

gcc \

gcc-c++ \

make \

pcre-devel \

ncurses-devel \

cmake 

3.进配置文件目录编译安装

cd /usr/local/mysql-5.5.24

cmake\

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/home/mysql/ \

-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DENABLED_LOCAL_INFILE=1 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DEXTRA_CHARSETS=all \

-DWITH_SSL=system \

-DMYSQL_TCP_PORT=3306 \

-DENABLE_DOWNLOADS=1 \

-DWITH_SSL=bundled

make && make install    //编译安装一起执行

#rm CMakeCache.txt    //如果安装失败,删除缓存文件,尝试重新安装

chown -R mysql.mysql /usr/local/mysql       //改变这个目录的属主与属组

export PATH=$PATH:/usr/local/mysql/bin/    //初始化环境变量

cd /root

vi .bash_profile//编辑.bash_profile这个文件

PATH=$PATH:/usr/local/mysql/bin/ //设置开机自动运行mysql

cp /usr/local/mysql/support-files/my-medium.cnf/etc/my.cnf //建立配置文件

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld//使mysql支持service命令

chmod 755 /etc/init.d/mysqld  使mysqld有执行权限

chkconfig --add /etc/init.d/mysqld  //添加/etc/init.d/myspldchkconfig里,用service命令来管理

或直接用chkconfig --add mysqldchkconfig也是可以添加

chkconfig  mysqld --level 235 on   //设置mysqld2,3,5级别启动

4.初始化脚本

cd /usr/local/mysql/scripts

./mysql_install_db \

--user=mysql \//指定用户为mysql

--ldata=/var/lib/mysql \        //链接文件是/var/lib/mysql

--basedir=/usr/local/mysql \    //基本目录/usr/local/mysql

--datadir=/home/mysql       //数据目录为/home/mysql

ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock   //软连接

vi/etc/init.d/mysqld

basedir=/usr/local/mysql     

datadir=/home/mysql       

#source /root/.bash_profile      //重新加载初始脚本

service mysqld start

netstat -anpt | grep 3306

#mysql -u root //登录数据库     //Mysql编译安装成功

()Php编译及安装

1.linuxwindows平台共享apache安装软件,并挂载

yum install -y cifs-utils

mount //192.168.1.100/Php /opt

tar xjvf php-5.4.5.tar.bz2 /usr/local/

tar zxvf gd-2.0.35.tar.gz -C /usr/local/

2.安装GD库及GD库关联程序

yum -y install \

libjpeg-devel \

libpng-devel \

freetype-devel \

zlib-devel \

gettext-devel \

libXpm-devel \

libxml2-devel \

fontconfig-devel \

openssl-devel \

bzip2-devel

3.编译安装gd

cd /usr/local/gd/2.0.35/

./configure --prefix=/usr/local/gd

make && make install

4.编译安装Php 时,make过程中出错解决办法

vi /usr/local/gd/include/gd_io.h

typedef struct gdIOCtx

{

  int (*getC) (struct gdIOCtx *);

  int (*getBuf) (struct gdIOCtx *, void *, int);

  void (*putC) (struct gdIOCtx *, int);

  int (*putBuf) (struct gdIOCtx *, const void *, int);

  /* seek must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek! */

  int (*seek) (struct gdIOCtx *, const int);

  long (*tell) (struct gdIOCtx *);

  void (*gd_free) (struct gdIOCtx *);

  void (*data);  //增加这行

gdIOCtx;

5.编译安装Php

cd /usr/local/php-5.4.5/

./configure \

--prefix=/usr/local/php \

--with-apxs2=/usr/local/apache/bin/apxs \

--with-gd=/usr/local/gd \

--with-mysql=/usr/local/mysql \

--with-config-file-path=/etc \

--enable-sqlite-utf8 \

--with-zlib-dir \

--with-libxml-dir \

--with-freetype-dir \

--with-jpeg-dir \

--with-png-dir \

--with-ttf \

--with-iconv \

--with-openssl \

--with-gettext \

--enable-mbstring \

--enable-gd-native-ttf \

--enable-gd-jis-conv \

--enable-static \

--enable-zend-multibyte \

--enable-inline-optimization \

--enable-sockets \

--enable-soap \

--enable-ftp \

--disable-ipv6

解释:

--prefix=/usr/local/php \                       //php安装目录

--with-apxs2=/usr/local/apache/bin/apxs \         //apache接口插件

--with-gd=/usr/local/gd \                       //gd安装目录

--disable-ipv6                               //不启用ipv6

make && make install

typedef struct gdIOCtx

{

  int (*getC) (struct gdIOCtx *);

  int (*getBuf) (struct gdIOCtx *, void *, int);

  void (*putC) (struct gdIOCtx *, int);

  int (*putBuf) (struct gdIOCtx *, const void *, int);

  /* seek must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek! */

  int (*seek) (struct gdIOCtx *, const int);

  long (*tell) (struct gdIOCtx *);

  void (*gd_free) (struct gdIOCtx *);

  void (*data);  //增加这行

gdIOCtx;

6.修改主配置文件

cd /usr/local/php-5.4.5     //cd到解压php目录路径

cp php.ini-production /etc/php.iniv     //复制主配置文件

(四)配置apache让他支持PhpMysql

1.修改配置文件让apache支持PHP

vi /usr/local/apache/conf/httpd.conf

gg 369(找到AddType application/x-gzip .gz .tgz这一行,在其下添加如下内容)

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

LoadModule  php5_module modules/libphp5.so   //没有这行就增加,有就不用添加。

DirectoryIndex index.html  index.php          //调整首页文件设置       

service httpd restart    

2.更改默认首页,验证Php链接

cd /usr/local/apache/htdocs/

rm --f index.html

vi index.php  

<?php

phpinfo();

?>

<?php

service httpd restart    //在游览器输入Apache服务器地址,出现下面内容,即成功

 

wKioJlLD3gzAO7xkAACz3r81dIs946.jpg

3.验证数据库链接

#mysql -u root //登录数据库

mysql>CREATE DATABASE  xiaohang;  //创建数据库名为xioahang

mysql>use xiaohang;                 //进入xiaohang这个数据库

mysql> CREATE TABLE xiao (user_name CHAR(16) NOT NULL, user_passwd CHAR(48) DEFAULT '', PRIMARY KEY (user_name));  

  //创建表(xiao

mysql> grant all on xiaohang.* to 'tom'@'%'identified by '123456';        //授权tom用户

cd /usr/local/apache/htdocs/

rm --f index.html

vi index.php  

<?php

$link=mysql_connect('192.168.1.20','tom','123456');

if(!$link) echo "Fail !!";

else echo "Success !!成功啦";

mysql_close();

?>

service httpd restart    //在游览器输入Apache服务器地址,出现“Success !!成功啦”,即数据库链接成功!

注!!!

如果游览器识别乱码,请把游览器编码改为UTF-8