概要
- 所用で各種ミドルウェアの入った環境をつくることになったので、そのメモ
- バージョンの指定とかは特にせず、一部を除き、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
-
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 '[キー名]'