linux网络服务练习题及答案

本文详述了在Linux环境下配置DHCP服务、搭建Samba共享以及安装LAMP(Linux、Apache、MySQL、PHP)的过程。包括Linux系统的安装与分区、DHCP服务配置、Samba服务的权限设定和磁盘配额管理,以及Apache服务器的配置和MySQL数据库的安装与权限管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux网络服务练习题

l 安装操作系统(略)

 

² 安装rhel 6.3系统,安装要求如下

(1)物理内存1G,虚拟内存4G

(2)硬盘 100GB,建立分区如下:

/boot 200M

swap 4G

以下分区采用lvm方式创建

/var 20G

/var/log 20G

/opt 20G

/tmp 5G

/ 剩余所有空间

(3)不安装桌面环境;安装中文语言支持

 

² Linux上配置DHCP服务,为windows xp自动分配IP信息,分配的DNS服务器地址为202.16.53.17

1.关闭iptablesselinux,配置yum

2.配置Linux SRVTCP/IP参数并重启network服务

# vim /etc/sysconfig/network-scripts/ifcfg-eth0 

 

DEVICE="eth0"

BOOTPROTO="static"

HWADDR="00:0C:29:B4:39:71"

NM_CONTROLLED="yes"

 

IPADDR=10.1.1.1

NETMASK=255.255.255.0

GATEWAY=10.1.1.254

DNS1=127.0.0.1

TYPE="Ethernet"

# /etc/init.d/network restart

3.安装dhcpd服务

# yum install dhcp -y

3备份并修改dhcpd配置文件

# cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak

# vim /etc/dhcp/dhcpd.conf 

subnet 10.1.1.0 netmask 255.255.255.0 {

}

 

subnet 172.16.1.0 netmask 255.255.255.0 {

  range 172.16.1.10 172.16.1.100;

  option domain-name-servers 202.16.53.17;

  option routers 172.16.1.254;

  default-lease-time 600;

  max-lease-time 7200;

}

4GNS3上给路由器配置dhcp中继以及ip

5启动dhcpd并添加到系统自启动

# /etc/init.d/dhcpd start

正在启动 dhcpd:                                           [确定]

#chkconfig dhcpd on

6查看winxp地址测试

² Linux中添加20GB硬盘,将硬盘创建逻辑卷,名称为/dev/digital/caiwu;并将其自动挂载到/caiwu文件夹下

 

1添加20g硬盘重启系统

# fdisk -l /dev/sdb

 

Disk /dev/sdb: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

2创建逻辑卷

# pvcreate /dev/sdb

  Writing physical volume data to disk "/dev/sdb"

  Physical volume "/dev/sdb" successfully created

3创建卷组

[root@localhost.localdomain ~]

# vgcreate /dev/digital /dev/sdb

  Volume group "digital" successfully created

4创建逻辑卷

# lvcreate -L 10G -n /dev/digital/caiwu 

  Logical volume "caiwu" created

5格式化lv

# mkfs.ext4 /dev/digital/caiwu 

6创建挂载点/caiwu

# mkdir /caiwu

7自动挂在到/caiwu

# vim /etc/fstab 

/dev/sr0            /mnt       iso9660  defaults     0 0

/dev/digital/caiwu    /caiwu     ext4     defaults     0 0

 

8检测caiwu文件夹是否挂载

[root@localhost.localdomain /]

# cd /caiwu/

 

[root@localhost.localdomain /caiwu]

# ls

lost+found

 

² /caiwu文件夹共享

(1)要求只有tom和jerry用户可以访问共享

(2)只允许tom用户下载文件,允许jerry用户下载、上传文件

(3)将tom和jerry用户分别以别名yg和jl的方式告诉给员工使用

4)设置jerry用户最多只允许上传15GB内容

samba服务

1安装samba服务

# yum install samba* -y

2修改smb配置文件

# vim /etc/samba/smb.conf 

   workgroup = WORKGROUP

        server string = Samba Server Version 

security = user

[caiwu]

        path=/caiwu

        comment=this is a directory for jerry and tom

        valid user=tom,jerry     //只有tom和jerry用户可以访问共享

        writeable=yes

        write list=jerry        //允许jerry用户上传文件

        browseable=yes

        readonly=no

        public=no

 

3修改别名文件写入tomjerry

# vim /etc/samba/smbusers 

 

# Unix_name = SMB_name1 SMB_name2 ...

