随笔-61  评论-13  文章-19  trackbacks-0
 

Red Hat Linux基本知识

一、            安装 Rad Hat Linux

1.1 准备工作

1.1 准备工作

       Rad Hat Linux 一共有四张安装光盘

1.2 安装

       插入第一张光盘,启动电脑,自动运行安装,如果不行可以从 BIOS 下改为从光盘启动即可。在安装的过程中需要对磁盘进行分区,一般环境下,划分三个分区:交换分区 (swap)  用做系统的虚拟内存,一般是物理内存的两倍;引导分区 (/boot)  存放 Linux 内核文件,最小 128M ;根分区 (/)  存放其它文件。

第一张光盘安装完毕会提示插入第二张光盘,依次类推,直到安装完毕。在安装的过程中会提示输入用户名、密码、配置网络(也可以装完后再配置)、选择需要安装的程序和服务等等,根据提示操作即可。

 

二、网络配置

2.1 配置IP地址

在RedHat中,系统网络设备的配置文件保存在“/etc/sysconfig/network-scripts”目录下,ifcfg-eth0包含第一块网卡的配置信息,ifcfg-eth1包含第二块网卡的配置信息。

输入命令:vi /etc/sysconfig/network-scripts/ifcfg-etho

  下面是“/etc/sysconfig/network-scripts/ifcfg-eth0”文件的示例:

  DEVICE=eth0  

  IPADDR=61.138.209.249

  NETMASK=255.255.255.0

  GATEWAY=61.138.209.1

  BROADCAST=61.138.209.255

  ONBOOT=yes

  BOOTPROTO=none

  USERCTL=no

  若希望手工修改网络地址或在新的接口上增加新的网络界面,可以通过修改对应的文件(ifcfg-ethN)或创建新的文件来实现。

   DEVICE=name      name表示物理设备的名字

  IPADDR=addr     addr表示赋给该卡的IP地址

  NETMASK=mask    mask表示网络掩码

  GATEWAYK=addr    addr表示网管

  BROADCAST=addr   addr表示广播地址

ONBOOT=yes/no    启动时是否激活该卡

BOOTPROTO=none

  none:无须启动协议

  bootp:使用bootp协议

  dhcp:使用dhcp协议

USERCTL=yes/no        是否允许非root用户控制该设备

修改完毕后输入:wq保存修改。

2.2 配置域名

该文件为:/etc/resolv.conf

输入命令:vi /etc/resolv.conf

nameserver 61.166.150.101

nameserver 202.98.160.68

输入命令::wq保存退出

2.3 启动/停止网络

启动网络:/etc/rc.d/init.d/network start

停止网络:/etc/rc.d/init.d/network stop

重启网络:/etc/rc.d/init.d/network restart

查看网络配置 ifconfig

查看网络接状态 netstat

2.4 测试网络

输入 ping 61.138.209.4 查看网络是否连通,再输入ping www.yninfo.com查看域名是否配置成功。

经过测试,网络配置成功,也可以直接用命令netconfig配置网络,是界面操作。

三、VSFTP安装配置

3.1 安装VSFTP

系统安装时选择安装FTP Server,或者系统安装之后使用VSFTP的RPM软件包进行安装或升级

3.2 文件配置

先增加一个flcandclf的用户,密码为123456

输入命令:useradd flcandclf增加用户,输入命令:passwd flcandclf执行后会提示输入密码123456,到此用户增加完毕。

配置文件vsftpd.conf在/etc/vsftpd/vsftpd.conf

输入命令:vi /etc/vsftpd/vsftpd.conf

