源码手工编译LAMP架构搭建Discuz论坛(内附源码包)

简介

Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案。

实验环境

  • 系统环境:centos6.5
  • 宿主机IP地址:192.168.100.20
  • yum挂载目录:/mnt/sr0
  • 相关源码包下载地址:百度云下载  密码:x32f

搭建步骤

一、安装Apache

1、准备工作,关闭防火墙及selinux

[root@localhost ~]# chkconfig iptables off #随开机关闭iptables
[root@localhost ~]# vim /etc/sysconfig/selinux
源码手工编译LAMP架构搭建Discuz论坛(内附源码包)

[root@localhost ~]# reboot #重启Linux生效

2、安装gcc、gcc-c++、make、arp、arp-util、pcre等工具包

[root@localhost ~]# yum -y install gcc gcc-c++ make #安装C语言编译器以及make

[root@localhost ~]# tar -zxvf apr-1.4.6.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/apr-1.4.6/
[root@localhost apr-1.4.6]# ./configure prefix=/usr/local/apr && make && make install

[root@localhost ~]# tar -zxvf apr-util-1.4.1.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/apr-util-1.4.1/
[root@localhost apr-util-1.4.1]# ./configure prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install

[root@localhost ~]# tar -zxvf pcre-8.10.tar.gz -C /usr/src
[root@localhost ~]# cd /usr/src/pcre-8.10/
[root@localhost pcre-8.10]# ./configure prefix=/usr/local/pcre && make && make install

3、配置编译安装Apache

[root@localhost ~]# tar xvfz httpd-2.4.2.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/httpd-2.4.2/
[root@localhost httpd-2.4.2]# ./configure \
--prefix=/usr/local/httpd \
--with-apr=/usr/local/apr \
--with-pcre=/usr/local/pcre \
--enable-so \
--enable-rewrite \
--enable-mods-shared=most \
--with-mpm=worker \
--disable-cgid \
--disable-cgi

参数解析:

prefix:指定安装目录
with-apr:apr的安装目录
with-pcre:使用扩展的pcre正则表达式库
enable-so:启用动态加载模块支持,需要什么功能可以动态加载
enable-rewrite:启用网页地址重写功能,实现伪静态
enable-mods-shared:启用的共享DSO模块
with-mpm:选择apache所使用的处理模块
disable-cgid:禁用CGID
disable-cgi:启用CGI脚本程序支持(通用网关接口)

[root@localhost httpd-2.4.2]# make && make install#编译及编译安装

4、添加系统服务

