概要
- 所用で各種ミドルウェアの入った環境をつくることになったので、そのメモ
- バージョンの指定とかは特にせず、一部を除き、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
- 『## Allow root to run any commands anywhere』に項目を追加する
-
firewallを停止させる
sudo /etc/rc.d/init.d/iptables stop chkconfig iptables off chkconfig ip6tables off
-
selinuxを無効にする
- SELINUX=enforcingをdisabledに変更する
sudo vi /etc/selinux/config
- SELINUX=enforcingをdisabledに変更する
-
環境再起動
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
- sudo vi /etc/my.cnf
-
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?= ユーザーの情報リロードをするか
- パスワード設定以外はすべてEnterで良いです
-
自動起動設定
sudo chkconfig mysqld on
-
接続して確認
mysql -uroot -p [パスワード入力] select user,host,password from mysql.user;
PHPからmysqlに繋げる
- 適当なデータを入れる
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
<?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
<?php
$memcache = new Memcached();
$memcache->addServer('localhost', 11211);
$memcache->set('[キー名]', [保存データ], [保存秒数]);
echo $get_data = $memcache->get('key');
?>
- CIやブラウザからアクセスして、dataに保存されている内容が表示されていればOK
- 念のため、ツールから内容を確認
- dumpはすべて表示されるので、運用中などは利用にお気を付け下さい
memcached-tool localhost dump
- 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
<?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 => 'いいい')
- vi db/seed.rb
-
migrationをかける
bundle exec rake db:migrate bundle exec rake db:seed
-
controller/Actionを作る
bundle exec rails g controller [コントローラー名] [アクション名:1] [アクション名:2] …
-
controllerを編集する
- 一例:mysqlのデータを取得し、jsonで返す
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
- http://[IPアドレス]:3000/[コントローラー名]/[アクション名]
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"
- vi config/environments/xxxx.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 '[キー名]'