メニュー > Amazon Web Service > Amazon Linux に各種サーバをインストール

Amazon Linux に各種サーバをインストール

(2011/03/05)

目次

  • JDKをインストール
  • Tomcatをインストール
  • Apacheをインストール
  • ApacheとTomcatの連携
  • MySQLをインストール

  • はじめに

    このページは基本的なLinuxコマンドの知識がある方を対象に記述しています。
    細かい解説が不足しており、ここに登場するコマンドの意味がわからない方や不安がある方は、他のページを参照してください。
    ここに登場するコマンドは全てSU権限で行います。いかなる障害や不利益が発生しても当方は責任を負いません。

    動作環境等

    このページでは以下の環境での動作を説明しています。
    (ファイルパス等は必要に応じ読み替えてください。)
  • 動作中のサーバ(執筆時点で「Basic 32-bit Amazon Linux AMI 2010.11.1 Beta (AMI Id: ami-8e08a38f)」を利用しています。)
  • 上記の動作中のサーバにTELNET接続できる環境
  • 上記の動作中のサーバにFTP接続できる環境

  • JDKをインストール

    以下のコマンドを利用してインストールします。インストールするバージョンは「1.6」です。
    インストールの際「/tmp/jdk-6u24-linux-i586.bin」が存在している前提でコマンドが書かれております。
    mkdir /opt/jdk/
    cd /opt/jdk/
    cp -p /tmp/jdk-6u24-linux-i586.bin .
    chmod +x jdk-6u24-linux-i586.bin
    echo | ./jdk-6u24-linux-i586.bin
    rm -f jdk-6u24-linux-i586.bin
    ln -s jdk1.6.0_24/ java


    Tomcatをインストール

    以下のコマンドを利用してインストールします。インストールするバージョンは「6.0.32」です。
    インストールの際「/tmp/apache-tomcat-6.0.32.tar.gz」が存在している前提でコマンドが書かれております。
    必要に応じてダウンロードして下さい。
    groupadd tomcat
    useradd -g tomcat tomcat
    mkdir /opt/jakarta
    cd /opt/jakarta
    cp -p /tmp/apache-tomcat-6.0.32.tar.gz .
    tar -xzvf apache-tomcat-6.0.32.tar.gz
    mv apache-tomcat-6.0.32 tomcat-6.0.32
    chown -R tomcat:tomcat *
    echo JAVA_HOME=/opt/jdk/java/ >> /home/tomcat/.bashrc
    ln -s tomcat-6.0.32 tomcat
    cd /etc/rc.d/init.d/
    echo '#!/bin/sh' > tomcat
    echo '#' >> tomcat
    echo '# chkconfig:   345 95 15' >> tomcat
    echo '# description: start script for tomcat' >> tomcat
    echo '' >> tomcat
    echo '# Source function library.' >> tomcat
    echo '. /etc/rc.d/init.d/functions' >> tomcat
    echo '' >> tomcat
    echo CATALINA_HOME=/opt/jakarta/tomcat >> tomcat
    echo CATALINA_OWNER=tomcat >> tomcat
    echo '' >> tomcat
    echo '' >> tomcat
    echo 'case "$1" in' >> tomcat
    echo "'start')" >> tomcat
    echo '        if [ -f $CATALINA_HOME/bin/startup.sh ]; then' >> tomcat
    echo '            echo "Starting the tomcat service "' >> tomcat
    echo '            su - $CATALINA_OWNER -c "$CATALINA_HOME/bin/startup.sh"' >> tomcat
    echo '        fi' >> tomcat
    echo '        ;;' >> tomcat
    echo "'stop')" >> tomcat
    echo '        echo "Stopping the tomcat service."' >> tomcat
    echo '        su - $CATALINA_OWNER -c "$CATALINA_HOME/bin/shutdown.sh"' >> tomcat
    echo '        ;;' >> tomcat
    echo "'restart')" >> tomcat
    echo '        $0 stop' >> tomcat
    echo '        $0 start' >> tomcat
    echo '        ;;' >> tomcat
    echo '*)' >> tomcat
    echo '        echo "Usage: $0 {start|stop|restart}"' >> tomcat
    echo '        ;;' >> tomcat
    echo 'esac' >> tomcat
    echo 'exit 0' >> tomcat
    chmod 755 tomcat
    chkconfig --add tomcat

    今後は以下のコマンドを利用して起動・停止・再起動を行います。
    /etc/rc.d/init.d/tomcat start
    /etc/rc.d/init.d/tomcat stop
    /etc/rc.d/init.d/tomcat restart
    

    Tomcat起動後、以下のURLにアクセスし、ページが開けるか確認します。
    http://server:8080/
    注・このとき8080ポートがファイアウォール等でブロックされていないか要確認。


    Apacheをインストール

    インストールはソースから行うため、gccコンパイラのインストール状況を以下のyumコマンドを利用し、確認します。
    yum list | grep gcc

    実行すると以下のような結果が得られます。
    libgcc.i386                               4.1.2-48.14.amzn1            installed
    gcc.i386                                  4.1.2-48.14.amzn1            amzn
    gcc-c++.i386                              4.1.2-48.14.amzn1            amzn
    gcc-gfortran.i386                         4.1.2-48.14.amzn1            amzn
    gcc-gnat.i386                             4.1.2-48.14.amzn1            amzn
    gcc-java.i386                             4.1.2-48.14.amzn1            amzn
    gcc-objc.i386                             4.1.2-48.14.amzn1            amzn
    gcc-objc++.i386                           4.1.2-48.14.amzn1            amzn
    gcc44.i686                                4.4.4-5.18.amzn1             amzn
    gcc44-c++.i686                            4.4.4-5.18.amzn1             amzn
    gcc44-gfortran.i686                       4.4.4-5.18.amzn1             amzn

    gcc.i386がinstalledでないためインストールされていないようです。その場合は以下を実行します。
    途中で数回「Is this ok [y/N]:」と問われる場合がありますが、関連するファイルのインストールなので「y」とします。
    yum install gcc

    以下のコマンドを利用してインストールします。インストールするバージョンは「2.2.17」です。
    インストールの際「/tmp/httpd-2.2.17.tar.gz」が存在している前提でコマンドが書かれております。
    必要に応じてダウンロードして下さい。
    groupadd apache
    useradd -g apache apache
    mkdir /opt/apache
    cd /opt/apache/
    cp -p /tmp/httpd-2.2.17.tar.gz .
    tar -xzvf httpd-2.2.17.tar.gz
    cd httpd-2.2.17
    ./configure --prefix=/opt/apache/aws_2.2.17 --enable-proxy --enable-proxy-ajp
    make
    make install
    cd /opt/apache
    rm -rf /opt/apache/httpd-2.2.17
    ln -s aws_2.2.17 aws
    cd /etc/rc.d/init.d/
    echo '#!/bin/sh' > apache
    echo '#' >> apache
    echo '# chkconfig:   2345 99 11' >> apache
    echo '# description: start script for apache' >> apache
    echo '' >> apache
    echo '' >> apache
    echo 'case "$1" in' >> apache
    echo "'start')" >> apache
    echo '        [ -x /opt/apache/aws/bin/apachectl ] && \' >> apache
    echo '                /opt/apache/aws/bin/apachectl start' >> apache
    echo '        ;;' >> apache
    echo '' >> apache
    echo "'stop')" >> apache
    echo '        [ -x /opt/apache/aws/bin/apachectl ] && \' >> apache
    echo '                /opt/apache/aws/bin/apachectl stop' >> apache
    echo '        ;;' >> apache
    echo '' >> apache
    echo "'restart')" >> apache
    echo '        [ -x /opt/apache/aws/bin/apachectl ] && \' >> apache
    echo '                /opt/apache/aws/bin/apachectl restart' >> apache
    echo '        ;;' >> apache
    echo '' >> apache
    echo '*)' >> apache
    echo '        echo "Usage: $0 { start | restart | stop }"' >> apache
    echo '        exit 1' >> apache
    echo 'esac' >> apache
    echo 'exit 0' >> apache
    chmod 755 apache
    chkconfig --add apache
    cd /opt/apache/aws/conf
    echo '' >> httpd.conf
    echo 'Redirect 404 /favicon.ico' >> httpd.conf
    echo '<Location /favicon.ico>' >> httpd.conf
    echo 'ErrorDocument 404 "No favicon' >> httpd.conf
    echo '</Location>' >> httpd.conf
    

    今後は以下のコマンドを利用して起動・停止・再起動を行います。
    /etc/rc.d/init.d/apache start
    /etc/rc.d/init.d/apache stop
    /etc/rc.d/init.d/apache restart
    

    Apache起動後、以下のURLにアクセスし、ページが開けるか確認します。
    http://server/
    注・このとき80ポートがファイアウォール等でブロックされていないか要確認。


    ApacheとTomcatの連携

    連携には「mod_proxy_ajp」を利用します。先程のApacheのconfigureで「--enable-proxy --enable-proxy-ajp」が指定されています。

    以下のコマンドを利用して設定します。
    注・今回はTomcatに含まれる「examples」を連携させます。
    cd /opt/apache/aws/conf
    mkdir extra
    cd extra
    echo '<Location /examples/>' > httpd-proxy.conf
    echo 'ProxyPass ajp://localhost:8009/examples/' >> httpd-proxy.conf
    echo '</Location>' >> httpd-proxy.conf
    cd /opt/apache/aws/conf
    echo '' >> httpd.conf
    echo 'Include conf/extra/httpd-proxy.conf' >> httpd.conf
    
    参考ですがロードバランサーの設定もこのファイルに。

    Apacheを再起動後、以下のURLにアクセスし、ページが開けるか確認します。
    http://server/examples/
    注・このとき80ポートがファイアウォール等でブロックされていないか要確認。
    注・連携できない場合「http://server:8080/examples/」を確認します。単独で動作しなければ、そもそも連携できません。


    MySQLをインストール

    以下のコマンドを利用してインストールします。インストールするバージョンは「4.1.15」です。
    インストールの際「/tmp/mysql-standard-4.1.15-pc-linux-gnu-i686.tar.gz」が存在している前提でコマンドが書かれております。
    groupadd mysql
    useradd -g mysql mysql
    cd /opt/
    tar -xzvf /tmp/mysql-standard-4.1.15-pc-linux-gnu-i686.tar.gz
    ln -s mysql-standard-4.1.15-pc-linux-gnu-i686/ mysql
    cd mysql
    scripts/mysql_install_db
    chown -R root  /opt/mysql-standard-4.1.15-pc-linux-gnu-i686
    chown -R mysql /opt/mysql-standard-4.1.15-pc-linux-gnu-i686/data
    chgrp -R mysql /opt/mysql-standard-4.1.15-pc-linux-gnu-i686
    cd /etc/rc.d/init.d/
    sed -e "s/\/usr\/local\/mysql/\/opt\/mysql/g" /opt/mysql/support-files/mysql.server > mysql
    chmod 755 mysql
    chkconfig --add mysql
    cd /etc/
    sed -e "s/\/tmp\/mysql.sock/\/var\/lib\/mysql\/mysql.sock/g" /opt/mysql/support-files/my-medium.cnf > my.cnf
    chown root:mysql my.cnf
    chmod 644 my.cnf
    

    今後は以下のコマンドを利用して起動・停止・再起動を行います。
    /etc/rc.d/init.d/mysql start
    /etc/rc.d/init.d/mysql stop
    /etc/rc.d/init.d/mysql restart
    

    一番上に移動