root = administrator admin

nobody = guest pcguest smbguest

jerry=jl

tom=yg

 

4将别名文件写入到smb配置文件中

# vim /etc/samba/smbusers 

   username map=/etc/samba/smbusers

5创建系统用户并将系统用户转变为samba用户

[root@localhost.localdomain /caiwu]

# useradd tom

# useradd jerry

# pdbedit -a -u tom

new password:

retype new password:

# pdbedit -a -u jerry

new password:

retype new password:

# pdbedit -L

tom:501:

jerry:502:

6修改caiwu文件夹权限

[root@localhost.localdomain /caiwu]

# chown jerry:tom /caiwu/

[root@localhost.localdomain /caiwu]

# chmod 750 /caiwu/

 

[root@localhost.localdomain /caiwu]

# ls -ldh

drwxr-x--- 3 jerry tom 4.0K 3月  15 20:25 .

 

7启动smb服务并添加到系统自启动

# testparm

 

[caiwu]

comment = this is a directory for jerry and tom

path = /caiwu

write list = jerry

read only = No

[root@localhost.localdomain /caiwu]

# /etc/init.d/smb start

启动 SMB 服务:

# chkconfig smb on

8测试yg是否能登录以及下载(先在创建测试文件)

[root@localhost.localdomain /caiwu]

# touch 1.mp3 2.mp3

# touch /tmp/test.mp3

# smbclient //127.0.0.1/caiwu -U yg

Enter yg's password: 

Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.10-125.el6]

smb: \> ls

  .                                   D        0  Sun Mar 15 21:19:06 2015

  ..                                 DR        0  Sun Mar 15 20:20:54 2015

  1.mp3                                        0  Sun Mar 15 21:19:06 2015

  2.mp3                                        0  Sun Mar 15 21:19:06 2015

  lost+found                          D        0  Sun Mar 15 20:25:55 2015

 

40317 blocks of size 262144. 37667 blocks available

smb: \> get 1.mp3 /tmp/1.mp3  //下载成功

getting file \1.mp3 of size 0 as /tmp/1.mp3 (0.0 KiloBytes/sec) (average 0.0 KiloBytes/sec)

smb: \> put /tmp/test.mp3 test.mp3 //上传失败 

NT_STATUS_ACCESS_DENIED opening remote file \test.mp3

9测试jl是否能登录以及上传下载

# smbclient //127.0.0.1/caiwu -U jl

Enter jl's password: 

Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.10-125.el6]

smb: \> ls

  .                                   D        0  Sun Mar 15 21:19:06 2015

  ..                                 DR        0  Sun Mar 15 20:20:54 2015

  1.mp3                                        0  Sun Mar 15 21:19:06 2015

  2.mp3                                        0  Sun Mar 15 21:19:06 2015

  lost+found                          D        0  Sun Mar 15 20:25:55 2015

 

40317 blocks of size 262144. 37667 blocks available

smb: \> get 2.mp3 /tmp/2.mp3 

getting file \2.mp3 of size 0 as /tmp/2.mp3 (0.0 KiloBytes/sec) (average 0.0 KiloBytes/sec)

smb: \> put /tmp/test.mp3 test.mp3

putting file /tmp/test.mp3 as \test.mp3 (0.0 kb/s) (average 0.0 kb/s)

 

二磁盘配额(给jerry做磁盘配额来限制其只能上传15M内容)

1安装磁盘配额软件包

# yum provides */quotacheck

# yum install quota -y

2开启磁盘配额功能

# mount -o remount,usrquota,grpquota /dev/digital/caiwu /caiwu/

# mount | grep caiwu

/dev/mapper/digital-caiwu on /caiwu type ext4 (rw,usrquota,grpquota)

3生成磁盘配额文件

# quotacheck -cugv /caiwu/

4编辑jerry的磁盘配额

# edquota -u jerry

 

Disk quotas for user jerry (uid 502):

  Filesystem                   blocks       soft       hard     inodes     soft     hard

  /dev/mapper/digital-caiwu          4          0     150000          2        0        0

4启用磁盘配额配置

# quotaon -ugv /caiwu/

/dev/mapper/digital-caiwu [/caiwu]: group quotas turned on

/dev/mapper/digital-caiwu [/caiwu]: user quotas turned on

5测试

[root@localhost.localdomain /caiwu]

# su - jerry

