2010-11-22 11:01:40  浏览:2625

ubuntu apache svn tomcat mysql jdk php

今天我的主要任务就是配置服务器环境

系统:Ubuntu 10

需要安装软件版本:ssh apache2 mysql svn tomcat jdk

首先配置ssh:

sudo apt-get install ssh

不使用私钥的SSH还是有一定风险的。现在我们尝试在ubuntu服务器上生成私钥和公钥

#ssh-keygen

后面会提示你私钥的文件名,放在哪,这些问题,选择默认就行了,中途会让你输入密码,这个你可得记住。这样你的用户目录下会多出一个隐藏的.ssh文件夹。可以使用ls -A 来查看。里面还有两文件,一个是id_rsa(私钥),还有一个是id_rsa.pub(公钥)

然后用putty就可以连接了

---------------------------------------

然后安装mysql

sudo apt-get install mysql-server

这个很好安装,同意里面的协议,中途需要输入mysql的密码,

安装ok后,修改my.conf

bind-address=192.168.1.200

还有更新一下mysql数据库中user表中的host :update user set host=‘%‘ where host=‘localhost‘

连接测试....OK

---------------------------

一、SVN安装

1.安装包

$ sudo apt-get install subversion

 

2.添加svn管理用户及subversion组

$ sudo adduser svnuser

$ sudo addgroup subversion

$ sudo addgroup svnuser subversion       

 

3.创建项目目录

$ sudo mkdir /home/svn

$ cd /home/svn

$ sudo mkdir fitness

$ sudo chown -R root:subversion fitness

$ sudo chmod -R g+rws fitness

 

4.创建SVN文件仓库

$ sudo svnadmin create /home/svn/fitness

 

5.访问方式及项目导入:

$ svn co file:///home/svn/fitness

或者

$ svn co file://localhost/home/svn/fitness

* 注意:

