服务器 频道

自己动手架设linux下Web服务器(图)

    【IT168 专稿】近几年,开源Linux操作系统在服务器端应用有了越来越多的案例,它的安全、开源、免费等特点得到了越来越多用户的关注。出于对Linux的喜爱,自己也曾对Linux下架设Web服务器进行了长久的尝试、测试,在去年的时候动手DIY了一台1U机架式Web服务器,托管在东莞电信机房。目前,该Web服务器运行一年多来,稳定性、性能表现非常不错。

    很多人都说:配置Linux服务器不容易,感觉在命令行的模式下安装软件包,不利于软件的排错与配置。其实,就笔者的经验来看,由于在Linux系统拥有非常多且版本不同的源安装包,不同的硬件对应不同的源包,不同的Linux系统可能其安装源包的方式也稍有区别。所以,在安装配置Linux时,应该多了解自己的硬件与Linux之间的兼容性。

    基于共同学习的原因,笔者精心整理了自己在配置Linux服务器过程中,一些安装步骤,配置心得等等。由于有着良好的应用基础,希望这些能够为Linux爱好者及初学者提供一个应用示范。本文针对CentOS 4.x或 RedHat EnterPrise Linux 4.x平台安装,同时要求配置人员对 Linux操作系统有一定的了解,懂得tar基本命令及常规的系统操作,如文件的删除、目录创建、移动、改名和vi编辑器的基本使用。

一、 前期思路:

    作为Web服务器,我们需要对服务器后期的维护、管理等环节进行综合的考虑,完整的Web服务器应向外提供以下几个功能:Web服务器软件;上传或下载的FTP功能、远程控制管理等等。

    1、Linux 服务器Web软件:

    大家都知道,目前Web服务器软件使用较多的分别是,业内知名Apache和Microsoft IIS占据市场绝大部分份额。

    1、在Linux环境下,Apache配合PHP、MySQL数据库组建了Web服务器强大的阵容,笔者的思路就是通过: CentOS4.1操作系统+Apache2.0+PHP5.0+Mysql5.0 组建整个Web服务器。
    2、同时,为了更好地提升PHP套件的性能,加快动态网页的浏览、处理性能,安装PHP优化组件:ZendOptimizer。
    3、为了让PHP语言能够对图像进行处理,如网页上传图片自动加上Logo等功能,该Linux服务器还安装有对JPG、PNG、GIF等GD库支持。
    通过系统的考虑,我们可以对Web服务器的组合套件框架有了清晰认识,整个安装框架如下:
    CentOS4.1操作系统+Apache2.0+PHP5.0+ZendOptimizer3.0+Mysql5.0+GD库
    4、所涉及软件、套件源代码清单:
    CentOS 4.x或 RedHat EnterPrise Linux 4.x操作系统
    mysql-max-5.0.21-linux-i686-glibc23.tar.gz(Mysql数据库源安装包)
    gdinstaller.tar.gz(GD库支持整合套件包)
    httpd-2.2.4.tar.gz(Apache 2.0服务器软件源安装包)
    php-5.2.1.tar.gz(PHP动态网页源安装包)
    ZendOptimizer-3.0.0-linux-glibc21-i386.tar.gz(ZendOptimizer源安装包)

    2、FTP服务:

    托管于电信机房的Web服务器,特定FTP用户文件上传、下载也是必须要考虑的重点。在CentOS 4.x或 RedHat EnterPrise Linux 4.x或其它Linux操作系统中,系统自带的FTP服务器软件,业界人士对它的评价非常不错。在这里,笔者采用了CentOS 4.x系统自带的vsftpd服务器软件,并在操作系统安装时选择该软件,连同系统一起安装。

    3、远程管理功能:

    托管于异地的Linux服务器,不能够让用户像操作家用电脑一样,那么随意的进行本地的设置、调整等,所以必须要考虑采用远程控制工具对异地服务器远程管理。

    在这一点,Linux操作系统专门针对这种应用的远程控制工具:SSH软件,解决了用户远程管理的顾虑!
