分类 "服务器" 下的文章

Windows 2008 R2的 IIS 7.5 架构 默认是不支持.shtml/.shtm的。需要自己配置。

打开IIS信息服务管理器,在网站的“MIME类型”中添加新的MIME类型。
文件扩展名:.shtml
MIME类型:text/html
然后重启IIS服务 或者 回收应用程序池 就可以了。

目前,SSI主要有以下几种用用途:
1、显示服务器端环境变量<#echo>
2、将文本内容直接插入到文档中<#include>
3、显示WEB文档相关信息<#flastmod #fsize> (如文件制作日期/大小等)
4、直接执行服务器上的各种程序<#exec>(如CGI或其他可执行程序)
5、设置SSI信息显示格式<#config>;(如文件制作日期/大小显示方式) 高级SSI;可设置变量使用if条件语句。

PHP5.4.x版本中出现了php.ini-developmenphp.ini-production

PHP配置文件与PHP5.2版本相比,命名发送了变化:

php.ini-production 对应于 php.ini-recommended

php.ini-development 对应于 php.ini-dist

通常要将 php.ini-production 重命名为 php.ini。

二者不同之处在于 php.ini-development 适合开发程式使用(测试用),

php.ini-recommended 拥有较高的安全性设定,则适合上线当产品使用。

所以,我一般将 php.ini-recommended 或者 php.ini-production 修改为 php.ini,确保测试环境(本地)与正式环境(线上)一致。

两者部分区别表:

php.ini-production php.ini-development
error_reporting = E_ALL & ~E_DEPRECATED error_reporting = E_ALL | E_STRICT
display_errors = Off display_errors = On
display_startup_errors = Off display_startup_errors = On
track_errors = Off track_errors = On
html_errors = Off html_errors = On
mysqlnd.collect_memory_statistics = Off mysqlnd.collect_memory_statistics = On
session.bug_compat_42 = Off session.bug_compat_42 = On
session.bug_compat_warn = Off session.bug_compat_warn = On

一直苦于在ubuntu系统下大文件或者是含有N多文件的小文件夹的ftp上传和下载,使用lftp可以轻轻松松搞定!

测试开始:

基于Windows的Serv-U FTP服务端:

IP:192.168.1.11 用户名:piaoyun
基于Fedora的客户端。

一、上传文件夹,向192.168.1.11服务端上传文件夹piaoyuncc

#lftp 192.168.1.11
lftp 192.168.1.11:~> user piaoyun
口令:
lftp piaoyun@192.168.1.11:~> mirror -R /home/piaoyun/piaoyuncc

Total: 11 directory, 12 files, 0 symlinks
New: 12 files, 0 symlinks
1348684 bytes transferred

lftp piaoyun@192.168.1.11:~>

二、下载远程服务端的文件夹

lftp piaoyun@192.168.1.11:~> mirror download piaoyun
Total: 11 directory, 12 files, 0 symlinks
New: 21 files, 0 symlinks
1348684 bytes transferred

lftp piaoyun@192.168.1.11:~>

命令的基本用法是:
上传整个文件夹:mirror -R 本地文件夹
下载整个文件夹:mirror 远程文件夹 本地文件夹

Windows Server 2008 R2是一款服务器操作系统,提升了虚拟化、系统管理弹性、网络存取方式,以及信息安全等领域的应用,Windows Server 2008 R2也是第一个只提供64位版本的服务器操作系统。
当然,还有很多功能及性能等待你的发现哦,相信很多人都在“玩”了吧,但是系统每次登陆都比较麻烦,能否设置自动登陆呢?有兴趣一起来学习一下吧!

Windows server 2008 r2的自动登陆方法也比较多,在此分享一个实用简单的,通过命令来设置“用户帐户”项。
1

设置自动登陆方法

通过命令来设置“用户帐户”项。命令为:control userpasswords2 或者 rundll32 netplwiz.dll,UsersRunDll 复制过去粘贴运行即可。

1、首先,点击:开始-运行,如图。
02

2、在运行对话框中输入命令:control userpasswords2,如图。再回车或确定。
在此提示一下,如果你当前不是管理员权限的话,请切换到管理员。
03

3、然后会出现“用户帐户”对话框,如图,如果系统当前有其他用户,请选择你要设置自动登陆的用户 ,再将打勾取消。
04

4、取消后,则显示如图。我们点击:确定按钮。
05

5、会弹出设置自动登陆用户帐户及密码对话框,如图,我们只需要输入下该帐户的密码,最后点击:确定,没有任务提示,就完成了,你重启试一下吧,呵呵。
06

 

本博文由博主飘云(PiaoYun.CC)实际操作过程记录的、主要向大家介绍的是绿色版 MySQL 安装配置的实际操作流程,我们是在MySQL5.5.39的环境下对色版 MySQL进行正确的安装配置,以及对其具体的下载地址有一详细介绍,以下就是文章的详细内容介绍。

绿色版 MySQL 安装配置:

本人下载的MySQL是5.1版的

下载地址:http://downloads.mysql.com/archives/community/

下载免安装包:mysql-5.5.39-winx64.zip

解压该压缩文件到E:\mysql55

一、安装前的准备

在系统环境变量path中添加 E:\mysql55\bin (注:这是本人的MySQL安装路径)

二、设置配置文件

编辑mysql的运行配置文件 my.ini,如果没有,可以拿 my-medium.ini 复制然后更名成 my.ini

分别复制一份到 E:\mysql55C:\WINDOWS 中 这里复制 my.iniC:\WINDOWS 这一步我没操作。因为我是用apache

编辑该文件 my.ini 文件