如果您并不确定主机的名称,您必须使用三个斜杠(///),而如果您指定了主机的名称,则您必须使用两个斜杠(//).

//--

下面的命令用于将项目导入到SVN 文件仓库:

$ svn import -m "New import" /home/svn/fitness file:///home/svnuser/src/fitness

一定要注明导入信息

 

//--------------------------//

6.访问权限设置

修改 /home/svn/fitness目录下:

svnserve.conf 、passwd 、authz三个文件,行最前端不允许有空格

//--

编辑svnserve.conf文件,把如下两行取消注释

password-db = password

authz-db = authz

 

//补充说明

# [general]

anon-access = read

auth-access = write

password-db = passwd

其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果想拒绝匿

 

名用户的访问,只需把 read 改成 none 就能达到目的。

 

//--

编辑/home/svnuser/etc/passwd  如下:

[users]

mirze = 123456

test1 = 123456

test2 = 123456

//--

编辑/home/svnuser/etc/authz如下

[groups]

admin = mirze,test1

test = test2

[/]

@admin=rw

*=r

这里设置了三个用户mirze,test1,test2密码都是123456

其中mirze和test1属于admin组,有读和写的权限,test2属于test组只有读的权限

 

7.启动SVN服务

svnserve -d -r /home/svn

描述说明:

-d 表示svnserver以“守护”进程模式运行

-r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库

如: svn://192.168.12.118/fitness

 

这时SVN安装就完成了.

局域网访问方式:

例如:svn checkout svn://192.168.12.118/fitness --username mirze --password 123456 /var/www/fitness

-------------------------------------

安装apache

sudo apt-get install apache2

安装ok后,修改 /etc/apache2/mods-available/dav_svn.conf

 DAV svn

SVNPath /home/svn/myproject

AuthType Basic

AuthName "myproject subversion repository"

AuthUserFile /etc/subversion/passwd

#这样就允许匿名访问

Require valid-user

 

hpasswd -c /etc/subversion/passwd xxx 第一次创建密码 提示输入密码

建多用户hpasswd  /etc/subversion/passwd xxx

测试 ok  访问路径/var/www

--------------------------

安装tomcat。直接解压就可以了

-------------------------

安装jdk,在官网下载jdk-6u16-linux-i586 直接解压,然后把路径加入到PATH中即可

 

-----------

至于apache和tomcat的整合

 

第一步是修改httpd.conf 这个全局设定档。
cd /usr/local/apache2/conf/
cp http.conf http.conf.bak
vim http.conf
ServerName 配置为 127.0.0.1:80,服务器IP或域名

DirectoryIndex 中添加index.htm index.jsp
:wq 保存后退出
此时可启动apache2.0服务器了
采用:/usr/local/apache2/bin/apachectl start
输入:http://127.0.0.1/
你就会看到 It works!
这个测试成功的界面。
启动tomcat 采用:/usr/local/tomcat6/bin/startup.sh
输入:http://127.0.0.1:8080/
你就会看到tomcat 的测试页面

第二步是下载和编译mod_jk.so 这个连接tomcat和apache.的连接文件。
照样也是在http://tomcat.apache.org 这个网站上下载的源代码安装包:tomcat-connectors-1.2.27-src.tar.gz
首先: mkdir /usr/source.bao
     #cp /media/tomcat-connectors-1.2.27-src.tar.gz /usr/source.bao
      #cd /usr/local/src
      #tar xvfz /usr/source.bao/tomcat-connectors-1.2.27-src.tar.gz
      #cd tomcat-connectors-1.2.27-src/
      注意里面有一个BUILD.txt 仔细阅读它
      然后 cd native/
      #vim BUILDING.txt  仔细阅读它
      然后输入采用: 
      # ./configure --with-apxs=/usr/local/apache2/bin/apxs  --with-java-home=/usr/java/jdk1.6.0_11
      #make
      #make isntall
      #cp apache-2.0/mod_jk.so /usr/local/apache2/modules/  
     这一步很重要
  
第三步:在/usr/local/apache2/conf/下面建立两个配置文件mod_jk.conf和workers.properties。
      vim mod_jk.conf
添加以下代码:
# 指出mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile /usr/local/apache2/conf/workers.properties

# Where to put jk logs
JkLogFile /usr/local/apache2/logs/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel info

# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

# JkOptions indicate to send SSL KEY SIZE,
JkOptions  +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"

# 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
JkMount /servlet/*  worker1
JkMount /*.jsp worker1

vim workers.properties
添加以下代码:
# Defining a worker named worker1 and of type ajp13
worker.list=worker1

# Set properties for worker1
worker.worker1.type=ajp13 
worker.worker1.host=localhost 
worker.worker1.port=8009
worker.worker1.lbfactor=50 
worker.worker1.cachesize=10 
worker.worker1.cache_timeout=600 
worker.worker1.socket_keepalive=1 
worker.worker1.socket_timeout=300


再配置httpd.conf,作以下修改:
将Listen 80 修改为 Listen 127.0.0.1:80
将ServerName 修改为 ServerName LocalHost:80

我的网页放在/var/wwwroot下,所以要修改DocumentRoot
添加代码:
DocumentRoot "/var/wwwroot"

    Options Includes FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
    XBitHack on

    
    Order deny,allow
    Deny from all


增加关于加载mod_jk的语句:
添加代码:
LoadModule jk_module modules/mod_jk.so
Include /usr/local/apache2/conf/mod_jk.conf



最后编辑Tomcat的配置文件server.xml,在HOST段中加入:
      debug="0" reloadable="true" crossContext="true"/>

在/var/wwwroot下建立一个test.jsp,启动Apache和Tomcat,用浏览器访问http://localhost/,应该可以看到正确的页面了。
 
test.jsp 的例子
Hello! The time is <%= new java.util.Date() %>


输入http://127.0.0.1/test.jsp
你会看到:Hello! The time is Mon Jan 19 21:29:38 CST 2009
OK 你成功了!

------------------------------

安装php环境

只要apache好了,

sudo apt-get install php5

sudo apt-get install libapache2-mod-php5

sudo /etc/init.d/apache2 restart 重启下Apache服务

修改/usr/www/index.html==>index.php

里面写

测试localhost

让apache、php支持mysql

sudo apt-get install libapache2-mod-auth-mysql

sudo apt-get install php5-mysql

sudo /etc/init.d/apache2 restart

至此apache2+php 5.2.4.2+mysql5.0.51的环境就完成了。

注意:连接字符串中,数据的名字要与数据中的名字一致,这里面会区分大小写

返回首页