LAMP架构搭建Discuz论坛,纯干货!大家都在看!

实验目录:

一、LAMP架构概念

二、LAMP结构的安装与配置

2-1 手工编译安装http服务

2-2 手工编译安装mysql数据库

2-3 手工编译安装PHP工具

三、安装Discuz论坛(开源论坛)

四、小福利

一、LAMP架构概念

LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写:

  • Linux,操作系统
  • Apache,网页服务器
  • MariaDB或MySQL,数据库管理系统(或者数据库服务器)
  • PHP、Perl或Python,脚本语言

是目前最为成熟的一-种企业网站应用模式,可提供动态Web站点应用及开发环境。

本次实验所需的所有服务的源码包均已上传到网盘,各位可自行拷贝使用(都是开源软件)

链接:https://pan.baidu.com/s/1H_k-1lXH4Pjkrsl2EN4CNA 提取码:r0pi

二、LAMP结构的安装与配置

2-1 手工编译安装http服务

使用mount.cifs将整个软件目录挂载到Linux中或者直接将整个目录拷贝进Linux均可。(本次实验挂载点为/mnt/目录)

安装Apache服务

解压Apache服务所需的三个软件包

[root@localhost ~]#cd /mnt
[root@localhost mnt]# tar xf apr-1.6.2.tar.gz -C /opt          //将压缩包解压到opt目录下
[root@localhost mnt]# tar xf apr-util-1.6.0.tar.gz -C /opt
[root@localhost mnt]# tar xf httpd-2.4.29.tar.gz -C /opt

将apr、apr-util两个插件移入httpd的指定位置

