linux学习笔记-第十九课-LAMP之网站搭建(二)

一、网站搭建前提

搭建好LAMP运行环境

下载网站程序,这里以Discuz X 3.2 作为示例

Discuz 程序下载地址:

   简体中文GBK http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip

   繁体中文BIG5 http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_TC_BIG5.zip

   简体UTF-8 http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_UTF8.zip

   繁体UTF-8 http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_TC_UTF8.zip

二、安装,配置

# 创建网站程序文件目录
[[email protected] ~]# mkdir /data/mydiscuz/    <== 放网站程序的地方,起一个自己知道的名字
# 解压安装程序,将upload里面的文件移到 网站监控目录下/data/mydiscuz

[[email protected] mydiscuz]# mv upload/* .

修改apache主配置文件httpd.conf,开启虚拟主机配置

# Virtual hosts
# 将这一行前面的注释符“#”去掉
Include conf/extra/httpd-vhosts.conf

修改apache虚拟主机配置文件httpd-vhosts.conf,保留以下内容,

[[email protected] ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
NameVirtualHost *:80
<VirtualHost *:80>
# 管理员邮件地址,一般不需要,刻意注释掉
    #ServerAdmin [email protected]
# 主机地址
    ServerName www.myd.com
# 监控的文件目录
    DocumentRoot "/data/mydiscuz"
</VirtualHost>

检测配置信息,重启apache服务

通过浏览器输入IP地址,出现如下界面:

点“我同意”,进入下一步,会看到当前的环境信息,提示所需的目录没有权限,我们需要进行权限更改。

# 修改这些目录的权限
[[email protected] mydiscuz]# chown -R daemon.daemon data/ > uc_client/data/ uc_server/data/ config/

权限修改完毕,可以下一步了,我们是第一次安装,所以选择全新安装,下一步

接下来我来配置mysql数据库信息,为网站创建数据库,和相应账号

# 第一次使用mysql,需要给mysql配置一个mysql管理员密码
[[email protected] ~]# mysqladmin -u root password ‘mysql123‘
# 在登录mysql,就需要使用密码了
[[email protected] ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.1.40-log MySQL Community Server (GPL)

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

# 创建名为mydiscuz的数据库,注意mysql的每一句的结束需要加分号“;”,表示结束
mysql> create database mydiscuz;           
Query OK, 1 row affected (0.00 sec)

# 将本机mydiscuz数据库的所有权限,授给名为mydiscuz的用户,密码为mydiscuz123
mysql> grant all on mydiscuz.* to ‘mydiscuz‘@‘localhost‘ identified by ‘mydiscuz123‘;
Query OK, 0 rows affected (0.00 sec)

# 退出结束mysql
mysql> exit;
Bye
[[email protected] ~]#

现在数据库基本信息创建完毕,转到浏览器,进行配置

输入完毕之后,下一步,进行安装

安装完成

三、apache功能配置的增加

apache的功能的添加,主要是对虚拟配置文件httpd-vhosts.conf的修改

1 )用户认证

① 用htpassword 创建认证的用户和密码

# -c 为创建,只在第一次生成时,配置,如果后面使用不需要加参数-c,加了之后就会重写
# -m 为用MD5进行加密
[[email protected] ~]# /usr/local/apache2/bin/htpasswd -c /data/mydiscuz/.htppasswd mylinux
New password:
Re-type new password:
Adding password for user mylinux
[[email protected] ~]#
# 两次不同的加密方案
[[email protected] ~]# cat /data/mydiscuz/.htppasswd
mylinux:fq4fMf7jZfuNY       <== 以随机字符进行加密
[[email protected] ~]# cat /data/mydiscuz/.htppasswd
mylinux:$apr1$kSKaK0dy$EV/fh3twLG2d2oR99apo3.       <== 以MD5值进行加密
[[email protected] ~]#

② 将配置加入以下内容

# 用户认证
    <Directory *>
            AllowOverride AuthConfig
            # 输入对话框提示信息
            AuthName "Please input your info"
            # 指定字符类型
            AuthType Basic
            # 指定用户文件地址
            AuthUserFile /data/mydiscuz/.htppasswd
            require valid-user
    </Directory>

效果示例 :当启用用户认证,输入主机地址,会弹出认证窗口,如下图:

2 )域名跳转

域名跳转 :主机有多个域名地址,有主域名地址,将所有指向主机的域名地址,自动跳转到默认的主域名地址上。

配置示例

# 域名跳转(注 :跳转功能开启的前提是定义域名别名,将所有非主域名的地址定义到别名
中)
    <IfModule mod_rewrite.c>
        # 开启域名跳转功能
        RewriteEngine on
        # 跳转条件一:第一个域名地址
        RewriteCond %{HTTP_HOST} ^www.b.com [OR]
        # 跳转条件二:第二个域名地址
        RewriteCond %{HTTP_HOST} ^www.c.com$
        # 跳转规则:所有主机域名地址自动跳转执行,主域名地址
        RewriteRule ^/(.*)$ http://www.a.com/$1 [R=301,L]
    </IfModule>

3 )配置apache日志(错误日志与访问日志)

# 配置日志

    # 配置错误日志(附加日志切割功能)
    ErrorLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/mydiscuz-error_%Y%m%d.log 86400"
    # 设置请求的内容
    SetEnvIf Request_URI ".*\.gif$" image-request
    SetEnvIf Request_URI ".*\.jpg$" image-request
    SetEnvIf Request_URI ".*\.png$" image-request
    SetEnvIf Request_URI ".*\.bmp$" image-request
    SetEnvIf Request_URI ".*\.swf$" image-request
    SetEnvIf Request_URI ".*\.js$" image-request
    SetEnvIf Request_URI ".*\.css$" image-request
    # 配置访问日志(附加日志切割功能)
    CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/mydiscuz-access_%Y%m%d.log 86400" combined env=!image-request

4 )防盗链

# 配置防盗链
    # 配置转发条件
    SetEnvIfNoCase Referer "^http://.*\.a\.com" local_ref
    SetEnvIfNoCase Referer ".*\.a\.com" local_ref
    SetEnvIfNoCase Referer "^$" local_ref
    # 匹配文件关键字
    <filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif)">
        Order Allow,Deny
        Allow from env=local_ref
    </filesmatch>

5 )文件访问控制

#配置文件访问控制
    <Directory /data/mydiscuz/>
            Order deny,allow
            Deny from all
            # 目录只对本机开放
            Allow from 127.0.0.1   
            # 对管理页面进行管理
            <filesmatch "(.*)admin(.*)">
            Order deny,allow
            Deny from all
            # 管理页面只对本地和指定的IP方向
            Allow from 127.0.0.1
            </filesmatch>
    </Directory>

测试空格

6 )配置静态文件缓存

<IfModule mod_expires.c>
    ExpiresActive on
    ExpiresByType image/gif  "access plus 1 days"
    ExpiresByType image/jpeg "access plus 24 hours"
    ExpiresByType image/png "access plus 24 hours"
    ExpiresByType text/css "now plus 2 hour"
    ExpiresByType application/x-javascript "now plus 2 hours"
    ExpiresByType application/x-shockwave-flash "now plus 2 hours"
    ExpiresDefault "now plus 0 min"
</IfModule>
时间: 2024-10-15 05:35:38

linux学习笔记-第十九课-LAMP之网站搭建(二)的相关文章

linux学习笔记-第十八课-LAMP之环境搭建(一)

一.LAMP搭建前的准备 LAMP是四套软件的缩写,分别指的是L-Linux,A-Apache,M-Mysql,P-php,利用这四套软件搭建的web的运行环境. 搭建前需要需要下载好软件 apache http://syslab.comsenz.com/downloads/linux/httpd-2.2.16.tar.gz mysql  32位 :http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glib

linux学习笔记-第十九课-LAMP之php 与 mysql 配置(三)

一.php 编译完的php,配置文件为空,我们需要将php的配置文件(php.ini)从解压的源码包中的php.ini-development(开发调试模板)和php.ini-production(生产运行模板)中复制一份到php的配置目录中,且名字改为php.ini 1 )disable_functions 配置 默认为空,修改为 disable_functions = eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passt

linux学习笔记-第十九课-LAMP之 mysql (四)

mysql日常操作指令 1 )mysql管理员密码的更改,mysql安装完毕后,管理员root的密码默认为空,需要进行修改 格式 :mysqladmin -u root password '新密码' 示例 : [[email protected] ~]# mysqladmin -u root password '123456' [[email protected] ~]# mysql -u root -p # 这时候就需要使用密码登陆mysql Enter password:          

linux学习笔记-第二十六课-Samba与squid

一.Samba Samba是SMB的一种实现方法,主要用来实现Linux系统的文件和打印服务.Linux用户通过配置使用Samba服务器可以实现与Windows 用户的资源共享.守护进程smbd和nmbd是Samba的核心,在全部时间内运行.nmbd程序使得通过企图计算机可以浏览Linux服务器. 1.Samba的安装 我们只通过yum安装 [[email protected] ~]# yum install -y samba 2.Samba配置 [[email protected] ~]# v

Linux学习笔记(十九)文件压缩

一.常见的压缩文件 Windows .rar .zip .7z Linux .zip,.gz,.bz2,.xz,.tar.gz,.tar.bz2,.tar.xz文件压缩可以节省内存,也可以节省传输速度 二.gzip首先创建了一个文件夹 /tmp/d6z/找了些比较大的文件写入1.txt例如find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \ :多执行几次 gzip 1.txt 就可以将文件1.txt压缩并且删除源文

linux学习笔记-第二十四课-LNMP-Nginx高级配置(三)

一.用户认证 用户认证功能是利用Apache的工具htpasswd生成的密钥,所以需要安装Apache的这个工具即可,我们用yum来安装就可以. [[email protected] ~]# yum install -y httpd-tools [[email protected] ~]# htpasswd -cm /usr/local/nginx/conf/.htpasswd mydiscuz New password: Re-type new password: Adding passwor

linux学习笔记-第十四课-日常管理(一)

一.w和uptime [[email protected] ~]# w  20:29:01 up 28 min,  1 user,  load average: 0.00, 0.00, 0.00 USER     TTY      FROM              [email protected]   IDLE   JCPU   PCPU WHAT mylinux  pts/0    192.168.1.105    20:12    0.00s  0.32s  0.26s sshd: my

linux学习笔记-第二十八课-MySQL主从复制,读写分离配置

MySQL主从配置 配置准备将要配置的数据库进行主从同步,主从的服务器上都要有同一个数据库 一.配置mysql主服务器 [[email protected] ~]# vim /etc/my.cnf .................................... log-bin=mysql-bin     <== 打开日志格式 .................................... server-id=1           <== 主从标记 ............

linux学习笔记-第十六课-日常管理(三)

一.任务计划 1 )任务计划分为两类: 一类是一次性任务计划,由at控制的 另一类是例行周期性计划,由cron控制的 2 )at 一次性任务计划 选项与参数:    -m  :当 at 的工作完成后,即使没有输出信息,亦以 email 通知使用者该工作已完成.    -l  :at -l 相当於 atq,列出目前系统上面的所有该使用者的 at 排程:    -d  :at -d 相当於 atrm ,可以取消一个在 at 排程中的工作:    -v  :可以使用较明显的时间格式列出 at 排程中的