Linux服务篇之六:源码包构建LAMP架构配置

实验准备了2台虚拟机:mysql数据库单独一台、apache&php单独一台;

一、源码安装apache

1、安装wget下载工具:yum install wget install -y

wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的下载,并可以使用HTTP代理。wget名称的由来是“World Wide Web”与“get”的结合。

2、下载源码包到指定的目录,

wget

3、进入该目录并解压.tar.gz的apache软件包,

4、安装必备的优化库文件,

4.1、yum install apr apr-util -y

4,2、yum install apr-devel apr-util-devel -y

APR(Apache portable Run-time libraries,Apache可移植)的目的如其名称一样,主要为的提供一个可以多平台使用的支持库。

5、安装gcc:yum install gcc-c++ -y

GNU编译器套件(GNU Compiler Collection)包括、、、、、和的前端,也包括了这些语言的库(如libstdc++、libgcj等等)。GCC的初衷是为GNU操作系统专门编写的一款编译器。GNU系统是彻底的。此处,“自由”的含义是它尊重用户的自由。

6、新建一个安装目录,用来存放apahche所有程序包:mkdir /data/app/web/apache -p

7、开始预编译:./configure --prefix=/data/app/web/apache/ --enable-rewrite --enable-so

8、编译及安装:make && make install

9、进入安装后的主目录并查看到以下文件,表面apache服务已经安装成功!

10、熟悉以下apache的各个目录:

10.1、启动目录:/data/app/web/apache/bin/apachectl

10.2、主置文件:/data/app/web/apache/conf/httpd.conf

10.3、发布目录:/data/app/web/apache/htdocs/index.html

10.4、虚拟目录:/data/app/web/apache/conf/extra/httpd-vhosts.conf

10.5、外挂模块目录:/data/app/web/apache/modules

11、启动apache服务,并查看端口、进程:

12、关闭防火墙、selinux服务:

/etc/init.d/iptables stop

chkconfig iptables off

vi /etc/sysconfig/resolv.conf

SELINUX=disabled

13、打开测试网站,成功!

 

二、源码安装MYSQL

1、下载源码包,

wget

2、解压:tar xzf mysql-5.1.63.tar.gz

3、新建MYSQL安装目录:mkdir /data/app/mysql -p

4、安装一些必备的软件:

4.1、yum install apr apr-util -y

4.2、yum install apr-devel apr-util-devel -y

4.3、yum install gcc-c++ -y

4.4、yum install ncurses-devel -y

5、开始预编译,编译,安装:

./configure --prefix=/data/app/mysql --enable-assembler &&make  &&make install

6、熟悉一下msyql的目录:

6.1、mysql的配置文件目录:/usr/local/mysql/share/mysql

6.2、mysql的启动脚本文件:/usr/local/mysql/share/mysql/mysql.server

7、配置mysql为系统服务:

7.1、复制mysql的配置文件到制定的my.cnf文件中,

cp /usr/local/mysql/share/mysql/my-medium.cnf  /etc/my.cnf

7.2、复制启动脚本到:/etc/rc.d/init.d/mysqld

cp /usr/local/mysql/share/mysql/mysql.server  /etc/rc.d/init.d/mysqld

7.3、将mysql加为系统服务,

chkconfig --add mysqld

7.4、开机在3、5级别就启动,

chkconfig --level 35 mysqld on

7.5、重启mysql服务,出现错误:需要对msyql进行初始化的操作!

8、初始化msyql

8.1、创建一个mysql的系统用户,用来授权管理

8.2、把/data/app/mysql目录下的文件的所属主和所属用户都改成用户mysql来授权,并继承权限:

8.3、初始化mysql,并且生成var目录:

/data/app/mysql/bin/mysql_install_db  --user=mysql  --datadir=./var  --basedir=/usr/local/mysql/

8.4、对var目录进程授权,再次启动msyql服务,成功!

也可以使用后台启动msyql: /data/app/mysql/bin/mysqld_safe --user=mysql &

8.5、尝试登陆msyql数据库。

9、新建好数据库Discuz,用于存放Discuz论坛数据。

 

三、源码包安装PHP

1、下载源码包软件:

wget

2、解压:tar jxf php-5.3.28.tar.bz2

3、准备好必备软件包:

3.1、yum install libxml2 -y

3.2、yum install libxml2-devel -y

3.3、yum install perl -y

4、执行预编译,

注:php需要与apache、mysql整合;apxs,用于添加一些静态的模块

4.1、出错了内容如下:

修改这里的配置文件:/data/app/web/apache/bin/apxs

将第一行的内容:#! /replace/with/path/to/perl/interpreter -w

修改成:#!/usr/bin/perl -w

4.2、再次预编译,又出错:错误提示为:mysql_config not found

需要安装php连接mysql库组件:yum install php-mysql -y

查找mysql_config是否存在,还未找到!

所需mysql的库和包含文件:yum install mysql-devel -y

注:yum安装的软件包,放在了这个位置:/usr/local/bin/mysql_config

再将mysql_confi从你的安装目录创建软链接到/usr/local/bin目录下,这样就可以在任意目录下访问了(也可以放到/usr/bin):

ln -sv /usr/bin/mysql_config  /usr/local/bin/mysql_config

再次查找mysql_config是否存在,终于找到:

4.3、再次预编译:成功!

./configure --prefix=/data/app/php --with-mysql=mysqlnd --with-mysqli=/usr/local/bin/mysql_config --with-pdo-mysql=mysqlnd --with-apxs2=/data/app/web/apache/bin/apxs

5、编译及安装:make && make install

 

四、源码安装Apache+PHP整合

1、打开并修改httpd.conf配置文件:vi /data/app/web/apache/conf/httpd.conf

LoadModule     php5_module       modules/libphp5.so(默认已存在了)

2、加入如下语句:

AddType  application/x-httpd-php .php

DirectoryIndex  phpinfo.php  index.php  index.html (把index.php加入index.html之前)

3、在/data/app/web/apache/htdocs目录下创建index.php测试页面,执行如下命令:

cat >>/usr/local/apache/htdocs/index.php <<EOF

<?php

phpinfo();

?>

EOF

4、重新启动apache服务,通过IP访问界面如下图,即代表LAMP环境搭建成功!

 

五、源码安装DISCUZ论坛

1、下载discuz源码包文件,

wget

2、然后解压到指定的目录,

yum install unzip -y

unzip Discuz_X3.2_SC_UTF8.zip -d /data/app/web/apache/htdocs/

mv upload/* .

3、成功打开了Discuz论坛的首页!

4、当前目录有需要授权,才能下一步操作;

5、赋予discuz目录完全访问权限,

chmod -R 777 data/  uc_server/ config/  uc_client/

6、在MYSQL数据库服务器中授予访问权限,

7、正确填写好数据库信息,

8、成功打开Discuz论坛!