linux网络服务器笔记

linux系统中如何配置ip地址 修改主机名 设置dns 网关 如何开启路由转发功能。
linux系统中网卡的识别
eth0   --- 第一个以太网卡
eth1   --- 第二块以太网卡

ifconfig  查系统中网络接口的配置信息 做临时配置ip地址
ifconfig eth0 192.168.0.100 netmask 255.255.255.0

网卡的配置文件所在路径
/etc/sysconfig/network-scripts/ifcfg-eth0   ---- 第一个网卡的配置文件
DEVICE=eth0 设备名称
BOOTPROTO=dhcp|static|none  动态|静态
ONBOOT=yes
HWADDR=mac地址  实验时候注释掉
IPADDR=10.0.0.100    ip地址
NETMASK=255.0.0.0     掩码
GATEWAY=10.0.0.1      网关
DNS1=202.106.0.20     dns
DNS2=8.8.8.8

重启网络服务生效
/etc/init.d/network restart

查看路由表
route -n
目标       网关           默认网关
0.0.0.0   192.168.199.1     UG
route add -net 0.0.0.0 gw 192.168.199.1 添加路由条目
route del -net 0.0.0.0 gw 192.168.199.1 删除

route add default gw 192.168.199.1 同上

如何修改dns 临时
vim /etc/resolv.conf
nameserver  202.106.0.20

ping命令持续 需要用ctrl+c中断
ping -c 4 IP地址

修改主机名
vim /etc/sysconfig/network
HOSTNAME=www.benet.com
重启生效
hostname www.benet.com  临时修改
hostname   查看主机名

如何开启静态路由功能
xp一台 vmnet2 192.168.0.100 255.255.255.0 192.168.0.1
linux网关 vmnet2 192.168.0.1 255.255.255.0
vmnet3 10.0.0.1 255.0.0.0
共网的linux主机 vmnet3 10.0.0.100 255.0.0.0
xp可以ping通 公网linux主机

vim /etc/sysctl.conf
net.ipv4.ip_forward=1 修改第一行
sysctl -p  使路由功能生效

vim /etc/rc.local --- 默认的启动文件写入的命令会在开机时默认执行


晚自习内容:
今天晨考有问题的罚写补齐。今天课上我提问没有回答上来的同学的罚写 明天统一交给我。然后每个人做第一本书后面的课后练习题。并准备明天的晨考今天课上的内容都要会背尤其是配置文件
由于明天要串讲 暂停一次预习作业

晨考
1.写出网卡eth0配置文件的所在位置以及名称
/etc/sysconfig/network-scripts/ifcfg-eth0
2.写出在配置文件中的以下内容
设备名称 DEVICE=eth0
获取方式 BOOTPROTO=static|none
是否支持开机自启动 ONBOOT=yes
ip地址 IPADDR=192.168.0.100
子网掩码 NETMASK=255.255.255.0
网关  GATEWAY=192.168.0.1
dns   DNS1=202.106.0.20
3.如何查看路由表,并且临时配置一条路由条目访问任意网段从192.168.0.1出
route -n
route add -net 0.0.0.0 gw 192.168.0.1
route add default gw 192.168.0.1
4.如何临时配置ip地址,以及如何查看当前网卡ip地址。
ifconfig eth0 192.168.0.1 netmask 255.0.0.0
ifconfig eth0
5.如何开启路由转发功能
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p

预习作业
1.什么是dhcp服务
2.如何安装DHCP软件
3.写出dhcp的配置文件和名称
4.客户端如何重新获取dhcp租约。

------------------------------------
setup ---- ip设置工具
traceroute IP地址 ---- 路由跟踪命令

dhcp服务
动态主机配置协议
为客户端分配ip地址 掩码 网关 dns

yum install dhcp -y   -- 安装dhcp软件

为公司的所有主机分配192.168.0.100-192.168.0.200 255.255.255.0 192.168.0.1

vim /etc/dhcpd.conf
ddns-update-style none;   --- 全局配置忽略dns更新
ignore client-updates;   ---- 忽略客户端更新
subnet 192.168.0.0 netmask 255.255.255.0 {  --- 工作网段声明
        option routers                  192.168.0.1; --网关
        option subnet-mask              255.255.255.0; --掩码
        option domain-name              "t2202.org";  --搜索域
        option domain-name-servers      202.106.0.20,8.8.8.8; --主从dns
        range 192.168.0.100 192.168.0.200; --地址池
        default-lease-time 21600;  --默认租约时间
        max-lease-time 43200;  ---最大租约时间
        host xz {   ---声明主机
                hardware ethernet 00:0c:29:2c:23:f0; ---mac声明
                fixed-address 192.168.0.15; ---绑定ip地址
        }
}

/etc/init.d/dhcpd start  --- 启动服务

排错看
/var/log/messages  --- 日志文件最后几行

实验内容:vmnet2
1.一台linux 172.16.0.20 作为dhcp服务器
2.linux客户端要求获取到的ip为 172.16.0.10-172.16.0.15
3.有一台xp主机要绑定其ip地址为172.16.0.8