相关参数如下:

  anonymous_enable=YES 是否允许匿名ftp,如否则选择NO

  local_enable=YES 是否允许本地用户登录

  local_umask=022 默认的umask码

  anon_upload_enable=YES 是否允许匿名ftp用户访问

  anon_upload_enable=YES 是否允许匿名上传文件

  anon_mkdir_write_enable=YES 是否允许匿名用户有创建目录的权利

  dirmessage_enable=YES 是否显示目录说明文件,默认是YES但需要收工创建.message文件

  xferlog_enable=YES 是否记录ftp传输过程

  connect_from_port_20=YES 是否确信端口传输来自20(ftp-data)

  chown_upload=YES

  chown_username=username 是否改变上传文件的属主,如果是需要输入一个系统用户名,你可以把上传的文件都改成root属主

  xferlog_file=/var/log/vsftpd.log ftp传输日志的路径和名字默认是/var/log/vsftpd.log

  xferlog_std_format=YES 是否使用标准的ftp xferlog模式

  idle_session_timeout=600 设置默认的断开不活跃session的时间

  data_connection_timeout=120 设置数据传输超时时间

nopriv_user=ftpsecure 运行vsftpd需要的非特权系统用户默认是nobody

async_abor_enable=YES 是否允许运行特殊的ftp命令async ABOR

ascii_upload_enable=YES

  ascii_download_enable=YES 是否使用ascii码方式上传和下载文件

  ftpd_banner=Welcome to chenlf FTP service. 定制欢迎信 息

  deny_email_enable=YES

  banned_email_file=/etc/vsftpd.banned_emails 是否允许禁止匿名用户使用某些邮件地址,如果是输入禁止的邮件地址的路径和文件名

  chroot_list_enable=YES

  chroot_list_file=/etc/vsftpd.chroot_list 是否将系统用户限止在自己的home目录下,如果选择了yes那么chroot_list_file=/etc/vsftpd.chroot_list中列出的是不chroot的用户的列表

max_clients=Number 如果以standalone模式起动,那么只有$Number个用户可以连接,其他的用户将得到错误信息,默认是0不限制。

输入命令::wq保存退出,重新启动sftp服务

/etc/init.d/vsftpd restart

 

 

3.3 测试 ftp

 

输入 ftp 地址、用户名、密码,登陆成功,把 httpd-2.0.53.tar.gz , mysql-4.1.9.tar.gz , php-4.3.10.tar.gz , ZendOptimizer-2.5.10a-linux-glibc23-x86_64.tar.gz 等文件上传到用户目录 flcandclf 目录下。

 

四、 MySQL 安装配置及使用

4.1 安装

 

首先添加用户并创建一个/app的目录用于安装mysql:

cd  /

mkdir /app    创建目录

groupadd mysql    创建用户组                                     

useradd -g mysql mysql  创建用户mysql

进入安装文件所在目录:

cd /home/flcandclf/

然后解压文件:

tar xvzf mysql-4.1.9.tar.gz

解压后生成mysql-4.1.9目录,我们进入该目录: 

cd mysql-4.1.9

进入后就开始配置mysql了,配置过程中我们要给mysql设置一个安装目录,我们设置在  /app/mysql 下,因为把文件放到一个地方比较容易管理,如果你还想获得更多的配置信息,使用 ./configure --help:

在这里我要特别强调在 编译的时候要选择好MYSQL的默认编码,因为如果不选择按默认安装的时候在JSP中就不支持GBK编码了

所以我这样编译

 ./configure --prefix= /app/mysql --with-charset=gbk

然后等几秒钟,配置完成后就编译源代码

 make 

这个编译的过程比较长,如果机器比较慢的话,可能要近二十分种左右,编译完成后就安装: 

 make install

等上几秒钟,安装完成.下面就到了最关键的部分了,为什么老安装不成功 ,问题关键就在这里,访问mysql要一个专门的用户,而且必须给相应的访问权限,这里我们就设置root和mysql有权限访问。用户在一开始的时候已经建好,所以直接初始化表 (注意:必须先执行本步骤后才能进行以下步骤)就可以了: 

 

 ./scripts/mysql_install_db --user=mysql  初试化表并且规定用mysql用户来访问初始化表以后就开始给mysql和root用户设定访问权限, 我们先到安装mysql的目录: 

 

 cd  /app/mysql 

 

然后设置权限 

 

 chown -R root .  设定root能访问 /app/mysql 

 chown -R mysql var  设定mysql用户能访问 /app/mysql/var ,里面存的是mysql的数据库文件 

 chown -R mysql var/.  设定mysql用户能访问 /app/mysql/var下的所有文件 

 chown -R mysql var/mysql/.  设定mysql用户能访问 /app/mysql/var/mysql下的所有文件 

 chgrp -R mysql .  设定mysql组能够访问 /app/mysql 

 

