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=maskmask表示网络掩码
GATEWAYK=addraddr表示网管
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