创建discuz工作目录
mkdir /data/www
下载discuz
cd /data/www
wget http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip
解压压缩包
unzip Discuz_X3.2_SC_GBK.zip
将解压后upload文件夹中的文件移动到/data/www/中
mv upload/* /data/www/
配置/usr/local/apache2/conf/httpd.conf包含httpd-vhosts.conf文件
vim /usr/local/apache2/conf/httpd.conf
在410行
取消 # Include conf/extra/httpd-vhosts.conf前面的注释符#
配置虚拟主机
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
在文档末尾添加
<VirtualHost *:80>
DocumentRoot "/data/www"
ServerName www.123.com
</VirtualHost>
配置mysql,给discuz增加一个账户
/usr/local/mysql/bin/mysql -uroot
创建数据库discuz并创建用户hpe密码是123456
create database discuz;
grant all on discuz.* to 'liuke'@'localhost' identified by '123456';
quit
配置Apache运行账号对discuz目录读写权限的支持
cd /data/www/
chown -R daemon:daemon data uc_server/data/ uc_client/data/ config/
在客户机的C:\Windows\System32\drivers\etc\hosts文件中添加记录解析记录
10.2.3.110 www.123.com
如果权限拒绝,记得右键hosts文件属性,修改权限
安装discuz
在浏览器中输入www.123.com,进入安装界面,如果有乱码情况,请右键页面,选择编码为GBK中文编码
安装界面就按照提示走
数据库名 discuz
数据库用户名为 liuke
数据库密码 123456
管理员密码 123456
重复密码 123456
安装完成后还是不能进入论坛的,我们要先进入管理后台界面
在浏览器中输入
www.123.com/admin.php
输入管理员的用户名、密码。进入后按照提示,删除安装文件
Please delete install/index.php via FTP!
cd /data/www/install
rm -rf index.php
此时我们再输入论坛网址www.123.com即可成功进入
给后台管理管理界面增加一层用户认证
虽然我们对于后台设置的有密码,但是还不够安全,安全起见,我们设置一层安全认证
编辑虚拟主机配置文件httpd-vhosts.conf
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
找到咱们最后添加的虚拟主机配置,在里面添加配置,改成如下配置:
<VirtualHost *:80>
DocumentRoot "/data/www"
ServerName www.123.com
<Directory /data/www/admin.php>
AllowOverride AuthConfig
AuthName "asdsad"
AuthType Basic
AuthUserFile /data/.htpasswd
require valid-user
</Directory>
</VirtualHost>
配置说明:
<Directory /data/www/admin.php> 说明对那个目录进行验证
AllowOverride AuthConfig
AuthName "asdsad" 这个授权用户名其实没啥用
AuthType Basic
AuthUserFile /data/.htpasswd 指定密码文件的位置
require valid-user
</Directory>
配置用户和密码
/usr/local/apache2/bin/htpasswd -cm /data/.htpasswd liuke
回车后输入密码
654321
然后重启Apache服务器
/usr/local/apache2/bin/apachectl graceful
进入客户端浏览器,先把之前打开的所有www.123.com相关的网页全部关闭,然后输入www.123.com/admin.php,即可看到用户认证界面,输入刚才设置的用户名密码
liuke
654321
禁用默认虚拟主机的解析
默认虚拟主机有个特点,凡是解析到这台机器的域名,不管是什么域名,只要在配置文件中没有配置,那么都会访问到这个主机上来。为了避免别人乱解析,所以应该把默认也就是第一个虚拟主机给禁止掉
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
把下面的配置:
<VirtualHost*:80>
ServerAdminwebmaster@dummy-host.example.com
DocumentRoot"/usr/local/apache2/docs/dummy-host.example.com"
ServerNamedummy-host.example.com
ServerAliaswww.dummy-host.example.com
ErrorLog"logs/dummy-host.example.com-error_log"
CustomLog"logs/dummy-host.example.com-access_log" common
</VirtualHost>
修改为:
<VirtualHost*:80>
DocumentRoot"/tmp/tmp"
ServerNametmp.com
<Directory/tmp/tmp/>
Orderallow,deny
Deny from all
</Directory>
</VirtualHost>
在创建目录/tmp/tmp/
mkdir /tmp/tmp/
重启Apache服务器
/usr/local/apache2/bin/apachectl graceful
此时用ip去访问10.2.3.110
会出先403禁止访问的提示
问题集锦:
重启Apache服务器时出现如下错误
Warning: DocumentRoot [/usr/local/apache2/docs/dummy-host.example.com] does not exist
Warning: DocumentRoot [/usr/local/apache2/docs/dummy-host2.example.com] does not exist
原因:默认的两个虚拟主机根目录不存在
解决:
mkdir -p /usr/local/apache2/docs/dummy-host.example.com
mkdir -p /usr/local/apache2/docs/dummy-host2.example.com