[jerry@localhost.localdomain ~]

$ touch /caiwu/test

[jerry@localhost.localdomain /caiwu]

$ dd if=/dev/zero of=/caiwu/test bs=150M count=1

dm-3: write failed, user block limit reached.

dd: 正在写入"/caiwu/test": 超出磁盘限额

记录了1+0 的读入

记录了0+0 的写出

153595904字节(154 MB)已复制,0.6859 秒,224 MB/

$ du -ah test

147M test

$ dd if=/dev/zero of=/caiwu/test bs=140M count=1

记录了1+0 的读入

记录了1+0 的写出

146800640字节(147 MB)已复制,0.806138 秒,182 MB/

 

[jerry@localhost.localdomain /caiwu]

$ du -ah test

141M test

 

[jerry@localhost.localdomain /caiwu]

$ dd if=/dev/zero of=/caiwu/test bs=160M count=1

dm-3: write failed, user block limit reached.

dd: 正在写入"/caiwu/test": 超出磁盘限额

记录了1+0 的读入

记录了0+0 的写出

153595904字节(154 MB)已复制,0.833291 秒,184 MB/

 

[jerry@localhost.localdomain /caiwu]

$ du -ah test

147M test

6查看磁盘配额情况

# quota -u jerry

Disk quotas for user jerry (uid 502): 

     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace

/dev/mapper/digital-caiwu

                 150000*      0  150000               3       0       0        

 

[root@localhost.localdomain ~]

# repquota /caiwu/

*** Report for user quotas on device /dev/mapper/digital-caiwu

Block grace time: 7days; Inode grace time: 7days

                        Block limits                File limits

User            used    soft    hard  grace    used  soft  hard  grace

----------------------------------------------------------------------

root      --      16       0       0              3     0     0       

jerry     --  150000       0  150000              3     0     0       

 

 

² 安装apache软件,分别搭建两个网站

(1)网站名称分别为www.bj.com和www.sh.com

(2)bj网站的所有网页存储到/usr/local/apache/htdocs/bj文件夹下(或者/var/www/html/bj)

(3)sh网站的所有网页存储到/usr/local/apache/htdocs/sh文件夹下(或者/var/www/html/sh)

(4)bj网站的测试网页中显示“it is bj”,sh网站的测试网页中显示“it is shanghai

(5)实现windows xp分别可以通过域名访问两个网站

(6)部署aws日志分析软件,分别分析两个网站的正常日志文件;

(7)为保证日志显示页面的安全性,为该页面添加用户名、密码进行认证

dns服务

1安装named服务

# yum install bind bind-chroot -y

2修改系统dns地址

# vim /etc/resolv.conf

nameserver 127.0.0.1

3创建bj.com sh.com两个区域

# vim /var/named/chroot/etc/named.conf

options{

        directory"/var/named";

};

 

zone"bj.com"{

        type master;

        file "bj.com.zone";

};

zone"sh.com"{

        type master;

        file "sh.com.zone";

};

4创建两个区域的记录文件并修改

# cp /usr/share/doc/bind-9.8.2/sample/var/named/named.localhost /var/

named/chroot/var/named/bj.com.zone

 

#cp/usr/share/doc/bind-9.8.2/sample/var/named/named.localhost /var/named/chroot/var/named/sh.com.zone

# vim /var/named/chroot/var/named/bj.com.zone

 

$TTL 1D

@       IN SOA  bj.com. mymail.163.com. 

www     A       127.0.0.1

# vim /var/named/chroot/var/named/sh.com.zone

$TTL 1D