[root@localhost mnt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost mnt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

全部进行移动后,开始安装所需的环境包(\为换行显示)

[root@localhost mnt]# yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl

其中,

gcc、gcc-c++:c语言和c++的编译器

make:编译工具

pcre、pcre-devel:pcre语言的开发、编译器

expat-devel:使新建的网站能够解析xml格式的文件

安装结束后,移动到http软件包内,对“configure”文件进行手工编译(一定要进软件包内!!)

[root@localhost mnt]# cd httpd-2.4.29
[root@localhost httpd-2.4.29]# ./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
[root@localhost httpd-2.4.29]# make && make install       //编译并进行安装(需要等待一定时间)

其中:

--prefix:后面为自定义安装的路径

--enable-so :开启核心模块

--enable-rewrite :开启重写功能

--enable-charset-lite :开启字符集支持

--enable-cgi:开启通用网关接口(cgj为一种编码格式)

完成后,开始添加启动脚本,方便系统能够更好的控制服务的开启与关闭,并顺手将httpd加入到SERVICE管理器中。

[root@localhost httpd-2.4.29]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
//添加启动脚本
[root@localhost httpd-2.4.29]# chkconfig --add httpd //将httpd加入到SERVICE管理器

接着进入Apache服务的配置文件中,按照下图进行修改

LAMP架构搭建Discuz论坛,纯干货!大家都在看!

最后为便于管理我们可以将配置文件与启动相关文件做软链接(可以不加),关闭防火墙,并启动Apache服务

[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
[root@localhost httpd-2.4.29]# systemctl stop firewalld.service
[root@localhost httpd-2.4.29]# setenforce 0
[root@localhost httpd-2.4.29]# service httpd start

2-2 手工编译安装mysql数据库

安装Mysql数据库

[root@localhost ~]# yum install -y ncurses-devel autoconf cmake    //安转环境包以及cmake编译器
[root@localhost ~]# cd /mnt/
[root@localhost mnt]# tar xzvf mysql-5.6.26.tar.gz -C /opt         //对mysql源码包进行解压

对源码包进行编译(\为换行)

[root@localhost mnt]# cd /opt/mysql-5.6.26

[root@localhost mysql-5.6.26]# cmake  \                   //对源码包进行编译
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DSYSCONFIDIR=/etc \
-DMYSQL_DATADIR=/home/mysql/ \
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock

[root@localhost mysql-5.6.26]# make && make install      //编译安装

其中,

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql :指定数据库安装目录

-DDEFAULT_CHARSET=utf8 :指定字符集

-DDEFAULT_COLLATION=utf8_general_ci :指定默认字符集

-DEXTRA_CHARSETS=all :指定扩展字符集

-DSYSCONFIDIR=/etc :指定配置文件目录

-DMYSQL_DATADIR=/home/mysql/ :指定数据库中数据文件存放位置

-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock:定义sock文件

配置MySQL

[root@localhost mysql-5.6.26]# cp support-files/my-default.cnf /etc/my.cnf
[root@localhost mysql-5.6.26]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql-5.6.26]# chmod 755 /etc/init.d/mysqld         //授予执行权限
[root@localhost mysql-5.6.26]# chkconfig --add /etc/init.d/mysqld    //将数据库服务添加到管理器中
[root@localhost mysql-5.6.26]# chkconfig  mysqld --level 35 on      //开启数据库的3,5运行级别
[root@localhost mysql-5.6.26]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile          //启用数据库命令到系统环境变量
[root@localhost mysql-5.6.26]# source /etc/profile     //启用系统环境变量
[root@localhost mysql-5.6.26]# echo $PATH       //查看系统环境变量
[root@localhost mysql-5.6.26]# useradd -s /sbin/nologin mysql      //创建mysql程序用户,禁止用于登录
[root@localhost mysql-5.6.26]# chown -R mysql:mysql /usr/local/mysql/     //给/usr/local/mysql/目录下所有用户提权
[root@localhost mysql-5.6.26]# /usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysql          //初始化数据库,并指定用户数据信息到指定目录
[root@localhost mysql-5.6.26]# vim  /etc/init.d/mysqld       //编辑数据库配置文件
basedir=/usr/local/mysql       //指定数据库自身安装路径
datadir=/home/mysql            //指定指定数据库存放位置

开启数据库,并设置登录密码

[root@localhost mysql-5.6.26]# service mysqld start
[root@localhost mysql-5.6.26]# mysqladmin -u root -p password "123123"           //给root账号设置密码
2-3 手工编译安装PHP工具

安装环境包,并解压源码包

[root@localhost mysql-5.6.26]# cd /mnt/
[root@localhost mnt]# yum -y install \
gd \
libpng \
libpng-devel \
pcre \
pcre-devel \
libxml2-devel \
libjpeg-devel

[root@localhost mnt]# tar xjvf php-5.6.11.tar.bz2 -C /opt

其中,

gd :图像化处理工具

libxml2-devel :支持解析,标签性语言

libjpeg-devel:支持jpg图片格式

编译并安装PHP工具

[root@localhost mnt]# cd /opt/php-5.6.11
[root@localhost php-5.6.11]# ./configure \
--prefix=/usr/local/php5 \
--with-gd \
--with-zlib \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring 

[root@localhost php-5.6.11]# make && make install
[root@localhost php-5.6.11]# cp php.ini-development /usr/local/php5/php.ini   //对初始化文件进行覆盖,注意路径
[root@localhost php-5.6.11]# ln -s /usr/local/php5/bin/* /usr/local/bin/      //建立PHP命令软链接
[root@localhost php-5.6.11]# ln -s /usr/local/php5/sbin/* /usr/local/sbin/    

其中,

--prefix=/usr/local/php5 :指定PHP工具安装路径

--with-gd :gd库,用于图形化处理

--with-zlib :函数库

--with-apxs2=/usr/local/httpd/bin/apxs :用于给apache提供功能性模块

--with-mysql=/usr/local/mysql :关联已安装的数据库

--with-config-file-path=/usr/local/php5 :关联PHP配置

--enable-mbstring:将功能性模块进行加载

修改apache配置文件,并建立PHP主页

[root@localhost php-5.6.11]# vim /etc/httpd.conf
按G定位末行,添加
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
搜索DirectoryIndex,更改为
    DirectoryIndex index.php index.html
wq保存退出
[root@localhost php-5.6.11]# vim /usr/local/httpd/htdocs/index.php    //PHP主页
按i进行添加
<?php
phpinfo();
?>
wq保存退出
[root@localhost php-5.6.11]# service httpd restart           //重启httpd服务

验证PHP网页

在浏览器中输入192.168.116.131/index.php,能够出现下面的网页即视为成功

LAMP架构搭建Discuz论坛,纯干货!大家都在看!

三、安装Discuz论坛(开源论坛)

将论坛源码解压并放置到http站点中

[root@localhost php-5.6.11]# cd /mnt
[root@localhost mnt]#  unzip Discuz_X2.5_SC_UTF8.zip -d /opt/Discuz
[root@localhost mnt]# cp -r /opt/Discuz/upload/ /usr/local/httpd/htdocs/bbs    //放置于http站点中

建立bbs相关的数据库,并进行管理员密码的设置

[root@localhost mnt]# mysql -u root -p     //进入MySQL数据库,密码为之前设定的
mysql> create database bbs;                //在数据库中创建名为bbs的子数据库
mysql> GRANT all ON bbs.* TO 'zhy'@'%' IDENTIFIED BY '123123';           //对zhy用户进行提权,并设定密码为123123
mysql> flush privileges;                   //刷新数据库
mysql> quit
[root@localhost mnt]# cd /usr/local/httpd/htdocs/bbs/     //进入bbs目录
[root@localhost bbs]# chown -R daemon ./config/
[root@localhost bbs]# chown -R daemon ./data/
[root@localhost bbs]# chown -R daemon ./uc_client/data/cache/
[root@localhost bbs]# chown -R daemon ./uc_server/data/
//为各程序用户提升权限

完成论坛的安装

在浏览器中输入192.168.116.131/bbs,即可进入安装流程

LAMP架构搭建Discuz论坛,纯干货!大家都在看!

LAMP架构搭建Discuz论坛,纯干货!大家都在看!

LAMP架构搭建Discuz论坛,纯干货!大家都在看!


然后即可完成安装。

四、文末小福利

能看到这里,有没有觉得很烦?有没有能一键进行全自动、免交互的安装过程?

答案当然是有的!

Shell脚本如下:

#!/bin/bash
#一键自动构建LAMP架构(请使用source执行或者使用.命令执行)
#数据库默认密码为123123

#远程挂载
df -hT | grep -o "cifs"
if [ $? -ne 0 ];then
echo "Start mount"
yum install expect -y
read -p "请输入提供硬盘主机IP:" gongip
/usr/bin/expect <<-EOF
spawn mount.cifs //$gongip/LAMP-C7 /mnt/
expect {
    "Password*"
    {send "\r"}
}
expect eof
EOF
fi
#安装apache服务
cd /mnt/
tar zxf apr-1.6.2.tar.gz -C /opt
tar zxf apr-util-1.6.0.tar.gz -C /opt/
tar jxf httpd-2.4.29.tar.bz2 -C /opt/
cd /opt/
mv apr-1.6.2/ httpd-2.4.29/srclib/apr
mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util
yum -y install gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl
cd /opt/httpd-2.4.29/
./configure --prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
make && make install
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
sed -i -e '2a# chkconfig: 35 85 21\n# description: Apache is a World Wide Web server' /etc/init.d/httpd
chkconfig --add httpd
sed -i -e '197d' -e '196aServerName www.kgc.com:80' /usr/local/httpd/conf/httpd.conf
ip=`ifconfig ens33 | awk 'NR==2{print $2}'`
sed -i -e '52s/^/#/' -e '51d' -e "50aListen $ip:80" /usr/local/httpd/conf/httpd.conf
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/
systemctl stop firewalld.service
setenforce 0
service httpd start
netstat -ntuap | grep httpd
if [ $? -eq 0 ];then 
    echo Apache服务启动
else 
    echo 启动失败
    exit 1
fi
#安装mysql服务
echo "================================="
echo "安装mysql数据库,请稍后。。。"
sleep 3
yum install -y ncurses-devel autoconf cmake
cd /mnt/
tar zxf mysql-5.6.26.tar.gz -C /opt/
cd /opt/mysql-5.6.26
cmake  \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DSYSCONFIDIR=/etc \
-DMYSQL_DATADIR=/home/mysql/ \
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock
echo "进行编译安装,要很久,请稍后。。。"
make && make install
cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add /etc/init.d/mysqld
chkconfig --level 235 mysqld on
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
echo $PATH | grep -o "mysql"
if [ $? -eq 0 ];then 
    echo "添加成功"
else 
    echo "失败"
    exit 1
fi
useradd -s /sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql/
/usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysql
sed -i -e '47d' -e '46d' -e '45abasedir=/usr/local/mysql\ndatadir=/home/mysql' /etc/init.d/mysqld
service mysqld start
netstat -ntuap | grep mysqld
if [ $? -eq 0 ];then
        echo Mysql数据库启动
else
        echo 启动失败
    exit 1 
fi
/usr/bin/expect <<EOF
spawn mysqladmin -u root -p password 123123 
expect {
    "Enter*"
    {send "\r"}
}
expect eof
EOF
#安装PHP工具
yum install -y gd \
libpng \
libpng-devel \
pcre \
pcre-devel \
libxml2-devel \
libjpeg-devel
cd ~
tar jxf /mnt/php-5.6.11.tar.bz2 -C /opt/
cd /opt/php-5.6.11
./configure \
--prefix=/usr/local/php5 \
--with-gd \
--with-zlib \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring
make && make install
cp -p php.ini-development /usr/local/php5/php.ini
ln -s /usr/local/php5/bin/* /usr/local/bin/
sed -i '393a    AddType application/x-httpd-php .php\n    AddType application/x-httpd-php-source .phps' /usr/local/httpd/conf/httpd.conf
sed -i -e '256d' -e '255aDirectoryIndex index.html index.php' /usr/local/httpd/conf/httpd.conf
cat > /usr/local/httpd/htdocs/index.php <<-EOF
<?php
phpinfo();
?>
EOF
service httpd stop
service httpd start
rm -rf /opt/*
umount /mnt
echo "LAMP架构完成。脚本执行结束~~~~"

原文地址:https://blog.51cto.com/14484404/2444829

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


**本资源可免费获取,请至尾部读阅!**Discuz素材资源交易论坛整站源码,带数据整站源码打包。包含了导航、企业官网、企业建站、企业SEO等静态页面。论坛采用Discuz3.4,包含PC、手机主题。带30多款插件。站长亲测可以使用,不过还是需要稍微调整一下的,部分链接还是原站的绝对地址,不过这
分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.netDiscuz!是腾讯(Tencent)旗下Comsenz公司推出的以社区为基础的专业建站平台,帮助网站实现一站式服务。让论坛(BBS)、个人空间(SNS)、门户(Portal)
最近工作需要IIS,自己的电脑又是Windows7系统,找了下安装的方法,已经安装成功。一、首先是安装IIS。打开控制面板,找到“程序与功能”,点进去二、点击左侧“打开或关闭Windows功能”三、找到“Internet信息服务”,按照下图打勾即可等待安装完成四、安装完成后,再回到控制面板
首先就是discuz,用起来真的是特别的好用,搭建的网站真的非常美观尤其是用起来之后,我发现功能真的是太强大了,不用到处编写代码,调试什么只需要把精力放在做产品上就可以了,我很好奇为什么会这么强大php的开源产品,比如wordpress也很强大,为什么discuz会如此的让我感到,是一种生态社区,而
1.找到图片路径拼装文件首先打开根目录下的template目录找到首页文件打开后找到图片列表的拼装位置//链接示例:<!--{eval$imagelistkey=getforumimg($pic[aid],0,300,500);}--><imgsrc="$imagelistkey"alt="$thread[subject]"/>然后修改为(客户要求改成缩略图)/
打开NavicatforMySQL找到数据表 pre_ucenter_members 把密码修改为123456789password:047099adb883dc19616dae0ef2adc5b6salt:311254改完就可以登录了:域名/admin.php记得上线后修改密码哦,嘿嘿嘿,鸡你太美!!!---------------------作者:Liu_Cabbage来源:CSDN原文:https://blog.
Discuz论坛基础搭建 第一步:下载XAMPP(Apache+Mysql+PHP+RERL)         下载的xampp-linux-x64-5.5.30-7-installer.run         上传到/home目录下,然后在命令行输入./xampp-linux-x64-5.5.30-7-installer.run,如果报权限问题,      
Discuz!是腾讯旗下Comsenz公司推出的以社区为基础的专业建站平台,帮助网站实现一站式服务。让论坛(BBS)、个人空间(SNS)、门户(Portal)、群组(Group)、应用开放平台(OpenPlatform)充分融合于一体,帮助网站实现一站式服务。Discuz!X3在继承和完善Discuz!X2.5的基础上,针对“系统架构”、
  Discuz迁移是一件较为麻烦的事情网上大多的迁移教程都是利用备份功能进行操作的,其实这种操作并不能保证迁移后完全正常工作本文将介绍直接转移数据库和文件的迁移方法 导出数据库迁移的首要部分就是导出数据库不论你是VPS、独立服务器还是虚拟主机一般都有phpmya
Discuz!论坛目前最新版本为3.4版本,已经好久没有更新了,我们SINE安全在对其网站安全检测的同时发现一处漏洞,该漏洞可导致论坛的后台文件可以任意的删除,导致网站瘫痪,后台无法登陆。关于该网站漏洞的细节我们来详细的分析看一下:Discuz漏洞的检测与分析该漏洞发生的位置在于source目录
  Discuz!X3.4升级后,帖子内容使用Unicode编码会出现直接显示源码问题打开:source\function\function_core.php  $string=str_replace(array('&','"','<','>'),array('&','"','<',&
安装discuz直接把安装包拷贝到根目录下然后在浏览器中输入http://localhost/myweb/install/index.php打开安装向导界面,需要修改一下myweb的权限安全属性uploading-image-555335.png把权限打开,然后一直下一步输入数据库的名称和密码adminroot******这步不成功可以看下
原文链接:http://www.cnblogs.com/bwzhangtao/p/4233362.html1<?php2/**3*抽奖4*@paramint$total5*/6functiongetReward($total=1000)7{8$win1=floor((0.12*$total)/100);9$win2=floor((3*$total)/100)
title:Linux搭建Discuz论坛WelcometoFofade'sBlog!这里是Linux搭建论坛的一些命令记录命令摘记:下载文件:Discuz安装环境:PHPApache2Mariadb(类MySQL)PHP-XML测试环境:浏览器查看tomcat页面是否正常,并简易编写一个PHP页面测试数据库操作:创建用户$createuser'name
原文链接:http://www.cnblogs.com/showblog/p/3358038.html取论坛指定版块帖子或回复(first=1就是帖子的1楼,如果=0就是调用回复,fid=62是论坛版块号):SELECT*FROMdiscuzx.pre_forum_postwherefirst=1andfid=62orderbytiddesc 取
LAMP平台概述目前最为成熟的一种企业网站应用模式,可提供动态Web站点应用及开发环境构成组件Linux、Apache、MySQL、PHP/Perl/PythonLAMP的优势成本低廉可定制、易于开发方便易用,安全和稳定一,在Windows上将LAMP所需压缩软件包共享出来(此处如有问题请看之前的博客相关文章)
代码functionlang($file,$langvar=null,$vars=array(),$default=null){echo$file.':'; global$_G; $fileinput=$file; list($path,$file)=explode('/',$file); if(!$file){echo('1-'); $file=$path; $path=
1、首先我们需要登录DZ论坛后台,在全局设置里边,关闭站点,防止网站出现新数据导致备份数据不完整。如图:2、找到站长板块,点击数据库,进行备份。3、按照提示,选择备份类型,点击提交开始进行备份。4、备份完成之后我们可以看到如下图。5、接下来我们需要把整个网站进行压缩打包。6、
实验目录:一、LAMP架构概念二、LAMP结构的安装与配置2-1手工编译安装http服务2-2手工编译安装mysql数据库2-3手工编译安装PHP工具三、安装Discuz论坛(开源论坛)四、小福利一、LAMP架构概念LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写:
  pre_common_admincp_cmenu后台菜单收藏表字段名数据类型默认值允许非空自动递增备注idsmallint(6)unsigned  NO是 titlevarchar(255)  NO  菜单名称urlvarchar(255)  NO  菜单地址sorttinyint(1) 0 NO  菜单类型,备用