预习作业
1.什么是smb什么是cifs?
2.samba的配置文件在哪?启动服务脚本叫什么?
3.samba启动以后会开启那些端口 其中哪个是udp的哪个tcp的 各起到什么作用?
4.在samba的配置文件中security选项有四个功能分别介绍每一种的作用
5.配置文件中public=yes的作用

---------------------------
晨考测试
1.dhcp服务的作用是什么?分ip gw nds NETMASK
2.如何安装dhcp服务,如何启动dhcp服务
yum install dhcp -y
/etc/init.d/dhcpd start
3.dhcp服务的配置文件的所在位置以及名称
/etc/dhcpd.conf
4.解释dhcp配置文件中以下字段的意思
option routers    网关
option domain-name-servers  nds
range   地址池
option subnet-mask  掩码
default-lease-time  默认租期
hardware ethernet   mac地址
fixed-address    ip绑定
host xz    主机声明
5.如果启动dhcp启动时报错应该如何排错
/var/log/message

linux下的文件系统共享(与windows共享)
samba
smb  server message block 服务消息块
cifs common Internet file system 通用互联网文件系统

1.安装 yum install samba -y
2.cd /etc/samba
mv smb.conf smb.conf.bak
grep -v "#" smb.conf.bak|grep -v ";"|grep -v "^$" >/etc/samba/smb.conf
3.vim /etc/samba/smb.conf
[global]    ---- 全局配置
        workgroup = WORKGROUP  --- 工作组
        security = share   --- 共享方式分4种
[homes]   ---- 家目录的共享名称
        comment = Home Directories  --- 描述
        browseable = yes   --- 是否显示
        writable = yes  --- 是否可写入
[DVDROOM]  --- 共享名称
        comment = rhel5dvd
        path = /misc/cd  --- 共享路径
        writable = no
        public = yes   --- 是否支持匿名共享
4./etc/init.d/smb start
SMB  数据传输 TCP 139 445
NMB  网名名称解析 UDP 137-138

netstat -anptul  --- 查看当前主机网络服务端口
-a  所有服务
-n  不解析主机名
-p  pid显示
-t  tcp协议服务
-u  udp协议服务
-l  正在监听的服务

建立smb用户
useradd huyang;useradd qiaoyu
smbpasswd -a huyang  加密码
smbpasswd -a qiaoyu  加密码
mkdir /t2202
chmod 777 /t2202
vim /etc/samba/smb.conf
[global]
        workgroup = WORKGROUP
        security = user   ---- 用本机用户验证登录
[t2202]
        comment = t2202
        path = /t2202
        writable = no
        public = no
        valid users = huyang qiaoyu  --- 授权访问用户
        write list = huyang  --- 可写用户
        create mask = 0600   --- 建立文件的权限
        directory mask = 0700  ---- 建立目录的权限


实验内容
1.准备linux主机作为smb主机 共享光盘要求所有用户可以从xp访问。
2.在根目录下建立一个叫tools的文件夹 要求该文件夹tom用户可写入,jerry用户可以登录但不可以写入。

晨考测试
1.写出smb和cifs协议的全称
2.写出samba启动服务时
smbd tcp 139 445 和 nmbd udp 137 138 各自用了什么协议用了哪些端口
3.写出samba服务配置文件所在路径及名称,如何启动samba服务
/etc/samba/smb.conf
/etc/init.d/smb start
4.写出samba配置文件中以下选项的作用
common  描述
path  路径
writeable  可写入
vaild users  有效有效用户
write list   可写用户
workgroup   工作组
security  
create mask  文件权限  0600
directory mask  目录权限 0700

linux系统中粘滞位
rwxrwxrwx 0777
rwxrwxrwt 1777 t 在该权限的目录中只有创建者可以删除自己的文件
rwxrwsrwx 2777 s 在该目录中建立的文件或目录都继承该目录的属组
rwsrwxrwx 4777 s 为命令字文件赋予粘滞位权限普通用户运行该命令时会调用root权限

预习作业
1.vsftpd的配置文件所在位置以及文件名。如何启动vsftpd服务。

2.vsftpd主动模式开启的端口号是多少?被动模式开启的端口号是在配置文件中哪个选项指定的?

3.在/etc/vsftpd目录中有个文件叫做ftpusers里面有个用户名tom,还有个文件叫user_list里面有用户tom和jerry。如果vsftpd配置文件中有一项内容叫user_list_enable=YES,user_list_deny=NO 。请问系统中有三个用户tom jerry liangping 其中哪个用户可登录哪个不可登录。

4.解释以下vsftpd配置文件中每个选项的作用
listen=YES
listen_address=192.168.100.1
listen_port=21
connect_from_port_20=YES
write_enable=YES
pam_service_name=vsftpd
userlist_enable=YES
anonymous_enable=YES
local_enable=YES
guest_enable=YES

晚自习任务:
写预习作业和晨考罚写 上课被点名罚写的同学明天上交。明天被罚的同学我会逐一检查要求能默写配置文件