二、Linux操作系统安装步骤、设置

    CentOS 4.x或 RedHat EnterPrise Linux 4.x系统的安装比较简单,整个安装过程可以全部基于图形界面安装,一般来说能够独立安装Windows,也基本能成功安装好一个CentOS 4.x或 RedHat EnterPrise Linux 4.x操作系统。

    笔者出于对Web服务器的安全与简化安装方式,在Linux操作系统安装过程中,对一些软件组件进行了一些定制选择。以下是通过CentOS光盘引导后的安装界面:


    CentOS Linux光盘引导后的安装界面


    CentOS4.x Linux选择语言的安装界面(选择英文)

    选择安装类型时,我选择了“自定义”安装包的方式。在后面的安装界面选择组件时,取消所有的组件,只保留了FTP服务器和系统必备的编译包。


    打开Linux防火墙,构选SSH、HTTP/HTTPS、FTP等访问端口。服务器开启防火墙,同时只打开相应端口以加强安全性、减少被黑客入侵的可能。

    整个安装过程其它可依照CentOS默认的选项,单击下一步直到安装完成。Linux安装完成后重启输入Root管理员帐号和密码,开始了下一步骤的Web服务器软件配置安装。
三、 置Web服务器软件组合

    现在,我们开始配置Web服务器需要的组件或关链组件。成功安装Linux并启动后,组件的安装顺序一般是Mysql数据库、Apache、GD库、PHP、ZendOptimizer。

    首先下载好相应的安装包,笔者在此下载了mysql源代码文件,以Root帐号登陆Linux服务器后,就可以安装Mysql数据库了,整个安装步骤如下:

    3.1 安装mysql-5.0数据库 
# groupadd mysql # useradd -g mysql mysql # cd /usr/local/src **源文件存放目录 # tar zxvf mysql-max-5.0.21-linux-i686-glibc23.tar # mv mysql-max-5.0.21-linux-i686-glibc23 /usr/local/mysql # cd /usr/local/mysql # .scripts/mysql_install_db --user=mysql # chown -R root . # chown -R mysql data # chgrp -R mysql . # bin/mysqld_safe --user=mysql & 让Mysql数据库服务器随Linux系统启动时自动加载: # cd /usr/local/src # cp support-files/mysql.server /etc/rc.d/init.d/mysqld # chmod 700 /etc/rc.d/init.d/mysqld # chkconfig --add mysqld # chkconfig --level 345 mysqld on

    3.2 安装Apach Web服务器软件
# cd /usr/local/src # tar zxvf httpd-2.2.4.tar.gz # cd httpd-2.2.4 # ./configure --prefix=/usr/local/apache # make # make install # echo "/usr/local/apache/bin/apachectl start" >> /etc/rc.local(系统启动时服务自动启动)
    3.3 安装PHP GD库组件
# cd /usr/local/src # wget -c http://download.discuz.net/gdinstaller.tar.gz # tar xzvf gdinstaller.tar.gz # cd GDInstaller # ./install.sh
    3.4 安装PHP 5.2.1 安装包:
# cd /usr/local/src # wget -c http://download.discuz.net/php-5.1.2.tar.gz # tar xjvf php-5.2.1.tar.gz # cd php-5.2.1 # ./configure --prefix=/usr/local/apache/php --with-apxs2=/usr/local/apache/bin/apxs \ --with-zlib-dir --with-bz2 --with-tiff-dir --with-libxml-dir --with-gd \ --with-freetype-dir --with-jpeg-dir --with-png-dir --with-ttf --enable-mbstring \ --with-mysql=/usr/local/mysql --with-config-file-path=/etc --disable-ipv6 \ --enable-gd-native-ttf --enable-ftp --enable-zip --enable-ldap --enable-mbregex \ --enable-calendar --enable-curl --disable-debug --enable-inline-optimization # make # make install # cp php.ini-dist /etc/php.ini 编辑apache配置文件httpd.conf # vi /etc/httpd/httpd.conf
    要改的有如下几处:

    1、找到LoadModule php5_module modules/libphp5.so前面的#号去掉(默认已去掉注释)
    并在# AddType application/x-gzip .gz .tgz 下加入如下二行:
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    2、找到DirectoryIndex index.html ,在index.html之前加上 index.php,让index.php做为网站默认文件。

    3.5 安装ZendOptimizer PHP套件加速包