@       IN SOA  sh.com. mymail.163.com. (

                                     

www     A       127.0.0.1

5启动named服务并添加系统自启动

# rndc-confgen -r /dev/urandom -a

wrote key file "/etc/rndc.key"

# /etc/init.d/named start

# chkconfig named on

6测试

# nslookup

> server

Default server: 10.1.1.1

Address: 10.1.1.1#53

www.bj.com

Server: 10.1.1.1

Address: 10.1.1.1#53

 

Name: www.bj.com

Address: 10.1.1.1

www.sh.com

Server: 10.1.1.1

Address: 10.1.1.1#53

 

Name: www.sh.com

Address: 10.1.1.1

 

二安装httpd**rpm

# yum install httpd* -y 

修改httpd配置文件

ServerAdmin mymail@163.com                                                                                                  

ServerName www.bj.com

DocumentRoot "/var/www/html"

ServerRoot "/etc/httpd"

DirectoryIndex index.html index.html.var

3在网站跟路径下创建两个文件夹bjsh

# mkdir /var/www/html/bj

# mkdir /var/www/html/sh

4分别在bjsh两个文件夹下创建index文件

# vim /var/www/html/sh/index.html

 

it is sh

# vim /var/www/html/bj/index.html

 

it is bj

5配置基于域名的虚拟主机

# vim /etc/httpd/conf/httpd.conf

NameVirtualHost 10.1.1.1

<VirtualHost 10.1.1.1>

    ServerAdmin mymail@163.com

    DocumentRoot /var/www/html/bj/

    ServerName www.bj.com

    ErrorLog /etc/httpd/logs/bj/error_log

    CustomLog /etc/httpd/logs/bj/access_log common

</VirtualHost>

<VirtualHost 10.1.1.1>

    ServerAdmin mymail@163.com

    DocumentRoot /var/www/html/sh/

    ServerName www.sh.com

    ErrorLog /etc/httpd/logs/sh/error_log

    CustomLog /etc/httpd/logs/sh/access_log common

</VirtualHost>

# mkdir /etc/httpd/logs/bj

# mkdir /etc/httpd/logs/sh

6启动httpd服务并加入系统自启动

# /etc/init.d/httpd start

正在启动 httpd

# chkconfig httpd on

7测试

三部署AWS日志分析软件

1解压缩

2aws软件包移动并改名

[root@localhost.localdomain /caiwu]

# mv awstats-7.0 /usr/local/awstats

3www.bj.com生成aws文件

# cd /usr/local/awstats/

# cd tools/

# ./awstats_configure.pl 

Config file path ('none' to skip web server setup):

> /etc/httpd/conf/httpd.conf

。。。

Your web site, virtual server or profile name:

www.bj.com

同理为www.sh.com生成aws文件

 

4bj配置asw配置文件

# vim /etc/awstats/awstats.www.bj.com.conf 

LogFile="/var/log/httpd/bj/access_log"

DirData="/var/lib/awstats"

# mkdir /var/lib/awstats

5重启httpd

# /etc/init.d/httpd restart

6编写任务计划每10分钟更新一次

# crontab -e

*/10 * * * *  /usr/local/awstats/tools/awstats_update.pl now

crontab: installing new crontab

 

7访问测试

www.bj.com/awstats/awstats.pl?config=www.bj.com

www.bj.com/awstats/awstats.pl?config=www.sh.com

apache访问控制(基于用户的访问控制)

1创建存放用户认证文件的文件夹

# mkdir /etc/httpd/httpdusers

2创建认证用户到htpasswd

# find / -name htpasswd

/usr/bin/htpasswd

 

# /usr/bin/htpasswd -c /etc/httpd/httpdusers/.aws mike

New password: 

Re-type new password: 

Adding password for user mike

2修改httpd的配置文件

# vim /etc/httpd/conf/httpd.conf

<Directory "/usr/local/awstats/wwwroot">

    Options None

    AllowOverride None

    Order allow,deny

    Allow from all

        AuthName "please input your username and password"

        AuthType Basic

        AuthUserFile "/etc/httpd/httpdusers/.aws"

        require valid-user

</Directory>

3重启httpd服务

# /etc/init.d/httpd restart

² mysql数据操作练习

1)创建一个名称为bj的数据库

2)在bj数据库分别创建两个表,表结构如下:

1名:stuInfo,并向表中添加数据

Id int primary key

Name varchar(30) not null 

Age int not null

Sex char(2) 

1

tom

20

M

2

jerry

50

W

3

mike

15

W

4

john

25

 

2名:gradeInfo,并向表中添加数据:

Id int primary key 

Name varchar(30)

Grade varchar(10)

1

tom

S1

2

jerry

S2

3

mike

S3

4

john

S1

 

3)删除表中姓名为mike的数据

4)将姓名为tom的年龄改为18

5)查询表stuInfo所有的内容

6)为bj数据库添加授权用户,允许该用户对bj数据库拥有查询权限、添加权限,用户名为cisco

7)查看新授权用户ciscobj数据库的操作权限

8)为bj数据库的gradeInfo表添加授权用户,名称为h3c,并为该用户授予查询权限;只允许用户从10.1.1.1这台机器上登录

9)撤销cisco用户对bj数据库的查询权限;

