Red Hat Linux基本知识(网络配置,安装appache,mysql,php,zend,jdk,tomcat)

来源:互联网 发布:考勤数据怎么导入电脑 编辑:程序博客网 时间:2024/05/07 10:49

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,或者系统安装之后使用VSFTPRPM软件包进行安装或升级

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.gzmysql-4.1.9.tar.gzphp-4.3.10.tar.gzZendOptimizer-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要一个专门的用户,而且必须给相应的访问权限,这里我们就设置rootmysql有权限访问。用户在一开始的时候已经建好,所以直接初始化表 (注意:必须先执行本步骤后才能进行以下步骤)就可以了: 

 

 ./scripts/mysql_install_db --user=mysql  初试化表并且规定用mysql用户来访问初始化表以后就开始给mysqlroot用户设定访问权限我们先到安装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 资料库中所有资料表的使用权限(selectinsertupdatedelete)授权给 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 的密码改为  7654321mysqladmin 会先询问 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 &

五、ApachePhpZend 安装配置

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

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

 

 

 

5.4apache配置文件httpd.conf详解

Apachehttpd.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
#
允许使用其它的PortIP访问服务器。此例中Port3000IP12.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参数表示任何人都可以浏览该目录下的文件。
另外的参数有:FileInfoAuthConfigLimit
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" />                             

安装时Tomcat8080端口监听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