--------------------
ftp服务
ftp 互联网 只能下载使用
smb cifs 局域网 支持远程修改
1.安装 yum install vsftpd -y
very securte ftp daemon --- 守护进程
2.man vsftpd.conf  --- 查看帮助手册
anon_umask=022  -- 上传权限掩码
anon_max_rate=0  -- 速度0不限定单位字节5000 5K
local_umask=022 -本地用户的掩码
local_max_rate=0  -- 本地用户传输速率
pasv_enable=YES  --- 被动模式
pasv_max_port=24500
pasv_max_port=24600  端口范围
chroot_local_user=YES  目录的禁锢
3.ftp的黑白名单
/etc/vsftpd/ftpusers  --- 黑名单用户无法登陆
/etc/vsftpd/user_list  --- 黑白名单

userlist_deny=YES(默认的) 拒绝
userlist_deny=NO  白名单
4./etc/init.d/vsftpd start

实验内容
1.安装vsftpd软件,并指定被动模式端口号为34400,要求本地用户下载速度为50kb,匿名用户的下载速度为5kb
2.建立用户tom和jerry,natasha要求只有natasha用户可以登录ftp其他用户不可登录

预习作业
1.解释什么是ftp的虚拟用户,为什么要建立虚拟用户
2.写出建立虚拟用户过程
3.写出pam的作用是什么
4.dns服务启动后的端口号是多少?
5.写出dns服务的配置文件的所在位置
6.什么是正向解析什么是方向解析。
7.在配置文件中以下选项代表什么
A
PTR
NS
MX

晚自习任务背书上P54页的配置文件选项作用,明天进行轮流检查。完成预习作业,今天被罚写的同学准备罚写内容

晨考测试
1.写出vsftpd配置文件的所在位置以及名称
vim /etc/vsftpd/vsftpd.conf
2.写出vsftpd目录中ftpusers文件的作用
黑名单
3.写出vsftpd目录中userlist文件如何使其成为白名单
userlist_enable=YES
userlist_deny=NO
4.如何为匿名用户下载设定下载速度为6kb每秒
anon_max_rate=6000
5.如何设定被动模式时端口范围从24500-24600之间
pasv_enable=YES
pasv_max_port=24600
pasv_min_port=24500


ftp的虚拟用户
增强安全性  虚拟系统中不存在的用户
登录验证
1.建立虚拟用户的数据库
yum install db4-utils -y
vim /etc/vsftpd/vuserlist
tom
123
jerry
456
奇数行用户名 偶数行密码
db_load -t hash -T -f /etc/vsftpd/vuserlist /etc/vsftpd/vuserlist.db
-t 指定算法 -T pam可识别 -f指定要转变的文件  生成数据库文件
2.要建立ftp的共享目录
useradd -s /sbin/nologin -d /var/ftproot vuser
chmod 755 /var/ftproot
3.建立pam的认证文件
vim /etc/pam.d/vuser
auth required pam_userdb.so db=/etc/vsftpd/vuserlist
account required pam_userdb.so db=/etc/vsftpd/vuserlist

4.修改vsftpd配置文件支持新的pam文件
guest_enable=YES
guest_username=vuser
user_config_dir=/etc/vsftpd/vuserdir
pam_service_name=vuser

5.建立虚拟用户配置文件目录 以及配置文件信息
mkdir /etc/vsftpd/vuserdir
touch /etc/vsftpd/vuserdir/{tom,jerry}
vim /etc/vsftpd/vuserdir/tom
anon_upload_enable=YES
anon_umask=022
anon_max_rate=6000

实验作业:
建立ftp的虚拟用户 qiaoyu huyang,要求共享目录为/var/t2202目录,要求huyang可以上传文件 速率为100kb
乔宇可以上传文件速率为10kb。

晚自习作业
预习dns服务的内容,准备明天晨考,笔记没有记完的统一把笔记完成。罚写的同学注意完成罚写作业
预习作业
1.dns服务有几个配置文件,分别是什么功能?
2 什么是主从dns服务有什么用?
3 缓存dns缓存了哪些内容?
4 202.106.0.20是主dns服务器还是缓存dns服务器?为什么

---------------------------------
linux建立dns服务器
缓存dns 主dns 从dns
1.建立主dns服务器
yum install bind -y
三个配置文件
 主配置文件
正向解析文件
反向解析文件
vim /etc/named.conf
options {
    direcotry "/var/named";
};
zone "benet.com" IN {
    type master;
    file "benet.com.zone";
    allow-transfer { 192.168.0.100; };
};
zone "0.168.192.in-addr.arpa" IN {
    type master;
    file "192.168.0.arap";
    allow-transfer { 192.168.0.100; };
};

正向
vim /var/named/benet.com.zone
$TTL 86400
@ IN SOA benet.com. root.benet.com. (
    2015041601
    3H
    15M
    1W
    1D
)
@ IN NS ns1.benet.com.
  IN MX 10 mail.benet.com.
www IN A 192.168.0.111

反向
vim /var/named/192.168.0.arpa
$TTL 86400
@ IN SOA benet.com. root.benet.com. (
    2015041601
    3H
    15M
    1W
    1D
)
@ IN NS ns1.benet.com.
  IN MX 10 mail.benet.com.
2 IN PTR ftp.benet.com.

检查语法错误
named-checkconf 查主配置文件
-z 查区域配置文件

