如何在Ubuntu 12.04 LTS上安装Postgresql v9.1和JBoss AS v7.1.1

vah*_*apt 4 postgresql ubuntu jboss7.x

有很多很好的资源来描述如何在Ubuntu 12.04 LTS上安装Postgresql和JBoss,但信息是在其他页面上分发的.

但是,最好有一个walktrough指南来轻松安装和配置它们.

vah*_*apt 9

准备安装

sudo apt-get install postgresql postgresql-contrib postgresql-common pgadmin3 openssh-server openssh-client
Run Code Online (Sandbox Code Playgroud)

此命令将安装最新的Postgresql,PgAdmin3,Postgresql-contrib和SSH服务器软件包.SSH服务器不一定是必需的,但最好远程管理服务器.所以我已将它添加到安装列表中.[ 1 ]

Oracle Java JDK和JBoss AS安装不是自动的.所以我们应该从他们的网站下载它们.我们将使用jdk-7u10-linux-i586.tar.gz(或更高版本)和jboss-as-7.1.1.Final.tar.gz

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html的JDK和http://www.jboss.org/jbossas/downloads/ JBoss的.

或尝试下面的命令行链接[ 2 ].(链接可能在将来无效,对不起......)

wget --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F" "http://download.oracle.com/otn-pub/java/jdk/7u10-b18/jdk-7u10-linux-i586.tar.gz"
wget "http://download.jboss.org/jbossas/7.1/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final.tar.gz"
Run Code Online (Sandbox Code Playgroud)

请注意,人们可能希望安装OpenJDK,它可以在apt-get存储库中获得,并且是Ubuntu首选的.不过这是一个偏好,我想使用Oracle的JDK.

可选:为Postgresql添加额外的语言环境支持:根据我的经验,我需要在Postgresql上支持土耳其语语言环境,但默认情况下它没有安装在Ubuntu上.以下是向Ubuntu添加土耳其语归类支持的示例命令,因此也是Postgresql.[ 3 ]

sudo locale-gen tr_TR
sudo locale-gen tr_TR.UTF-8
Run Code Online (Sandbox Code Playgroud)

配置Postgresql

我们已经通过apt-get安装了postgresql.现在,对配置进行一些更改会很好.[ 4 ]

默认情况下,Postgresql不允许TCP连接.编辑postgresql.conf(我最喜欢的编辑器是pico)

sudo pico /etc/postgresql/9.1/main/postgresql.conf
Run Code Online (Sandbox Code Playgroud)

listen_addresses = '*' #Listens on all interfaces!!
Run Code Online (Sandbox Code Playgroud)

或取消注释

listen_addresses = 'localhost' #More secure way to configure the server. Prefer this one if you won't connect to the server remotely
Run Code Online (Sandbox Code Playgroud)

线.

如果您选择绑定到所有接口而不是localhost,那么您将需要额外的配置以允许远程连接.[ 5 ]打开pg_hba.conf

sudo pico /etc/postgresql/9.1/main/pg_hba.conf
Run Code Online (Sandbox Code Playgroud)

添加行:

host    all             all             0.0.0.0/0               md5
Run Code Online (Sandbox Code Playgroud)

重新启动Postgresql以应用新配置.

sudo /etc/init.d/postgresql restart
Run Code Online (Sandbox Code Playgroud)

现在我们将设置默认postgres用户的密码[ 6 ].首先启动postgresql命令行.

sudo -u postgres psql
Run Code Online (Sandbox Code Playgroud)

执行以下命令.[ 7 ]

postgres=# ALTER USER postgres WITH ENCRYPTED PASSWORD '<your new password>'; 
Run Code Online (Sandbox Code Playgroud)

现在您可以通过PgAdmin3或您喜欢的SQL客户端或通过命令行连接到您的服务器...

安装和配置Java和JBoss AS 7.1.1

我已选择/ opt目录作为我们的安装目录.只要您相应地配置脚本,您就可以自由选择.首先提取JDK.

sudo tar -zxvf <Full Path to jdk-7u10-linux-i586.tar.gz> -C /opt
Run Code Online (Sandbox Code Playgroud)

这会将JDK提取到**/opt/jdk1.7.0_10*目录.现在我们将提取和配置JBoss AS.[ 8 ] [ 9 ]

首先为JBoss创建一个用户(jboss-as),运行模拟用户的服务器而不是直接以root身份执行它们是一个好习惯.这将加强安全性.

sudo useradd -s /bin/sh jboss-as
Run Code Online (Sandbox Code Playgroud)

