• Ubuntu 8.10 Server安装步骤及web服务配置

    普通类
    • 支持
    • 批判
    • 提问
    • 解释
    • 补充
    • 删除
    • 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/network/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 配置

    如果没有特别的要求,那这四个组件都不需要单独配置。此时用 http://localhost 已经可以打开 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 认证标识,随便填,不留空即可 */

    保存后,在 http://localhost/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. 添加角色名

    <role rolename="manager"/>

    <role rolename="admin"/>

    b. 添加用户  

    <user username="admin" password="admin" roles="admin,manager"/>

    这样在重启 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 安全策略,还有很多内容,未及细看,也许有更简便或更标准的解决方法,以后再说。

    • 7、结束语


    现在服务器应用越来越多地偏向 Linux 了,个人感觉,二者各有所长,至少 Lin 还没到能完全替代 Win 的时候。

    稳定性,Windows 2003 绝不比 Linux 差,而且易用性强,如果一个人在对二者同样不熟悉的情况下,要实现管理配置,Lin 当然是个噩梦。

    安全性,这一点上,Lin 是更强些,除了本身内核的稳定外,潜在的攻击者对 Lin 的熟悉程度不如 Win 高也是个原因。

    开放性,Win 是开放,允许所有合理的应用,但是内核的问题只有 MS 自己解决。Lin 是放开,允许所有合理的修改,在容易快速得到完善和进步的同时,也存在混乱和庞杂的隐患。而且个人感觉,所谓安全,一是只有不公开的部分,才是真正安全的;二是一切安全,都是暂时绝对的永远相对的。

    更多的讨论就没有意义了,接下来还要配置一台服务器,打算用 Windows 2003,为什么不 Linux,因为 Linux 上暂时还不能完美地运行 .net 服务。

    • 标签:
    • 修改
    • 配置
    • 需要
    • 启动
    • tomcat
    • 安装
    • linux
    • 学习元
    • tomcat6
    • mysql
    • 系统
  • 加入的知识群:
    学习元评论 (0条)

    评论为空
    聪明如你,不妨在这 发表你的看法与心得 ~



    登录之后可以发表学习元评论
      
暂无内容~~
顶部