/etc/init.d/named start

2、从dns的配置
yum install bind -y
vim /etc/named.conf
options {
    directory "/var/named";
};
zone "benet.com" IN {
    type slave;
    file "slaves/benet.com.zone";
    masters { 192.168.0.10; };
};
zone "0.168.192.in-addr.arpa" IN {
    type slave;
    file "slaves/192.168.0.arpa";
    masters { 192.168.0.10; };
};

启动服务后检查/var/named/slaves目录中是否存在正反向文件

xp通过dns设定验证

预习作业
1.没有完成笔记的将笔记完成
2.预习第5章的apache源码包安装
3.第8章mysql源码包安装
4.查资料了解lamp平台是什么意思
5.lamp每个字母分别表示的意思

晚自习任务
背默写dns主从服务器建立的配置信息 准备晨考默写

晨考测试
1.写出dns服务的端口号,以及所用协议
53 tcp 和 udp
2.如何查看www.baidu.com所对应的ip地址
nslookup www.baidu.com
3.写出dns软件的安装方法,以及主配置文件的名称和位置
正反向解析文件的名称和位置
yum install bind
/etc/named.conf
/var/named/benet.com.zone
/var/named/192.168.0.arpa
4.默写主配置文件正向解析文件的信息
zone
类型 文件名 允许谁下载
zone "benet.com" IN {
    type master;
    file "benet.com.zone";
    allow-transfer { 192.168.0.100; };
};

设定文件的访问控制列表
setfacl -m u:用户:权限 文件
getfacl 文件
setfacl -x u:用户 文件

------------
lamp平台搭建
linux apache mysql php
apache web服务 index.html
mysql 数据库 SUN 太阳 java
php 语言 动态网页 bbs论坛 html 静态网页区别
lnmp nginx web服务 支持大量并发访问
lemp

源码包安装
yum install httpd* mysql* php* -y  --- yum安装法

