搭建Discuz论坛的两种方式

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介:

 Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。

    随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。

目前LAMP架构是大多数中小企业最青睐的PHP架构选择,也是众多Linux SA喜欢选择的一套架构。接下来介绍下两种安装LAMP的两种方式。

一、yum安装

1、安装lamp,并启动相关服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
[root@jacken ~] #yum -y install httpd httpd-devel  mysql mysql-server mysql-libs php php-devel 
这一条命令LAMP环境即可安装成功,只需要重启apache、mysql服务即可
[root@jacken ~] # /etc/init.d/mysqld start
Initializing MySQL database:  Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot  time  you have to copy
support-files /mysql .server to the right place  for  your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To  do  so, start the server,  then  issue the following commands:
/usr/bin/mysqladmin  -u root password  'new-password'
/usr/bin/mysqladmin  -u root -h jacken password  'new-password'
Alternatively you can run:
/usr/bin/mysql_secure_installation
which  will also give you the option of removing the  test
databases and anonymous user created by default.  This is
strongly recommended  for  production servers.
See the manual  for  more  instructions.
You can start the MySQL daemon with:
cd  /usr  /usr/bin/mysqld_safe  &
You can  test  the MySQL daemon with mysql- test -run.pl
cd  /usr/mysql-test  ; perl mysql- test -run.pl
Please report any problems with the  /usr/bin/mysqlbug  script!
                                                            [  OK  ]
Starting mysqld:                                           [  OK  ]
[root@jacken ~] # /etc/init.d/httpd start
Starting httpd:                                            [  OK  ]
[root@jacken ~] # chkconfig mysqld on
[root@jacken ~] # chkconfig httpd on
[root@jacken ~] #

2、验证安装是否成功

wKioL1UovumDgcy-AAZ8QD0cCSs955.jpg测试是否支持php环境

1
2
3
4
5
6
7
[root@jacken ~] # cd /var/www/html/
[root@jacken html] # ls
[root@jacken html] # vim phpinfo.php
[root@jacken html] # cat phpinfo.php
<?php
phpinfo();
?>

wKiom1Uovf2yxtKnAAVdNoiSNtk314.jpg

3、安装Discuz

1
2
3
4
5
6
7
[root@jacken ~] # ls
Discuz_X3.2_SC_UTF8.zip
[root@jacken ~] # unzip -q -d /var/www/html/ Discuz_X3.2_SC_UTF8.zip 
[root@jacken ~] # ls /var/www/html/
phpinfo.php  readme  upload  utility
[root@jacken ~] # cd /var/www/html/
[root@jacken html] # mv upload/* ./;rm -rf readme utility

wKioL1Uov9GiFJ47AARtmO-IJSo417.jpg

点同意

wKiom1Uovq6C5ccZAAIbdJhpExM046.jpg


设置相关目录权限

1
2
3
[root@jacken html] # pwd
/var/www/html
[root@jacken html] # chmod -R o+w config/ data/ uc_*

此时目录已可写,但是出现mysql链接不支持

wKioL1UowFGQuUqGAAGZRBT8QRo081.jpg

1
2
3
4
[root@jacken upload] # yum -y install php-mysql
[root@jacken upload] # /etc/init.d/httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

wKioL1UowLKDLTqCAAH0ANajBQc863.jpg

下一步

wKiom1Uov4PgBn9KAAJyCaLpkP4478.jpg

