我爱帮助网--QQ交流群号

Nas交流与矿渣群(unraid 群晖 猫盘 蜗牛等):372167400         物联网/智能家居群:518812757             帮助教程:手册大全

软件使用与建站群:1057308983      虚拟化交流群:13448651

用LAMP实现DISCUZ论坛---完全的配置文档

2017-05-21 16:01:00
zstmtony
转贴
3510



原作者及对应链接:http://f1rst.blog.51cto.com/163900/178935

补充:

APACHE禁止上传目录执行脚本权限的配置 (2013-08-27 15:31:28)转载▼
标签: apache httpd 目录 禁止执行 权限 分类: APACHE(11/26)
比如discuz下设置attachement 目录不可执行
打开/etc/httpd/httpd.conf

 #attachment没有执行脚本权限 Add by breezexu
*Directory "/var/www/html/upload/data/attachment"*
 *FilesMatch ".(php|asp|jsp)$"*
  Deny from all
 */FilesMatch*
*/Directory*
其中*改成左右健号
复制上述几行加入其中,重启APACHE
service httpd restart


---------------------------------------------------------------------------------


首先安装mysql

一般情况下我们都喜欢把一些额外的软件或者是大型的应用程序放在/opt目录下,当然放在/usr/local/里也是一样的,或许更多人习惯这么做,但在这里我们还是把mysql安装在/opt目录里。
#mkdir /opt/software
#adduser king
#passwd king
#mount /dev/cdrom /mnt  /* 获得mysql源码包 在学生用机里能找到 直接挂载即可 */
#cd /mnt
#cp * /opt/software  /* 把所有的内容拷贝到opt目录下,包括之后需要用到的apache php phpbb等 */
#cd /opt/software
#tar xzvf mysql-5.0.45.tar.gz
#cd mysql-5.0.45
#./configure --prefix=/opt/mysql --with-mysql-user=king --with-extra-charsets=all --with-unix-socket-path=/opt/mysql/var/mysql.sock
/* 如果gcc没安装的话会提示出错,需要先安装gcc编译环境,某些机器在make的时候也会出错,这个时候需要安装上gcc4-c++和gcc-c++
gcc在rhel第3张光盘,安装gcc之前需要先到第二张光盘去安装cpp软件包,然后再安装gcc,使用rpm -ivh --aid安装,gcc4-c++和gcc-c++也在这张盘
*/
/*
--prefix=/opt/mysql 把mysql-4.0.16指定安装到/opt/mysql目录中;
--with-extra-charsets=all 对多语言的支持;
--with-unix-socket-path=/opt/mysql/var/mysql.sock 这个是指定mysql服务器启动后,联机套接字文件所处的位置和文件名,也就是说,如果mysql服务器成功启动后,就能在/opt/mysql/var目录中看到mysql.sock文件。如果看不到,肯定是mysql启动不了。
--with-mysqld-user=king 这个是让mysql服务器也能让系统中普通用户king也能启动mysql服务器。当然要活学活用了:)你也可以把king换成你的系统中已经存在的普通用户,比如您的系统中已经存在bob这个用户,那就把king替换成bob就行了。用普通用户来启动mysql的好处是:mysql的进程会自己死掉自动退出。当然root用户也可以,不过有时mysql有些进程死了,但不会自动退出,root自己也杀不掉。所以用普通用户就有这样的好处,大多不会出现mysql进程已死,但不会退出的情况;
*/
 