设置完成后,基本上就装好了,好了,我们运行一下我们的mysql: 

 

  /app/mysql/bin/mysqld_safe --user=mysql & 

 

如果没有问题的话,应该会出现类似这样的提示: 

 

[1] 42264 

 Starting mysqld daemon with databases from  /app/mysql/var 

 

这就证明你安装成功了

 

4.2 修改密码

 

用如下命令修改MYSQL密码,默认安装密码为空,为了安全你必须马上修改

cd /app/mysql/bin

./mysqladmin – h localhost.localdomain – u root password ‘123456’

现在修改的密码为:123456

 

 

4.3 启动或者停止mysql

 

启动:

/app/mysql/bin/mysqld_safe --user=mysql &

如果mysql的进程已经启动他会提示A mysqld process already exists,表明mysql进程已经存在,否则会提示

[1] 42264 

 Starting mysqld daemon with databases from  /app/mysql/var 

启动成功。

停止:

 /app/mysql/bin/mysqladmin shutdown

执行命令后输入查看进程命令看 mysql 进程是否已经关闭:

ps –ax

查看后 mysql 的进程已经关闭。

启动 mysql ,再查看 mysql 进程, mysql 已经启动
如果你为  MySQL Administrator root  帐号(非作业系统的  root )设了密码,要停止  MySQL  则必须像下列这样做, MySQL  会询问你  root  的密码后才会执行  shutdown  的工作:

/app/mysql/bin/mysqladmin -u root -p shutdown

 

自动启动mysql

vi /etc/rc.d/rc.local

在后面增加一行启动mysql的命令如下:

/app/mysql/bin/mysqld_safe –user=mysql

按Esc键,输入:wq保存退出。

重启系统:

reboot

等系统启动后再查看进程,mysql进程已经存在,表明mysql自动启动成功。

 

4.4 mysql 常用管理及使用

 

MySQL  提供了许多工具   ( Client Tools )来与  MySQL  资料库  Server  连线,其中最主要的为  mysql  交谈式连线工具与  mysqladmin  公用程式,大部份时候使用者会用  mysql  来和资料库  Server  交谈。底下就以  mysql  连线工具和 mysqladmin 来介绍如何维护与使用  MySQL 。

4.4.1 mysql 连线工具

使用  mysql  与  MySQL  资料库  Server  连线:  
# /app/mysql/bin/mysql -u root mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 133 to server version: 4.1.9-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.mysql>
在下了  /app/mysql/bin/mysql -u root  mysql  指令,指定以  root  帐号并开启  mysql  系统资料库,连线至  MySQL  后,会看到一些提示讯息与  mysql  工具的提示符号,以后大部份的工作皆在此提示符号下完成。

更改  MySQL 系统管理者  root  密码:  
mysql> update user set password=password(‘123456’) where user='root'; 
注意:密码为 123456

Query OK, 0 rows affected (0.00 sec)
Rows matched: 2  Changed: 0  Warnings: 0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye
注意每个指令后要加上一个分号  ";"  才会让  mysql  开始执行 。而第二道指令会让已载入记忆体的  mysql  系统资料库更新,最后离开  mysql  工具程式。

在更新  root  密码后,日后要与  MySQL  连线的方法为:
/app/mysql/bin/mysql  -u root –p123456     

注意: -p 与密码之间不能加空格 , 不过加了空格也没关系,只是他还会提示你输入密码,这样的效果就跟以下的命令一样了
或者是这样,让  mysql  询问  root  的密码:
/app/mysql/bin/mysql  -u root -p

输入密码就可以进入mysql,密码为上面更改的密码123456

 

资料库维护:


接下来,我们以简单的通讯录资料库作为例子,来介绍如何用  mysql  工具程式来做资料库的维护(新增、授权、资料表维护等)。

 

首先,以  MySQL root  帐号连线后建立一  addbook  资料库:

/app/mysql/bin/mysql -u root -p123456

create database addbook;

指定使用  addbook  资料库,并建立一个  friends  资料表:

use addbook;

create table friends(name char(15),telephone varchar(20),icq char(10),address varchar(30));

注意:在使用此命令以前一定要先使用 use addbook 命令,否则系统会提示没有可选的数据库。  

 

新增几笔资料,并查询看看:

insert into friends(name,icq,telephone,address) values("dafen","14081796","3819453","kunming");

 

insert into friends(name,icq,telephone,address) values("flcandclf","410703589","13888660016","beijing");

 

select * from friends;

 

 

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

| name      | telephone   | icq       | address |

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

| dafen     | 3819453     | 14081796  | kunming |

| flcandclf | 13888660016 | 410703589 | beijing |

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

 

其他sql语句笔者自己去尝试看看结果。

 

最后,建好资料库与资料表后,把  addbook  资料库中所有资料表的使用权限( select 、 insert 、 update 、 delete )授权给  dafen@localhost (再次提醒,此处的 dafen  为  MySQL  的使用者帐号,而非作业系统的  dafen  帐号):

grant select,insert,update,delete on addbook.* to dafen@localhost identified by '123456';

 

grant all privileges on addbook.* to dafen@localhost identified by '123456'; (授予所有权限)

quit

退出后用dafen用户登陆mysql

/app/mysql/bin/mysql -u dafen -p123456 addbook

 

mysql> status

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

/app/mysql/bin/mysql  Ver 14.7 Distrib 4.1.9, for pc-linux-gnu (i686)

 

Connection id:          146

Current database:       addbook

Current user:           dafen@localhost

SSL:                    Not in use

Current pager:          stdout

Using outfile:          ''

Using delimiter:        ;

Server version:         4.1.9-log

Protocol version:       10

Connection:             Localhost via UNIX socket

Server characterset:    gbk

Db     characterset:    gbk

Client characterset:    gbk

Conn.  characterset:    gbk

UNIX socket:            /tmp/mysql.sock

Uptime:                 1 day 52 min 27 sec

 

Threads: 1  Questions: 53  Slow queries: 0  Opens: 14  Flush tables: 2  Open tables: 3  Queries per second avg: 0.001

然后输入几条sql语句查看一下dafen用户是否拥有相关权限。

 

 

收回资料库使用权限的方法如下(以  MySQL root  进入):  
mysql> revoke delete on addbook.* from dafen@localhost;
Query OK, 0 rows affected (0.00 sec)

mysql> revoke all privileges on addbook.* from  dafen@localhost;
Query OK, 0 rows affected (0.00 sec)
第二个指令用来收回全部的权限。

注意:授权和收回权限都是在 root 用户登陆进 mysql 进行的。

 

4.4.2 mysqladmin  公用程式的使用

mysqladmin  公用程式可用来维护  MySQL  比较一般性的工作(新增、删除资料库、设定使用者密码及停止  MySQL  等等),详细的说明可以使用  mysqladmin --help  来查看。(以本文的安装为例  mysqladmin   位於  /app/mysql/bin/mysqladmin )。

新增资料库  dbtest 
# /app/mysql/bin/mysqladmin -u root -p create dbtest
Enter password:
Database "dbtest" created.
删除资料库  
# /app/mysql/bin/mysqladmin -u root -p drop dbtest
Enter password:
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.

Do you really want to drop the 'dbtest' database [y/N]
y
Database "dbtest" dropped
设定使用者密码(将  dafen  的密码改为   7654321 , mysqladmin  会先询问  dafen  的原密码)  
# /app/mysql/bin/mysqladmin -u dafen -p password 7654321
Enter password:
停止  MySQL  服务  
# app/mysql/bin/mysqladmin -u root -p shutdown
Enter password:
注意, shutdown MySQL  后,必须由作业系统的  root  帐号执行下列指令才能启动  MySQL :

/app/mysql/bin/mysqld_safe --user=mysql &

五、Apache、Php、Zend 安装配置

5.1 安装Apahce

