LAMP扩展

一、开启apache虚拟主机

l 编辑httpd.conf配置文件

vim /usr/local/apache2/conf/httpd.conf

找到# Virtual hosts

#Include conf/extra/httpd-vhosts.conf  把此行注释去掉

l 编辑虚拟主机文件

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

找到:

<VirtualHost *:80>

ServerAdmin [email protected]

#管理员邮箱此行可注释掉

DocumentRoot "/usr/local/apache2/docs/dummy-host.example.com"

#修改为网站根目录

#如网站位置在/data/www/index.html 则该行命令修改为:

#DocumentRoot "/data/www/index.html"

ServerName dummy-host.example.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>

l PS:若配置好虚拟主机,出现无法访问,请修改httpd.conf

vim /usr/local/apache2/conf/httpd.conf

<Directory />                  修       <Directory />

Options FollowSymLinks                  Options FollowSymLinks

AllowOverride None          改          AllowOverride None

Order deny,allow                         Order deny,allow

Deny from all                为          Allow from all

</Directory>                            </Directory>

二、页面认证

l 增加验证安全,修改虚拟主机配置文件httpd-vhosts.conf的<VirtualHost *:80>虚拟主机模块里面加入以下代码(以admin.php为例):

<filesmatch admin.php>    #表示当访问此目录此页面时需要验证密码

AllowOverride AuthConfig

AuthName “www”        #此处引号内容为自定义

AuthType Basic

AuthUserFile /data/www/.htpasswd

#这里的/data/www/.htpasswd 可随便写一个路径或名字,没有限制

require valid-user
      </filesmatch>   #filesmatch用于单个文件,Directory用于目录

#若改成<Directory /data/www></Directory>表示当访问该目录都需要密码验证。

l 创建apache的验证用户

/usr/local/apache2/bin/htpasswd -c –m /data/www/.htpasswd  liang #创建liang用户,以md5方式加密,再添加用户时不需要-c参数。

l 重新加载配置文档

/usr/local/apache2/bin/apachectl graceful     #直接重新加载不需要restart

三、域名跳转

l 增加验证安全,修改httpd-vhosts.conf配置文件,在<VirtualHost *:80></VirtualHost>里面加入以下代码:

<IfModule mod_rewrite.c>

RewriteEngine on

#多个域名跳转则加入:

# RewriteCond %{HTTP_HOST} ^www.1chuangshe.com$ [OR]

RewriteCond %{HTTP_HOST} ^www.1chuangshe.com$

RewriteRule ^/(.*)$ http://www.yichuangshe.net/$1 [R=301,L]

#重定向到此域名(301表示永久重定向,last结束符)

</IfModule>

四、日志配置

l 增加验证安全,修改虚拟主机配置文件httpd-vhosts.conf的<VirtualHost *:80></VirtualHost>模块里面的ErrorLog以及CustomLog修改成以下代码:

ErrorLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/discuz-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/discuz-access_%Y%m%d.log 86400" combined env=!image-request

# 以上配置表示,错误以及正确日志每天归档一次,日志不记录图片访问相关信息

五、配置静态文件缓存(节点存储时效)

l 修改httpd.conf文件,(可以缓存全局环境,若修改在httpd-vhosts.conf只在该虚拟机生效),一般修改在全局配置文件httpd.conf,加入以下代码:

<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 hours"

ExpiresByType application/x-javascript "now plus 2 hours"

ExpiresByType application/x-shockwave-flash "now plus 2 hours"

ExpiresDefault "now plus 0 min"

</IfModule>

六、设置防盗链(防止服务器成为他人存储)

l 修改全局配置文件httpd.conf

SetEnvIfNoCase Referer "^http://.*\.lc-pb\.com" local_ref

SetEnvIfNoCase Referer "^www\.lc-pb\.com" local_ref

<filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif|png|css)">

Order Allow,Deny

Allow from env=local_ref

Deny from env!=local_ref

</filesmatch>

七、访问控制

l 控制该目录访问访问

<Directory /data/www/install>     #定义/data/www/install目录按规则操作

Order Deny,Allow            #规则顺序,先执行Deny后执行Allow

Deny from all                #拒绝所有访问

Allow from 127.0.0.1          #只允许127.0.0.1访问

</Directory>

l 控制该文件访问控制

<filesmatch "(.*)admin(.*)">   #定义根目录下含有admin字符按规则操作

Order Deny,Allow        #规则顺序,先执行Deny后执行Allow

Deny from all           #拒绝所有访问含有admin关键字的文件

Allow from 127.0.0.1    #允许自己访问含有admin关键字的文件

</filesmatch>

l 控制该目录下的该文件访问控制

<Directory /data/www/>        #定义/data/www目录访问规则

<filesmatch "(.*)admin(.*)">

Order Deny,Allow        #规则顺序,先执行Deny后执行Allow

Deny from all           #拒绝所有访问

Allow from 127.0.0.1          #允许自己访问

</filesmatch>

</Directory>

八、 禁止目录下解析PHP(针对某些上传页面做的安全设置,使用apache)

<Directory /data/www/data>

php_admin_flag engine off    ##禁止解析 php 的控制语句

<filesmatch "(.*)php">

Order deny,allow

Deny from all

</filesmatch>

</Directory>

