8
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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の各種情報が表示されたら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


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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?