LAMP(2)--结合discuz配置apache,mysql搭建论坛

★下载discuz

  mkdir /data/www   <== 先创建一个目录,用以存放网站程序
  cd /data/www
  wget  http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip
  unzip Discuz_X3.2_SC_GBK.zip

[root@yue www]# ls
Discuz_X3.2_SC_GBK.zip  readme  upload  utility

                         ①      ②       ③

①③没有什么用处我们可以将其删掉了

[root@yue www]# mv upload/*

[root@yue www]# ls
admin.php    crossdomain.xml         index.php   robots.txt  upload
api          data                    install     search.php  userapp.php
api.php      Discuz_X3.2_SC_GBK.zip  member.php  source      utility
archiver     favicon.ico             misc.php    static
config       forum.php               plugin.php  template
connect.php  group.php               portal.php  uc_client
cp.php       home.php                readme      uc_server

★配置apache

  • 编辑apache主配置文件 vim /usr/local/apache2/conf/httpd.conf

  #Include conf/extra/httpd-vhosts.conf  <== 将此行最前方的#删除,使这行内容发挥作用

  • vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

    删除第二个虚拟主机,只保留第一个即可,并对其进行配置

    其详细内容说明如下:

<VirtualHost *:80>

    ServerAdmin [email protected]   <== 管理员邮箱,可以不要
    DocumentRoot "/data/www"       <== 网站根目录      
    ServerName
www.cy111.com      <== 自定义的域名
    ServerAlias www.dummy-host.example.com <== 别名
    ErrorLog "logs/dummy-host.example.com-error_log"  <== 错误日志
    CustomLog "logs/dummy-host.example.com-access_log" common  <== 访问日志
</VirtualHost>

我们这时候红色两行即可,别的可以先暂且不考虑,可以将其先注释掉

[root@yue www]# /etc/init.d/apachectl -t
Syntax OK           检查一下配置文件有没有问题

[root@yue www]# /etc/init.d/apachectl graceful  重新加载一下配置文件

[root@yue www]# curl -x127.0.0.1:80 www.cy111.com  什么都没输出,说明虚拟主机生效了 

★配置mysql

[root@yue www]# /usr/bin/mysqladmin -uroot password ‘123456‘   为root用户设置密码

[root@yue www]# mysql -uroot -p123456   登录

mysql> create database discuz;         <== 创建库
Query OK, 1 row affected (0.00 sec)   

mysql> grant all on discuz.* to ‘sky‘@‘localhost‘ identified by ‘yueyue‘;
Query OK, 0 rows affected (0.00 sec) <== 给本地的sky用户授予权限

在浏览器访问www.cy111.com ,开始安装discuz,其中一个页面要求我们更改几个目录的权限让其支持apache账号可写(即:chown daemon:daemon  data  uc_server/data  uc_client/data config),更改完成之后便可以执行下一步了,按照要求操作最终我们成功搭建了一个论坛。

★为虚拟主机配置用户认证

◆什么是用户认证?

  比如我们成功搭建了一个论坛,在上面有一个用户登录的地方,我们通过用户名和密码可以登录admin用户,以管理员身份登录后便可以管理论坛的后台,这实际上是非常危险的事情,如果你设置的密码很简单或者有人恶意试出了管理员密码,这都可能造成很大的损失。这时我们可以针对 ***/admin.php网址做一个限制,在通过认证之后才可以进入管理员登录页面。

◆用户认证的配置

  • 编辑配置文件 vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

  在先前配置apache时添加的虚拟主机中加入以下内容:

  <Directory /data/web/test>
   AllowOverride AuthConfig  <== 规定我们接下来要做用户认证了
  </Directory>

  • vim /data/web/test/.htaccess
    加入一些内容:
    AuthName "frank share web"
    AuthType Basic
    AuthUserFile /data/web/test/.htpasswd
    require valid-user

  • 创建apache验证用户

    [root@yue data]# /usr/local/apache2/bin/htpasswd -c /data/www/test/.htpasswd yue
    New password:
    Re-type new password:                   <== 首次添加用户需要加-c命令,第二次就不需要了
    Adding password for user yue   

[root@yue data]# /usr/local/apache2/bin/htpasswd --help
Usage:
    htpasswd [-cimBdpsDv] [-C cost] passwordfile username
    htpasswd -b[cmBdpsDv] [-C cost] passwordfile username password

    htpasswd -n[imBdps] [-C cost] username
    htpasswd -nb[mBdps] [-C cost] username password
 -c  Create a new file.
 -n  Don‘t update file; display results on stdout.
 -b  Use the password from the command line rather than prompting for it.
 -i  Read password from stdin without verification (for script usage).
 -m  Force MD5 encryption of the password (default).       <== 使用MD5的加密算法
 -B  Force bcrypt encryption of the password (very secure).
 -C  Set the computing time used for the bcrypt algorithm
     (higher is more secure but slower, default: 5, valid: 4 to 31).
 -d  Force CRYPT encryption of the password (8 chars max, insecure). <== 默认
 -s  Force SHA encryption of the password (insecure).
 -p  Do not encrypt the password (plaintext, insecure).
 -D  Delete the specified user.
 -v  Verify password for the specified user.

  • vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

    <Directory /data/www/admin.php>  <== 已悄悄将此前的目录改为文件,我们试验成功说明写成

                                         文件也可以。
       AllowOverride AuthConfig   <== 在此行下加入一些内容

    </Directory>

    加入:

     AuthName "hera"    <== hera为自定义名称,显示为认证时候的提示信息
     AuthType Basic
     AuthUserFile /data/www/test/.htpasswd
     require valid-user

  • 重启apache服务

  刷新网页,使用之前创建的认证用户进行认证

 

技术分享

技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。