LoginSignup
8
9

More than 5 years have passed since last update.

仮想環境への各種ミドルウェアインストール(&使い方)手順メモ

Last updated at Posted at 2016-02-16

概要

  • 所用で各種ミドルウェアの入った環境をつくることになったので、そのメモ
  • バージョンの指定とかは特にせず、一部を除き、yumで入るものをベースにインストールしています
  • 最低限のことしかしないので、必要に応じて各種変更すること
  • わけあって32bitのCentOS6を利用してますが、一部のコマンドを除いてさほど変化はないかと思います

CentOS6.7(32bit)のインストール

  • インストールはminimalで良い
  • ネットワーク設定時に、自動接続を有効にしておく
  • ホストオンリーアダプターを使ったホスト⇒仮想のssh接続を行う場合は、該当アダプタのIPv4設定でIPアドレスを手動にして入力しておく。

    • ※ネットワーク設定を後で設定する場合は、以下のファイルを編集して、ネットワークを再読み込みすること。
      
      /etc/sysconfig/network-scripts/ifcfg-eth0 = NAT
      /etc/sysconfig/network-scripts/ifcfg-eth1 = ホストオンリーアダプタ
      service network restart =ネットワーク再読み込み
      
  • インストール完了後に再起動

  • 再起動後にrootでログイン

    • 以後rootでの作業も良いが、新規に作業用のユーザーを作成する
    • パスワードは複数回入力を求められるので、必要回入力する
      
      useradd [ユーザー名]
      passwd [パスワード]
      

  • 作成したユーザーでsudoを使えるようにする

    • 『## Allow root to run any commands anywhere』に項目を追加する
      
      visudo
       
      [ユーザー名]    ALL=(ALL)       ALL
      

  • firewallを停止させる

    
    sudo /etc/rc.d/init.d/iptables stop
    chkconfig iptables off
    chkconfig ip6tables off
    

  • selinuxを無効にする

    • SELINUX=enforcingをdisabledに変更する
      
      sudo vi /etc/selinux/config
      
  • 環境再起動

    
    reboot
    

前準備

  • 作成したアカウントでログイン
  • yumのアップデート

    
    sudo yum -y update
    
  • remiのリポジトリを追加

    
    sudo rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
    sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
    
  • wgetをインストール

    
    sudo yum -y install wget
    

jenkinsのインストール

  • インストール

    
    sudo yum -y install java
    sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
    sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
    sudo yum -y install jenkins
    
  • 起動と自動起動を設定

    
    sudo /etc/init.d/jenkins start
    sudo chkconfig jenkins on
    
  • アクセスして確認

    
    http://[IPアドレス]:8080/
    

Apache

  • インストール

    
    sudo yum -y install httpd httpd-devel
    
  • 起動

    
    sudo service httpd start
    
  • ホスト側ブラウザからアクセス確認

    
    http://[IPアドレス]:80
    
  • ディレクトリの権限を変える

    
    sudo chown [アカウント名]. /var/www/html/
    
  • indexファイル作成

    • 内容は適当で良いです
      
      vi /var/www/html/index.html
      
  • 再度ブラウザからアクセス、上記入力した内容が表示されればOK


PHP

  • インストール

    
    sudo yum -y install php php-mbstring php-pear php-mysql php-devel
    
  • インストール確認

    
    php -v
    
  • Apache再起動

    
    sudo service httpd restart
    
  • phpのインストール時にディレクトリの権限が変わってしまうので戻す

    
    sudo chown [アカウント名]. /var/www/html/
    
  • ApacheからPHPの確認

    
    vi /var/www/html/phpinfo.php
     
    //以下記載
    <?php phpinfo(); ?>
    
  • 入力後該当ファイルにアクセスして、PHPの各種情報が表示されたらOK


mysql

  • mysql インストール

    
    sudo yum -y install mysql-server
    
  • 文字コードを変更(追記)する

    • sudo vi /etc/my.cnf
      
      [mysqld]
      …
      default-character-set = utf8
      skip-character-set-client-handshake
      character-set-server = utf8
      collation-server = utf8_general_ci
      init-connect = SET NAMES utf8
      …
      [client]
      default-character-set=utf8
      
  • mysql起動

    
    sudo /etc/rc.d/init.d/mysqld start
    
  • 初期設定

    
    sudo mysql_secure_installation
    
  • 設定内容

    • パスワード設定以外はすべてEnterで良いです
      
      Enter current password for root (enter for none):= 初期パスなしなのでそのまま
      Set root password? = rootパスワードを設定するか
      Remove anonymous users? = 匿名ユーザーの削除するか
      Disallow root login remotely? = rootリモートログインを無効にするか
      Remove test database and access to it? = testデータベースを削除するか
      Reload privilege tables now?= ユーザーの情報リロードをするか
      
  • 自動起動設定

    
    sudo chkconfig mysqld on
    
  • 接続して確認

    
    mysql -uroot -p
    [パスワード入力]
    select user,host,password from mysql.user;
    

PHPからmysqlに繋げる

  • 適当なデータを入れる
testdb
create database test;
use test;
create table testaccess( id int auto_increment, name varchar(255), index(id));
show tables;
insert into testaccess (name) values ('あああ');
insert into testaccess (name) values ('いいい');
select * from testaccess;
  • Apache再起動

    
    sudo service httpd restart
    
  • PHPから繋げる

    
    vi /var/www/html/mysqltest.php
    