创建discuz数据库,设置root密码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
mysql>  create  database  discuz;
Query OK, 1 row affected (0.00 sec)
mysql> flush  privileges ;
Query OK, 0  rows  affected (0.00 sec)
mysql> use mysql;
Reading  table  information  for  completion  of  table  and  column  names
You can turn  off  this feature  to  get a quicker startup  with  -A
Database  changed
mysql>  update  user  set  password = password ( 'hello' where  user = 'root' ;
Query OK, 0  rows  affected (0.00 sec)
Rows  matched: 3  Changed: 0  Warnings: 0
mysql> flush  privileges ;
Query OK, 0  rows  affected (0.00 sec)
mysql> exit;
Bye
[root@jacken]#

wKioL1UowX3TE05NAALVRFNfl1A382.jpg

wKioL1UowX6xbkIfAAPUTIaQQE0286.jpg

wKiom1UowDayjQlwAARIrMub5mg239.jpg

wKiom1UowDehJdtIAAQk-ZTcNAg440.jpg

至此,LAMP基本搭建完毕。

进入论坛管理中心,会提示删除安装页

wKioL1UowbuTxJ3eAAFc7_RIYHY348.jpg

1
2
3
[root@jacken ~] # cd /var/www/html/upload/install/
[root@jacken  install ] # mv index.php index.php.bak
[root@jacken  install ] #

LAMP安装完毕。


二、源码安装

下载相应的软件包

Apache http://mirror.bit.edu.cn/apache/httpd/httpd-2.2.27.tar.gz

Mysql http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.63.tar.gz

Php http://mirrors.sohu.com/php/php-5.3.28.tar.bz2

Discuz http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_UTF8.zip

1
2
3
4
[root@jacken ~] # cd /softwares/
[root@jacken softwares] # ls
Discuz_X3.2_SC_UTF8.zip  httpd-2.2.27. tar .gz  mysql-5.1.63. tar .gz  php-5.3.28. tar .bz2
[root@jacken softwares] #

安装环境包

1
2
[root@jacken softwares] # yum -y install apr-devel apr-util-devel
[root@jacken ~] # yum -y install gcc

1、安装Apache

1
2
3
4
5
6
[root@jacken ~] # cd /softwares/
[root@jacken softwares] # ls
Discuz_X3.2_SC_UTF8.zip  httpd-2.2.27. tar .gz  mysql-5.1.63. tar .gz  php-5.3.28. tar .bz2
[root@jacken softwares] # tar -zxf httpd-2.2.27.tar.gz 
[root@jacken softwares] # cd httpd-2.2.27
[root@jacken httpd-2.2.27] #./configure --prefix=/usr/local/apache --enable-so --enable-rewrite&&make&&make install

2、安装Mysql

1
2
3
4
5
6
[root@jacken ~] # cd /softwares/
[root@jacken softwares] # ls
Discuz_X3.2_SC_UTF8.zip  httpd-2.2.27  httpd-2.2.27. tar .gz  mysql-5.1.63. tar .gz  php-5.3.28. tar .bz2
[root@jacken softwares] # tar -zxf mysql-5.1.63.tar.gz 
[root@jacken softwares] # cd mysql-5.1.63
[root@jacken mysql-5.1.63] # ./configure --prefix=/usr/local/mysql --enable-assembler && make && make install

报错

wKioL1UowpDBeXLtAAIp_xcLpm0884.jpg

1
2
[root@jacken mysql-5.1.63] # yum –y  install ncurses-devel
[root@jacken mysql-5.1.63] # ./configure --prefix=/usr/local/mysql --enable-assembler && make && make install

报错

wKioL1UowsLiaMn-AAMbftpheh8566.jpg

1
2
3
4
[root@jacken mysql-5.1.63] # yum -y install gcc-c++
[root@jacken mysql-5.1.63] # ./configure --prefix=/usr/local/mysql --enable-assembler && make && make install
[root@jacken mysql-5.1.63] # echo $?
0

配置Mysql服务为系统服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@jacken ~] # cp /usr/local/mysql/share/mysql/my-medium.cnf  /etc/my.cnf 
[root@jacken ~] # cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld
[root@jacken ~] # chkconfig --add mysqld
[root@jacken ~] # chkconfig --level 345 mysqld on
[root@jacken ~] # cd /usr/local/mysql/
[root@jacken mysql] # useradd mysql
[root@jacken mysql] # chown -R mysql.mysql /usr/local/mysql
[root@jacken mysql] # /usr/local/mysql/bin/mysql_install_db --user=mysql
[root@jacken mysql] # chown -R mysql var
[root@jacken mysql] # ll -d var
drwx------. 4 mysql root 4096 Mar 31 09:54 var
[root@jacken mysql] # /usr/local/mysql/bin/mysqld_safe --user=mysql&
[1] 16857
[root@jacken mysql] # 150331 09:56:02 mysqld_safe Logging to '/usr/local/mysql/var/jacken.err'.
150331 09:56:02 mysqld_safe Starting mysqld daemon with databases from  /usr/local/mysql/var
[root@jacken mysql] #

3、安装Php

1
2
3
4
5
6
7
8
9
10
[root@jacken ~] # cd /softwares/
[root@jacken softwares] # ls
Discuz_X3.2_SC_UTF8.zip  httpd-2.2.27  httpd-2.2.27. tar .gz  mysql-5.1.63  mysql-5.1.63. tar .gz  php-5.3.28. tar .bz2
[root@jacken softwares] # tar -jxf php-5.3.28.tar.bz2 
[root@jacken softwares] # cd php-5.3.28
[root@jacken php-5.3.28] # ./configure \
> --prefix= /usr/local/php5  \
> --with-config- file -path= /usr/local/php/etc  \
> --with-apxs2= /usr/local/apache/bin/apxs  \
> --with-mysql= /usr/local/mysql/

报错

wKiom1UowdPhEyFfAAGzywct4b4802.jpg