[mysqld]
#设置绿色版MySQL 安装目录
basedir=E:/mysql55/

#设置mysql数据库的数据的存放目录,必须是data,或者是\\xxx\data
datadir=E:/mysql55/data

#设置mysql服务器的字符集
default-character-set=utf8

[client]
#设置mysql客户端的字符集
default-character-set=gbk

# 设置数据库默认存储引擎
# The default storage engine that will be used when create new tables when
# default-storage-engine=INNODB
default-storage-engine=MyISAM

注:分割线中的配置为可选,可以在建立数据库的时候自行设置。

3.安装mysql服务

从MS-DOS窗口进入目录E:\mysql55\bin,运行如下 命令:

mysqld.exe –install PiaoYun –defaults-file=”E:\mysql55\my.ini”

其中,MySQL55 只是该服务的名字,可以自己另外设置,比如改为 PiaoYun

即:

E:\mysql55\bin\mysqld.exe --install PiaoYun --defaults-file="E:\mysql55\my.ini"

四、启动mysql数据库

还在上面的命令窗口里面,输入命 令:net start mysql5

这样就启动了mysql 服务。

五、停止服务

执行 net stop mysql55 即可

六、设置MySQL数据库密码

以上5步绿色版MySQL 安装完毕之后,MySQL默认的root用 户密码为空的。

可以设置一下root的密码:

win+R -> 输入cmd->打开windows命令控制台,随意定位文件目录,如下

E:\PiaoYun\mysqlTest\src>mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.1.39-community MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use mysql
Database changed

mysql> update user set password=password('123456') where user='root';
Query OK, 2 rows affected (0.03 sec)
Rows matched: 2 Changed: 2 Warnings: 0

mysql>

退出MySQL,重启MySQL服务即可,以上的相关内容就是对绿色版 MySQL 安装配置的介绍,望你能有所收获。

设置IP:

vim /etc/network/interfaces

将以下内容:

auto eth0
iface eth0 inet dhcp

修改为:

auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
address xxx.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx

把xxx.xxx.xxx设置为你要个性的信息既可,其中
auto eth0  #开机自动连接网络
iface eth0 inet static   #static表示使用固定ip,dhcp表述使用动态ip
address 是本机IP地址
netmask 子网掩码
gateway 网关

如果使用nano编辑的话
ctrl+o  #保存配置
ctrl+x  #退出

设置DNS

linux系统的DNS信息是保存在/etc/resolv.conf , 但是在ubuntu中用vim打开这个文件你会发现有如下文字的提示

DO NOT EDIT THIS FILE BY HAND — YOUR CHANGES WILL BE OVERWRITTEN

所以不能直接个性这个文件,这个内容可能会被覆盖

在ubuntu中dns信息是放在/etc/resolvconf/resolv.conf.d/目录下

一般情况下这个目录下有base和head两个文件夹

vim /etc/resolvconf/resolv.conf.d/base
nameserver 8.8.8.8
nameserver 114.114.114.114

保存后执行

resolvconf -u

用以下命令使网络设置生效

service networking restart
sudo /etc/init.d/networking restart

今天安装了在VMware虚拟机下面安装Ubuntu Server 14.04进行本地测试,发现配置了root密码后

竟然不能ssh登陆,但是su root正常的

原来新版本里面sshd_config里面有了限制

#vim /etc/ssh/sshd_config

# Authentication:
LoginGraceTime 120

#PermitRootLogin without-password    #找到这里,把它注释
PermitRootLogin yes                  #改为yes  然后重启ssh
StrictModes yes

#service ssh restart

#注意:这里注意/etc/init.d/ssh restart 用这个方式重启是不成功的。

Debian/Ubuntu Linux都使用apt,升级时都是:
apt-get update
apt-get upgrade
apt-get dist-upgrade

但是常常有人会问, upgrade和dist-upgrade有何不同,仔细查查,似乎大家对upgrade和dist-upgrade的解释都有点不同,在此也纪录自己的看法.

我认为apt-get upgrade和dist-upgrade的差别:

upgrade:系统将现有的Package升级,如果有相依性的问题,而此相依性需要安装其它新的Package或影响到其它Package的相依性时,此Package就不会被升级,会保留下来.

dist-upgrade:可以聪明的解决相依性的问题,如果有相依性问题,需要安装/移除新的Package,就会试着去安装/移除它. (所以通常这个会被认为是有点风险的升级)

apt-get upgrade 和 apt-get dist-upgrade 本质上是没有什么不同的。

只不过,dist-upgrade 会识别出当依赖关系改变的情形并作出处理,而upgrade对此情形不处理。

例如软件包 a 原先依赖 b c d,但是在源里面可能已经升级了,现在是 a 依赖 b c e。这种情况下,dist-upgrade 会删除 d 安装 e,并把 a 软件包升级,而 upgrade 会认为依赖关系改变而拒绝升级 a 软件包。

man apt-get的解释:
upgrade: upgrade is used to install the newest versions of all packages currently installed on the system from the sources enumerated in /etc/apt/sources.list. Packages currently installed with new versions available are retrieved and upgraded; under no circumstances are currently installed packages removed, or packages not already installed retrieved and installed. New versions of currently installed packages that cannot be upgraded without changing the install status of another package will be left at their current version. An update must be performed first so that apt-get knows that new versions of packages are available.
dist-upgrade: dist-upgrade in addition to performing the function of upgrade, also intelligently handles changing dependencies with new versions of packages; apt-get has a "smart" conflict resolution system, and it will attempt to upgrade the most important packages at the expense of less

