CentOS5.0にGitをyumでインストール

yum install gitだとインストールできません。

サーバタイプの確認

$ cat /etc/redhat-release
CentOS release 5.10 (Final)

$ getconf LONG_BIT
64

あと、下記コマンドでx86_64とかが確認できる。

$ cat /proc/version
$ uname -a

rpmforgeを選ぶ

http://pkgs.repoforge.org/rpmforge-release/から、自分のサーバ環境に合うものを確認します。

自分は、CentOS-5 x86 64bitなので、http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.x86_64.rpmを選びました。

rpmforgeのインストール

$ wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.x86_64.rpm
$ sudo rpm -ivh rpmforge-release-0.5.3-1.el5.rf.x86_64.rpm

初期設定が常時使用になっているので、都度使用に変更する

$ sudo sed -i 's/enabled = 1/enabled = 0/g' /etc/yum.repos.d/rpmforge.repo

yumでgitを検索

$ yum --enablerepo=rpmforge list | grep git

yumでgitをインストール

$ sudo yum -y --enablerepo=rpmforge install git

参考;
CentOS 5系にyumでgitをインストール
http://pkgs.repoforge.org/rpmforge-release/
yum install git でインストールできない場合 EPELリポジトリの追加

vagrant + chefでcakePHP3の環境をつくる

Vagrantのcentos6.5.3に、php5.6、apache2.2、mysql5.6、phpmyadmin、vim、gitをchefで自動的に入れます。

macにvagrantはインストール済みであるものとします。
chefのknife-soloと、Berkshelfもインストール済みの状態とします。

作成した、Vagrantfile、chef-repoは、下記のgithubにpushしました。
https://github.com/endoyuta/vagrant_contos65_cakephp3/tree/php5.6

php5.6ブランチが、php5.6やphpmyadminがインストールできて、cakephp3をインストールした際に出たエラーなども若干対応したものになります。

まず、~/vagrant/test内に、新たにvagrantを立ち上げます。

$ cd ~/vagrant
$ mkdir test
$ cd test
$ vagrant init

これで~/vagrant/test内に、Vagrantfileが作成されます。

BOXは、下記のCentOSの6.5.3を使います。
https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box

Vagrantfileを編集します。

$ vim Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "centos6.5.3"
  config.vm.box_url = "https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box"
  config.vm.network "private_network", ip: "192.168.33.10"
  config.vm.synced_folder "./", "/vagrant", mount_options: ['dmode=777', 'fmode=666']
end

vagrantを立ち上げます。

$ vagrant up

次にchefのセットをしていきます。
とりあえず、sshのconfigを設定しておきます。

$ vim ~/.ssh/config

Host 192.168.33.*
  IdentityFile ~/.vagrant.d/insecure_private_key
  User vagrant

chefのリポジトリをつくります。

$ knife solo init chef-repo

chef-soloをvagrantにインストールします。

$ cd chef-repo
$ knife solo prepare 192.168.33.10

次に、Berkshelfを使って、cookbookを作ります。

$ vim Berksfile

site :opscode cookbook 'mysql', '~> 5.3.6' cookbook 'vim' cookbook 'git' cookbook 'openssl'

cookbookを作成します。

$ berks vendor site-cookbooks

phpと、httpd、phpmyadminについては、berkshelfだと中々上手くいきませんでした。phpは、5.3までならすんなり入りますし、httpdも勝手にインストールされます。httpdとphpmyadminはエラーが続いたのでberkshelfはやめました。代わりに、vargrant+chefでつくるPHP5.5+MySQL5.6+CakePHP3環境を参考に、baseとphp55とphp56というcookbookをつくりました。baseとphp55は参考サイトをほぼそのまま使わせてもらってます。

次に、jsonファイルを編集します。

$ vim nodes/192.168.33.10.json

{
  "run_list": [
    "recipe[base]",
    "recipe[php56]",
    "recipe[mysql::server]",
    "recipe[mysql::client]",
    "recipe[vim]",
    "recipe[git]",
    "recipe[openssl]"
  ],
  "automatic": {
    "ipaddress": "192.168.33.10"
  },
  "mysql": {
    "version":"5.6",
    "port":"3306",
    "server_root_password":"vagrant",
    "remove_anonymous_users":true
  },
  "httpd": {
    "port": "80",
    "docroot": "/var/www/app/webroot"
  },
  "php": {
    "timezone": "Asia/Tokyo"
  }
}

chefを実行します。

$ knife solo cook 192.168.33.10

■参考
vargrant+chefでつくるPHP5.5+MySQL5.6+CakePHP3環境
Chef-Solo + Berkshelf で Rails 4 の開発環境を構築
chef-solo(knife)でMySQLサーバ5.6をインストールする 2014年度版
cakePHP3にチャレンジ!
https://supermarket.chef.io/
CentOSにPHP5.6をインストール

centos6.5にsqlite2をインストール

参考:CentOS 5 に sqlite(2)をパッケージで入れる。(yumでインストール)