安装apache
ln -s /usr/local/apache2/bin/* /usr/local/bin/
httpd   ---- 启动apache
火狐验证 127.0.0.1
IT WORKS!!
/usr/local/apache2/htdocs/index.html  ---- 索引文件

安装mysql
ln -s /usr/local/mysql/bin/* /usr/local/bin/

lamp平台安装

apache安装
1.解压缩httpd的源码包
tar xvf httpd-2.2.17.tar.gz -C /usr/src
cd /usr/src/httpd-2.2.17
./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-charset-lite --enable-cgi && make && make install

enable-so 动态加载模块功能
enable-rewrite 网页url重定向
enable-charset-lite 启用多字符集支持
enable-cgi 启用脚本支持功能(路由器后台)
prefix 指定安装绝对路径

apache软件安装完成后没有启动脚本,需要手动建立启动脚本。
cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
/etc/init.d/httpd start --- 启动服务

vim /etc/init.d/httpd
# chkconfig: 235 27 43
# description: web server
chkconfig --add httpd
chkconfig --level 2345 httpd on

安装mysql
1.建立mysql运行用户
useradd -M -u 49 -s /sbin/nologin mysql
2.解压缩
tar xvf mysql-5.1.55.tar.gz -C /usr/src
cd /usr/src/mysql-5.1.55
./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=gbk,gb2312 && make && make install

with-charset=utf8 支持中文编码
with-collation=utf8_general_ci utf8校验
with-extra-charsets=gbk,gb2312 支持其他字符编码

3.myslq需要自己配置文件
cp /usr/src/mysql-5.1.55/support-files/my-medium.cnf /etc/my.cnf

4.初始化数据库
/usr/local/mysql/bin/mysql_install_db --user=mysql

5.启动mysql服务,需要启动脚本
cp /usr/src/mysql-5.1.55/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
/etc/init.d/mysqld start
netstat -anpt|grep 3306

6.为mysql数据管理员建立密码
/usr/local/mysql/bin/mysqladmin -u root -p password '123456' 回车后会要求输入密码默认为空直接回车即可

7.尝试登录mysql
/usr/local/mysql/bin/mysql -u root -p回车后输入密码
mysql>\q 退出mysql

安装php代码解析工具
1.tar xvf libmcrypt-2.5.8.tar.gz -C /usr/src/
cd /usr/src/libmcrypt-2.5.8/
./configure && make && make install
ln -s /usr/local/lib/libmcrypt.* /usr/lib/

tar xvf mhash-0.9.9.9.tar.gz -C /usr/src/
cd /usr/src/mhash-0.9.9.9/
./configure && make && make install
ln -s /usr/local/lib/libmhash* /usr/lib

tar xvf mcrypt-2.6.8.tar.gz -C /usr/src/
cd /usr/src/mcrypt-2.6.8/
./configure && make && make install

以上安装内容为php加密传输工具

2. tar xvf php-5.3.6.tar.gz -C /usr/src/
cd /usr/src/php-5.3.6/
./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --enable-mbstring && make && make install

with-mcrypt 支持加密传输
with-apxs2 指定apache支持php
with-mysql 指定mysql位置
with-config-file-path 指定php配置文件位置
enable-mbstring 支持多字符集

cd /usr/src/php-5.3.6
cp php.ini-development /usr/local/php5/php.ini
vim /usr/local/php5/php.ini
short_open_tag = On --- 开启短标记功能

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

AddType application/x-httpd-php .php --- 加入内容

DirectoryIndex index.php index.html --- 支持php主页

/etc/init.d/httpd restart -- 重启阿帕奇

验证
vim /usr/local/apache2/htdocs/test1.php
<?
phpinfo();
?>
火狐浏览器访问127.0.0.1/test1.php

vim /usr/local/apache2/htdocs/test2.php
<?
$link=mysql_connect('localhost','root','123456');
if($link) echo "wo ai ni";
mysql_close();
?>
火狐浏览器访问127.0.0.1/test2.php

实验内容:安装lamp平台安装笔记搭建

预习作业:
1.如何给apache建立一个启动脚本,使其开机自启动。

2.在配置文件中DocumentRoot的作用,apache配置文件的所在路径以及名称是什么

3.将/usr/local/apache2/htdosc/目录中的主页文件进行访问限制,只允许192.168.0.0/24访问

4.解释什么是基于域名的虚拟主机,什么是基于ip的虚拟主机,什么是端口的虚拟主机

晨考测试
1.如何将apache启动脚本加入开机启动项(包括修改内容)
chkconfig --add httpd
vim /etc/init.d/httpd
# chkconfig: 235 24 55
# discriptions: ni hap

2.如何为mysql用户root设定密码位123456
mysqladmin -u root -p password '123456'

3.apache和mysql的端口号是多少
80 3306

4.php在lamp平台中的作用是什么?
解析php主页文件,链接apache和mysql

apache 的配置文件 网站加密 虚拟主机
基于域名 一个ip 多个域名
基于ip 一个IP对应一个域名
基于端口 不同端口对应不同的web主页 公司内部

修改apache配置文件
ServerRoot ”/usr/local/apache2“   ---- apache服务的根目录
Listen 80 ---- 监听端口号
LoadModule php5_module    modules/libphp5.so  --- php模块调用
AddType application/x-httpd-php .php  ---- 支持php服务
User daemon   ---- apache的启动用户
Group daemon  ---- apache的启动组
ServerName www.jzsj.com  ----- 定义主机名
ServerAdmin t2200@jzsj.com  ---- 管理员邮箱
DocumentRoot ”/usr/local/apache2/htdocs“  --- 主页文件存放路index.html
DirectoryIndex index.php index.html  --- 默认索引文件名
ErrorLog ”logs/error_log“  --- 错误日志
LogLevel warn --- 日志级别
CustomLog ”logs/access_log“  commen --- 访问日志

<Directory "/usr/local/apache2/htdocs">  ---制定目录的安全信息
    Order allow,deny   --- 访问策略先允许后拒绝
    Allow from all  --- 允许所有
</Directory>

-------------
Order allow,deny
Allow from 10.0.0.0/8   --- 白名单

Order deny,allow
Deny from 10.0.0.0/8  --- 黑名单


主页访问控制另一种方式 需要输入用户名密码登陆主页
htpasswd -c /usr/local/apache2/conf/.webpwd admin  ---- 建立http用户
密码自定义2次

修改主配置文件
<Directory "/usr/local/apache2/htdocs">
    Order allow,deny
    Allow from all
    AuthName "jiuzhoushenqu"   ----  登陆框欢迎信息
    AuthType Basic   --- 浏览器通用登陆窗口
    AuthUserFile /usr/local/apache2/conf/.webpwd  --- 制定http用户文件
    require valid-user  --- 只允许http用户登陆
</Directory>

验证用ie访问该ip会弹出登陆窗口只允许admin用户登陆

建立apache的虚拟主机
基于域名的虚拟主机--- 一个ip多个域名多个主页
基于ip  --- 多个ip多个域名
基于端口号的  --- 多个端口多个域名

cd /usr/local/apache2/conf/extra   --- 保存了apache的扩展配置文件
vim httpd-vhosts.conf   ----  修改虚拟主机配置文件
<Directory "/var/www/html/jzsj">   
Order allow,deny
Allow from all
</Directory>
NameVirtualHost *:80   ---- 开启基于域名的虚拟主机
<VirtualHost *:80>   --- 第一个虚拟主机
 DocumentRoot "/var/www/html/jzsj"  --- 主页存放位置
 ServerName www.jzsj.com  ---域名
</VirtualHost>
<VirtualHost *:80>  --- 第二个虚拟主机
 DocumentRoot "/var/www/html/jzsq"  --- 主页存放
 ServerName www.jzsq.com  --- 域名
</VirtualHost>

mkdir -p /var/www/html/jzsj
mkdir -p /var/www/html/jzsq
echo "t2200" > /var/www/html/jzsj/index.html
echo "t2200" > /var/www/html/jzsq/index.html

vim /usr/local/apache2/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf  ----- 主配置文件读取虚拟主机配置文件

/etc/init.d/httpd restart

验证修改xp的hosts文件加入
IP地址  www.jzsj.com
IP地址  www.jzsq.com

基于端口的虚拟主机实验
修改主配置文件添加
Listen 8080   要求apache同时开启两个端口
修改虚拟主机配置文件
注释
#NameVirtualHost *:80   ---- 关闭基于域名的虚拟功能
在第二个虚拟主机上添加8080端口
<VirtualHost *:8080>

重启httpd服务
让xp通过访问8080端口的域名能够看见t2200

实验内容
1。根据笔记做出访问控制,不允许10.0.0.0/8网段访问主页根目录,后要求用户admin可以通过密码admin访问主页

2.根据笔记建立基于域名和端口的虚拟主机 用xp验证

预习作业:
1.写出如何登陆mysql数据库,并查看当前有哪些数据库?
2.如何进入一个名为user的数据库
3.select语句的作用是什么
4.如何将系统中的t2204数据库备份出来

-----------------------------
晨考测试
1.apache服务的配置文件所在路径及名称
/usr/local/apache2/conf/httpd.conf
2.在配置文件中以下选项的作用
ServerName  主机名
ServerAdmin 管理员邮箱
Listen      监听端口
DocumentRoot 主页文件存放目录
DirectoryIndex 主页名称
<Directory /usr/local/apache2/htdocs>
Order Allow,Deny      顺序允许拒绝
Allow from all        允许所有
Deny from 10.0.0.0/8  10网段
</Directory>
3.通过命令建立一个用户文件/usr/local/apache2/conf/.awspwd要求文件中包含admin用户密码admin
htpasswd -c /usr/local/apache2/conf/.awspwd admin
admin admin

mysql数据库的基础命令以及备份命令
ln -s /usr/local/mysql/bin/* /usr/bin 命令的路径优化
mysql -u root -p 登录数据库
show databases; 查看数据库
use mysql 进入mysql中
show tables; 查看库中的表
desc 表名; 查看表结构

数据库的增删改差
create database t2202;
drop database t2202;

在数据库中建立表格结构
学号 姓名 年龄 电话 住址
num  name age phone
create table t2202.namelist (num char(2) not null,name char(20) not null,age char(2),primary key (num));  -- 创建
改表结构
alter table t2202.namelist add phone char(15);添加新字段
alter table t2202.namelist drop phone;删除phone字段
alter table t2202.namelist add phone char(15) after name; 在指定位置添加字段
alter table t2202.namelist modify name char(30);修改字段信息

drop table t2202.namelist;--- 删除表格

在表中插入内容
insert into t2202.namelist values ('01','cx','13901234567','18');  -- 插入内容
insert into t2202.namelist (num,name) values ('03','js'); --- 在指定字段插入

修改表内容
update t2202.namelist set age=26 where num=03;

删除表内容
delete from t2202.namelist where num=03; 删除这一行

查询表内容
select * from t2202.namelist  --- 查询表中的所有内容

select name,phone from t2202.namelist where num=04; -- 指定查询条件

授权访问数据库和表格
grant select on t2202.name to baozi@192.168.0.20 identified by '123456';

实验测试:
1.将mysql的root密码修改为redhat

2.在数据库中建立一个名为t2200的数据库,并在数据库中建立一个表格namelist,结构为 学号 姓名 年龄 电话。在表中输入填入学号01 姓名wzj 年龄27 电话13801234567。

3.命令查看表结构和表内容,并将wzj的电话修改为13900110010,在表结构中最后追加性别。并修改wzj的性别为man

4.授权t2200库中的name表,允许baozi用户从192.168.0.20远程查看表内容不允许编辑。并用客户机远程访问验证。(远程登录的方式看书解决)

晨考测试
1.如何修改mysql用户root的登录密码位redhat
mysqladmin -u root -p password ‘redhat’
2.如何查看当前有哪些数据库 进入数据库 查看表格
show databases;
use 数据库名
show tables;
3.创建一个数据库为t2202 并在其中建立表格name要求字段1学号 字段2姓名 字段3电话
create database t2202;
create table t2202.name (num char(2) not null,name char(20),phone char(15),primary key(num));
4.修改name表格在电话前添加 字段年龄 并查看结构
alter table t2202.name add age char(2) after name;
desc t2202.name;
5.在表格中插入以下内容
01 qy 33 13901234567
02 hu             
insert into t2202.name values (‘01’,‘qy’,‘33’,‘1390123456’);
insert into t2202.name (num,name) values (‘02’,‘hu’);
6.删除hu用户所在行,并删除数据表格和数据库
delete from t2202.name where num=02;

-------
为数据库做授权访问限制
mysql>grant select on t2199.namelist to wzj@localhost identified by '123456';

mysql>grant all on t2199.* to wzj@localhost identified by '123456';  --- 赋予所有权限包括删除库

查询授权
mysql>show grants for wzj@localhost;

解除授权
mysql>revoke all on t2199.* from wzj@localhost;

删除用户
mysql>drop user wzj@localhost;

数据库的备份和还原
mysqldump -u root -p mysql user > /tmp/mysql.user.sql
mysql -u root -p t2199 < /tmp/mysql.user.sql

mysqldump -u root -p -B mysql > /tmp/mysql.sql

mysqldump -u root -p -A > /tmp/alldatabases.sql
mysql -u root -p < /tmp/alldatabases.sql

实验内容:
1.授权t2200库中的namelist表,允许jiege用户从172.16.0.20远程查看表内容不允许编辑。并用客户机远程访问验证。

2.授权t2200库中的所有表格,允许leige用户从172.16.0.20远程对表格有所有权限包括修改。并用客户机远程访问验证。

3.撤销jiege和leige的授权并将他们删除

4.将t2200数据库中的namelist表导出,并建立t2199数据库。将表格导入到t2199数据库中。

晨考测试
1.在数据库t2202中建立一个表格名为name要求有学号年龄姓名字段
create table t2202.name (num char(2),name char(15),age char(2),primary key(num));
2.删除数据库中学号为02学生的所有资料
delete from t2202.name where num='02';
3.更改表中03号学生的姓名为ttt
updata t2202.name set name='ttt' where num='03';
4.授权用户xx可以从远程主机192.168.0.10访问本地数据库t2204下的所有表格要求密码为redhat
grant select on t2204.* to xx@192.168.0.10 identified by 'redhat';
5.撤销授权用户xx的访问权限
revoke select on t2204.* from xx@192.168.0.10;
6.将所有的数据库内容备份到/tmp目录中命名为alldatabase.sql
mysqldump -u root -p -A > /tmp/alldatabase.sql

预习作业
1.预习第5章awstats软件的安装,说明该软件的和作用,该软件是用什么语言编写的?
2.预习第8章mysqladmin的安装方法
3.预习第9章论坛的搭建方法

--------------------
基于lamp平台的三个图型软件
apache的图形化日志分析工具awstats

unzip awstats-7.0.zip
mv awstats-7.0 /usr/local/awstats
cd /usr/local/awstats/tools/
./awstats_configure.pl   ---  开日志分析工具并生成配置文件

./awstats_updateall.pl now   --- 立刻更新日志

vim /etc/awstats.t2199.conf
LogFile="/usr/local/apache2/logs/access_log"  --- 51行
DirData="/var/lib/awstats"

mkdir /var/lib/awstats

浏览器输入http://127.0.0.1/awstats/awststs.pl?conf=t2199

图形管理mysql数据库
tar解压缩将解压后的目录移动到 apache主页目录中并改名
mv phpMyAdimfakldfjlksdafj  /usr/local/apache2/htdocs/phpmyadmin

浏览器输入http://127.0.0.1/phpmyadmin
前提是mysql的root用户一定要有密码

通过lamp平台搭建论坛
unzip Discuz。。。。。.zip
mv upload /usr/local/apache2/htdocs/bbs
浏览器输入
http://127.0.0.1/bbs/install
根据提示调整相应的目录和文件权限后建立数据库表格

预习作业
1.解释以下缩写表示的内容
MTA 邮件传输代理 exchange sendmail postfix
smtp
MUA 邮件用户代理 outlook express foxmail
MDA 邮件分发代理
2.redhat默认所使用的邮件系统是什么 为什么要换成postfix
sendmail   
postfix 完全兼容sendmail的配置文件
3.postfix所使用的配置文件叫什么
main.cf
4.smtp是什么协议?邮件服务所使用的端口号是多少?25
5.pop3和imap4的区别是什么?
pop3 110 下载 删除服务器端
imap4 143   保留服务器端邮件

/etc/init.d/sendmail stop ---- 关sendmail 25端口占用

yum install httpd* php* mysql* postfix dovecot -y

/etc/httpd/conf/httpd.conf  ---- yum安装apache的配置文件路径
/var/www/html  ----- 默认主页文件存放路径

vim /etc/postfix/main.cf  ---- 邮件服务器的配置文件
77行 mydomain = jzsj.com  --- 制定域名
93行 myorigin = $mydomain --- 收件人看到的域名
107行 inet_interfaces = all  ---- 开启端口发送接收
110行 注释掉
155行 mydestination = $mydomain, ..... --- 允许接收域邮件
410行 home_mailbox = Maildir/  --- 邮件存放位置

/etc/init.d/postfix start
配置ip地址 192.168.0.100
telnet 192.168.0.100 25  ---- 链接端口号25
mail from:wuzhongjie
rcpt to:tom  --- 发送给本地用户tom
data  --- 写邮件
subject:wo ai ni
wo feichang aini
.  --- 用点结尾
quit

验证 /home/tom/Maildir/new 查看邮件文件

vim /etc/dovecot.conf  ---- 配置文件负责mua接收邮件
20行 protocols = imap ....  --- 开启指定协议
45行 disable_plaintext_auth = no  --- 使用明文认证
85行 ssl_disable = yes --- 关闭ssl功能
205行 mail_location = maildir:~/Maildir --- 邮件保存位置

/etc/init.d/dovecot start

验证xp安装foxmail
手动设置 用户名tom 密码redhat 链接服务器 192.168.0.100 25/110
尝试发送给jerry去家目录验证

建立web邮件服务器
yum install squirrelmail -y  --- 安装松鼠邮件服务web端
编辑apache的配置文件
vim /etc/httpd/conf/httpd.conf
<Direcotry "/usr/share/squirrelmail">  --- 软件后台路径
Order allow,deny
Allow from all
</Directory>
ln -s /usr/share/squirrelmail /var/www/html/mail  --- 路径优化
/etc/init.d/httpd restart --- 重启apache

vim /etc/squirrelmail/config.php  --- 邮件后台的配置文件
26行 $squirrelmail_default_language = 'zh_CN';  --- 该语言
28行 $domain = 'jzsj.com';
29行 $imapServerAddress = '192.168.0.100'; --- 收件服务器
31行 $useSendmail = 'false';
32行 $smtpServerAddress = '192.168.0.100'; --- 发件服务器
36行 $imap_server_type = 'dovecot';
59行 $default_charset = 'zh_CN.UTF-8';

xp验证http://192.168.0.100/mail

修改附件上传大小
vim /etc/php.ini
582行 upload_max_filesize = 2M  ---- 最大文件上传大小
477行 post_max_size = 8M  --- 最大表单上传大小
314行 memory_limit = 16M  --- 内存占用大小

yum install bind -y
vim /etc/named.conf
vim /var/named/jzsj.com.zone  
vim /etc/sysconfig/network   --- 主机名
















  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 很抱歉,我是AI语言模型,无法提供自己的笔记。但是,我可以为您提供一些关于Linux网络编程的信息。Linux网络编程是指在Linux操作系统上进行网络编程的技术,主要包括socket编程、网络协议、网络编程模型等内容。在Linux网络编程中,常用的编程语言有C、C++、Python等。Linux网络编程的应用非常广泛,可以用于开发各种网络应用程序,如Web服务器、邮件服务器、FTP服务器等。同时,Linux网络编程也是网络安全领域的重要技术之一,可以用于网络攻防、数据加密等方面。 ### 回答2: Linux网络编程是一门高级语言编程,包括了网络以及套接字的知识,它的目的是让开发者能够在Linux系统下进行网络应用程序的开发与运行。Linux网络编程中,主要涉及到如下的知识: 1.网络协议:网络协议是数据在计算机网络内传输时所必须遵循的规则和约定。网络协议的共同目标是确保数据的可靠传输。 2.套接字:套接字是一种在网络编程中广泛使用的编程接口,它允许从一个进程向另一个进程通信。通过套接字的编程,可以实现网络上的客户端和服务器端的通信。 3.套接字选项:在套接字编程中,选项提供了一些可选项来控制套接字的行为。例如,可以使用SO_REUSEADDR选项来允许相同的IP地址和端口被多个套接字所使用,或者使用SO_LINGER选项来控制套接字在关闭时的行为。 4.网络编程的主要函数:对于网络编程而言,大多数使用的函数都是socket编程或一些与之相关的函数。如socket、bind、listen、accept、connect、send、recv等。 5.多线程编程和select函数:在网络编程中,常常需要使用多线程编程来同时处理多个套接字,使程序具有高并发性。而select函数可以在一个线程中监听多个套接字的I/O事件,从而优化服务器的性能和响应速度。 6.网络编程的实际应用:网络编程在实际应用中,可以实现许多有趣的功能。例如,可以创建简单的聊天程序、实现网络文件传输、远程控制、实现P2P通信等。 总之,Linux网络编程是一种非常重要的技术,要学习并掌握这门技术,需要掌握网络协议、套接字、多线程编程等基础知识。掌握这些知识后,开发者可以根据实际需求,灵活地使用网络编程技术来实现各种基于网络的应用程序。 ### 回答3: Linux网络编程在现代软件开发中扮演着非常重要的角色,这是因为它是一种跨平台的操作系统,并且为开发人员提供了良好的网络编程接口。以下是一些重要的技术和笔记: 1. 套接字(socket)编程—— 在Linux环境中,套接字是网络编程的关键要素。它被用于实现客户端/服务器应用程序中的通信,例如Web服务器和聊天室应用程序。在编写套接字程序时,必须使用包括bind,listen和accept等操作来处理连接请求。 2. 网络协议—— Linux支持各种网络协议,例如TCP/IP,UDP,ICMP,ARP和RIP等。其中TCP/IP是最常用的网络协议,因为它可靠且易于使用,在开发网络应用程序时需要具备其相关知识,例如TCP连接管理和协议数据包的格式化。 3. 多线程编程—— 在Linux环境中,多线程编程是一种非常重要的技术,可以同时处理多个网络请求,以提高应用程序的性能。通常使用POSIX线程库(pthread)来实现多线程编程,并使用同步和互斥机制来管理线程访问共享变量的冲突。 4. 网络安全—— 网络安全是Linux网络编程的一个重要方面,因为网络应用程序通常需要保护敏感数据和隐私信息。开发人员必须学习诸如SSL和TLS等加密协议,以确保数据传输的安全性。 总结来说,在Linux环境下进行网络编程需要熟悉套接字编程、网络协议、多线程编程和网络安全等技术。这些技术的结合可以实现高效的网络应用程序,并提高用户体验。在掌握这些技术后,开发人员可以将网络编程应用于Web服务器、聊天室应用程序、数据存储器等各种应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值