九、通过rewrite 限制某个目录和限制user_agent(即用户代理,不仅表示浏览器标识还包括搜索引擎)

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{REQUEST_URI} ^.*/tmp/* [NC,OR]

RewriteCond %{HTTP_USER_AGENT} ^*Firefox/4.0* [NC,OR]

RewriteCond %{HTTP_USER_AGENT} ^*Baiduspider/2.0*  [NC]

RewriteRule .* - [F]

</IfModule>

##限制了/tmp目录访问,并把火狐浏览器以及百度引擎RewriteRule .* - [F]直接禁止访问

十、扩展模块安装(以PHP为例子,该方法适用于apache、nginx服务等)

当编译安装时缺少没一个模块(即选项)时,可用一下方法

需要安装yum install –y autoconf

l 下载mencache源码包,并解压,进入解压后的源码包目录;

l 加载编译文件

/usr/local/php/bin/phpize    ##此路径为PHP已安装的路径

./configure –with-php-config=/usr/local/php/bin/php-config

make

make install

cp modules/memcache.so /usr/local/php/ext

l 修改php.ini文件,在最后加上extension = memcache.so

vim /usr/local/php/etc/php.ini

l 重新加载apachel服务,然后检验是否加载成功:

/usr/local/apache2/bin/apachectl graceful

l 查看加载模块

/usr/local/php/bin/php –m

##有memcache则表示成功。

时间: 2024-11-14 09:50:43

LAMP扩展的相关文章

bash-scripts源码安装lamp(apache、php及部分扩展、mysql)

安装包版本:httpd-2.2.29.tar.gzzlib-1.2.8.tar.gzapr-util-1.5.4.tar.gzapr-1.5.1.tar.gzlibpng-1.6.17.tar.gzjpegsrc.v9a.tar.gzlibgd-gd-2.1.1.tar.gzphp-5.6.7.tar.gzfreetype-2.5.5.tar.gzlibmcrypt-2.5.8.tar.gzlibxml2-2.9.2.tar.gzmysql-5.6.23.tar.gz ======安装包下载网站

Ubuntu14下LAMP环境的安装以及yaf扩展的安装

前段时间在ubuntu下安装了lamp环境,记录一下安装过程方便以后查阅. 安装lamp环境 ① 安装apache sudo apt-get install apache2 系统会弹出如图所示的提示,此时需要输入用户的密码才可以安装,下面其他安装操作都需要输入密码,每次都一样. 此时打开浏览器 输入localhost,显示如下界面表示安装成功. ② 安装php sudo apt-get install php5 ③ 安装mysql sudo apt-get install mysql-serve

基于Centos 6.5 配置分离式LAMP平台环境的一次扩展实现多PHP Apache和自建DNS来提升LAMP的负载

要达到的目的双Apache+PHP能正常的被DNS轮询解析到Apache 1 2 服务器能正常访问NFS上的静态资源PHP 1 2 服务器能正常访问NFS上的PHP资源Apache 1 2 和PHP 1 2服务器都能和MariaDB数据库服务器通信最终实现低价格提高网站负载的方案 由于这里使用了7台服务器所以下文区别服务器的方法请看命令行的[[email protected] ~]这个字段 服务器编号 服务器IP 服务器安装的服务 服务器系统 LookBack163 172.16.41.163

linux下搭建lamp环境以及安装swoole扩展

linux下搭建lamp环境以及安装swoole扩展   一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源 输入下面命令: yum -y update 1.安装Apache [[email protected] ~]# yum -y install httpd # 开机自启动 [[email protected] ~]# chkconfig httpd on # 启动httpd 服务 [[email protected] ~]# service httpd s

LAMP平台扩展:基于NFS服务实现博客站点负载均衡

nfs简介: nfs:Network File System,网络文件系统:是一种分布式文件系统协议,最初由Sun公司开发.其功能旨在允许客户端主机可以像访问本地存储一样通过网络访问服务器端文件. NFS和其他许多协议一样,是基于RPC协议实现的. rpc:Remote Procedure Call,远程过程调用:是一个计算机通信协议.该协议允许运行于一台计算机的程序调用另一台计算机的子程序.调用远程主机上的函数,一部分功能由本地程序,另一部分功能由远程主机上的函数完成. rpcbind:RPC

Ubuntu 17.10 用 apt 搭建 lamp 环境、安装 phpmyadmin、redis 及扩展、mysql 扩展、开启错误提示、配置虚拟主机

最终环境: Ubuntu17.10.Apache2.4.27.MySQL5.7.20.PHP7.1 1. 安装 apache 官方源有,直接安装: sudo apt-get install apache2 2. 安装 mysql 官方源有,直接安装: sudo apt-get install mysql-server 安装期间会提示设置 MySQL administrator 的密码 ========================================================

九周第四次课(2月26日) 11.1 LAMP架构介绍 11.2 MySQL、MariaDB介绍 11.3/11.4/11.5 MySQL安装 扩展 mysql5.5源码编译安装

11.1 LAMP架构介绍11.2 MySQL.MariaDB介绍11.3/11.4/11.5 MySQL安装扩展mysql5.5源码编译安装   http://www.aminglinux.com/bbs/thread-1059-1-1.html mysql5.7二进制包安装(变化较大)  http://www.apelearn.com/bbs/thread-10105-1-1.html =====================================================

lamp基于fcgi编译安装,支持xcache扩展

Apache:服务器地址192.168.88.128 mysql:服务器地址192.168.88.140 php:服务器地址192.168.88.139 编译安装过程,服务器的先后顺序:  apache--->mysql--->php 或者 mysql--->apache--->php 第一步:编译安装Http2.4.18:    192.168.88.128 1.所需要的关联包, apr-1.5.1.tar.gz apr-util-1.5.2.tar.bz2 httpd-2.4.

Ubuntu --- lamp环境下安装php扩展和开启apache重写

安装教程参考:http://www.laozuo.org/8303.html 1.安装php扩展(比如安装mbstring) 先搜索相关的包 apt-cache search php7 再安装 apt-get install php7.0-mbstring 2.开启apache重写 先开启重写功能 sudo a2enmod rewrite 再修改/etc/apache2/sites-enabled/下对应的配置文件 <Directory /> Options FollowSymLinks Al