#make
#make install
/* make的时间会比较的长,根据你的机器的配置而定 */
到这里mysql就装完了 但还不能正常运行,还需要进一步的做配置
一般的情况下mysql要找配制文件my.cnf,位置在/etc目录下,所以我们得把文件my.cnf文件放到/etc/目录下。让mysql服务器启动时能找到它。
我们安装好mysql后,配制文件应该在/opt/mysql/share/mysql目录中,配制文件有几个,比如my-huge.cnf my-medium.cnf my-large.cnf my-small.cnf
,不同的流量的网站和不同配制的服务器环境,当然需要有不同的配制文件了。一般的情况下,my-medium.cnf这个配制文件就能满足我们的大多需要;
进入/opt/mysql这个目录,看一下是不是已经安装好了
#cd /opt/mysql/
# ls
我们把/opt/mysql/share/mysql这个目录下的my-medium.cnf,复制为my.cnf到/etc目录下。
# cp /opt/mysql/share/mysql/my-medium.cnf /etc/my.cnf
做了这些工作以后,还得创造MySQL授权表, 否则数据库也是启动不了。mysql_install_db,这个命令的用途就是做这个的。mysql的命令都安装到了/opt/mysql/bin这个目录中。
#opt/mysql/bin/mysql_install_db
运行mysql_install_db命令过后,我们查看/opt/mysql就会发现,有个var的目录。这个目录,就是用来装所有数据库的位置,比如我们创建了benet的数据库后,就在在/opt/mysql/var目录中有benet的目录。
mysql服务器启动,应该是/opt/mysql/share/mysql目录中的 mysql.server
启动方法是:
#/opt/mysql/share/mysql/mysql.server start
#ps -aux | grep mysqld
如果出现的仅仅是如下的一行,那mysql是没有启动成功。
root 3345 0.0 0.1 5812 648 pts/2 S 17:41 0:00 grep mysqld
我们如何查看错误信息呢?在哪里查看呢?应该到/opt/mysql/var目录中去找一个带有.err后缀的文件
#cd /opt/myql/var
#more *.err
其实这是权限方面的事,我们把权限设置一下就OK了。我们要设置的权限是/opt/mysql/var的目录。要设置为1777。
#chmod 755 /opt/mysql/var
另外我们要用king这个用户来启动mysqld服务器,当然也得改变一下 /opt/mysql/var的属主
#chown -R king:king /opt/mysql/var
#su king
# /opt/mysql/share/mysql/mysql.server start
为了让mysql也能让我们刚才编译是指定的普通用户king也能启动mysql服务器。所以我们还要把/opt/mysql目录归属到king这个用户手下,在这里,我们要用到chown命令。
#chown -R king:king /opt/mysql/
至此mysql已经编译安装完成了.
数据库安装好后,我们应该为mysql数据库创建一个管理帐号。要把root用户设置为管理员,我们应该运行下面的命令:
# /opt/mysql/bin/mysqladmin -u root password 123456
如何进入mysql数据库?以mysql数据库管理员root,密码为123456为例
#/opt/mysql/bin/mysql -u root -p 123456
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6 to server version: 3.23.58
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>

ps:操作这些命令的时候,应该把mysqld服务器打开.

必备知识:熟悉mysql的基本操作
-------#-------------------
安装apache
#tar xzvf
#cd httpd-*
#./configure --prefix=/opt/apache --enable-track-vars --enable-cgi --with-config-file-path=/opt/apache/conf
--prefix=/opt/apache 指定把apahce安装到/opt/apache目录中;
--enable-cgi 支持CGI;
--with-config-file-path=/opt/apache/conf 指定把apache的配制文件放在/opt/apache/conf中;比如httpd.conf配制文件就在这个目录中;
--enable-track-vars 为启动cookie的get/post等追踪功能
也可以像书上那样加--enable-so  --enbale-rewrite等等,有很多的可选项。
#make
#make install
安装完成后,会在/opt/目录下生成/opt/apache
# /opt/apache/bin/apachectl start
ps:同样的,修改配置文件最好做备份,这是一个良好的习惯
找到httpd.conf修改ServerName字段
把#号去掉,改成
www.linux.com,自己也可以改成其他的地址
重启服务,在客户机测试
http://www.linux.com 
能显示apache测试页面即可
这里因为没有配置dns,所以需要在客户机配置hosts文件
------------------------
安装php
学生机的源码包可能有问题 如果配置不成功就换用我拷贝给你们的新版的源码包 或者自己去www.php.net去下载
如果./configure再有问题 提示xml2错误 
/* Configuring extensions
checking whether to enable LIBXML support... yes
checking libxml2 install dir... no
checking for xml2-config path...
configure: error: xml2-config not found. Please check your libxml2 installation.
*/
去安装libxml2-devel软件包 在linux光盘3 如果没错就不要理会了
#tar xzvf php-******
#cd php-*.*.*
#./configure --prefix=/opt/php --with-mysql=/opt/mysql --with-apxs2=/opt/apache/bin/apxs --enable-track-vars --enable-force-cgi-redirect --with-config-file-path=/opt/php/etc
--prefix=/opt/php 指定把php-4.3.4安装到/opt/php目录中;
--with-mysql=/opt/mysql 指定mysql数据服务器安装的位置;
--with-apxs2=/opt/apache/bin/apxs 这是加入apache中为DSO模块的位置;
-enable-track-vars 为启动cookie的get/post等追踪功能
--with-config-file-path=/opt/php/etc 指定php的配制文件存放的目录是/opt/php/etc目录,我们安装完成后,也要把php.ini复制到这个目录中来。
#make
#make install
#cp php.ini-dist /opt/php/etc/php.ini
编辑/opt/php/etc/php.ini文件,找到如下的一行
;default_charset = "iso-8859-1"
在这行下面加一行
default_charset = "gb2312"
更改apache的配制文件:得加一行,目的是让apache能解释php程序。
找到#AddType application/x-tar .tgz 这行,在下面加一行。前面不要加#号。
AddType application/x-httpd-php .php
找到下面一行在后面加上index.php,这表示网站的默认页也能够为index.php
DirectoryIndex index.html index.html.var index.php 
改变了http.conf后,要重启apache服务器,否则不会生效
然后我们在网站存放的目录下建一个index.php的文件。我们还是用前面apache自己指定网站存放的位置。在这个目录中建一个文件index.php,内容是如下<? phpinfo(); ?>
然后改变这个文件的权限
chmod 755 index.php
在浏览器中打入 http://localhost/index.php ,就能看到php的信息了。如果还是出现的是 <? phpinfo(); ?> 字样的页面,那就是没有成功,可能是您改变了apache的配制文件,忘记了重启apache服务器了,要重启一下试试看。