# cd /usr/local/src # tar xzvf ZendOptimizer-3.0.0-linux-glibc21-i386.tar.gz # cd ZendOptimizer-3.0.0-linux-glibc21-i386 # ./install.sh
    *注意:安装Zend过程中,会出现二个文本窗口出现,其中提示输入php.ini位置时,请填写/etc。另外一个窗口则选取“No”选项。 

    重启Linux服务器后并成功启动Mysql、Apache服务后,在客户端处使用Internet Explorer浏览器的地址栏输入Linux服务器IP地址,就可以显示出Apache的的默认界面了。至此,如果没有出现什么错误,在Linxu配置整个Web服务套件的组合安装基本上完成了。你也可以在Linux服务器建立测试文档查看整个PHP、Apache、Mysql数据库、GD库以及ZendOptimizer安装的情况。

    3.6 检查Web服务套件支持情况

# vi /usr/local/apache/htdocs/test.php ** 在系统默认目录下建立test.php测试文档。以下为内容: <?php phpinfo(); ?> * 要求熟悉VI文本编辑器基本命令,保存后退出。
    在客户端Internet Explorer浏览器输入:http://IP/test.php。可见到如下图信息:

四、 FTP服务器设置

    安装好了Web配件,我们现在开始配置Linux自带的vsftpd软件进行了简单的介绍,当然,你也可以在Web软件配置之间先配置好FTP服务。在这里,笔者介绍在Linux系统下修改vsftpd软件相关文件,达到客户端能够正常登陆Linux服务器上传并下载相关文件网页文件等等。主要经过以下二个步骤:

    4.1、Linux FTP用户帐号建立及配置文件修改

    1、建立FTP用户帐号:
# adduser ftptest -d /usr/local/apache/htdocs * 添加用户ftptest并以htdocs为该用户目录 # passwd ftptest AB88eR * 设定ftptest用户密码为AB88eR
    2、修改vsftpd配置文件:
# vi /etc/vsftpd/vsftpd.conf *修改vsftpd.conf中的各项如下: anonymous_enable=YES * 允许匿名ftp,如否则选择NO write_enable=YES * 允许匿名用户写入修改的权利 anon_upload_enable=YES * 允许匿名用户写入修改的权利 anon_mkdir_write_enable=YES * 允许匿名用户有创建目录的权利
    简单的修改,就可以在客户端通过CuteFTP软件,就可以上传、下载、修改文件,以下是笔者使用cuteFTP软件登入Linux服务器的界面:


五、 SSHD远程管理服务器设置:

    多数的Linux操作系统中,都自带有一款open-ssh远程管理与控制的服务软件:SSHD,SSH是一个远程登陆工具。采用SSL协议加密,在安全性方面比传统的Telnet要高。同时SSHD带有SCP、SFTP功能,可以很方便地实现本地到远程管理控制、远程到远程的文件传输。

    1、 在Linux命令提示符,执行命令ntsysv命令,把sshd服务打上钩。如下图所示:

    命令:# ntsysv


    非常简单的设定,我们就完成了服务器端远程控制的设定。以下笔者采用putty远程控制软件远程控制Linux图示:

文章小结:

    使用Linux作为Web应用的服务器,需考虑Web应用环节中各个细节,本文就考虑到Web服务器在托管应用当中网站代码、数据库、优化套件、远程管理维护、文件传输等。在前期多思考、规划,可减少后期的安装、维护、管理等工作。

    在塔建整个系统时,安装过程并不复杂,Linux服务配置与安装都需要在命令行的模式下进行.当然对于熟悉Windows Server环境图形化的配置界面和用户来讲,你需要特别注意以下几点:

    1、安装包的版本与类别:Linux的源安装包种类比较多,要根据不同的硬件、Linux系统选择相应的源安装包。

    2、在输入命令时,大小写的命令输入有着明确的区分,这点在Windows系统中则可以忽略,这点非常重要。

    3、从Linux安装开始到最后Web套件的安装到结束,细节方面需要特别注意。如笔者在安装的一些截图设定,会对后面Web、FTP配置有非常大的影响。

    本文的目的是为了让更多的Web用户体验Linux作为Web服务器,整个功能架设大体上能够满足各种用户的要求。但在一些细节方面,出于对于初学者与简化文章篇幅考虑,在一些功能配置细节方面比较简化,实际部署时应多参考各方面的文献,加强服务器的安全性与灵活性。
0
相关文章