Ubuntu 8.10 Server 安装步骤及Web服务配置方法
时间:2024-01-05 05:51:02 点击:182

Ubuntu 8.10 server,由于经验匮乏,其间的一些问题反复折磨了我好几天,终于基本摆平,纪之以备忘。

0、目的和假定
目的是要配置一个基于 Ubuntu Linux 的 web 服务器。需要提供 HTML、JSP、Socket 服务。
假定均以 root 登录系统,如果不是 root,部分命令需要加上 sudo 命令前缀。

1、系统安装
1.1 基本系统
Ubuntu 真的是个非常好的 Linux 实现,安装非常简便,手动安装过 Windows NT/XP/2000/2003 的话,会发现过程没太大区别。
1.2 随机组件
因为要做 web 服务,所以在选择安装服务组件时,最好选中 LAMP 组件自动安装部署,我在另一台机器上尝试了手工安装部署 LAMP,要麻烦很多。
可以装上 OpenSSH,之后通过远程管理服务器非常方便。
别的组件根据需要选择安装。

2、系统配置

2.1 网卡配置

提供网络服务,是 Server 的主要存在意义,所以第一步是要保证接入网络。
系统安装过程中有机会配置网卡,顺利的话,www.britepic.org装好后即可正常接入。若要修改配置,或是使用了另装的驱动,需要手工配置网卡。
方法是用修改 /etc/interfaces 文件(可用 vi 或 nano 等编辑器,下同)。

# 第一块网卡配置

auto eth0
iface eth0 inet static
address 192.168.0.80
netmask 255.255.255.0
gateway 192.168.0.1
以上是静态 IP 的情况,如果是动态获得地址,只需将 static 改为 dhcp,且无需下面的参数。
没有 VPN 的情况下,原来的 network、broadcast、dn-nameservers 都可以注释掉。

2.2 系统升级

安装完成后的 Ubuntu 已经可以稳定运行,几乎不需要任何配置。但应该保持系统内核及外围补丁的及时更新。可以用 apt-get update 检测升级各项补丁。
(系统默认的源(apt sources)有可能比较慢,根据网络接入情况,可以换上速度较快的源。一开始用 cn99 的源,首次 udpate 花了近 5 小时,之后换了上海交大的网通源,速度还将就。)
2.3 其他设备

没有了。text-based 界面,终端的好处啊,显卡声卡之类杂七杂八的都不用去管了。USB 标准统一,基本上都能由系统自动驱动。
SCSI、RAID 这些,没有环境,没试过单独配置。

2.4 默认语言

后悔装了中文版,既然是终端模式,又何必要中文…反而让许多命令提示显示成了乱码。解决方法如下:

a. 安装命令行中文支持

网上提到个 zhcon,但经测试其目前版本在 8.10 下无法正常工作,实际上它自己也说明了暂时只支持到 8.04。

b. 修改默认语言为英文

#export LANG=“en_US.UTF-8″
#export LANGUAGE=“en_US:en“
这样所有的系统提示都是英文了,不过重启后会失效,要长期有效,需要修改 /etc/default/local,将这两行加到其中即可。

2.5 图形界面

用做服务器的话,实际上不需要配置 GUI,不过因为初装,对 Ubuntu 和 Linux 都不熟悉,所以还是装了个 gnome 协助管理。
服务器版配置 gnome 也很方便:

a) 安装:

#apt-get aptitude install Ubuntu-desktop
安装成功后便会自动登录到桌面了。
GUI 里确实可以更方便地进行很多操作,尤其是文件、目录、文本编辑的操作,这些在终端下都是
繁杂的工作。不过很多系统操作,还是要在终端下更方便进行,跟 Windows 不同,GUI 在
Server 上很多时候只起个辅助作用。

b) 取消 GUI 自动启动:

#update-rc.d -f gdm remove
重启后便不会自动进入桌面,此时可用 startx 启动桌面。
c) 恢复 GUI 自动启动:
#update-rc.d gdm defaults

3、LAMP

3.1 神奇的缩写

全称 = Linux + Apache + mysql + php/Perl/python
缩写 = LAMP
全称 = 社会经济学
缩写 = xxx

3.2 配置

#p#副标题#e#

如果没有特别的要求,那这四个组件都不需要单独配置。此时用 https://img.tynpfw.cn/images/20221208/ohmmbuhqn1q 已经可以打开 apache 的 It Works 页面。

3.3 MySQL 的管理

如果要用 phpMyAdmin 来管理 MySQL,那可以用 apt-get 安装,或用 wget 命令从网上下载,再 tar 解压到 /var/www/phpMyAdmin,之后需要一个简单的配置:

a. 复制配置文件:

#cd /var/www/phpMyAdmin
#cp phpMyAdmin/config.sample.inc.php config.inc.php

b. 修改配置文件:

$cfg['blowfish_secret'] = “; /* 在此处填上 cookie 认证标识,随便填,不留空即可 */
保存后,在 https://img.tynpfw.cn/images/20221208/ohmmbuhqn1q/phpMyAdmin 即可访问 pma 了,用安装时输入的 MySQL 口令即可进入管理。
如果只在服务器上操作,那就只能用 mysql 命令行了:
#mysql -uroot -p

4、java 环境

#apt-get install sun-java6-jre
#apt-get install sun-java6-jdk  // 可选
如果安装 java6 以前的版本,安装后还需要设置 $JAVA_HOME、$CLASSPATH 环境变量,并加入到登录用户的 .bashrc 文件中。
经测试 java6 不需要手工声明,但不排除部分软件认死理的可能,所以也可以写进去,在此不赘述。

5、tomcat

用 apt-get 安装好 tomcat,感觉 Linux 下的软件安装好后就像被炸弹炸飞的人体——分散得到处都是。

以下是初步的分析,可能有误:
/etc/tomcat6 - 全局配置
/usr/share/tomcat6/ - 程序主目录
/usr/share/tomcat6/conf/Catalina/localhost/ - 本机部署的 Catalina 配置
/var/lib/tomcat6/ - 工作主目录
/var/lib/tomcat6/webapps - (应用文件实际存放于此)
/var/lib/tomcat6/work - 动态工作目录(动态编译的 .jsp 存放于此)

5.1 添加管理用户

在 /etc/tomcat6 下是 tomcat 的全局配置,这里需要修改 tomcat-users.xml

a. 添加角色名


b. 添加用户


这样在重启 tomcat 后,才可以用 admin 登录到 manager 页面。
5.2 启动/停止命令
很多时候需要手动启动/停止 tomcat,/usr/share/tomcat6 是 tomcat 的主程序目录。
/usr/share/tomcat6/bin/startup.sh
/usr/share/tomcat6/bin/shutdown.sh
这两个便是启动和停止 tomcat 服务的脚本。
次次启动的话,此处有可能需要手动创建 conf 和 logs 目录:
#cd /usr/share/tomcat6
#mkdir conf
#mkdir logs
如果要非 root 身份启动 tomcat,则需要修改 logs 目录权限:
#chmod a+rw logs
没有意外的话,到这一步为止,这台 Server 就可以正常工作,提供所需的服务了。
如果接入互联网速度够快的话,安装配置这样一台 Server 大概只需要不超过 3 小时。

6、疑难问题

这里只能记下我遇到过的问题,接触时间太短,后面的问题肯定还多,慢慢来。
6.1 系统

a. 只要安装盘或安装源没问题,安装就不会出问题,如果有问题,99% 都是硬件原因引起的(尤其是内存)。
b. 系统升级有可能失败,如果确定网络没问题,可以更换其他的 apt 源重试。

6.2 tomcat

a. 服务启动失败

根据提示判断原因,通常只有几种可能:
a1. 当前用户权限不足,无法创建运行期文件和目录
a2. Java 环境配置不正确,找不到 jre 或相关的 .jar 文件
a3. 指定的端口被占用(tomcat 默认为 8080)
确定了原因,对应的解决方法都比较简单。

b. 站点解析失败

这里有个特别的情况,比如我站点 sun-web.xml 里配置了 context-root 为 iGN,但实际发布的 .war 文件名为 iGN_JSP.war,这样部署到 tomcat6/webapps 下时,自动解包为 iGN_JSP,而在浏览器里的www.britepic.org实际 root 就成了 iGN_JSP,这一点跟在 Windows 平台上有差别。
c. Java 安全策略问题
之前做 Flash 的时候,在它的安全策略上折腾了近一周才搞定。没想到 Java 也有这一手,又被折磨了几天。
问题发生在 jsp 连接 MySQL 的时候,在 Class.forName() 后用 DriverManager.getConnection() 总是无法返回有效的连接,并且也没有抛出 SQLException 异常。
找资料的痛苦过程就不必细说了,最终找到一份 Sun 官方的关于安全策略的文档,终于参照解决。
Java 跟 Flash 在安全管理上是类似的做法,不同域间的互访,需要提供服务方指定对应的安全策略。Java 中通过 java.net.SocketPermission() 指定许可的主机和操作。
于是,修改 /var/cache/tomcat6/catalina.policy 文件,在其中加入如下权限设置:
// 26/dec/2008, scum
permission java.net.SocketPermission “localhost“, “connect,resolve“;
这样便允许了 localhost 的连接和解析请求,更详细的资料在 JDK 文档里也有。
修改后,重启 tomcat,jsp 终于连接上 MySQL 了…
* 关于 Java 安全策略,还有很多内容,未及细看,也许有更简便或更标准的解决方法,以后再说。

展开 ↓

最新游戏更多

最新软件更多

  • 玩家推荐
  • 游戏攻略

诚捷手游网 Copyright(C) 2008- tynpfw.cn All Rights Reserved!

闽ICP备2023006241号-3| 免责声明