把apache mysql php 配制好后,就重启httpd 和mysql服务。
 
----------------------
安装Discuz
上传 upload 目录中的文件到apache的htdocs下
 cp -r upload/ /opt/apache/htdocs/

设置目录属性 全部设置为777 不然后面install会提示权限不够  会提示你哪些目录需要设置777
 以下这些目录需要可读写权限 
 ./templates 
 ./attachments 
 ./forumdata 
 ./forumdata/cache 
 ./forumdata/templates 
 ./forumdata/threadcaches 
 ./forumdata/logs 
3. 执行安装脚本
   请在浏览器中运行 install 程序,即访问 http://您的域名/论坛目录/install/
安装向导无法写入配置文件, 请设置 config.inc.php 程序属性为可写状态(777)
缓存目录 ./uc_client/data/cache 无法写入, 请设置属性为可写状态 (777)
缓存目录 ./uc_server/data 无法写入,请设置属性为可写状态 (777)。
缓存目录 ./uc_server/data/cache 无法写入,请设置属性为可写状态 (777)。
缓存目录 ./uc_server/data/view 无法写入,请设置属性为可写状态 (777)。
缓存目录 ./uc_server/data/avatar 无法写入,请设置属性为可写状态 (777)。
缓存目录 ./uc_server/data/logs 无法写入,请设置属性为可写状态 (777)。
缓存目录 ./uc_server/data/backup 无法写入,请设置属性为可写状态 (777)。
缓存目录 ./uc_server/data/tmp 无法写入,请设置属性为可写状态 (777)。
回到服务器 按照提示 继续设置这些目录的权限
权限设置好之后就到了安装向导
这里需要回到服务器 连接mysql 创建论坛需要使用的数据库discuz
mysql>create database discuz;
mysql>show databases;
然后点击安装
填写论坛数据库用户为root 密码cisco 这个就是mysql数据库的用户
邮箱随便填 但最好填个能用的
其他的自己按照需求去填写就可以了
注意的是第一行的数据库名不要改 就是localhost 因为web和mysql在一起 不用改

最后就显示安装成功了
点击进入论坛
回到服务器 为apache设置虚拟目录

NameVirtualHost 10.1.1.1:80
<VirtualHost 10.1.1.1:80>
   ServerName bbs.linux.com
   DocumentRoot /opt/apache/htdocs/upload/
</VirtualHost>
别忘了重新启动服务器

这样就可以用bbs.linux.com来访问论坛了
当然 在没设置dns情况下别忘记修改hosts文件
-------------------
论坛基本设置
用admin登陆论坛
点击右上角的系统设置,在这里可以对整个论坛做出控制,非常方便,玩过论坛经常逛论坛的同学应该对这个不会陌生
想设置什么就设置什么
这里需要你删除install目录下的index.php
 

0
发表评论
评论通过审核后显示。
文章分类
联系我们
联系人: 王先生