(毕业设计)基于linux的服务器架构.doc_第1页
(毕业设计)基于linux的服务器架构.doc_第2页
(毕业设计)基于linux的服务器架构.doc_第3页
(毕业设计)基于linux的服务器架构.doc_第4页
(毕业设计)基于linux的服务器架构.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

蓝色表示目录;绿色表示可执行文件;红色表示压缩文件;浅蓝色表示链接文件;灰色表示其它文件;红色闪烁表示链接的文件有问题了;黄色是设备文件,包括block, char, fifo。用dircolors -p看到缺省的颜色设置,包括各种颜色和“粗体”,下划线,闪烁等定义。系统:Liunx As4 Updata4所用软件:1.mysql-5.0.20a.tar.gz2.httpd-2.2.4.tar.gz 3Zlib-1.2.24Freetype-2.1.55Libpng-1.2.56Jpegsrc.v6b 7GD-2.0.338GetText-0.12.19ImageMagick-6.2.5-510.Imagick-0.9.8.tgz11PHP-4.3.1012ZendOptimizer-2.6.0 13.phpMyAdmin-.zip14.vsftpd-2.0.3.tar.gz一,Mysql解压 rootlocalhost roottar -zxvf mysql-5.0.20a.tar.gz解压后会在当前的目录下产生一个mysql-5.0.2-a目录。进入mysql-5.0.2-a目录rootlocalhost rootl# cd mysql-5.0.20arootlocalhostmysql-5.0.20a#./configure -prefix=/usr/local/mysql -with-extra-charsets=all选项说明:-prefix=/usr/local/mysql是指安装mysql的路径这里我安装的路径是/usr/local/mysql,你可以指定不同的路径-with-extra-charsets=all让mysql支持多语言编译及安装 (此过程会占用一段时间)rootlocalhost mysql-5.0.20a# make rootlocalhost mysql-5.0.20a# make install 建立MySQL初始化Table rootlocalhost mysql-5.0.20a# scripts/mysql_install_db 说明建立MySQL Grant Table,第一次安装MySQL都必须执行这个指令 rootlocalhost mysql-5.0.20a# cp support-files/f /etc/f 我们得把文件f文件放到/etc/目录下。让mysql服务器启动时能找到它。安装好mysql后,配制文件应该在/usr/local/mysql/share/mysql目录中,配制文件有几个,有f,不同的流量的网站和不同配制的服务器环境,当然需要有不同的配制文件了。一般的情况下,f这个配制文件就能满足我们的大多需要;rootlocalhost mysql-5.0.20a#cd /usr/local/mysqlrootlocalhost mysql#bin/mysql_install_db user=mysqlrootlocalhost mysql#chown R root .rootlocalhost mysql#chown R mysql var建立mysql群组以及使用者,并以mysql的身份起动server rootlocalhost mysql-5.0.20a# groupadd mysql rootlocalhost mysql-5.0.20a# useradd mysql -g mysql rootlocalhost mysql-5.0.20a# chown -R root /usr/local/mysql rootlocalhost mysql-5.0.20a# chown -R mysql /usr/local/mysql/var rootlocalhost mysql-5.0.20a# chgrp -R mysql /usr/local/mysql rootlocalhost mysql-5.0.20a# /usr/local/mysql/bin/mysqld_safe -user=mysql & Ps axu | grep mysql 测试MySQL Server是不是有正常运作 Shell# /usr/local/mysql/bin/mysqladmin version Shell# /usr/local/mysql/bin/mysqladmin variables MySQL 的两种自启动方式:第一种方式:将 MySQL 作为服务,当系统启动时自动加载此服务并自动运行,在开机的时候就可以看到 MySQL 是否正常启动。实现方法:Cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld cd /etc/rc.d/init.d chkconfig -add mysqld ntsysv第二种方式:将 MySQL 作为批处理方式自动运行。实现方式:vi /etc/rc.d/rc.local /usr/local/mysql/share/mysql/mysqld start测试rootlocalhost mysql# bin/mysql Welcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 14 to server version: 5.0.2-alphaType help; or h for help. Type c to clear the buffer.mysql启动成功看看是不是有数据库,应该和var目录下的目录名字一样mysql show databases;我这里已经有4个数据库了。”;”符号 是mysql结束符,你想让mysql执行你的指令就必须输入 ;mysql exitByerootlocalhost mysql#退出数据库。在mysql/bin目录下有个mysqladmin工具是用来管理和操作mysql用的,我们用他来给 root 加上密码rootlocalhost mysql#bin/mysqladmin u root password 123456这样我们就给root设置了 123456 这个密码再次登录rootlocalhost mysql# bin/mysql 上次我们使用这个命令连接mysql,看看密码是否生效。rootlocalhost mysql# bin/mysqlERROR 1045 (28000): Access denied for user rootlocalhost (using password: NO)rootlocalhost mysql#进不去了,说明密码设置成功。我们在用密码试试,这时应该说明是什么用户登录,这里我们用的是 root 这个用户。rootlocalhost mysql# bin/mysql -uroot -pEnter password: 这里密码是不显示的,不要按错键盘就行Welcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 18 to server version: 5.0.2-alphaType help; or h for help. Type c to clear the buffer.mysql介绍几个管理数据库的常用命令,查看数据库:mysql show databases新建数据库:mysql create database 新的数据库名删除数据库:mysql drop database 要删除的数据库名指定一个数据库为当前数据库mysqluse 数据库名备份数据库:rootlocalhost mysql# /usr/local/mysql/bin/mysqldump -uroot -p 123456 /root/shuifu.sqlEnter password: 这里输入数据库的密码二Apache1安装解压rootlocalhost root# tar zxvf httpd-2.2.4.tar.gz进入刚解压的文件夹,仔细查看INSTALL文件,按照说明配置安装apache,rootlocalhost root# cd httpd-2.2.4rootlocalhosthttpd-2.2.4#./configure -prefix=/usr/local/apache2 -enable-so-mods-shared=all # apache2是你想要安装的目录,可以自行更改。 进入apache2文件夹,安装apacherootlocalhosthttpd-2.2.4# cd /usr/local/apache2rootlocalhost httpd-2.2.4# makerootlocalhost httpd-2.2.4# make install# 启动apache,看见成功欢迎页面rootlocalhost apache2# ./bin/apachectl start可以测试下apache,在htdocs下新建test文件夹,在里面建立一个html文件。这样就可以通过浏览器来访问了。在htdocs中有一个index.html的文件,我们可以用IE浏览器打开。如果有遇到apache拒绝页面的访问请求,一般需要授权就可以解决了。# chmod 777 /usr/local/apache2/*第一种方式:将 Apache 作为服务,当系统启动时自动加载此服务并自动运行,在开机的时候就可以看到 Apache 是否正常启动。实现方法:cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd vi /etc/rc.d/init.d/httpd,在httpd文件的第三行下面,插入以下两句话:# chkconfig: 345 85 15# description: Starts and stops the Apache HTTP Server.chmod +x /etc/rc.d/init.d/httpdchkconfig -add httpdchkconfig list成功后,就可以用 service httpd start, service httpd restart, service httpd stop来启动、重启、和终止 httpd service。第二种方式:以批处理自动运行,实现方法:vi /etc/rc.d/rc.local /usr/local/apache/bin/apachectl start#DocumentRoot /var/www/htmlDocumentRoot /backupAlias /html/ /var/www/html #定义html虚拟目录Alias /opt /opt#定义opt虚拟目录#定义相应虚拟目录的配置 Options Indexes FollowSymLinks # Options FollowSymLinks AllowOverride None Order allow,deny Allow from all 添加密码htpasswd的目录在./root/httpd-2.2.4/support/htpasswd三,GD 支持的安装配置 GD 的成功安装和使用还依赖其它的几个组件模块,所以在 GD 安装之前需要先安装好其它组件模块。为此,先建立模块的初始目录:mkdir /usr/local/modules mkdir /usr/local/modules/jpeg6mkdir /usr/local/modules/jpeg6/binmkdir /usr/local/modules/jpeg6/libmkdir /usr/local/modules/jpeg6/includemkdir /usr/local/modules/jpeg6/manmkdir /usr/local/modules/jpeg6/man/man1依照顺序安装 GD 的其它组件:A安装 Zlibtar xzvf zlib-1.2.2.tar.gz cd zlib-1.2.2./configuremakemake installB安装 Freetypetar xzvf freetype-2.1.5.tar.gz cd freetype-2.1.5./configure -prefix=/usr/local/modules/freetypemakemake installC安装 Libpntar xzvf libpng-1.2.5.tar.gz cd libpng-1.2.5cp scripts/makefile.std makefilemake testmake installD安装 Jpeg6tar xzvf jpegsrc.v6b.tar.gz ./configure -prefix=/usr/local/modules/jpeg6 -enable-shared -enable-staticmakemake install开始安装 GD 支持tar xzvf gd-2.0.33.tar.gz cd gd-2.0.33./configure -prefix=/usr/local/modules/gd -with-jpeg=/usr/local/modules/jpeg6 -with-png -with-zlib -with-freetype=/usr/local/modules/freetypemakemake install至此,GD 库的支持就算是完成了!四、php的安装版本php-4.3.11解压phprootlocalhostserver#tarzxvfphp-4.3.11.tar.gzrootlocalhostserver#cdphp-rootlocalhostserver# ./configure -prefix=/usr/local/php -with-gd=/usr/local/modules/gd -with-jpeg-dir=/usr/local/modules/jpeg6 -with-zlib -with-png -with-freetype-dir=/usr/local/modules/freetype -with-mysql=/usr/local/mysql -with-iconv -enable-mbstring -with-apxs2=/usr/local/apache/bin/apxs -with-gettext=/usr/local/gettext-enable-track-vars -enable-ftp -enable-safe-mode -enable-xml -enable-magic-quotes -disable-debug -with-config-file-path=/usr/local/php/etc参数说明:指定安装路径-prefix=/usr/local/php指定mysql安装路径,一定要绝对路径,否则编译会失败,-with-mysql=/usr/local/mysql这个参数是加入apache中为DSO模块的位置,apache2以下的版本参数是apxs而不是apxs2,如果用的apache版本不是2.0以上的就去掉2,就像这样-with-apxsPATH-with-apxs2=/usr/local/httpd/bin/apxs指定php的配制文件存放的目录是/usr/local/httpd/conf目录,我们安装完成后,也要把php.ini复制到这个目录中来-with-config-file-path=/usr/local/httpd/conf让apache支持zlib(当时并未注意,直到安装MAMBO的时候,才给出红色的警告)-with-zlib-with-gd支持GD模块,大部分php程序都会有这个要求,没有也无所谓,有些不一定的接下来的步骤和安装mysql的时候一样:#make#makeinstall这里我要指出的是在编译的时候遇到的一些问题错误:configure:error:mysqlconfigurefailed.Pleasecheckconfig.logformoreinformation.可能你用的是icc编译版本并不适合你的系统,换一个mysql版本就可以了。mysql-*-*-icc.tar.gzerror:CannotfindMySQLheaderfilesunder/usr/bin/出现这种错误,一般是configure的时候给出的参数时所指定的路径格式错误,导致找不到mysql的头文件,默认库文件是在/usr/lib,头文件是在:/usr/include里,程序会自己寻找,只要正确指定你的mysql安装目录就可以了。checkinglexoutputfileroot./configure:line2356:lex:commandnotfoundconfigure:error:cannotfindoutputfromlex;givingupIfconfigurefailstry-with-jpeg-dir=configure:error:libpng.(a|so)notfound.这个错误应该是flex包没有安装或则安装有错误,只要重新安装一下这个包就可以了。Ifconfigurefailstry-with-jpeg-dir=configure:error:libpng.(a|so)notfound.你可能想让php支持jpeg格式,但是你没有安装libjpeg包所以编译的时候没有找到jpeg包的安装目录。在我的映像中这个包要在安装GD包之前安装,否则编译也会出错,不知道是不是这样?以上几个是我在安装过程中遇到比较典型的错误。接下来是后期的配置复制php.ini-dist为php.ini,并存放到编译时我们指定的目录中/usr/local/httpd/conf/php.ini编辑/usr/local/httpd/conf/php.ini文件,找到如下的一行;default_charset=iso-8859-1在这行下面加一行default_charset=gb2312配置apache的httpd.conf文件,在httpd.conf文件中查找:#DynamicSharedObject(DSO)Support在这部分中加入需要调用PHP模块的位置。LoadModulephp4_modulemodules/libphp4.so查找:DirectoryIndexindex.html在后面加入index.php让PAPCHE也能打开默认首页为php的文件。查找:#AddTypeapplication/x-tar.tgz在下面加入#AddTypeapplication/x-httpd-php.php重启一下apache。测试一下PHP环境是不是可以运行。把下面这一句另存为PHP网页(如:test.php),五,ZendOptimizer的安装 之所以要安装ZendOptimizer是因为一些商业的PHP程序对代码进行了加密,所以必须安装此组件才能正确地运行这些商业程序,比如:Discuz等等。ZendOptimizer的安装非常的简单:tar zxvf ZendOptimizer-2.6.0-linux-glibc21-i386.tar.gz cd ZendOptimizer-2.6.0-linux-glibc21-i386./install.sh接下来弹出简单的图形安装界面,一路下一步,注意的是到Enter the location of your php.ini file这项配置时填入PHP的配置文件php.ini的文件位置,最终完成安装。/usr/local/lib六,phpMyAdmin的安装命令如下:#Cd /usr/local/apache2/htdocs /进入所在目录#unzip phpMyAdmin-.zip#cd phpMyAdmin- 解压后得到一个目录,与以前的版本不同,2.8版的phpMyAdmin 的根目录中没有名为 config.inc.php 的配置文件,现在的配置文件是 libraries/config.default.php 进在该文件中。可把此文件拷贝到phpMyAdmin 目录进行修改!或通过phpMyAdmin 的根目录中scripts/setup.php文件自动生成。以下为配置文件内容?php/* Generated configuration file* Generated by: phpMyAdmin setup script by Michal ?iha? * Version: $Id: setup.php,v .2.1 2006/03/08 19:06:48 nijel Exp $* Date: Fri, 27 Oct 2006 06:02:51 GMT*/* Servers configuration */$i = 0;/* Server localhost (cookie) 1 */$i+;$cfgServers$ihost = localhost;$cfgServers$iextension = mysql;$cfgServers$iconnect_type = tcp;$cfgServers$icompress = false;$cfgServers$iauth_type = cookie;/* End of servers configuration */$cfgblowfish_secret = 4541a103272f77.97202349;?参考配置资料:找到 $cfgPmaAbsoluteUri 修改你将上传到空间的phpMyAdmin的网址如:$cfgPmaAbsoluteUri = http:/你的站点/phpmyadmin/;还有下面的$cfgServers$ihost = localhost;(通常用默认,也有例外)$cfgServers$iauth_type = cookie; / Authentication method (config, http or cookie based)?config: 按照 自身 libraries/config.default.php 文件中的配置提供用户名和密码cookie:用于输入口令方式登陆,如果选择此项,需要设置$cfgblowfish_secret = cookie;(见后面的介绍)$cfgServers$iuser = root; / MySQL user(用户名,自己机里用root,在网上设你的mysql用户名)$cfgServers$ipassword = ; / MySQL password (only needed自己机里不用设$cfgServers$ionly_db = ; / If set to a db-name, only(你只有一个数据就设置一下)注:$cfgblowfish_secret = ;本机的话不需要设置,但是网络的话需要设置成cookie:$cfgblowfish_secret = cookie;设置完毕可以上传到网上了。浏览http:/你的站点/phpmyadmin/ 当然你设置不同就用那个网址。如果设置$cfgServers$iauth_type = cookie;六,vsftpd-1.2.0.tar.gz的安装 准备条件 VSFTPD默认配置中需要“nobody”用户。在系统中添加此用户,如果用户已经存在,useradd命令有相应提示。 roothpe45 root# useradd nobody useradd: user nobody exists VSFTPD默认配置中需要“/usr/share/empty”目录。在系统中此目录,如果目录已经存在,mkdir命令有相应提示。 roothpe45 root# mkdir /usr/share/empty/ mkdir: cannot create directory /usr/share/empty: File exists VSFTPD提供匿名FTP服务时,需要“ftp”用户和一个有效的匿名目录。 roothpe45 root#接下来的操作对于ftp用户是否已经存在都是有用的。 roothpe45 root# chown root.root /var/ftp roothpe45 root# chmod og-w /var/ftp 编译VSFTPD 从官方站点下载到/root目录,执行以下命令: roothpe45 root# tar zxvf vsftpd-1.2.0.tar.gz roothpe45 root# cd vsftpd-1.2.0 roothpe45 vsftpd-1.2.0# make 安装编译好的VSFTPD 执行“make install”将编译好的二进制文件、手册等复制到相应目录。在RHL9上,可能需要手动执行以下复制: roothpe45 vsftpd-1.2.0# cp vsftpd /usr/local/sbin/vsftpd roothpe45 vsftpd-1.2.0# cp vsftpd.conf.5 /usr/local/share/man/man5 roothpe45 vsftpd-1.2.0# cp vsftpd.8 /usr/local/share/man/man8 此外,“make install”没有复制简单的配置文件,建议执行以下命令: roothpe45 vsftpd-1.2.0# cp vsftpd.conf /etc 为本地用户设置PAM 如果允许本地用户登录VSFTPD,执行以下操作: roothpe45 vsftpd-1.2.0# cp RedHat/vsftpd.pam /etc/pam.d/ftp 3、VSFTPD的文件结构 VSFTPD的文件结构是很简洁的,主要包括: /usr/sbin/vsftpd - VSFTPD的主程序 /etc/rc.d/init.d/vsftpd - 启动脚本 /etc/vsftpd/vsftpd.conf - 主配置文件 /etc/pam.d/vsftpd - PAM认证文件 /etc/vsftpd.ftpusers - 禁止使用VSFTPD的用户列表文件 /etc/vsftpd.user_list - 禁止或允许使用VSFTPD的用户列表文件 /var/ftp - 匿名用户主目录 /var/ftp/pub- 匿名用户的下载目录 此外,还有一些说明文档和手册文件。 此外VSFTPD的日志文件位于/etc/logrotate.d/vsftpd.log。三、三种方式的实现 1、匿名用户形式实现 # vi builddefs.h 编辑builddefs.h 文件,文件内容如下: #ifndef VSF_BUILDDEFS_H #define VSF_BUILDDEFS_H #undef VSF_BUILD_TCPWRAPPERS #define VSF_BUILD_PAM #undef VSF_BUILD_SSL #endif /* VSF_BUILDDEFS_H */ 将以上undef的都改为define,支持tcp_wrappers,支持PAM认证方式,支持SSL 创建必要的帐号,目录: # useradd nobody /可能你的系统已经存在此帐号,那就不用建立 # mkdir /usr/share/empty /可能你的系统已经存在此目录,那就不用建立 # mkdir /var/ftp /可能你的系统已经存在此目录,那就不用建立 # useradd -d /var/ftp ftp /可能你的系统已经存在此帐号,那就不用建立 # chown root:root /var/ftp # chmod og-w /var/ftp 请记住,如果你不想让用户在本地登陆,那么你需要把他的登陆SHELL设置成/sbin/nologin,比如以上的nobody和ftp我就设置成/sbin/nologin 安装vsftp配置文件,可执行程序,man等: # install -m 755 vsftpd /usr/local/sbin/vsftpd-ano # install -m 644 vsftpd.8 /usr/share/man/man8 # install -m 644 vsftpd.conf.5 /usr/share/man/man5 # install -m 644 vsftpd.conf /etc/vsftpd-ano.conf 这样就安装完成了,那么我们开始进行简单的配置 # vi /etc/vsftpd-ano.conf ,将如下三行加入文件 listen=YES listen_port=21 tcp_wrappers=YES anon_root=/var/ftp /设置匿名用户本地目录,和ftp用户目录必须相同 listen=YES的意思是使用standalone启动vsftpd,而不是super daemon(xinetd)控制它 (vsftpd推荐使用standalone方式)# mkdir /var/ftp/pub # chmod -R 777 /var/ftp/pubanonymous_enable=YES /允许匿名访问,这是匿名服务器必须的 write_enable=YES /全局配置可写 no_anon_password=YES /匿名用户login时不询问口令 anon_umask=077 /匿名用户上传的文件权限是-rw- anon_upload_enable=YES /允许匿名用户上传文件 anon_mkdir_write_enable=YES /允许匿名用户建立目录 anon_other_write_enable=YES /允许匿名用户具有建立目录,上传之外的权限,如重命名,删除 dirmessage_enable=YES /当使用者转换目录,则会显示该目录下的.message信息 xferlog_enable=YES /记录使用者所有上传下载信息 xferlog_file=/var/log/vsftpd.log /将上传下载信息记录到/var/log/vsftpd.log中 xferlog_std_format=YES /日志使用标准xferlog格式 idle_session_timeout=600 /客户端超过600S没有动作就自动被服务器踢出 data_connection_timeout=120 /数据传输时超过120S没有动作被服务器踢出 chown_uploads=YES chown_username=daemon /上传文件的属主 ftpd_banner=Welcome to FTP service. /FTP欢迎信息 anon_max_rate=80000 /这是匿名用户的下载速度为80KBytes/s check_shell=NO /不检测SHELL 启动FTP服务进行测试:2、本地用户形式实现 # cd /home/xuchen/vsftpd-2.0.3 /进入vsftpd-2.0.3的源代码目录 # make clean /清除编译环境 # vi builddefs.h 继续编辑builddefs.h 文件,文件内容如下: #ifndef VSF_BUILDDEFS_H #define VSF_BUILDDEFS_H #define VSF_BUILD_TCPWRAPPERS #define VSF_BUILD_PAM #define VSF_BUILD_SSL #endif /* VSF_BUILDDEFS_H */ 将以上define VSF_BUILD_PAM行的define改为undef,支持tcp_wrappers,不支持PAM认证方式,支持SSL,记住啊,如果支持了PAM认证方式,你本地用户是不能登陆的。 anonymous_enable=NO local_enable=YES /这两项配置说不允许匿名用户登陆,允许本地用户登陆 3、虚拟用户形式实现(db形式) # cd /home/xuchen/vsftpd-2.0.3 /进入vsftpd-2.0.3的源代码目录 # make clean /清除编译环境 # vi builddefs.h 继续编辑builddefs.h 文件,文件内容如下: #ifndef VSF_BUILDDEFS_H #define VSF_BUILDDEFS_H #define VSF_BUILD_TCPWRAPPERS #undef VSF_BUILD_PAM #define VSF_BUILD_SSL #endif /* VSF_BUILDDEFS_H */ 将以上define VSF_BUILD_PAM行的undef改为define,支持tcp_wrappers,支持PAM认证方式,支持SSL,和匿名用户形式是一样的。对于用D

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论