博客迁移之后,没有注意新服务器的系统时间,今天突然感觉到不对,于是调了一下:
一共两步可以实现:
(1)date -s
(2)clock -w
第一步的意思是设置时间,设置完了可以用date命令查看对不对…注意是月日时分年
第二步的意思是写入主板的rtc芯片..
第一部分设置系统时间:

下面介绍一下我参考的文档和一些命令:
Linux下使用date命令来查看和设置时间是相当方便的,本文就详细介绍date的用法。

该命令的一般格式为:

date [选项] 显示时间格式(设置时以+开头,后面接格式)

date 设置时间格式命令中各选项的含义分别为:

-d datestr, --date datestr 显示由datestr描述的日期
-s datestr, --set datestr 设置datestr 描述的日期
-u, --universal 显示或设置通用时间

时间域列表:

% H 小时(00..23)
% I 小时(01..12)
% k 小时(0..23)
% l 小时(1..12)
% M 分(00..59)
% p 显示出AM或PM
% r 时间(hh:mm:ss AM或PM),12小时
% s 从1970年1月1日00:00:00到目前经历的秒数
% S 秒(00..59)
% T 时间(24小时制)(hh:mm:ss)
% X 显示时间的格式(%H:%M:%S)
% Z 时区 日期域
% a 星期几的简称( Sun..Sat)
% A 星期几的全称( Sunday..Saturday)
% b 月的简称(Jan..Dec)
% B 月的全称(January..December)
% c 日期和时间( Mon Nov 8 14:12:46 CST 1999)
% d 一个月的第几天(01..31)
% D 日期(mm/dd/yy)
% h 和%b选项相同
% j 一年的第几天(001..366)
% m 月(01..12)
% w 一个星期的第几天(0代表星期天)
% W 一年的第几个星期(00..53,星期一为第一天)
% x 显示日期的格式(mm/dd/yy)
% y 年的最后两个数字( 1999则是99)
% Y 年(例如:1970,1996等)

注意:只有超级用户才有权限使用date命令设置时间,一般用户只能使用date命令显示时间。

一些常用使用例子:

一、 显示日期和时间

在字符界面下,除了可以显示年月之外,用户还可以使用“date”命令的功能是显示和设置系统日期和时间。需要特别说明的是,只有超级用户才能用“date”命令设置时间,一般用户只能用“date”命令显示时间。

1. 用指定的格式显示时间,命令如下:

[root@piaoyun ~]$ date '+The date of today is:%x ,it is:%X '
#The date of today is:06/18/2010 ,it is:12:27:33 PM

其中% x 显示日期的格式(mm/dd/yy),% X 显示时间的格式(%H:%M:%S)。
其它参数可查看上面的date时间域的设置。

2. 设置日期和时间, -s是设置日期的参数。

1. 设置时间为2010年06月17日,命令如下:

[root@piaoyun ~]$ date -s 06/17/2010
#Thu Jun 17 00:00:00 CST 2010

2. 设置时间为12点07分33秒,命令如下:

[root@piaoyun ~]$ date -s 12:07:33
#Thu Jun 17 12:07:33 CST 2010

另外,“date”命令还有许多有用的参数,能够帮助用户随心所欲地设定和显示时间,例如%H显示小时(00..23)、%M显示分(00..59)、%p显示出AM或PM、%S显示秒(00..59)和%Z显示时区等。

注意,上面说的是系统时间,是linux由操作系统维护的。

3. 如果要确保修改生效可以执行如下命令:

[root@piaoyun ~]$ clock -w

二、设置主板CMOS时间

在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。
为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。
由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。

1.使用 hwclock或clock命令查看和设置硬件时钟
查看硬件时钟的操作:

[root@piaoyun ~]$ hwclock --show

[root@piaoyun ~]$ clock --show #### 我的系统Centos5.3,使用的此命令。
Thu 17 Jun 2010 01:31:58 PM CST -0.409750 seconds

设置硬件时钟的操作:

[root@piaoyun ~]$ hwclock --set --date="06/17/2010 13:26:00"

或者

[root@piaoyun ~]$ clock --set --date="06/17/2010 13:26:00" #### 我的系统Centos5.3,使用的此命令。

通用的设置格式:hwclock/clock –set –date=“月/日/年 时:分:秒”。

2.同步系统时钟和硬件时钟

Linux系统(笔者使用的是Red Hat 8.0,其它系统没有做过实验)默认重启后,硬件时钟和系统时钟同步。如果不大方便重新启动的话(服务器通常很少重启),使用clock或hwclock 命令来同步系统时钟和硬件时钟。

硬件时钟与系统时钟同步:

[root@piaoyun ~]$ hwclock --hctosys

或者

[root@piaoyun ~]$ clock --hctosys #### 我的系统Centos5.3,使用的此命令。

上面命令中,–hctosys表示Hardware Clock to SYStem clock。

系统时钟和硬件时钟同步:

[root@piaoyun ~]$ hwclock --systohc

或者

[root@piaoyun ~]$ clock --systohc #### 我的系统Centos5.3,使用的此命令。

### 补充 ##############################
设置服务器时区:

## check CST Timezone
[root@piaoyun ~]$date
[root@piaoyun ~]$#Fri Nov 4 07:15:00 CST 2011

## 开始设置 UTC Timezone
[root@piaoyun ~]$cd /etc/
[root@piaoyun ~]$mv localtime localtime.bak
[root@piaoyun ~]$ln -s /usr/share/zoneinfo/UTC /etc/localtime

##check
[root@piaoyun ~]$date
[root@piaoyun ~]$#Fri, 04 Nov 2011 07:27:26 +0000

1.部分使用例子

[root@piaoyun ~]# date -d today +"%Y-%m-%d"
2008-05-07
[root@piaoyun ~]# date -d today +"%Y_%-m_%-d"
2008_5_7
[root@piaoyun ~]# date -d today +"%Y-%m-%d %T"
2008-05-07 14:55:19
[root@piaoyun ~]# date -d today +"%Y-%m-%d %H:%M"
2008-05-07 14:55
[root@piaoyun ~]# date -d today +"%Y-%m-%d %H:%M:%S"
2008-05-07 14:55:57

date命令本身提供了日期的加减运算

非常方便。例如:得到昨天的时间
date +%Y%m%d --date="-1 day"

2.在设定时间方面

date -s //设置当前时间,只有root权限才能设置,其他只能查看。
date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
date -s 01:01:01 //设置具体时间,不会对日期做更改
date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
date -s “01:01:01 20080523″ //这样可以设置全部时间
date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
date -s “20080523 01:01:01″ //这样可以设置全部时间

3.加减

date +%Y%m%d //显示前天年月日
date +%Y%m%d --date="+1 day" //显示前一天的日期
date +%Y%m%d --date="-1 day" //显示后一天的日期
date +%Y%m%d --date="-1 month" //显示上一月的日期
date +%Y%m%d --date="+1 month" //显示下一月的日期
date +%Y%m%d --date="-1 year" //显示前一年的日期
date +%Y%m%d --date="+1 year" //显示下一年的日期

IIS6的操作方法:
1、先在IIS里把网站正常发布,例如域名为(www.piaoyun.cc)
2、再硬盘上建一个空文件夹
3、再到IIS里建一个网站,例如域名为(piaoyun.cc),指向这个空文件夹,然后对这个又新建的网站设置属性,在“主目录”里,选择成“重定向到 URL”,在下面的文本框里输入自己的域名(www.piaoyun.cc),再选中“上面输入的准确URL”和"资源的永久重定向"。
IIS7或IIS7.5的操作方法:
1、先在IIS里把网站正常发布,例如域名为(www.piaoyun.cc)
2、再硬盘上建一个空文件夹
3、再到IIS里建一个网站,例如域名为(piaoyun.cc),指向这个空文件夹,然后在这个又新建的网站的“功能视图”里打开“HTTP 重定向”,选中“将请求重定向到此目标”, 在下面的文本框里输入自己的域名(www.piaoyun.cc),再选中“将所有请求重定向到确切的目标(而不是相对于目标)”,状态代码选择成“永久(301)”。

20171122-8fe6e5c65431416ca9e3de17747fc017

这样现在可以测试一下,输入piaoyun.cc,会直接跳转到www.piaoyun.cc
对于参数的问题:
都可以在重定向输入的URL后面加上$S$Q,例如www.piaoyun.cc$S$Q

apache日志为什么不记录百度蜘蛛?这个问题相信很多初学者都基本碰到了,apache日志默认是不记录百度蜘蛛、谷歌和各大搜索引擎的蜘蛛程序的,但只需要修改一个地方就可以解决这个问题,现在就直接将答案写出来:

比如曾经有个朋友在百度知道中提问:

<IfModule log_config_module>
LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”" combined
LogFormat “%h %l %u %t \”%r\” %>s %b” common
<IfModule logio_module>
LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\” %I %O” combinedio
</IfModule>
CustomLog “logs/access.log” common
</IfModule>

这是我目前的设置,不记住主机名
哪位给我提供个范本 记录访问明细和主机头记录蜘蛛的

1、打开httpd.conf文件找到以下部分:
LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”" combined
LogFormat “%h %l %u %t \”%r\” %>s %b” common

2、接着我们继续向下移动,找到虚拟主机配置段,也就是VirtualHost段,这个是由你自己来配置的。本站的虚拟主机的日志文件是这样设置的:
如果你想记录百度蜘蛛的访问全称,就按色部分设置:

CustomLog /var/html/logs/piaoyun.cc-access.log combined

如果不想记录百度蜘蛛的头部分,则如下设置:

CustomLog /var/html/logs/piaoyun.cc-access.log common

按照以上设置一下,看看你的日志文件是否发生变化了。

apache错误日志显示:File does not exist,本文提供一个解决方法,供参考。

查看apache日志:

Wed Feb 18 14:01:18 2014] [error] [client 58.22.112.116] File does not exist: /www/piaoyun.cc/web.rar
[Wed Feb 18 14:01:18 2014] [error] [client 58.22.112.116] File does not exist: /www/piaoyun.cc/web.zip
[Wed Feb 18 14:01:18 2014] [error] [client 58.22.112.116] File does not exist: /www/piaoyun.cc/www.rar
[Wed Feb 18 14:01:18 2014] [error] [client 58.22.112.116] File does not exist: /www/piaoyun.cc/www.zip
[Wed Feb 18 14:01:19 2014] [error] [client 58.22.112.116] File does not exist: /www/piaoyun.cc/wwwroot.rar
[Wed Feb 18 14:01:19 2014] [error] [client 58.22.112.116] File does not exist: /www/piaoyun.cc/wwwroot.zip

解决办法:
修改httpd.conf文件,将 LogLevel warn 改为 LogLevel crit即可。
即修改下apache的报错级别。

apache

在浏览一些镜像文件站的时候,会发现网站目录是可以浏览文件(夹)列表的。举两个例子:网易开源镜像Ubuntu。只要 Web 服务器是基于 Apache 的网站都可以开启或禁止索引(目录浏览),那么如何实现禁止和开启显示目录索引呢?