mysqltest.php
<?php
    $con = mysql_connect('localhost', '[ユーザー]', '[パスワード]') or die('error(connect)');
    mysql_select_db('test', $con) or die('error(select_db)');

    $sql = 'select * from testaccess';
    $result = mysql_query($sql, $con);
    while ($row = mysql_fetch_array($result)) {
        echo $row['id'] . ' : ' . $row['name'] . '<br />';
    }

    mysql_close($con);
?>
  • CIやブラウザからアクセスし、保存したデータが表示されたらOK

memcached

  • インストール

    
    sudo yum -y install memcached memcached-devel
    
  • 起動

    
    sudo /etc/init.d/memcached start
    
  • Apache再起動

    
    sudo service httpd restart
    

PHPと繋ぐ

  • 必要なライブラリをインストール

    
    sudo yum -y install php-pecl-memcached
    
  • つなげてみる

    • vi /var/www/html/memcachedtest.php
memcachedtest.php
<?php
    $memcache = new Memcached();
    $memcache->addServer('localhost', 11211);

    $memcache->set('[キー名]', [保存データ], [保存秒数]);

    echo $get_data = $memcache->get('key');
?>
  • CIやブラウザからアクセスして、dataに保存されている内容が表示されていればOK
  • 念のため、ツールから内容を確認
    • dumpはすべて表示されるので、運用中などは利用にお気を付け下さい
      
      memcached-tool localhost dump
      

redis

  • インストール

    
    sudo yum --enablerepo=remi,remi-test -y install redis
    
  • 起動と自動起動設定

    
    sudo service redis start
    sudo chkconfig --add redis
    sudo chkconfig --level 345 redis on
    
  • redis-cliでの接続テスト

    
    redis-cli
     
    127.0.0.1:6379> set [キー] [保存データ]
    OK
    127.0.0.1:6379> get [キー]
    "[保存データ]"
    

PHPと繋ぐ

  • ライブラリインストール

    
    sudo yum -y install php-pecl-redis --enablerepo=epel
    
  • Apache再起動

    
    sudo service httpd restart
    
  • PHPから繋げる

    • vi /var/www/html/redistest.php
redistest.php
<?php
    $redis = new Redis();
    $redis->connect("127.0.0.1",6379);

    $redis->delete('[キー名]');
    $redis->set('[キー名] ', '[セットデータ]');
    $getdata = $redis->get('[キー名]');

    echo $getdata;
    exit;
?>
  • CIやブラウザからアクセスして、セットデータが表示されればOK

ruby on rails

  • rubyのインストール

  • railsをインストール

    
    gem install rails
    
  • 必要なライブラリをインストールする

    
    sudo yum -y install sqlite-devel gcc-c++ mysql-devel
    gem install mysql2
    
  • mysql接続オプションにてrails newする

    
    rails new [プロジェクト名] --database mysql
    
  • Gemfileのtherubyracerをコメントアウトしてbundle install

    
    cd [プロジェクト名]
    vi Gemfile
    # gem 'therubyracer', platforms: :ruby ←これのコメントを外す
    bundle install
    
  • データベースの設定をする

    
    vi config/database.yml
    
  • 設定情報をもとにデータベースを作成する

    
    bundle exec rake db:create
    
  • migration/modelファイルを生成する

    
    bundle exec rails g model testaccess name:string
    
  • seedファイルを編集する

    • vi db/seed.rb
      
      # coding: utf-8
      Testaccess.create!( :name =>  'あああ')
      Testaccess.create!( :name =>  'いいい')
      
  • migrationをかける

    
    bundle exec rake db:migrate
    bundle exec rake db:seed
    
  • controller/Actionを作る

    
    bundle exec rails g controller [コントローラー名] [アクション名:1] [アクション名:2] …
    
  • controllerを編集する

    • 一例:mysqlのデータを取得し、jsonで返す
mysqltest_controller.rb
class MysqltestController < ApplicationController
  def list
   @user = Testaccess.all
   render :json => @user
  end
end
  • rails serverを立ち上げてアクセスしてみる
    • http://[IPアドレス]:3000/[コントローラー名]/[アクション名]
      
      bundle exec rails s -b 0.0.0.0 -edevelopment
      

memcachedにアクセス

  • Gemfileに追記して、bundle install

    
    gem 'dalli'
     
    bundle install
    
  • config/enviroments/xxxx.rbの各環境ファイルに追記

    
    config.cache_store = :dalli_store
    
  • railsコンソールで確認(最低限)

    
    rails c
     
    書込:Rails.cache.write '[キー名]', '[保存情報]'
    読込:Rails.cache.read '[キー名]'
    削除:Rails.cache.delete '[キー名]'
    

redisにアクセス

  • Gemfileに追記して、bundle install

    
    gem 'redis'
    gem 'redis-rails'
     
    bundle install
    
  • 環境変数にredisのサーバー情報を追加

    • vi config/environments/xxxx.rbの各環境ファイルに追記
      
      ENV["REDIS"] = "localhost:6379"
      
  • config/initializers/redis.rbの作成

config/initializers/redis.rb
require 'redis'

uri = URI.parse(ENV["REDIS"])
RedisOBJ = Redis.new(host: uri.host, port: uri.port)
  • railsコンソールで確認(最低限)
    
    rails c
     
    書込:RedisOBJ.set '[キー名]', '[保存情報]'
    読込:RedisOBJ.get '[キー名]'
    削除:RedisOBJ.del '[キー名]'
    
8
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
9