読者です 読者をやめる 読者になる 読者になる

CentOS6.4にサードパーティレポジトリを追加して、PHP5.4とかいれてた

Linux PHP

CentOS6.4にPHP5.4.17をいれました。これはMac上のVMwareで動いています。ちなみに64bitです。

CentOS6のyumのデフォルトのレポジトリを使って入れると、PHPが5.3.3が入ります。これはすこし古いので、せめて5.4系をいれることにしました。あと、tmuxなどはデフォルトのレポジトリではないので、サードパーティレポジトリを追加しないといれられません。(ソースコンパイルするなら、別ですが) ということで、サードパーティレポジトリを追加すると入れられるものもあるので、入れてみました。今回は、具体的には以下の様なことをやりました。

やったこと

  1. サードパーティ製のyumのレポジトリを追加し、設定

  2. 既存のPHPの情報を確認して、削除

  3. 新しいPHPをいれる

1.サードパーティ製のyumのレポジトリを追加し、設定

yumのサードパーティレポジトリもいろいろあるようですが、今回はepel,remi,rpmforgeの3つを入れることにしました。ちなみに、remiはepelに依存してるので、remi,epel両方入れてください。

epel,remi,rpmforgeファイルをダウンロード

$ su ←root化
# cd 
# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

注意:epelファイルが存在しないとか古い場合は、以下のリンクから「epel-release」で始まるファイルを探すといいです。 http://dl.fedoraproject.org/pub/epel/6/x86_64/

remiファイルが存在しないとか古い場合は、以下のリンクから「repository auto-configuration package : remi-release-6.rpm」で始まるファイルを探すといいです。 http://rpms.famillecollet.com/

rpmforgeファイルが存在しないとか古い場合は、以下のリンクから「rpmforge-release-*.x86_64.rpm」で始まるファイルを探すといいです。 http://pkgs.repoforge.org/rpmforge-release/

レポジトリをインストール

# rpm --upgrade --verbose --hash epel-release-6-8.noarch.rpm  remi-release-6.rpm rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

そして、インストールされてるか確認

# rpm -qa | grep epel-releas
epel-release-6-8.noarch

# rpm -qa | grep remi-release
remi-release-6-2.el6.remi.noarch

# rpm -qa | grep rpmforge-release
rpmforge-release-0.5.3-1.el6.rf.x86_64

設定ファイルでデフォルト設定を無効化

enabled=1と書いてあるところをenabled=0に書き換えます。これで明示的にレポジトリを指定しないと利用できないようになります。レポジトリの優先順位を決めて、レポジトリを使うこともできるようですが、今回はわかりやすさなどからこっちを採用します。

vi /etc/yum.repos.d/remi.repo
vi /etc/yum.repos.d/epel.repo
vi /etc/yum.repos.d/rpmforge.repo

2. 既存のPHPの情報を確認して、削除

新規にインストールする場合はここをスキップして、ステップ3に進んでください。

# rpm -qa | grep php ←これでどんなphp関連のパッケージがインストールされているかを確認。ステップ3でインストールするときのためにメモしとく
# yum erase php ←php本体を削除
# yum erase php-common ←これでphp関連のパッケージを削除

3. 新しいPHPをいれる

#  yum info --enablerepo=epel,remi,rpmforge info php ←入れられるphpの情報を取得
Loaded plugins: downloadonly, fastestmirror, priorities, security
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * epel: ftp.kddilabs.jp
 * extras: www.ftp.ne.jp
 * remi: mirror.smartmedia.net.id
 * rpmforge: ftp.kddilabs.jp
 * updates: www.ftp.ne.jp
Installed Packages
Name        : info
Arch        : x86_64
Version     : 4.13a
Release     : 8.el6
Size        : 322 k
Repo        : installed
From repo   : anaconda-CentOS-201303020151.x86_64
Summary     : A stand-alone TTY-based reader for GNU texinfo documentation
URL         : http://www.gnu.org/software/texinfo/
License     : GPLv3+
Description : The GNU project uses the texinfo file format for much of its
            : documentation. The info package provides a standalone TTY-based
            : browser program for viewing texinfo files.

Name        : php
Arch        : x86_64
Version     : 5.4.17
Release     : 2.el6.remi
Size        : 9.1 M
Repo        : installed
From repo   : remi
Summary     : PHP scripting language for creating dynamic web sites
URL         : http://www.php.net/
License     : PHP and Zend and BSD
Description : PHP is an HTML-embedded scripting language. PHP attempts to make it
            : easy for developers to write dynamically generated web pages. PHP also
            : offers built-in database integration for several commercial and
            : non-commercial database management systems, so writing a
            : database-enabled webpage with PHP is fairly simple. The most common
            : use of PHP coding is probably as a replacement for CGI scripts.
            : 
            : The php package contains the module which adds support for the PHP
            : language to Apache HTTP Server.

# yum install --enablerepo=remi php ←phpインストール

さっき削除したphp関連のパッケージをインストール。自分の過去の状況に合わせましょう。新規インストールの場合は以下を真似てもいいかも

#  yum install --enablerepo=remi php-mysql php-gd php-pdo php-pear phppgsql php-mbstring php-devel php-xml

MySQLで「mcrypt 拡張をロードできません。PHP の設定を確認してください」とアラートが出るらしいので、ついでに「mcrypt」もインストール

# yum install --enablerepo=epel,remi,rpmforge php-mcrypt

それから、phpのバージョンを確認します。そして、Apacheをリスタートします。

# php -v
PHP 5.4.17 (cli) (built: Jul 12 2013 21:18:57) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

# /etc/rc.d/init.d/httpd restart

最後にphp.iniでタイムゾーンの設定をします。

# vi /etc/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
date.timezone = Asia/Tokyo ←ここを設定

ついでに、tmuxもインストール。tmuxすごい便利なので、オススメです。

#  yum install --enablerepo=rpmforge  tmux

最後に これを実際に実行してから、間がブログを書いてるので、間違いもあるかもしれません。そのときはコメントいただければと思いますm(_ _)m

今回は以下の記事を参考にさせて頂きました。ありがとうございます!

参考記事: http://dqn.sakusakutto.jp/2013/02/centos6_yum_remi_epel_rpmforge.html https://fedoraproject.org/wiki/EPEL/FAQ/ja#EPEL_.E3.82.92.E5.88.A9.E7.94.A8.E3.81.99.E3.82.8B http://blog.famillecollet.com/pages/Config-en http://wiki.centos.org/AdditionalResources/Repositories/RPMForge http://oxynotes.com/?p=4946