一、禁止 Apache 显示目录索引

方法1、修改Apache配置文件[httpd.conf]
(1)目录配置

<Directory /home/www/teddysun">
#Options Indexes FollowSymLinks
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

Options Indexes FollowSymLinks 改成Options FollowSymLinks 即可以禁止 Apache 显示该目录结构。
解释:Indexes 的作用就是当该目录下没有指定 index.html 文件时,就显示目录结构,去掉 Indexes ,Apache 就不会显示该目录的列表了。

(2)虚拟机配置

<virtualhost *:80>
ServerName piaoyun.cc
ServerAlias www.piaoyun.cc
DocumentRoot /home/www/www.piaoyun.cc
CustomLog /home/www/www.piaoyun.cc/logs/access.log combined
DirectoryIndex index.php index.html
<Directory /home/www/www.piaoyun.cc>
Options +Includes -Indexes
AllowOverride All
Order Deny,Allow
Allow from All
</Directory>
</virtualhost>

此处,在Indexes前面加上 – 符号也是可以禁止 Apache 显示该目录结构。
解释:在Indexes前,加 + 代表允许目录浏览;加 – 代表禁止目录浏览。

方法2、修改.htaccess文件
在网站根目录修改 .htaccess 文件,增加如下代码(若无.htaccess 文件则新建):

<Files *>
Options -Indexes
</Files>

解释:在Indexes前,加 + 代表允许目录浏览;加 – 代表禁止目录浏览。

二、开启并定制 Apache 显示目录索引样式

(1)修改Apache配置文件[httpd.conf]

<Directory /home/www/piaoyun.cc">
Options Indexes FollowSymLinks
IndexStyleSheet "/css/style.css"
IndexOptions FancyIndexing HTMLTable ScanHTMLTitles FoldersFirst NameWidth=85 DescriptionWidth=128 IconWidth=16 IconHeight=16 VersionSort Charset=UTF-8
AllowOverride all
Order allow,deny
Allow from all
</Directory>

解释:在 Options 选项中写入 Indexes,即是打开了目录浏览功能。CentOS6中通过yum安装的 Apache 默认是打开了目录浏览的,但是使用浏览器访问首页,却不能显示出目录,原因在于/etc/httpd/conf.d/welcome.conf文件中的 Indexes 前面有个 – 符号,即 Apache 默认禁止了首页的目录浏览功能。

(2)自定义索引(目录浏览)样式
上一步的 IndexOptions 选项可以自定义索引(目录浏览)样式,如下:
FancyIndexing 开启目录浏览修饰
HTMLTable 此选择与FancyIndexing一起构建一个简单的表来进行目录浏览修饰。
ScanHTMLTitles 搜索HTML标题
FoldersFirst 目录优先排在前面
NameWidth=85 表示文件名可以最多显示85个英文字符
DescriptionWidth=128 表示描述可以显示的字符数
IconWidth=16 Icon的宽度(像素)
IconHeight=16 Icon的高度(像素)
VersionSort 版本排序,如果没有此项,将按照拼音顺序排序
Charset=UTF-8 字符集

其他诸如:
AddAltClass、IconsAreLinks、IgnoreCase、IgnoreClient、ShowForbidden、SuppressColumnSorting、SuppressDescription、SuppressHTMLPreamble、SuppressIcon、SuppressLastModified、SuppressRules、SuppressSize、TrackModified、Type等请阅读参考链接。

参考链接:http://httpd.apache.org/docs/2.4/en/mod/mod_autoindex.html#indexoptions

今天在linux服务器上安装配置完vsftpd之后,ftp根目录指定到网站根目录/var/www/,权限给以777,之后再次访问http://piaoyun.cc/phpMyAdmin,无法打开phpMyAdmin出现这样的提示:
Wrong permissions on configuration file, should not be world writable!

查资料一看,原来phpMyAdmin要在755权限下才能正常访问(777权限不可以正常访问)。

解决办法:

登陆SSH,这里博主推荐Xshell来登陆!xshell的使用技巧收集[不断更新中]
#cd /var/www/
#chmod -R 755 phpMyAdmin

Linux目录权限:
Linux系统中的每个文件和目录都有访问许可权限,用他来确定谁能通过何种方式对文件和目录进行访问和操作。 文件或目录的访问权限分为只读,只写和可执行三种。
有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者能允许同组用户有权访问文件,还能将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。

读取-r 写入-w 执行-x
-rw------------- (600) — 只有所有者才有读取和写入的权限;
-rw--r------r--- (644) — 只有所有者才有读取和写入的权限;组群和其他人只有读取的权限;
-rwx------------ (700) — 只有所有者才有读取,写入,和执行的权限;
-rwx-rx----rx-- (755) — 所有者有读取,写入,和执行的权限;组群和其他人只有读取和执行的权限;
-rwx-x-----x--- (711) — 所有者有读取,写入,和执行权限,组群和其他人只有执行权限;
-rw--rw---rw-- (666) — 每个人都能够读取和写入文件;[请谨慎使用这些权限]
-rwx-rwx-rwx- (777) — 每个人都能够读取,写入,和执行.[这种权限设置可能会很危险]

鼓励转贴,分发,为所有看到E文头痛的兄弟们帮点小忙,PureFTPd的文档本来就不多,中文的更少了。从配置文件中就能看出不少PureFTPd的好功能来了。

############################################################
#                                                          #
#         Configuration file for pure-ftpd wrappers        #
#                                                          #
############################################################

# 如果你想要使用配置文件代替命令行选项来运行 Pure-FTPd ,请运行下面的命令:
#
# /usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
#
# RPM 缺省使用另外一个配置文件:
# /etc/sysconfig/pure-ftpd
#
# 请不要忘了浏览一下 http://www.pureftpd.org/documentation.html 的
# 文档,查看全部的选项列表。

# 限制所有用户在其主目录中

ChrootEveryone              yes

# 如果前一个指令被设置为了 "no",下面组的成员(GID)就不受主目录的限制了。而其他的用户还是
# 会被限制在自己的主目录里。如果你不想把任何用户限制在自己的主目录里,只要注释掉 ChrootEveryone
# 和 TrustedGID 就可以了。

# TrustedGID                    100

# 兼容ie等比较非正规化的ftp客户端

BrokenClientsCompatibility  no

# 服务器总共允许同时连接的最大用户数

MaxClientsNumber            50

# 做为守护(doemon)进程运行(Fork in background)

Daemonize                   yes

# 同一IP允许同时连接的用户数(Maximum number of sim clients with the same IP address)

MaxClientsPerIP             8

# 如果你要记录所有的客户命令,设置这个指令为 "yes"。
# This directive can be duplicated to also log server responses.

VerboseLog                  no

# 即使客户端没有发送 '-a' 选项也列出隐藏文件( dot-files )。

DisplayDotFiles             yes

# 不允许认证用户 - 仅作为一个公共的匿名FTP。

AnonymousOnly               no

# 不允许匿名连接,仅允许认证用户使用。

NoAnonymous                 no

# Syslog facility (auth, authpriv, daemon, ftp, security, user, local*)
# 缺省的功能( facility )是 "ftp"。 "none" 将禁止日志。

SyslogFacility              ftp

# 定制用户登陆后的显示信息(Display fortune cookies)

# FortunesFile              /usr/share/fortune/zippy

# 在日志文件中不解析主机名。日志没那么详细的话,就使用更少的带宽。在一个访问量很大
# 的站点中,设置这个指令为 "yes" ,如果你没有一个能工作的DNS的话。

DontResolve                 yes

# 客户端允许的最大的空闲时间(分钟,缺省15分钟)

MaxIdleTime                 15

# LDAP 配置文件 (参考 README.LDAP)

# LDAPConfigFile                /etc/pureftpd-ldap.conf

# MySQL 配置文件 (参考 README.MySQL)

# MySQLConfigFile               /etc/pureftpd-mysql.conf

# Postgres 配置文件 (参考 README.PGSQL)

# PGSQLConfigFile               /etc/pureftpd-pgsql.conf

# PureDB 用户数据库 (参考 README.Virtual-Users)

# PureDB                        /etc/pureftpd.pdb

# pure-authd 的socket 路径(参考 README.Authentication-Modules)

# ExtAuth                       /var/run/ftpd.sock

# 如果你要启用 PAM 认证方式, 去掉下面行的注释。

# PAMAuthentication             yes

# 如果你要启用 简单的 Unix系统 认证方式(/etc/passwd), 去掉下面行的注释。

# UnixAuthentication            yes

# 请注意,LDAPConfigFile, MySQLConfigFile, PAMAuthentication 和
# UnixAuthentication 这些指令只能被使用一次,不过,他们能被混合在一起用。例如:如果你使用了
# MySQLConfigFile 和 UnixAuthentication,那么 SQL 服务器将被访问。如果因为用户名未找
# 到而使 SQL 认证失败的话,就会在/etc/passwd 和 /etc/shadow 中尝试另外一种认证,如果因
# 为密码错误而使 SQL 认证失败的话,认证就会在此结束了。认证方式由它们被给出来的顺序而被链
# 接了起来。

# 'ls' 命令的递归限制。第一个参数给出文件显示的最大数目。第二个参数给出最大的子目录深度。

LimitRecursion              2000 8

# 允许匿名用户创建新目录?

AnonymousCanCreateDirs      no

# 如果系统被 loaded 超过下面的值,匿名用户会被禁止下载。

MaxLoad                     4

# 被动连接响应的端口范围。- for firewalling.

# PassivePortRange          30000 50000

# 强制一个IP地址使用被动响应( PASV/EPSV/SPSV replies)。 - for NAT.
# Symbolic host names are also accepted for gateways with dynamic IP
# addresses.

# ForcePassiveIP                192.168.0.1

# 匿名用户的上传/下载的比率。

# AnonymousRatio                1 10

# 所有用户的上传/下载的比率。
# This directive superscedes the previous one.

# UserRatio                 1 10

# 不接受所有者为 "ftp" 的文件的下载。例如:那些匿名用户上传后未被本地管理员验证的文件。

AntiWarez                   yes

# 服务监听的IP 地址和端口。(缺省是所有IP地址和21端口)

# Bind                      127.0.0.1,21

# 匿名用户的最大带宽(KB/s)。

# AnonymousBandwidth            8

# 所有用户的最大带宽(KB/s),包括匿名用户。
# Use AnonymousBandwidth *or* UserBandwidth, both makes no sense.

# UserBandwidth             8

# 新建目录及文件的属性掩码值。<文件掩码>;:<目录掩码>; .
# 177:077 if you feel paranoid.

Umask                       133:022

# 认证用户允许登陆的最小组ID(UID) 。

MinUID                      100

# 仅允许认证用户进行 FXP 传输。

AllowUserFXP                yes

# 对匿名用户和非匿名用户允许进行匿名 FXP 传输。

AllowAnonymousFXP           no

# 用户不能删除和写点文件(文件名以 '.' 开头的文件),即使用户是文件的所有者也不行。
# 如果 TrustedGID 指令是 enabled ,文件所属组用户能够访问点文件(dot-files)。

