PHPインストールメモ

php最新版をインストールするためにリポジドリを取得

リポジドリの取得は以下のディレクトリで取得します。

※CentOS6.2の場合です。

[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
[root@localhost src]# rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

http://memorandum.yamasnet.com/archives/Post-165.htmlを参照

Centos 32ビット版はx86_64をi382に。

CentOS-Base.repoの編集

[root@localhost ~]# vi /etc/yum.repos.d/CentOS-Base.repo
--------【CentOS-Base.repo】--------
[centosplus]
...
enabled=1
...
--------

remiの編集

[root@localhost ~]# vi /etc/yum.repos.d/remi.repo
[remi]
priority=1 //各repoの優先順位の設定。とりあえず1にしておく。
name=Les RPM de remi pour Enterprise Linux 5 - $basearch
baseurl=http://rpms.famillecollet.com/el5.$basearch/
http://iut-info.univ-reims.fr/remirpms/el5.$basearch/
enabled=0 //0にしておいたほうが無難
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
failovermethod=priority

[remi-test]
name=Les RPM de remi en test pour Enterprise Linux $releasever - $basearch
baseurl=http://rpms.famillecollet.com/test-el5.$basearch/
enabled=0 //0にしておいたほうが無難
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

epelの編集

[root@localhost ~]# vi /etc/yum.repos.d/epel.repo
[epel]
priority=1 //各repoの優先順位の設定。とりあえず1にしておく。
name=Extra Packages for Enterprise Linux 5 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/5/$basearch
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch
failovermethod=priority
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL

[epel-debuginfo]
priority=1 //各repoの優先順位の設定。とりあえず1にしておく。
name=Extra Packages for Enterprise Linux 5 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/5/$basearch/debug
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-debug-5&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
gpgcheck=1

[epel-source]
priority=1 //各repoの優先順位の設定。とりあえず1にしておく。
name=Extra Packages for Enterprise Linux 5 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/5/SRPMS
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-source-5&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
gpgcheck=1

phpに必要パッケージをインストール

[root@localhost ~]# yum -y install ncurses*.x86_64  
[root@localhost ~]# yum -y install gcc-c++
[root@localhost ~]# yum -y install flex
[root@localhost ~]# yum -y install libxml*
[root@localhost ~]# yum -y install gdbm-devel
[root@localhost ~]# yum -y install gd gd-devel freetype freetype libpng libmng*libtiff* libjpeg* libc-client* giflib*
[root@localhost ~]# yum -y install httpd httpd-devel
[root@localhost ~]# yum -y install pcre-devel
[root@localhost ~]# yum -y install unixODBC-devel
[root@localhost ~]# yum -y install net-snmp-devel
[root@localhost ~]# yum -y install openssl*
[root@localhost ~]# yum -y install bzip2*
[root@localhost ~]# yum -y install curl*
[root@localhost ~]# yum -y install gdbm*
[root@localhost ~]# yum -y install db4*
[root@localhost ~]# yum -y install gmp*
[root@localhost ~]# yum -y install libc-client*
[root@localhost ~]# yum -y install openldap*
[root@localhost ~]# yum -y install libmcrypt*
[root@localhost ~]# yum -y install mhash*
[root@localhost ~]# yum -y install freetds*
[root@localhost ~]# yum -y install aspell*
[root@localhost ~]# yum -y install readline*
[root@localhost ~]# yum -y install libtidy*
[root@localhost ~]# yum -y install libxslt*
[root@localhost ~]# yum -y install libtool*
[root@localhost ~]# yum -y install curl*
[root@localhost ~]# yum -y install memcached*
[root@localhost ~]# yum remove *.i386 *.i686
[root@localhost ~]# yum clean all

PHPをインストール

[root@localhost ~]# yum --enablerepo=remi,epel,rpmforge upgrade php-fpm
[root@localhost ~]# yum --enablerepo=remi,epel,rpmforge install php php-ncurses php-bcmath php-odbc php-imap php-interbase php-ldap php-mcrypt php-pecl-memcache php-soap php-intl php-mssql php-xmlrpc php-pear php-xml php-gd php-pecl-apc php-mbstring phpMyAdmin php-mysql php-mysqli php-pgsql phpPgAdmin  
[root@localhost ~]# php -m  #インストールされたモジュールを確認
[root@localhost ~]# service httpd restart #Apacheを再起動

ベータ版をつかってみたいときはyum –enablerepo=remi,remi-test,epel,rpmforge update とします。

phpの設定

[root@localhost ~]# vi /etc/php.ini
; PHPのバージョンを隠す
expose_php = Off
; ログに記録するレベルを指定
; E_STRICTはPHP5で推奨されていない関数が使用された場合などに警告を出す
error_reporting  =  E_ALL & ~E_NOTICE | E_STRICT
; エラーをHTMLで表示しないようにする
display_errors = Off
; phpのエラーをログに記録する
log_errors = On
; ログに記録するサイズを増やす(4KB)
log_errors_max_len = 4096
; 記録するログのファイルを指定(あとで作成)
error_log = /var/log/php_errors.log
; $HTTP_*_VARS のような古くて長い変数は使用しない
register_long_arrays = Off
; Webアプリケーションではargcやargvは不要
register_argc_argv = Off
magic_quotes_gpc = Off
; デフォルトの文字コードを指定
default_charset = "UTF-8"
; サーバー全体にphpフレームワークを効かす
include_path = ".:/usr/share/pear:/var/www/ZendFramework/library"
; 動的モジュールのロードをオフにする
enable_dl = Off
; ファイルアップロードを使わない場合は確実にOffに
file_uploads = Off
; URIをファイルとして扱わないようにする
; これが有効だとインターネットのどこからでもコードを読み込んで実行できてしまう可能性がある
allow_url_fopen = Off
; インクルード文アクセス許可
allow_url_include=on
; JavaScriptでセッションIDを使用しない場合は1に
session.cookie_httponly = 1
; セッションIDを作成する際の外部リソースへのパスを指定。読み込むバイト数も指定しておく
session.entropy_length = 32
session.entropy_file = /dev/urandom
; SHA-1の指定に変更しておく
session.hash_function = 1
; 無効化
session.use_only_cookies = 0
; 大きなファイルもアップロードできるように以下に設定。(php.iniよりも.htaccessファイルに設定するほうが望ましい。)
upload_max_filesize = 512M 
post_max_size = 512M 
memory_limit = 512M 
max_execution_time = 0 //デフォルトで30秒、はちょっと、なので強制終了の設定
[mbstring]
; 言語環境を日本語に設定
mbstring.language = Japanese
; クライアントに依存
mbstring.internal_encoding = 
; クライアントから送られてくる文字コードを自動認識させる
mbstring.http_input = pass
; クライアントへ送る文字コードを自動認識させる
mbstring.http_output = pass
; timezone をセット
date.timezone = Asia/Tokyo

phpのエラーログファイルを作成。


[root@localhost ~] # touch /var/log/php_errors.log

phpのフレームワークをインストール

[root@localhost ~]# cd /var/www
[root@localhost www]# wget http://framework.zend.com/releases/ZendFramework-1.11.4/ZendFramework-1.11.4.tar.gz
[root@localhost www]# tar zxvfp ZendFramework-1.11.4.tar.gz
[root@localhost www]# rm -f ZendFramework-1.11.4.tar.gz
[root@localhost www]# rm -rf ZendFramework 前のバージョンを削除
[root@localhost www]# mv ZendFramework-1.11.4 ZendFramework
[root@localhost www]# vi /etc/httpd/conf/httpd.conf
<Directory "/var/www/html">
前略
php_value include_path ".:/var/www/ZendFramework/library"
後略
</Directory>

上記はhtml配下にのみZendFlameworkを効かす設定。サーバー全体に効かすには、php.iniを編集するようです。

ZendFrameworkの設定(php.ini)

[root@localhost ~]# vi /etc/php.ini
extension_dir = "/usr/lib64/php/modules" //32ビット版は・/usr/lib/php/module
; Dynamic Extensionsの項目に
extension = pdo_mysql.so
を追加

phpファイルのパーミッションを一括変更

[root@localhost ~]# cd /var/www/html //パーミッションを変更したいディレクトリに移動
[root@localhost html]# find . -name *.php -exec chmod 644 {} ; //パーミッションを644に一括変更
[root@localhost html]# find . -type d -exec chmod 755 {} ; ///html/配下のパーミッションを755に一括変更
[root@localhost html]# find . -type f ( -name *.tpl -and -name *.css -and -name *.js -and -name *.jpg -and -name *.gif -and -name *.png ) -exec chmod 666 {} ; ///html/配下の各ファイルをandを使ってパーミッションを666に一括変更

chmodなどのコマンドを一括変更する場合は注意が必要だと思います。

“PHPインストールメモ” への 1 件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です