1
2
3
4
5
6
[root@jacken php-5.3.28] # yum -y install libxml2 libxml2-devel
[root@jacken php-5.3.28] # ./configure \
> --prefix= /usr/local/php5  \
> --with-config- file -path= /usr/local/php5/etc  \
> --with-apxs2= /usr/local/apache/bin/apxs  \
> --with-mysql= /usr/local/mysql/

wKiom1Uowg7S_YDhAALHRxzJSc8021.jpg

1
2
3
4
[root@jacken php-5.3.28] #make && make install
[root@jacken php-5.3.28] # echo $?
0
[root@jacken php-5.3.28] #

安装成功

4、整合Apache+Php

整合apache+php环境,修改httpd.conf配置文件,然后加入如下语句:

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

AddType     application/x-httpd-php .php

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

然后在/usr/local/apache/htdocs目录下创建index.php测试页面,

1
2
3
4
5
6
7
8
9
[root@jacken htdocs] # ls
index.html  index.php
[root@jacken htdocs] # cat index.php 
<?php
phpinfo();
?>
[root@jacken htdocs] # pwd
/usr/local/apache/htdocs
[root@jacken htdocs] #

wKiom1UowmGALpMEAALzWaXOqEA767.jpg

5、安装discuz论坛

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@jacken ~] # cd /softwares/
[root@jacken softwares] # ls
Discuz_X3.2_SC_UTF8.zip  httpd-2.2.27. tar .gz  mysql-5.1.63. tar .gz  php-5.3.28. tar .bz2
httpd-2.2.27             mysql-5.1.63         php-5.3.28
[root@jacken softwares] #
[root@jacken softwares] # unzip Discuz_X3.2_SC_UTF8.zip  -d /usr/local/apache/htdocs/
[root@jacken softwares] # cd /usr/local/apache/htdocs/
[root@jacken htdocs] # ls
index.html  index.php  readme  upload  utility
[root@jacken htdocs] # mv upload/* .
mv : overwrite `. /index .php'? y
[root@jacken htdocs] # ls
admin.php  config           data         home.php    member.php  readme      sta
api        connect.php      favicon.ico  index.html  misc.php    robots.txt  tem
api.php     cp .php           forum.php    index.php   plugin.php  search.php  uc_
archiver   crossdomain.xml  group.php     install      portal.php   source       uc_
[root@jacken htdocs] # chmod -R o+w data/ config/ uc_server/ uc_client/
[root@jacken htdocs] #

然后访问IP安装discuz论坛,如下图,选择“我同意”

wKiom1UowrCDpj1aAASSErtEL9M218.jpg

进入如下界面,数据库安装,如果不存在则需要新建数据库并授权。

wKioL1Uow_6RcWXjAAK1D4ldVJg293.jpg

数据库创建及授权命令如下:

wKioL1UoxF7gUX2DAAF7x2MgQ3s346.jpg

点击下一步

wKioL1UoxF_Qci32AAMko8mjflw548.jpg

安装完成,点击访问

wKioL1UoxNeh5UbIAAQ0mdJ3row638.jpg

管理员登录

wKiom1Uow4zQOQvHAAOR_LroSpQ535.jpg

自此LAMP环境整合并搭建成功,通过IP直接访问即可



本文转自Jacken_yang 51CTO博客,原文链接:http://blog.51cto.com/linuxnote/1631251,如需转载请自行联系原作者

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
存储 Java 索引
十分钟教你学会JAVA中的学生管理系统
十分钟教你学会JAVA中的学生管理系统
384 2
|
存储 C语言
【C语言刷题每日一题#牛客网HJ73】——计算日期到天数转换(给定日期,计算是该年的第几天)
【C语言刷题每日一题#牛客网HJ73】——计算日期到天数转换(给定日期,计算是该年的第几天)
|
12月前
|
存储 算法 数据安全/隐私保护
散列值雪崩效应
散列值雪崩效应
165 5
Python语言如何使用MindOpt建模并求解混合整数线性规划问题
MindOpt是一款高效的优化算法软件包,求解算法实现了线性规划(LP)、混合整数线性规划(MILP)、二次规划(QP),可以支持命令行、c、c++、java和python调用。接下来我们将发布一系列文章,讲述各个语言如何使用 MindOpt 来求解数学规划问题。
Python语言如何使用MindOpt建模并求解混合整数线性规划问题
|
开发工具 git
fatal: unable to access ‘https://github xxxxxxxxx的解决方法
fatal: unable to access ‘https://github xxxxxxxxx的解决方法
1515 0
|
Java
java202303java学习笔记第三十九天自定义线程池详解2
java202303java学习笔记第三十九天自定义线程池详解2
106 0
|
消息中间件 存储 监控