Linux服务篇之六:源码包构建LAMP架构配置
实验准备了2台虚拟机:mysql数据库单独一台、apache&php单独一台;
一、源码安装apache
1、安装wget下载工具:yum install wget install -y
wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。wget名称的由来是“World Wide Web”与“get”的结合。
2、下载源码包到指定的目录,
wget http://www.apache.org/dist/httpd/httpd-2.2.29.tar.gz
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)包括C、C++、Objective-C、Fortran、Java、Ada和Go语言的前端,也包括了这些语言的库(如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 http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.63.tar.gz
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 http://mirrors.sohu.com/php/php-5.3.28.tar.bz2
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 http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_UTF8.zip
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论坛!
本文出自 “柏书兵-系统运维” 博客,转载请与作者联系!