10)分别使用cisco用户和h3c用户登录mysql数据库,测试用户的权限

11)备份mysql中的所有数据库,将数据库备份到单独硬盘分区上,分区名称为/bak

12)将bj库删除,从备份文件中恢复该数据库

 

1安装mysqld服务

# yum install mysql* -y

2生成mysql配置文件

# cp my.cnf my.cnf.bak

# cp /usr/share/doc/mysql-server-5.1.61/my-medium.cnf /etc/my.cnf

cp:是否覆盖"/etc/my.cnf"? y

3启动mysqld服务

# /etc/init.d/mysqld start

初始化 MySQL 数据库: Installing MySQL system tables...

正在启动 mysqld:                                          [确定]

4登录mysql

# mysql

5创建一个名称为bj的数据库

mysql> create database bj;

Query OK, 1 row affected (0.01 sec)

6在bj数据库分别创建两个表stuInfo gradeInfo

mysql> use bj

Database changed

mysql> create table stuInfo(

    -> Id int primary key,

    -> Name varchar(30) not null,

-> Age int not null,

-> Sex char(2));

Query OK, 0 rows affected (0.09 sec)

mysql> create table gradeInfo(

    -> Id int primary key,

    -> Name varchar(30),

    -> Grade varchar(10));

Query OK, 0 rows affected (0.05 sec)

mysql> show tables;

+--------------+

| Tables_in_bj |

+--------------+

| gradeInfo    |

| stuInfo      |

+--------------+

2 rows in set (0.00 sec)

 

7stuInfo 添加数据

mysql> insert into stuInfo (Id,Name,Age,Sex) values(1,'tom',20,'M');

Query OK, 1 row affected (0.01 sec)

mysql> insert into stuInfo values(2,'jerry',50,'W');

Query OK, 1 row affected (0.00 sec)

mysql> insert into stuInfo values(3,'mike',15,'W');

Query OK, 1 row affected (0.00 sec)

mysql> insert into stuInfo values(4,'john',25,'');

Query OK, 1 row affected (0.00 sec)

 

mysql> select * from stuInfo;

+----+-------+-----+------+

| Id | Name  | Age | Sex  |

+----+-------+-----+------+

|  1 | tom   |  20 | M    |

|  2 | jerry |  50 | W    |

|  3 | mike  |  15 | W    |

|  4 | john  |  25 |      |

+----+-------+-----+------+

4 rows in set (0.00 sec)

8gradeInfo添加数据

mysql> insert into gradeInfo(Id,Name,Grade) values(1,'tom','s1');

mysql> insert into gradeInfo(Id,Name,Grade) values(2,'jerry','s2');

mysql> insert into gradeInfo(Id,Name,Grade) values(3,'mike','s3');

mysql> insert into gradeInfo(Id,Name,Grade) values(4,'john','s1');

 

mysql> select * from gradeInfo

    -> ;

+----+-------+-------+

| Id | Name  | Grade |

+----+-------+-------+

|  1 | tom   | s1    |

|  2 | jerry | s2    |

|  3 | mike  | s3    |

|  4 | john  | s1    |

+----+-------+-------+

4 rows in set (0.00 sec)

9删除表中姓名为mike的数据

mysql> delete from stuInfo where Name='mike';

Query OK, 1 row affected (0.08 sec)

mysql> delete from gradeInfo where Name='mike';

Query OK, 1 row affected (0.00 sec)

 

 

 

mysql> select * from stuInfo;

+----+-------+-----+------+

| Id | Name  | Age | Sex  |

+----+-------+-----+------+

|  1 | tom   |  20 | M    |

|  2 | jerry |  50 | W    |

|  4 | john  |  25 |      |

+----+-------+-----+------+

3 rows in set (0.00 sec)

 

mysql> select * from gradeInfo;

+----+-------+-------+

| Id | Name  | Grade |

+----+-------+-------+

|  1 | tom   | s1    |

|  2 | jerry | s2    |

|  4 | john  | s1    |

+----+-------+-------+

3 rows in set (0.00 sec)

10将姓名为tom的年龄改为18

mysql> update stuInfo set Age=18 where Name='tom';

Query OK, 1 row affected (0.02 sec)

Rows matched: 1  Changed: 1  Warnings: 0

11查询表stuInfo所有的内容

mysql> select * from stuInfo

    -> ;

