apache的主要目录和文件
服务目录 /etc/httpd/
主配置文件 /etc/httpd/conf/httpd.conf
网页目录 /var/www/html/
服务脚本 /etc/init.d/httpd
执行程序 /usr/sbin/httpd
访问日志 /var/log/httpd/access_log
错误日志 /var/log/httpd/error_log
经常使用的全局配置参数
ServerRoot 服务目录
ServerName 网站服务器的域名
ServerAdmin 管理员邮箱
User 运行服务的用户身份
Group 运行服务的组身份
DirectoryIndex 默认的索引页文件
DocumentRoot 网页文档的根目录
Listen 监听的IP地址、端口号
PidFile 保存httpd进程PID号的文件
ErrorLog 错误日志文件的位置
CustomLog 访问日志文件的位置
LogLevel 记录日志的级别,默认为warn
Timeout 网络链接超时,默认为300秒
KeepAlive 是否保持链接,可选On或Off
MaxKeepAliveRequests 每次链接最多请求文件数
KeepAliveTimeout 保持链接状态时的超时时间
Include 须要包含进来的其余配置文件
httpd支持的虚拟主机类型
1.)基于域名的虚拟主机
<VirtualHost 192.168.0.28:80>
DocumentRoot /var/www/bbs
ServerName bbs.example.com
</VirtualHost>
<VirtualHost 192.168.0.28:80>
DocumentRoot /var/www/talk
ServerName talk.example.com
</VirtualHost>
用户可经过对同一个IP用不一样的域名(如:bbs.example.com和talk.example.com)访问不一样的网页.
2.)基于IP地址的虚拟主机
<VirtualHost 192.168.0.28:80>
DocumentRoot /var/www/bbs
ServerName station28.example.com
</VirtualHost>
<VirtualHost 192.168.0.29:80>
DocumentRoot /var/www/bbs
ServerName station28.example.com
</VirtualHost>
一个公司内部经常使用为网卡起别名(如:eth0网卡IP为192.168.0.28,eth0:1网卡的IP地址192.168.0.29),经过不一样的IP地址访问不一样的网页.
3.)基于端口的虚拟主机
<VirtualHost 192.168.0.28:8080>
DocumentRoot /var/www/bbs
ServerName station28.example.com
</VirtualHost>
<VirtualHost 192.168.0.28:80>
DocumentRoot /var/www/bbs
ServerName station28.example.com
</VirtualHost>
同一个IP,可利用它的不一样端口来访问不一样的网页.
网页访问作用户认证
1.)建立网页访问的目录`mkdir -v /var/www/bbs`;
2.)设置主配置文件/etc/httpd/conf/httpd.conf;
<VirtualHost 192.168.0.28:80>
DocumentRoot /var/www/talk
ServerName talk.example.com
<Directory "/var/www/talk">
AllowOverride AuthConfig(基于用户帐号认证)
</Directory>
</VirtualHost>
3.)在/var/www/bbs目录下建立一个文件.htaccess;
AuthName "The innet talk"
AuthType basic
AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /etc/httpd/conf/.htgroup
4.)建立两个用户帐号,使用命令:
htpasswd -cm /etc/httpd/conf/.htpasswd redhat
htpasswd -cm /etc/httpd/conf/.htpasswd wendy
/etc/httpd/conf/.htpasswd
wendy:$apr1$x.REF...$203VUn/TxvxJCzMQqOgM7/
sandy:$apr1$KPdc0...$ZDo4JnMsjWrxFDLrAhuNZ.
5.)在文件/var/www/bbs/.htaccess内加入对用户的访问控制;
AuthName "The innet talk"
AuthType basic
AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /etc/httpd/conf/.htgroup
require user redhat wendy
6.)用用户redhat和wendy登入此网页验证认证;
7.)建立文件/etc/httpd/conf/.htgroup,把rehat和wendy加入innet组;
innet:wendy sandy
8.)在文件/var/www/bbs/.htaccess内加入对用户组的访问控制,如:
AuthName "The innet talk"
AuthType basic
AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /etc/httpd/conf/.htgroup
require group innet
9.)用用户redhat和wendy登入此网页验证认证。
调用bash脚本显示在网页上:
1.)配置主配置文件/etc/httpd/conf/httpd.conf,找到ScriptAlias项;
ScriptAlias /cgi-bin/ /var/www/cgi-bin(path)
2.)`cd /var/www/cgi-bin`切换到此目录下,建立一个脚本index.sh:
###################################################################
#!/bin/bash
cat << EOF
Content-Type: text/html
<pre>
The hostname is $(hostname)
</pre>
EOF
###################################################################
3.)修改index.sh的权限`chmod a+x index.sh`;
4.)打开浏览器输入"
http://your_ip/cgi-bin/index.sh"便可显示脚本网页。
LAMP
LAMP由Linux,Apache,mysql和php构成。建立LAMP环境须要在Linux操做系统上安装Apache,mysql和php,如下安装用rpm包
一.安装Apache.
yum install httpd
service httpd start
chkconfig httpd on
echo "`hostname`" > /var/www/html/index.html
打开浏览器会打印本机的主机名.
二.安装mysql.
yum install mysql-server php-mysql
service mysqld start
chkconfig mysqld on
mysql的经常使用命令:
mysqladmin -u root -p passwd '123456' 修改root用户密码
mysql -uroot -p 交互式登入root用户
show databases 打印出全部数据库信息
user mysql_name(数据库名) 进入mysql_name数据库
show tables 打印出此数据库的全部表
select * from user(表名) 打印出user信息
desc user(表名) 打印出user表的内容
create database mydb 建立一个数据库mydb
create table mytb(name char(10);) 建立一个表mytb
insert mytb(name) values ("redhat") 向表内插入数据
drop database(table) mydb(mytb) 删除表mytb,数据库mydb
三.安装php. yum list all | grep php yum install php php-mysql service httpd restart service mysqld restart 验证php安装成功: cd /var/www/html vim index.php ################################### <?php phpinfo(); ?> ################################### 而后用浏览器打开主页,若显示php的介绍则表示php连接Apache成功 以后在修改此文件: vim index.php ################################### $Link=mysql_connect('localhost''root''123456'); if ($LINK) echo "Success......"; else echo "Failure......"; ################################### 在mysql服务启动时,浏览器打印出"Success......"则表示php连接mysql成功.