$ vim /etc/yum.repos.d/fedora.repo

fedora.repoの中身

[fc6extras]
name=Fedora Extras $releasever - $basearch
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/6/$basearch/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=extras-6&arch=$basearch
enabled=0
gpgkey=http://download.fedora.redhat.com/pub/fedora/linux/extras/RPM-GPG-KEY-Fedora-Extras
gpgcheck=1

インストール

$ sudo yum install --enablerepo=fc6extras sqlite2

バージョン確認

$ sqlite -version

2.8.17

PHP5.3.3で使えるようにする

参考:centOS6.3のPHPでSQLite利用


$ sudo yum install -y wget
$ wget http://museum.php.net/php5/php-5.3.3.tar.gz
$ tar zxvf php-5.3.3.tar.gz
$ cd php-5.3.3/ext/sqlite
$ phpize
$ ./configure
$ make
$ make install
$ vi /etc/php.d/sqlite.ini

sqlite.iniのファイル内容

extension=sqlite.so
$ service httpd restart

CentOS6.5 Nginxの最新版インストール

参考:CentOS-6へ最新版のnginxを3分でインストールする方法

sudo rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
yum list nginx --disablerepo=* --enablerepo=nginx
sudo yum install nginx

nginx -v バージョン確認
nginx 起動

設定ファイルはこれっぽい。
/etc/nginx/nginx.conf
/etc/nginx/conf.d/default.conf

/etc/nginx/conf.d/default.confに、location / は、/usr/share/nginx/htmlだよと書いてある。
/var/wwwじゃないのか。

vagrantの場合下記のようにする。
ln -fs /vagrant/html /usr/share/nginx/html

さくらVPS CentOS6.5の設定

さくらVPSの標準のOSは、CentOS6.5です。これにPHP、MySQL、Apacheとかを入れて使えるようにします。

CentOS6.5
PHP5.3.3
Apache 2.2.15
MySQL 5.6.21

yum update -y
yum groupinstall -y “Web Server” “MySQL Database” “PHP Support”
service httpd start
sudo chkconfig httpd on
yum remove mysql*
yum install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
yum install mysql mysql-devel mysql-server mysql-utilities
yum install -y php-mysql
service mysqld start
mysql_secure_installation
sudo chkconfig mysqld on
yum –enablerepo=epel install -y phpMyAdmin php-mysql php-mcrypt

vagrant セットアップ (centos6.5 postgreSQL)