tar xvzf httpd-2_0_52.tar.gz

cd httpd-2_0_52

./configure --prefix=/app/httpd-2.0.52 --enable-so

make

make install

5.2 安装PHP

tar xvzf php-4.3.10.tar.gz

cd php-4.3.10

./configure --prefix=/app/ php-4.3.10

--with-apxs2=/app/httpd-2.0.52/bin/apxs --with-mysql

make

make install

cp php.ini-dist /app/ php-4.3.10/lib/php.ini

vi /app/httpd-2.0.52/conf/httpd.conf ,

增加一行AddType application/x-httpd-php .php

 

5.3apache 自动启动

从/app/apache/bin/apachectl 到 /etc/rc.d/init.d/httpd 建立一个符号连接:
 ln -s /app/apache/bin/apachectl /etc/rc.d/init.d/httpd
(
上面的这一步也可以用cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd)

然后在此文件(/app/apache/bin/apachectl)总添加以下几行(大概在文件顶部,约第二行的地方):
# chkconfig: 345 86 86 86

# description: apache

 ( 上面的#不能省去)
最后,运行chkconfig把Apache添加到系统的启动服务组里面:
chkconfig --del httpd
chkconfig --add httpd
chkconfig httpd on
chkconfig httpd off

 

 

 

5.4apache 配置文件httpd.conf详解

Apache 的 httpd.conf 文件常用指令解释
此文件在 /app/apache/conf 目录下

ServerType standalone
#
设置服务器的形式是单独启动( standalone ),还是借由互联网络伺服程序 inetd 来启动。一般使用前者。
ServerRoot "/usr/local/apache"
#
设置服务器的 Home 目录,用来存放服务器的设置文件、错误文件、记录文件。
PidFile logs/httpd.pid
#
程序启动时,把父进程 httpd 的进程号( process id )存在这个文件中。这个文件名可以配合 PidFile 指令加以改变。
ScoreBoardFile logs/apache_status
#
设置网络上 WWW 服务器一些执行程序的记录文件。
#ResourceConfig conf/srm.conf
#AccessConfig conf/access.conf
#
这两个文件的内容已经包含在 httpd.conf 文件中了。
Timeout 300
#
如果客户端 300 秒还没有连上,或者服务器 300 秒还没有传送数据到客户端,就会自动断线。
KeepAlive On
#
设置是否支持续传功能。
MaxKeepAliveRequests 100
#
设置支持续传功能的数目。数目越多则浪费的硬盘空间越多。设置为 0 则不止持续传。
KeepAliveTimeout 15
#
如果该为使用者在 15 秒后还没有向服务器发出要求,则他在不能续传。
MaxRequestsPerChild 0
#
设置同时间内 child process 数目。
ThreadsPerChild 50
#
设置服务器使用进程的数目。
#Listen 3000
#Listen 12.34.56.78:80
#
允许使用其它的 Port 或 IP 访问服务器。此例中 Port 为 3000 , IP 为 12.34.56.78:80 。
#BindAddress *
#
设置 Apache 监听所有的 IP ,也可以具体的指定。
#LoadModule anon_auth_module modules/ApacheModuleAuthAnon.dll
#
打开当前未激活预定以的模块。
#ExtendedStatus On
#
设置服务器产生的状态信息。
Port 80
#
设置服务器使用的 Port 。
ServerAdmin you@your.address
#
设置服务器管理者的 E-Mail 地址。
#ServerName new.host.name
#
服务器的主机名。如果你有固定的 IP 地址,则不需要设置。
DocumentRoot "/usr/local/apache/htdocs"
#
设置存放站点 html 文件的目录。
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
#
设置 / 目录的指令。具体地说明:
Option
:定义在目录内所能执行的操作。
None
:表示只能浏览,
FollowSymLinks
:允许页面连接到别处,
ExecCGI
:允许执行 CGI ,
MultiViews
:允许看动画或是听音乐之类的操作,
Indexes
:允许服务器返回目录的格式化列表,
Includes
:允许使用 SSI 。这些设置可以复选。
All
:则可以做任何事,但不包括 MultiViews 。
AllowOverride
:加 None 参数表示任何人都可以浏览该目录下的文件。
另外的参数有: FileInfo 、 AuthConfig 、 Limit 。
UserDir public_html
#
定义使用者存放 html 文件的目录。
DirectoryIndex index.html
#
定义首先显示的文件。
AccessFileName .htaccess
#
定义每个目录访问控制文件的名称。
#CacheNegotiatedDocs
定义代理服务器不要 Cache 你的页面。不建议使用。
UseCanonicalName On
#
服务器使用 ServerName 指定的服务器名和 Port 指定的端口地址。

5.5Zend 安装

进入到解压目录,直接运行./install.sh,照着提示一步步安装即可。

 

六、安装配置jdk

6.1 安装jdk

下载自解压二进制JDK安装包j2sdk-1_4_2_07-linux-i586.bin

把jdk安装到 /app

把文件复制到安装目录j2sdk1.4.2_07

cp /home/flcandclf/j2sdk-1_4_2_07-linux-i586.bin /app

进入到安装目录设置j2sdk-1_4_2_06-linux-i586.bin为可执行并运行安装程序

cd /app

chmod a+x  j2sdk-1_4_2_07-linux-i586.bin

./j2sdk-1_4_2_06-linux-i586.bin

一直摁住ENTER键,直到提示是否接受协议的时候输入yes即可安装完成

 

6.2 安装Tomcat

下载二进制Tomcat安装包jakarta-tomcat-5.0.29.tar.gz

把tomcat安装到/app目录下,复制jakarta-tomcat-5.0.29.tar.gz

到/app目录下

进入到Tomct安装的目录

cd /app

解压jakarta-tomcat-5.0.29.tar.gz

tar xvzf jakarta-tomcat-5.0.29.tar.gz

增加JAVA_HOME环境变量

vi /app/ jakarta-tomcat-5.0.29/bin/catalina.sh

在#!/bin/sh后增加一行JAVA_HOME="/app/j2sdk1.4.2_07"

 

6.3 启动/停止Tomcat

启动Tomcat

/app/jakarta-tomcat-5.0.29/bin/startup.sh

停止Tomcat

/app/jakarta-tomcat-5.0.29/bin/shutdown.sh

自动启动Tomcat

vi /etc/rc.d/rc.local

增加一行/app/jakarta-tomcat-5.0.29/bin/startup.sh

如果安装成功的话会有如下提示信息:

Using CATALINA_BASE:   /app/jakarta-tomcat-5.0.29

Using CATALINA_HOME:   /app/jakarta-tomcat-5.0.29

Using CATALINA_TMPDIR: /app/jakarta-tomcat-5.0.29/temp

Using JAVA_HOME:       /app/j2sdk1.4.2_07

 

 

6.4 Tomcat 基本配置

6.4.1 修改HTTP监听端口

vi /app/jakarta-tomcat-5.0.29/conf/server.xml

找到下面的配置项

<Connector

    port="8080"                                                

    maxThreads="150"

    minSpareThreads="25"

    maxSpareThreads="75" 

    enableLookups="false"

    redirectPort="8443"

    acceptCount="100"

    debug="0"

    connectionTimeout="20000“

    disableUploadTimeout="true" />                             

安装时Tomcat在8080端口监听HTTP连接,把8080改为80.

6.4.2 禁止在没有索引文件时浏览目录

vi /app/jakarta-tomcat-5.0.29/conf/web.xml

找到下面的配置项

<servlet>                                       

    <servlet-name>default</servlet-name>        

    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>                            

    <init-param>                                

        <param-name>debug</param-name>          

        <param-value>0</param-value>            

    </init-param>                               

    <init-param>                                

        <param-name>listings</param-name>       

        <param-value>true</param-value>         

    </init-param>                               

    <load-on-startup>1</load-on-startup>        

</servlet>                                      

把listings参数值改为false

 

 

posted on 2006-03-28 13:47 xnabx 阅读(607) 评论(0)  编辑  收藏 所属分类: Linux/Unix

只有注册用户登录后才能发表评论。


网站导航: