搭建个人网站
中国人
|
1#
中国人 发表于 2005-05-07 01:16
搭建个人网站
在一个被Windows垄断的办公环境中使用Linux办公,你就是少数,你就不得不照顾大多数人的习惯,想办法“兼容”大多数人。
一个比较有效的办法就是把自己的计算机改造成简单的个人网络服务器,利用流行的网络服务解决与大多数人交流电子文档的问题。 下面将讨论如何基于红旗Linux桌面版配置服务器,提供WWW/FTP服务的问题。注意,这里的讨论只适合个人使用。如果要搭建企业级的服务器,需要考虑更多的问题,这里介绍的方法也许并不够充分。 用Apache提供简单Web服务 假设要建立一个个人Web网站,允许别人能通过内部局域网访问这个网站,阅读文档或下载软件。网站的网页文件都存在/mnt/WinD/www123下,首页文件名是 index.html,可供下载的软件存在/mnt/WinD/unixsoft下。 安装Apache 2.0.53 Apache 服务器软件安装包是一个tar包,可以下载得到。其中包含所有的源程序。2.0.53版的文件名是httpd-2.0.53.tar.gz,也有 httpd-2.0.53.tar.bz2的,只是压缩方式不同而已。在图形界面下,选中压缩包点鼠标右键,在弹出菜单中选择“解压”即可完成解压,形成 httpd-2.0.53目录。 在命令行方式下,转入httpd-2.0.53目录,configure,make,make install,make clean等命令就可以完成安装完了。为了方便,可以把这些命令用分号(;)隔开写成一行,如下所示。 ./configure;make;make install;make clean 这样做之后,安装程序会自动在/usr/local中创建 apache2 目录,Apache服务器软件的所有配置文件和可执行文件就都保存在这里。如果要卸载,只需将 apache2 目录删除即可。有两点需要注意:第一,安装时必须使用root身份;第二,如果httpd-2.0.53目录处于系统自动挂装的非ext2/ext3分区,执行configure命令可能会出错,导致无法正常安装。如果httpd-2.0.53目录在ext2/ext3分区,就不会出现这个问题了。因此,建议把解压形成的httpd-2.0.53目录放在/root目录之下。 配置 接下来要修改配置文件/usr/local/apache2/conf/httpd.conf来控制服务器软件,使其按要求运行。 首先,修改Listen行,确定服务的IP地址和端口号: Listen 10.1.30.147:80 说明:10.1.30.144是当前计算机的IP地址,通过80端口提供Web服务。 此项不特意设也可,默认端口就是80。 其次,修改DocumentRoot ,设定主页所在的根目录。修改后形成如下两行: DocumentRoot "/mnt/WinD/www123" <Directory "/mnt/WinD/www123"> 第三,修改DirectoryIndex行,确认首页的文件名在其中。如果没有就追加上。 DirectoryIndex index.html index.html.var第四,增加一个Alias,把/mnt/WinD/unixsoft映射为网站根目录下的unixdown目录。增加的内容如下: Alias /unixdown/ "/mnt/WinD/unixsoft" <Directory "/mnt/WinD/unixsoft"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> 上述四步配置的目的是使局域网的其他计算机能用http://10.1.30.144/这个网址访问我的...钥吹轿募?斜怼? 启动和关闭 安装配置好之后,运行下面的命令是就可以启动这个WWW服务器了。 /usr/local/apache2/bin/apachectl start 若要重启动这个WWW服务器 /usr/local/apache2/bin/apachectl restart 若要关闭WWW服务 /usr/local/apache2/bin/apachectl stop 自动启动 如果希望系统每次启动时自动启动httpd服务器,则还要做如下工作。 首先,拷贝apachectl 到/etc/rc.d/init.d/,并更名为httpd ,相应的命令是: cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd 然后,修改/etc/rc.d/init.d/httpd中的ARGV行,改成: ARGV="start" 最后,在/etc/rc.d/rc5.d目录下,创建一个指向httpd的硬链接。相应的命令是: ln /etc/rc.d/init.d/httpd /etc/rc.d/rc5.d/S85httpd 为了保证在字符模式下启动红旗也能提供Web服务,还要在/etc/rc.d/rc3.d目录下,创建一个指向httpd的硬链接。相应的命令是: ln /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S85httpd 支持PHP的Web网站 上面已经建立了简单的Web网站。很多情况下,这已经能满足了文档和软件共享的需要。但有些时候,还需要记录网站被访问的次数、软件的下载次数,甚至需要建立一个简单的留言簿。这时,就需要使Web网站支持某种动态网页。在Linux上,一种最流行的支持动态网页的搭配就是:Apache+PHP。 下面就讨论如何用Apache和PHP搭建支持PHP的Web网站。 安装Apache 2.0.53 关于Apache的安装前面已经做了介绍。但为了与PHP配合工作,Apache的安装操作会有所变化。 对比前面“简单Web服务”的安装操作,在执行configure指令时稍有不同,需要给configure增加参 数enable-so使其支持可装载模块和标准的MPM prefork。具体来说在命令行方式下,转入httpd-2.0.53目录后,执行如下命令进行安装。 ./configure enable-so make;make install;make clean 安装PHP 5.0.2 PHP软件安装包也是一个tar包,可以下载得到。文件名为php-5.0.2.tar.gz,解压方法与Apache的相同。需要注意的是,为了能正常编译,最好直接在ext2/3分区上进行解压。解压后会形成php-5.0.2目录。 转入该目录开始安装。 安装PHP前应关闭Apache。 安装时configure指令需要参数,这个参数说明了Apache具体的安装路径。 ./configure with-apxs2=/usr/local/apache2/bin/apxs make make install;make clean 安装完成后,还需要把php的配置文件复制到合适的目录下,具体命令如下: cp php.ini-dist /usr/local/lib/php.ini 配置Apache 关于Apache的配置前面已经做过一些介绍。显然,在搭建支持PHP的Web网站时这些配置仍需要做。 为了使其与 PHP配合工作 ,还要增加如下的配置。 首先,检查配置文件/usr/local/apache2/conf/httpd.conf中是否有如下的条目(一般来说,在安装php的过程中,都会自动增加),如果没有,一定要添加以便Apache在启动时可以自动加载php模块。 LoadModule php5_module modules/libphp5.so 其次,还要手工增加如下两个条目: AddType application/x-httpd-php .php .phtml AddType application/x-httpd-php-source .phps 第一条的含义是:如果文件扩展名为.php或.phtml,就要用PHP解析;第二条的含义是:如果文件扩 展名为.phps就按PHP语法高亮显示该源文件。 最后,还应该修改DirectoryIndex行,允许首页以index.php作为文件名。修改后的情况就是: DirectoryIndex index.html index.php index.html.var 测试 做了上述配置后,这个Web网站就支持PHP了。可以编写一个简单的PHP文件phptest.php进行测试, 其中含有PHP语句即可。下面是一个例子: <html> <head> <title>Example</title> </head> <body> <?php echo "Hi, I´m a PHP script!"; ?> </body> </html> 如果在浏览器上只显示了红色字体的文字,就说明该网站能正确解析PHP文件。 FTP服务 安装ProFTP 1.2.9 可以安装ProFTP来提供ftp服务。 可以下载得到ProFTP的安装包proftpd-1.2.9.tar.gz,先用tar命令解压。也可以在图形界面下,选中压缩包点鼠标右键,在弹出菜单中选择“解压”进行解压,形成后形成proftpd-1.2.9目录。 在命令行方式下,转入proftpd-1.2.9目录, 依次执行configure,make,make install,make clean等命令就可以完成安装完了。为了方便,可以把这些命令用分号(;)隔开写成一行,如下所示。 ./configure;make;make install;make clean ProFTP的安装程序会把配置文件proftpd.conf放在/usr/local/etc下,把可执行文件proftpd及 ftpshut 放在/usr/local/sbin下。 基本配置 在运行proftpd之前,需要对运行环境和proftpd的配置文件进行设置,以便该软件按要求运行。 首先,核实系统是否存在系统用户ftp的默认家目录,即/var/ftp这个目录。 /var/ftp这个目录是系统用户ftp的默认家目录,也是匿名ftp用户(anonymous)登陆后自动进入的目录。 如果没有/var/ftp,匿名ftp服务可能会有问题。 如果系统中没有/var/ftp这个目录,就应该创建它,并将其属主设成ftp。相应的命令如下: mkdir /var/ftp chown ftp.ftp /var/ftp 还有一种办法,就是修改系统用户ftp的属性,使其家目录指向其他已存在的目录。方法是:执行【开 始】→【设置】→【控制面板】→【本地用户和组】,找到ftp这个用户,选中它并点鼠标右键,执行弹出菜单的“属性”即可调出该用户的属性设置界面,在“主目录”中输入相应的目录,然后确定即可。 其次,修改proftpd的配置文件/usr/local/etc/proftpd.conf。 在配置文件中有User和 Group 项,是用来设定运行proftpd的身份的。其中,Group 项初始值设为 nogroup,而实际上红旗Linux4.1中并没有自动创建nogroup这个组,只有nobody这个组(其中有nobody用户)。因此,Group 项应改为 Group nobody 如果想给匿名用户开放写入权限,还应该修改配置文件中<Anonymous ~ftp>和 </Anonymous>之间的Limit段改写成: <Limit WRITE> #DenyAll AllowAll </Limit> 用户权限控制 经上述配置后,当以匿名身份登陆时,只能访问系统用户ftp的家目录。读写权限由配置文件控制。如 果创建了普通用户帐户,也可以用这个帐户来登陆ftp服务,密码就用该用户登陆系统时所用的密码。此用户登陆后的读写权限与直接登陆系统时的权限相同。这意味着,该用户以ftp方式登陆后,对系统中绝大多数文件和目录都有读的权限,都可以下载!在大多数情况下,这是比较危险的。 如果希望普通用户以ftp方式登陆后被限制在其家目录内,就需要让配置文件/usr/local/etc/proftpd.conf 中的DefaultRoot ~生效。方法很简单,把DefaultRoot ~之前的井号(#)删除即可。 启动 执行proftpd命令,就可以启动proftpd,以stand-alone模式提供FTP服务。带完整路径的命令如下: /usr/local/sbin/proftpd 如果希望proftpd能被自动启动,则应打开/etc/rc.d/rc.local,加入如下一行内容。 /usr/local/sbin/proftpd 这样,每次启动计算机后,proftpd都会被自动启动。 相关命令 关闭FTP服务 ftpshut now 此命令会在/etc下生成文件shutmsg。此命令仅仅是停止FTP服务,并不是关闭proftpd程序。 重新开放FTP服务 ftpshut -R now 直接把/etc/shutmsg删除也能产生相同的效果。 查看服务器在线人数 ftpcount 显示在线人员名单 ftpwho |