ProhibitDotFilesWrite       no

# 禁止读点文件(文件名以 '.' 开头的文件) (.history, .ssh...)

ProhibitDotFilesRead        no

# 永不覆盖文件。当上传的文件,其文件名已经存在时,自动重命名,如: file.1, file.2, file.3, ...

AutoRename                  no

# 不接受匿名用户上传新文件( no = 允许上传)

AnonymousCantUpload         no

# 仅允许来自以下IP地址的非匿名用户连接。你可以使用这个指令来打开几个公网IP来提供匿名FTP,
# 而保留一个私有的防火墙保护的IP来进行远程管理。你还可以只允许一内网地址进行认证,而在另外
# 一个IP上提供纯匿名的FTP服务。

#TrustedIP                  10.1.1.1

# 如果你要为日志每一行添加 PID  去掉下面行的注释。

# LogPID                     yes

# 使用类似于Apache的格式创建一个额外的日志文件,如:
# fw.c9x.org - jedi [13/Dec/1975] "GET /ftp/linux.tar.bz2" 200 21809338
# 这个日志文件能被 www 流量分析器处理。

# AltLog                     clf:/var/log/pureftpd.log

# 使用优化过的格式为统计报告创建一个额外的日志文件。

# AltLog                     stats:/var/log/pureftpd.log

# 使用标准的W3C格式创建一个额外的日志文件。(与大部分的商业日志分析器兼容)

# AltLog                     w3c:/var/log/pureftpd.log

# 不接受 CHMOD 命令。用户不能更改他们文件的属性。

# NoChmod                     yes

# 允许用户恢复和上传文件,却不允许删除他们。

# KeepAllFiles                yes

# 用户主目录不存在的话,自动创建。

# CreateHomeDir               yes

# 启用虚拟的磁盘限额。第一个数字是最大的文件数。
# 第二个数字是最大的总的文件大小(单位:Mb)。
# 所以,1000:10 就限制每一个用户只能使用 1000 个文件,共10Mb。

# Quota                       1000:10

# 如果你的 pure-ftpd 编译时加入了独立服务器( standalone )支持,你能够改变 pid 文件
# 的位置。缺省位置是 /var/run/pure-ftpd.pid 。

# PIDFile                     /var/run/pure-ftpd.pid

# 如果你的 pure-ftpd 编译时加入了 pure-uploadscript 支持,这个指令将会使 pure-ftpd
# 发送关于新上传的情况信息到 /var/run/pure-ftpd.upload.pipe,这样 pure-uploadscript
# 就能读然后调用一个脚本去处理新的上传。

# CallUploadScript yes

# 这个选项对允许匿名上传的服务器是有用的。当 /var/ftp 在 /var 里时,需要保留一定磁盘空间
# 来保护日志文件。当所在磁盘分区使用超过百分之 X 时,将不在接受新的上传。

MaxDiskUsage               99

# 如果你不想要你的用户重命名文件的话,就设置为 'yes' 。

# NoRename yes

# 是 'customer proof' : 工作区(workaround)反对普通的客户错误,类似于:'chmod 0 public_html' 的错误。
# 那是一个有效的命令,不过,将导致无知的客户所定他们自己的文件,将使你的技术支持忙于愚蠢的的问题中。
# 如果你确信你所有的用户都有基本的Unix知识的话,这个特性将没什么用了。不过,如果你是一个主机提供商
# 的话,启用它。

CustomerProof yes

# 每一个用户的并发限制。只有在添加了 --with-peruserlimits 编译选项进行编译后,这个指令才起
# 作用。(大部分的二进制的发布版本就是例子)
# 格式是 : <每一个用户最大允许的进程>;:<最大的匿名用户进程>;
# 例如: 3:20 意思是同一个认证用户最大可以有3个同时活动的进程。而且同时最多只能有20个匿名用户进程。

# PerUserLimits 3:20

1.文件或文件夹中含空格和”\”的
例如:"a b" "\a" "=a" 这样的文件或者目录

新建:

tocuh a\ b  tocuh  \\a  touch \=a

删除:
这类删除是比较简单的,只要用”\”来转义就可以了,一般用TAB补全也可以

rm -rf a\ b   rm -rf \\a  rm -rf \=a

还有一种方法就是把整个文件名用”"括起来就能直接删除了

rm -rf "a b" "\a" "=a"

2.文件或文件夹名字中有 –
例如  文件叫 –help ,由于在linux下”-”后面就是命令参数,如果出现在文件名中后面的内容会执照命令的参数来执行。所以不能用正常的方法创建和删除。
新建:

touch  -- --help,mkdir -- -

删除:
这类的文件或目录 直接 rm -rf –help 或者用 “\”来转义是会报错的,我们可以使用“–”符号来解决这个问题

rm  -- --help

3.乱码文件或文件夹
这类文件或文件夹出现多是由于解压压缩包产生的

删除方法:
由于linux下文件的i节点是唯一的,所以可以通过i节点来删除,这种方法是通用方法,同时适合上面两种情况。

先使用命令:

ls -li

查看文件的innode节点号

7605159 -rw-r–r– 1 root root 0 2013-07-23 14:45 aa

之后

find . -inum 7605159  -exec rm -rf {} \;

或者

find . -type f -inum 7605159 -delete