[root@localhost ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd #将启动脚本拷贝服务程序目录下

[root@localhost ~]# vim /etc/init.d/httpd #修改启动脚本

第2、3两行添加以下参数:

# chkconfig:2345 85 15
# description:Apache is a World Wide Web server.

[root@localhost init.d]# chmod +x /etc/init.d/httpd #添加执行权限
[root@localhost init.d]# chkconfig --add httpd #将apache添加至服务程序中

5、建立软链接,方便管理

[root@localhost ~]# mkdir -p /etc/httpd
[root@localhost ~]# ln -s /usr/local/httpd/conf/ /etc/httpd/ #优化配置文件路径
[root@localhost ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin/ #优化命令路径

6、修改配置文件

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf

修改以下参数:

ServerName www.bt.com:80 #填写完全主机名
Listen 192.168.100.103:80 #监听本地IP

7、重启服务、测试

[root@localhost ~]# service httpd start
源码手工编译LAMP架构搭建Discuz论坛(内附源码包)

二、安装Mysql

1、卸载PRM方式的mysql-server、mysql

[root@localhost ~]# rpm -qa | grep mysql
源码手工编译LAMP架构搭建Discuz论坛(内附源码包)

2、安装ncurses-devel、bison、libaio-devel、cmake工具包

[root@localhost ~]# yum -y install ncurses-devel bison libaio-devel cmake

3、创建进程用户mysql

[root@localhost ~]# useradd -s /sbin/nologin mysql

4、解压、配置安装mysql

[root@localhost ~]# mkdir -p /usr/local/mysql #创建mysql目录

[root@localhost ~]# tar zxvf mysql-5.5.24.tar.gz -C /usr/src
[root@localhost ~]# cd /usr/src/mysql-5.5.24/

[root@localhost mysql-5.5.24]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/home/mysql \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306

解析:

DCMAKE_INSTALL_PREFIX:mysql软件安装位置
DDEFAULT_CHARSET:默认字符集
DDEFAULT_COLLATION:默认字符校验
DWITH_EXTRA_CHARSETS:额外的编码,请使用ALL来编译
DWITH_MYISAM_STORAGE_ENGINE:安装 myisam 存储引擎
DWITH_INNOBASE_STORAGE_ENGINE:安装 innodb 存储引擎
DWITH_MEMORY_STORAGE_ENGINE:安装 memory 存储引擎
DWITH_READLINE:支持readline库,支持一行行读取数据
DENABLED_LOCAL_INFILE:启用本地加载数据
DMYSQL_DATADIR:数据目录
DMYSQL_USER:指定mysql的运行用户
DMYSQL_TCP_PORT=3306:mysql的端口号默认是3306

[root@localhost mysql-5.5.24]# make && make install #编译及编译安装

5、修改mysql安装目录的所有者,所属组

[root@localhost mysql-5.5.24]# chown -R mysql:mysql /usr/local/mysql/

6、创建修改my.cnf配置文件

[root@localhost mysql-5.5.24]# cp support-files/my-medium.cnf /etc/my.cnf

7、添加系统服务

[root@localhost mysql-5.5.24]# vim /etc/profile #修改系统环境变量

最后一行添加:
export PATH=$PATH:/usr/local/mysql/bin/

[root@localhost mysql-5.5.24]# source /etc/profile #重新读取系统环境变量

[root@localhost mysql-5.5.24]# cp support-files/mysql.server /etc/init.d/mysqld #添加系统服务
[root@localhost mysql-5.5.24]# chmod +x /etc/init.d/mysqld #添加执行权限
[root@localhost mysql-5.5.24]# chkconfig --add mysqld #将mysqld添加为系统服务

8、初始化数据库

[root@localhost mysql-5.5.24]# /usr/local/mysql/scripts/mysql_install_db
--user=mysql
--ldata=/var/lib/mysql
--basedir=/usr/local/mysql
--datadir=/home/mysql

解析:
user:指定数据库管理员,也就是是谁管理数据库
basedir:指定mysql软件安装位置
datadir:指定mysql数据安装位置

[root@localhost mysql-5.5.24]# vim /etc/init.d/mysqld

找到basedir、datadir进行赋值:

basedir=/usr/local/mysql #约46行数据库安装目录
datadir=/home/mysql #约47行数据存放目录

9、重新启动数据库

[root@localhost mysql-5.5.24]# service mysqld start
[root@localhost mysql-5.5.24]# netstat -anpt | grep 3306 #查看端口
源码手工编译LAMP架构搭建Discuz论坛(内附源码包)

10、访问mysql

[root@localhost ~]# mysqladmin -u root password '123'#设置新密码
[root@localhost ~]# mysql -uroot -p123 #登录mysql
源码手工编译LAMP架构搭建Discuz论坛(内附源码包)

三、安装PHP

1、安装GD库关联程序

[root@localhost ~]# yum install \
libjpeg-devel \
libpng-devel \
freetype-devel \
zlib-devel \
gettext-devel \
libXpm-devel \
libxml2-devel \
fontconfig-devel \
openssl-devel \
bzip2-devel

2、解压、配置安装gd(用来处理和生成图片)

[root@localhost ~]# tar xzvf gd-2.0.35.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/gd/2.0.35/
[root@localhost 2.0.35]# ./configure --prefix=/usr/local/gd
[root@localhost 2.0.35]# make && make install

3、解压配置安装php

[root@localhost ~]# tar xjvf php-5.4.5.tar.bz2 -C /usr/src
[root@localhost ~]# cd /usr/src/php-5.4.5/
[root@localhost php-5.4.5]# ./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-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
[root@localhost php-5.4.5]# make && make install

4、创建PHP配置文件

[root@localhost ~]# cp php.ini-production /etc/php.ini

5、修改Apache配置文件

[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf

约143行检查下面这条语句是否存在,如果不存在还需要重新安装mysql,如果还没有,直接重装apache:

LoadModule php5_module modules/libphp5.so

约242行添加php首页识别:

<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>

约348添加支持PHP后缀:

<IfModule mime_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
<IfModule mime_module>

6、重新启动Apache

[root@localhost php-5.4.5]# /etc/init.d/httpd restart

7、测试PHP网页能否正常显示

[root@localhost ~]# cd /usr/local/httpd/htdocs/ #进入站点目录
[root@localhost php-5.4.5]# vim test1.php #建立测试页

添加PHP测试内容:

<?php
phpinfo();
?>

源码手工编译LAMP架构搭建Discuz论坛(内附源码包)

8、测试PHP网页能访问MySQL服务器

[root@localhost ~]# vim /usr/local/httpd/htdocs/test2.php

添加PHP测试内容:

<?php
$link=mysql_connect('localhost','root','123');
if($link) echo "Welcome to Mysql";
mysql_close();
?>

源码手工编译LAMP架构搭建Discuz论坛(内附源码包)

四、论坛安装

1、创建相关数据库

[root@localhost ~]# mysql -uroot -p123#登录mysql

mysql> CREATE DATABASE bbs; #创建一个数据库
mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123'; #把bbs数据库里面所有表的权限授予给bbsuser,并设置密码
mysql>flush privileges; #刷新数据库

2、解压论坛源码包

[root@localhost ~]# unzip Discuz_X2.5_SC_UTF8.zip -d /usr/src #解压
[root@localhost ~]# cp -r /usr/src/upload/ /usr/local/httpd/htdocs/bbs #将源码拷贝到站点目录下

3、修改论坛文件所属权限

[root@localhost ~]# cd /usr/local/httpd/htdocs/bbs
[root@localhost bbs]# chown -R daemon ./config/ #递归修改所有者权限
[root@localhost bbs]# chown -R daemon ./data/
[root@localhost bbs]# chown -R daemon ./uc_client/
[root@localhost bbs]# chown -R daemon ./uc_server/data/

[root@localhost ~]# vim /etc/php.ini

约919行,将注释去掉,将值赋予UTC,否则使用URL安装会报错

date.timezone = UTC

4、安装论坛

源码手工编译LAMP架构搭建Discuz论坛(内附源码包)

源码手工编译LAMP架构搭建Discuz论坛(内附源码包)

源码手工编译LAMP架构搭建Discuz论坛(内附源码包)

源码手工编译LAMP架构搭建Discuz论坛(内附源码包)

源码手工编译LAMP架构搭建Discuz论坛(内附源码包)

源码手工编译LAMP架构搭建Discuz论坛(内附源码包)

猜你喜欢

转载自blog.51cto.com/11905606/2160911