mkdir hoge
cd hoge
vagrant init
vim Vagrantfile
(config.vm.box = “centos6.5”)
vagrant up
vagrant ssh
sudo -i
yum install vim
vim /etc/yum.conf
(#exclude=kernel*)
exit
exit
vagrant reload
vagrant ssh
sudo -i
yum install php
yum install postgresql
exit
exit
vim Vagrantfile
(config.vm.network :forwarded_port, guest: 80, host: 9090)
vagrant reload
vagrant ssh
sudo -i
service httpd start
yum -y install postgresql-server php-pgsql
rm -rf /var/www/html
mkdir /vagrant/html
ln -fs /vagrant/html /var/www/html
passwd postgres
su – postgres
initdb –encoding=UTF8 –no-locale
pg_ctl -w start
exit

yum install php-mbstring php-devel
service httpd restart
vim /etc/httpd/conf/httpd.conf (user vagrant group vagrant)
service httpd restart

cd /var/lib/php
chown -R root:vagrant session/ (パーミッションも確認)

sudo yum –enablerepo=epel install php-pecl-xdebug
vim /etc/php.d/xdebug.ini
(xdebug.default_enable = 1
xdebug.idekey = “sns”
xdebug.remote_enable = 1
xdebug.remote_port=9000
xdebug.remote_host=10.0.2.2)

service httpd restart

EC2 cakePHPでMemcachedつかう

AmazonLinuxにMemcachedを設定します。

インストールと設定

インストールします。
参考:さくらの VPS 設定覚書(4)PHP

yum --enablerepo=remi,epel,rpmforge install libevent libevent-devel memcached php-pecl-memcache php-pecl-memcached

設定します。

vim /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="4096"
CACHESIZE="2048"
OPTIONS=""

Memcached を起動します。

service memcached start

自動起動の設定をします。

chkconfig --add memcached
chkconfig memcached on
chkconfig --list memcached

“0:off 1:off 2:on 3:on 4:on 5:on 6:off”と出れば、設定成功です。

memcache.iniを設定します。
http://php.net/manual/ja/memcache.ini.php

vim /etc/php.d/memcache.ini
memcache.chunk_size=32768
memcache.default_port=11211
session.save_path="tcp://localhost:11211"

Apacheを再起動します。
service httpd restart

php -R ‘ phpinfo(); exit(); ‘ | grep “memcache”
で、反映してるか確認できます。

EC2でポートをあける

Custom TCP Rule, tcp, 11211, セキュリティグループ

cakePHPでつかえるようにする

core.phpで下記がコメントアウトされてるので、コメントを外します。

Cache::config('default', array(
	'engine' => 'Memcache', //[required]
	'duration' => 3600, //[optional]
	'probability' => 100, //[optional]
	'prefix' => Inflector::slug(APP_DIR) . '_', //[optional]  prefix every cache file with this string
	'servers' => array(
		'127.0.0.1:11211' // localhost, default port 11211
	), //[optional]
	'persistent' => true, // [optional] set this to false for non-persistent connections
	'compress' => false, // [optional] compress data in Memcache (slower, but uses less memory)
));

あとは、キャッシュを使いたいところで、App::uses(‘Cache’, ‘Cache’);を書いて、Cache::read(‘hoge’);とか、Cache::write(‘hoge’, 123);とかやります。

memcachedは、apacheを再起動しても消えないけど、memcachedを再起動したら消えます。あとcakePHPのCacheは、モデルが追加、編集、削除されたときにモデルに関するキャッシュを消すそうです。でもroutes.phpでURL変えてると消えない場合があるようです。

vagrant centos6.5 ブラウザでPHPファイルの表示だけ異常に遅い

httpd.confでHostnameLookupsがONになると遅くなるらしい。
http://www.itmedia.co.jp/help/tips/linux/l0319.html
でもOffになっている。

htmlファイルだと一瞬。phpだと<?phpって書いてあるだけの空ファイルですら遅い。

127.0.0.1:8080ってやると結構速い。localhost:8080だと超遅い。

Windowsでlocalhostへの接続が遅い(解決方法)
どうもここに書いてある内容に近いような。

まあ127.0.0.1って書くか。とりあえず。

CentOS6.5 apache httpd: apr_sockaddr_info_get()というエラーが出る

apacheを起動するときにhttpd: apr_sockaddr_info_get()というエラーがでる。

Apache の httpd: apr_sockaddr_info_get() failed for エラー

これやったらエラーが出なくなった。まだ下記のエラーがでる。

httpd: Could not reliably determine the server’s fully qualified domain name, using vagrant-centos65.vagrantup.com for ServerName

Apache で apr_sockaddr_info_get() failed for が発生する

ここに書いてある原因だと、/etc/hosts/の設定と、/etc/sysconfig/networkの設定は一応見たから、service network restart の実行忘れというのを確認してみよう。
service network restartでエラーになった。でもよくわからん。
とりあえず、httpd.confにServerNameにvagrant-centos65.vagrantup.comを設定したらエラーは消えた。

Apache – apr_sockaddr_info_get() failedエラー

Starting httpd: httpd: apr_sockaddr_info_get() failedというエラーでapacheが起動しません。

参考;Apache で apr_sockaddr_info_get() failed for が発生する

/etc/httpd/conf/httpd.conf の ServerName の設定忘れ。これからやってみる。

と思ったらrootになったらできたからいいや。

CentOSのタイムゾーンを設定する

apacheのログをみるときに、変な時間になっているので、timezoneを設定してみます。
CentOS6.5です。

参考:http://www.server-world.info/query?os=CentOS_6&p=timezone


$ vi /etc/sysconfig/clock
ZONE="Asia/Tokyo"
UTC="false"

$ source /etc/sysconfig/clock # 変更を反映

# タイムゾーンファイルを上書きコピー
$ cp -p /usr/share/zoneinfo/Asia/Tokyo /etc/localtime 
cp: overwrite `/etc/localtime'? y

tmuxの設定・使い方

cnetos6.5です。macです。

tmuxをインストールします。

$ yum install tmux

tmuxを使います。

tmux new -s {session-name}

よく使うコマンド

  • ウインドウ一覧表示: ctr+b w
  • ウインドウ作成: ctr + b の後に c
  • ウインドウ移動: ctr + b の後に nまたはp
  • 画面分割 縦: ctr+b の後に “
  • 画面分割 横: ctr+b の後に %
  • 画面分割解除: ctr+b !
  • 画面の移動: ctr+b o
  • 画面の終了: ctr+b x
  • デタッチ: ctr+b d
  • アタッチ: tmux a

設定ファイルの読み込み
tmux -f ~/.tmux.conf

コピーモード
・tmux.confに下記を追記する

set-window-option -g mode-keys vi

・コピーモード開始 ctrl+b [

参考:
tmuxのインストールと設定
よく使うコマンド/tmux
tmux基本のコマンド
tmuxのコピーモードを試してみる

Vagrant CentOS6.5 phpMyAdminを使う

phpmyadmin使えるようにしよう。めんどくさいし。

$ yum --enablerepo=epel install -y  phpMyAdmin php-mysql php-mcrypt

apache再起動したけど、入れない。
スクリーンショット 2014-02-28 3.25.07

client denied by server configuration: /usr/share/phpMyAdmin

というエラーがでている。
phpMyAdmin.confの設定で誰でもOKにしてみる。

vim phpMyAdmin.conf
sudo /etc/rc.d/init.d/httpd restart

おお入れた。