Ubuntu Linux有一个与众不同的特点,那就是初次使用时,你无法作为root来登录系统,为什么会这样?这就要从系统的安装说起。对于其他Linux系统来 说,一般在安装过程就设定root密码,这样用户就能用它登录root帐户或使用su命令转换到超级用户身份。与之相反,Ubuntu默认安装时,并没有 给root用户设置口令,也没有启用root帐户。问题是要想作为root用户来运行命令该怎么办呢?没关系,我们可以使用sudo命令达此目的。
sudo是linux下常用的允许普通用户使用超级用户权限的工具,该命令为管理员提供了一种细颗粒度的访问控制方法,通过它人们既可以作为超级 用户又可以作为其它类型的用户来访问系统。这样做的好处是,管理员能够在不告诉用户root密码的前提下,授予他们某些特定类型的超级用户权限,这正是许 多系统管理员所梦寐以求的。

方法一:
设置分配很简单,只要为root设置一个root密码就行了: $ sudo passwd root
之后会提示要输入root用户的密码,连续输入root密码,再使用:$ su
就可以切换成超级管理员用户登陆了!

1. 在终端执行 sudo passwd root 指令后,系统将会提示你设置一个新的 root 帐号密码。
2. 点击 System -> Preferences -> Login Window 菜单,并切换到 Security 选项页,然后选中其下的“Allow local system administrator login”选项。   执行上述两步后,你便可以使用 root 帐号登录 Ubuntu 系统了。

如果要再次禁用 root 帐号,那么可以执行 sudo passwd -l root
sudo passwd root来设置root用户的密码来开启root帐号,锁定帐户是sudo passwd -l,开启帐户是sudo passwd -u(需要以前锁定过,否则无效)。

方法二:
在Ubuntu中用root帐号登录
其实我个人认为这没有多大必要,因为当你需要 root 的权限时,使用 sudo 便可以了。如果你实在需要在 Ubuntu 中启用 root 帐号的话,那么不妨执行下面的操作:
1.重新设置 root 的密码:$sudo passwd root
#按照提示输入两次新的密码,并加以确认。

2.启用root用户登录: $sudo vi /etc/gdm/gdm.conf
#打开gnome的配置文件,在末行模式中输入:AllowRoot回车,找到AllowRoot=false ,把false改为true,保存后退出。
之后,重启系统时,就可以用 root 登录了。如果你想要禁用 root 帐号,则执行下列命令: $sudo passwd -l root
Ubuntu 中的 root 帐号默认是被禁用了的。在这种情况之下,如果你想要使用 root 的权限来干些事情,就需要 sudo 指令。对某些朋友来说,他们可能需要激活 Ubuntu 中的 root 帐号。

Fedora 10 上如何让root登陆系统
Fedora10默认是不允许root账号进行GUI登陆的,下面是解决方式。
首先以用户账号进入终端,允许root账号登陆:
首先 su
然后 vi /etc/pam.d/gdm
删除其中的一行 auth required pam_succeed_if.so user != root quiet
然后wq保存并退出。
这样就可以使用root进行GUI登陆了。
还可以修改 /etc/gdm/contom.conf文件,增加下面几行,启用root自动登陆
[daemon]
AutomaticLoginEnable=true
AutomaticLogin=user_name

Fedora 10的网络服务不能自动启动,同样需要修改
chkconfig --level 35 network on
如果使用GUI界面去修改网络配置,貌似那个修改程序有BUG,子网掩码改完了再打开就变成了192.168.1.1
同样,可以在文件中直接修改。 文件位置:/etc/sysconfig/network-scripts/ifcfg-eth0
还可以开机以root身份登陆系统,登陆模式是图形界面,提示无法验证用户,很纳闷,密码也没错啊,输入了几次依然提示“无法验证用户”。只好用一个普通用户登陆了。 打开终端 输入 su ,再输入 root 密码,成功转到 root 用户。设置开机启动模式为文本模式,重新启动到文本模式下,输入 root 和密码,登陆成功,看来在文本模式下是可以用root登陆的。
不能以root身份登陆到图形模式,可能是出于安全考虑。虽然只能用普通用户登陆到图形界面,但是在图形界面模式下可以更改root的密码。选择 系统-->管理-->根口令,弹出对更改root密码的对话框。

图形化 root 登陆
Fedora 11 默认并不允许在 GDM 中以 root 登陆,而必须使用正常用户登陆后在终端中成为 root 权限。然后很多用户仍然想以 root 登陆。虽然我不赞成但还是说一下怎么做。请不要忘记一旦你使用 root 登陆后会毁坏你的系统,所以请不要输入下面的命令,除非你知道你在做什么。
打开终端输入: su -c 'gedit /etc/pam.d/gdm
找到下面这行: auth required pam_succeed_if.so user != root quiet
将这一行备注掉: #auth required pam_succeed_if.so user != root quiet
保存这个文件后登出,然后你就可以以 root 登陆了。

摘要:
wget:无法解析主机地址。这就能看出是DNS解析的问题。是没有给主机设置DNS服务器IP的问题!

解决办法:
1、登入VPS,使用root帐号。
2、使用命令 vi /etc/resolv.conf  编辑修改文件
3、修改内容为下
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器

今天配置服务器时候,执行自己写的脚本提示“/bin/bash^M: bad interpreter: 没有那个文件或目录”,后来找到了解决方法,在此留下一笔。可能是FTP上传时候改变了文件格式吧。

具体细节不管,如果验证:
1.第一步:
vim piaoyun.sh

2.第二步:
:set ff?

如果出现fileforma=dos那么就基本可以确定是这个问题了。

3.第三步:
:set fileformat=unix

4.第四步:退出保存
:wq

OK了。。。。。。。

再次运行piaoyun.sh,就不会出现/bin/bash^M: bad interpreter: 没有那个文件或目录错误提示了