+----+-------+-----+------+

| Id | Name  | Age | Sex  |

+----+-------+-----+------+

|  1 | tom   |  18 | M    |

|  2 | jerry |  50 | W    |

|  4 | john  |  25 |      |

+----+-------+-----+------+

3 rows in set (0.00 sec)

12为bj数据库添加授权用户,允许该用户对bj数据库拥有查询权限、添加权限,用户名为cisco

mysql> grant select,insert on bj.* to 'cisco'@'localhost' identified by "redhat";

Query OK, 0 rows affected (0.01 sec)

13查看新授权用户ciscobj数据库的操作权限

mysql> show grants for 'cisco'@'localhost';

+--------------------------------------------------------------------------------------------------------------+

| Grants for cisco@localhost                                                                                   |

+--------------------------------------------------------------------------------------------------------------+

| GRANT USAGE ON *.* TO 'cisco'@'localhost' IDENTIFIED BY PASSWORD '*84BB5DF4823DA319BBF86C99624479A198E6EEE9' |

| GRANT SELECT, INSERT ON `bj`.* TO 'cisco'@'localhost'                                                        |

+--------------------------------------------------------------------------------------------------------------+

2 rows in set (0.00 sec)

14为bj数据库的gradeInfo表添加授权用户,名称为h3c,并为该用户授予查询权限;只允许用户从10.1.1.1这台机器上登录

mysql> grant select on bj.gradeInfo to 'h3c'@'10.1.1.1';

Query OK, 0 rows affected (0.00 sec)

15撤销cisco用户对bj数据库的查询权限

mysql> revoke select on bj.* from 'cisco'@'localhost';

Query OK, 0 rows affected (0.00 sec)

16分别使用cisco用户和h3c用户登录mysql数据库,测试用户的权限

# mysql -u cisco -p

Enter password: 

mysql> select * from bj.stuInfo;

ERROR 1142 (42000): SELECT command denied to user 'cisco'@'localhost' for table 'stuInfo'

mysql> insert into bj.stuInfo values(3,'mike',15,'W');

Query OK, 1 row affected (0.00 sec)

# mysql -u h3c   

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| test               |

+--------------------+

2 rows in set (0.00 sec)

//不创建密码只能看到module

mysql> grant select on bj.* to 'h3c'@'10.1.1.1' identified by "redhat";

Query OK, 0 rows affected (0.00 sec)

17备份mysql中的所有数据库,将数据库备份到单独硬盘分区上,分区名称为/bak

# mkdir /bak(没单独加硬盘,暂时备份在新文件夹中)

# mysqladmin -u root -p password "redhat"

Enter password: 

 

 

# mysqldump -u root -p --all-databases >/bak/DB_all.bk

Enter password: 

# cd /bak/

# ls

DB_all.bk

18将bj库删除,从备份文件中恢复该数据库

mysql> drop database bj;

Query OK, 2 rows affected (0.01 sec)

mysql> create database bj; //不要忘了创建出bj库才能恢复

Query OK, 1 row affected (0.01 sec)

[root@localhost.localdomain /bak]

# mysql -u root -p bj < /bak/DB_all.bk 

Enter password: 

mysql> show tables;

+--------------+

| Tables_in_bj |

+--------------+

| gradeInfo    |

| stuInfo      |

+--------------+

2 rows in set (0.00 sec)

² 搭建LAMP

一使用rpm包搭建

1安装httpdmysqlphp

# yum install httpd* mysql* php* -y

2修改httpd的配置文件

ServerName www.bj.com

DirectoryIndex index.html index.html.var index.php

2启动httpdmysqld

# /etc/init.d/httpd start

# /etc/init.d/mysqld start

3httpd的网页根目录下创建测试文件testsql.php,测试httpdmysqlphp协同工作

# vim /var/www/html/testsql.php

<?php

        $link=mysql_connect('localhost','root','redhat');

        if($link) echo "successfully";

        mysql_close();

?>

二使用开源包搭建LAMP

1卸载原来安装的httpd包,并查看程序用户daemon是否存在

# rpm -qa | grep httpd

httpd-tools-2.2.15-15.el6_2.1.i686

httpd-2.2.15-15.el6_2.1.i686

# rpm -e --nodeps httpd-tools httpd

# cat /etc/passwd | grep daemon

daemon:x:2:2:daemon:/sbin:/sbin/nologin

2解压缩开源httpd