jboss-as-7.1.1.Final.tar.gz解压缩/opt/jboss-as-7.1.1.Final

sudo tar -zxvf <Full Path to jboss-as-7.1.1.Final.tar.gz> -C /opt
Run Code Online (Sandbox Code Playgroud)

我假设您将以独立模式运行JBoss.打开standalone.conf添加以下行.

JAVA_HOME="/opt/jdk1.7.0_10" #show your JAVA_HOME directory to JBoss
JAVA_OPTS="$JAVA_OPTS -Djboss.bind.address=0.0.0.0" #Bind to 0.0.0.0 so that remote clients can connect to your server.
Run Code Online (Sandbox Code Playgroud)

通过执行模拟jboss-as用户

sudo -su jboss-as
Run Code Online (Sandbox Code Playgroud)

首先通过执行来测试服务器

cd /opt/jboss-as-7.1.1.Final
./standalone.sh
Run Code Online (Sandbox Code Playgroud)

它应该没有问题.使用CTRL + C关闭服务器.您可以通过端口8080连接到浏览器上的服务器.

http://<your server address>:8080
Run Code Online (Sandbox Code Playgroud)

现在我们将为JBoss创建一个管理用户.需要使用在端口9990上运行的管理控制台.

export JAVA_HOME=/opt/jdk1.7.0_10/
./add-user.sh
   Management User -> Select (a)
   Realm (Management Realm) -> Accept the default and press enter
   Username : -> Enter <your admin user name>
   Password : -> Enter <your password>
   Is this correct yes/no? -> Type 'yes' and press Enter
       Added user '<your admin user name>' to file '/opt/jboss-as-7.1.1.Final/standalone/configuration/mgmt-users.properties'
       Added user '<your admin user name>' to file '/opt/jboss-as-7.1.1.Final/domain/configuration/mgmt-users.properties'
Run Code Online (Sandbox Code Playgroud)

从模拟的jboss退出- 作为用户.

exit
Run Code Online (Sandbox Code Playgroud)

现在,您可以通过其Web界面配置服务器

http://<your server address>:9990
Run Code Online (Sandbox Code Playgroud)

如果您在本地主机,此地址仅接受您.无论何时需要远程配置服务器,请使用以下命令启动服务器.

sudo -u jboss-as ./standalone.sh -Djboss.bind.address.management=0.0.0.0
Run Code Online (Sandbox Code Playgroud)

再次出于安全原因,如果不需要,请不要绑定到0.0.0.0.

将JBoss安装为系统服务

我们将为init守护进程(aka.init.d)准备服务器管理脚本[ 10 ]

cd /etc/init.d/
sudo pico jboss
Run Code Online (Sandbox Code Playgroud)

复制并粘贴以下内容.不要忘记修改JAVA_HOME,JBOSS_HOME目录和--chuid jboss-as(在运行服务器时模拟为jboss-用户)参数.

#!/bin/sh
### BEGIN INIT INFO
# Provides:          jboss
# Required-Start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start/Stop JBoss AS v7.1.1 Final
### END INIT INFO
#
#source some script files in order to set and export environmental variables
#as well as add the appropriate executables to $PATH

export JAVA_HOME=/opt/jdk1.7.0_10
export PATH=$JAVA_HOME/bin:$PATH

export JBOSS_HOME=/opt/jboss-as-7.1.1.Final
export PATH=$JBOSS_HOME/bin:$PATH

case "$1" in
    start)
        echo "Starting JBoss AS 7.1.1 Final"
        start-stop-daemon --start --quiet --background --chuid jboss-as --exec ${JBOSS_HOME}/bin/standalone.sh
    ;;
    stop)
        echo "Stopping JBoss AS 7.1.1 Final"
        start-stop-daemon --start --quiet --background --chuid jboss-as --exec ${JBOSS_HOME}/bin/jboss-cli.sh -- --connect command=:shutdown
    ;;
    *)
        echo "Usage: /etc/init.d/jboss {start|stop}"
        exit 1
    ;;
esac

exit 0
Run Code Online (Sandbox Code Playgroud)

将脚本设置为可执行文件并更新rc.d

sudo chmod +x jboss
sudo update-rc.d jboss defaults
Run Code Online (Sandbox Code Playgroud)

现在JBoss将从您的服务器开始.您可以使用以下命令启动和停止服务器

sudo service jboss start
sudo service jboss stop
Run Code Online (Sandbox Code Playgroud)