# tar zxvf httpd-2.2.17.tar.gz 

3预编译,配置

# cd httpd-2.2.17

# ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-cgi --enable-charset-lite

4编译成内核识别语言

make

5安装到系统目录

make install

6备份并修改httpd的配置文件

# cp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf.bak

# vim /usr/local/apache/conf/httpd.conf

ServerAdmin mymail@163.com

ServerName www.bj.com

DirectoryIndex index.html

ServerRoot "/usr/local/apache"

DocumentRoot "/usr/local/apache/htdocs"

 

7启动httpd服务并加入到系统自启动

# /usr/local/apache/bin/apachectl start

# vim /etc/rc.d/rc.local 

touch /var/lock/subsys/local

/usr/local/apache/bin/apachectl start

8验证

# netstat -antp | grep :80

tcp        0      0 :::80                       :::*                        LISTEN      28418/httpd         

9卸载原来安装的mysql包,并查看程序用户mysql

# rpm -qa | grep mysql

mysql-libs-5.1.61-4.el6.i686

# rpm -e --nodeps mysql-libs

# cat /etc/passwd | grep mysql

# useradd -M -s /sbin/nologin mysql

10解压缩mysql开源包

# tar zxvf mysql-5.1.55.tar.gz 

 

11配置

# cd mysql-5.1.55

# ./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=gbk,gb2312 --with-unix-socket-path=/tmp/mysql.sock

12编译和安装

make && make install

13生成配置文件并备份

# cp support-files/my-medium.cnf /etc/my.cnf

# cp /etc/my.cnf /etc/my.cnf.bak

14初始化数据库

# /usr/local/mysql/bin/mysql_install_db --user=mysql

15修改属组和属主

# chown -R root:mysql /usr/local/mysql/

# chown -R mysql /usr/local/mysql/var/

16生成mysql控制服务脚本

#cp support-files/mysql.server /etc/init.d/mysqld 

# chmod a+x /etc/init.d/mysqld 

# chkconfig --add /etc/init.d/mysqld 

17建立mysql命令软连接

# ln -s /usr/local/mysql/bin/* /usr/local/bin/

18修改库文件目录保证其他软件和mysql协同工作

# ln -s /usr/local/mysql/lib/mysql/* /usr/local/lib/

# ln -s /usr/local/mysql/include/mysql/* /usr/local/include/

19启动mysql并测试

# /etc/init.d/mysqld start

# netstat -antp | grep :3306

tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      14843/mysqld      

20卸载原来安装的php

# rpm -qa | grep php

21安装加密组件

# tar zxvf libmcrypt-2.5.8.tar.gz 

# cd libmcrypt-2.5.8

# ./configure 

# make && make install

# ln -s /usr/local/lib/libmcrypt.* /usr/lib

22安装认证工具

# tar zxvf mhash-0.9.9.9.tar.gz 

# cd mhash-0.9.9.9

# ./configure 

# make && make install

# ln -s /usr/local/lib/libmhash* /usr/lib

23安装加密工具

# tar zxvf mcrypt-2.6.8.tar.gz 

# cd mcrypt-2.6.8

# ./configure 

# make && make install

24安装php软件

# tar zxvf php-5.3.6.tar.gz 

# cd php-5.3.6

# ./configure --prefix=/usr/local/php --with-mcrypt --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-config-file-path=/usr/local/php --enable-mbstring

# make && make install

25生成php配置文件并备份

# cp php.ini-development /usr/local/php/php.ini

# cp /usr/local/php/php.ini /usr/local/php/php.ini.bak

26php添加ZendGuardLoader模块,并复制到php安装目录下的lib/php文件夹下

# cp /software/ZendGuardLoader.so /usr/local/php/lib/php/

27修改php配置文件使其支持ZendGuardLoader模块

# vim /usr/local/php/php.ini

zend_extension=/usr/local/php/lib/php/ZendGuardLoader.so

zend_loader_enable=1

28修改httpd配置文件使其与php协同工作

# vim /usr/local/apache/conf/httpd.conf 

AddType application/x-httpd-php .php

LoadModule php5_module        modules/libphp5.so

DirectoryIndex index.html index.php

29测试httpdmysqldphp协同工作

# vim /usr/local/apache/htdocs/testsql.php

<?php

        $link=mysql_connect('localhost','root','');

        if($link) echo"successfully";

        mysql_close();

?>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值