レンタルサーバー・自宅サーバー設定・構築のヒント
レンタルサーバー・自宅サーバー設定・構築のヒント - レンタルサーバー・自宅サーバーの設定・構築情報を公開しています。

F8

FreeBSDでphpをインストール

2010年7月17日 2014年1月15日
php upgrade

さて、今回は、phpのインストール手順です。
これができれば、mysqlもインストールできていますから、スクリプトからデータベースを操作できるようになるわけです。

では、早速、インストールしてみましょう。

phpのバージョンを選択する

まずは、バージョンを選択しなければなりません。
FeeBSD 8.0では、以下のphpのバージョンがports対応しているようです。

  • php 4系

    portsディレクトリ

    • /usr/ports/lang/php4

      — php本体

    • /usr/ports/lang/php4-extensions

      — phpエクステンション

    • /usr/ports/lang/php4-overload

      — phpオーバーロード
      — ※4.2.0以上から使えるようになったクラスのプロパティ、メソッドのオーバーロード機能。


  • php 5系

    portsディレクトリ

    • /usr/ports/lang/php5

      — php本体

    • /usr/ports/lang/php5-extensions

      — phpエクステンション


ここでは、php 5系をインスールしてみましょう。
もし、どのバージョンが良いか迷ったら、php 5系で良いと思います。
最近のCMSなどは、ほとんどがphp 5系に対応しています。
だんだん、php 4系へ対応されなくなりつつあります。


phpをインストールする

先で決めたバージョンを、FreeBSDでは、おなじみのportsでインストールします。
ここでは、php 5系をインストールします。

  1. php本体のportsディレクトリへ切り替える
    $ cd /usr/ports/lang/php5
    $ 

  2. php本体をインストールする
    $ make BATCH=yes WITH_APACHE=yes WITHOUT_IPV6=yes WITH_OPENSSL=yes install clean
          :
          :
          :
    $ 

    ここで指定すべきは、WITH_APACHEです。これは、apache(WEBサーバー)に対応させるかどうかを指定します。必ず、yesを指定します。
    また、WITH_OPENSSLは、SSL(https://などでのアクセス)に対応させるかどうかです。SSLへの対応が不要であれば、ここでの指定は不要です。
    make config の画面が自動で表示されることがあります。

    その場合も、あせらずに上記で指定してしたものが、確実にチェックされているか確認しましょう。

    もし、パラメータを誤って指定してしまったら、再インストールすればOKです。
    再インストールは、以下のようにやれば大丈夫です。落ち着いてやりましょう。
    ・・・と言いながら、筆者は、3回ぐらい失敗しました。

    $ make deinstall
    $ make config
          :
          :
          :
    $ make install
          :
          :
          :
    $ 

  3. php.iniを編集する

    phpの基本設定を編集します。


    $ cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini
    $ chmod 644 /usr/local/etc/php.ini
    $ vi /usr/local/etc/php.ini
          :

    デフォルトのphp.iniをコピーして、それを編集します。

    編集内容は、下記のとおりです。

    expose_php = Off : サーバー上でphpが動作しているかヘッダーへ埋め込むもの(なぜかデフォルトはOn)

    max_execution_time = 300 : 変更(スクリプトの実行時間を300秒にする)

    default_charset = “UTF-8” : デフォルトの文字コードをUTF8に設定する

    upload_max_filesize = 20M : アップロードの最大ファイルサイズを20MBにする

    date.timezone = Asia/Tokyo : タイムゾーンを日本に設定する

    mbstring.language = Japanese : マルチバイト文字列を日本語に設定する

    mbstring.internal_encoding = UTF-8 : マルチバイト文字列のエンコードをUTF8に設定する

    mbstring.http_input = auto : マルチバイト文字列の入力を自動にする

    mbstring.http_output = pass : マルチバイト文字列の出力を変換しない

    mbstring.encoding_translation = On : マルチバイト文字列の自動エンコードをする

    mbstring.detect_order = auto : マルチバイト文字列のディテクタを自動にする

    mbstring.substitute_character = none : マルチバイト文字列の無効文字列を無視する

    編集を終えたら、保存して終了です。


  4. php エクステンションのportsディレクトリへ切り替える
    $ cd /usr/ports/lang/php5-extensions
    $ 

  5. php エクステンションをインストールする
    $ make BATCH=yes WITH_BCMATH=yes WITH_BZ2=yes WITH_CALENDAR=yes WITH_CURL=yes WITH_EXIF=yes WITH_FILEINFO=yes WITH_FTP=yes WITH_GD=yes WITH_GETTEXT=yes WITH_IMAP=yes WITH_LDAP=yes  WITH_MBSTRING=yes WITH_MCRYPT=yes WITH_MHASH=yes  WITH_MYSQL=yes WITH_OPENSSL=yes WITH_SOAP=yes WITH_SOCKETS=yes  WITH_XSL=yes WITH_ZIP=yes WITH_ZLIB=yes  install clean
          :
          :
          :
    $ 

    ここで指定できるオプションパラメータは、以下のとおりです。
    WITH_xxxxx=yesy/no で指定しているxxxxxが、以下の各項目に相当します。で指定しています。

     [X] BZ2         bzip2 library support                        
     [X] CALENDAR    calendar conversion support                  
     [X] CTYPE       ctype functions                              
     [ ] CURL        CURL support                                 
     [ ] DBA         dba support                                  
     [ ] DBASE       dBase library support                        
     [X] DOM         DOM support                                  
     [X] EXIF        EXIF support                                 
     [X] FILEINFO    fileinfo support                             
     [X] FILTER      input filter support                         
     [ ] FRIBIDI     FriBidi support                              
     [X] FTP         FTP support                                  
     [X] GD          GD library support                           
     [X] GETTEXT     gettext library support                      
     [ ] GMP         GNU MP support                               
     [X] HASH        HASH Message Digest Framework                
     [X] ICONV       iconv support                                
     [X] IMAP        IMAP support                                 
     [ ] INTERBASE   Interbase 6 database support (Firebird)      
     [X] JSON        JavaScript Object Serialization support      
     [X] LDAP        OpenLDAP support                             
     [X] MBSTRING    multibyte string support                     
     [X] MCRYPT      Encryption support                           
     [X] MHASH       Crypto-hashing support                       
     [ ] MING        ming shockwave flash support                 
     [ ] MSSQL       MS-SQL database support                      
     [X] MYSQL       MySQL database support                       
     [ ] MYSQLI      MySQLi database support                      
     [ ] NCURSES     ncurses support (CLI only)                   
     [ ] ODBC        unixODBC support                             
     [X] OPENSSL     OpenSSL support                              
     [X] PCNTL       pcntl support (CLI only)                     
     [X] PCRE        Perl Compatible Regular Expression support   
     [X] PDF         PDFlib support (implies GD)                  
     [X] PDO         PHP Data Objects Interface (PDO)             
     [X] PDO_SQLITE  PDO sqlite driver                            
     [ ] PGSQL       PostgreSQL database support                  
     [X] POSIX       POSIX-like functions                         
     [ ] PSPELL      pspell support                               
     [ ] READLINE    readline support (CLI only)                  
     [ ] RECODE      recode support                               
     [X] SESSION     session support                              
     [ ] SHMOP       shmop support                                
     [X] SIMPLEXML   simplexml support                            
     [ ] SNMP        SNMP support                                 
     [X] SOAP        SOAP support                                 
     [X] SOCKETS     sockets support                              
     [X] SPL         Standard PHP Library                         
     [X] SQLITE      sqlite support                               
     [ ] SYBASE_CT   Sybase database support                      
     [ ] SYSVMSG     System V message support                     
     [ ] SYSVSEM     System V semaphore support                   
     [ ] SYSVSHM     System V shared memory support               
     [ ] TIDY        TIDY support                                 
     [X] TOKENIZER   tokenizer support                            
     [ ] WDDX        WDDX support (implies XML)                   
     [X] XML         XML support                                  
     [X] XMLREADER   XMLReader support                            
     [ ] XMLRPC      XMLRPC-EPI support                           
     [X] XMLWRITER   XMLWriter support                            
     [ ] XSL         XSL support (Implies DOM)                    
     [ ] YAZ         YAZ support (ANSI/NISO Z39.50)               
     [X] ZIP         ZIP support                                  
     [X] ZLIB        ZLIB support                                 

    その他、必要なものがあれば、make configで設定するか、make install のパラメータに指定すればインストールできます。


  6. php エクステンションのpdo mysqlをインストールする
    $ cd /usr/ports/databases/php5-pdo_mysql
    $ make install
          :
          :
          :
    $ 

    extensions.iniに下記を追加します。

    $ vi /usr/local/etc/php/extensions.ini
          :
    extension=pdo_mysql.so
          :
とりあえず、ここまででインストール完了です。
以下のコマンドを入力してみましょう。
$ php -v
PHP 5.2.11 with Suhosin-Patch 0.9.7 (cli) (built: Jun  4 2010 09:58:25)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
特に問題なく表示されればOKです。
もし、何か環境に問題があれば、ここで、エラー表示されます。

もし、あなたのマシンが遅いなら、APCもインストールしておきましょう。

phpの高速化 APCをインストールする

APC(Alternative PHP Cache)とは、PHPの中間コードのキャッシュや最適化を行う拡張モジュールです。
メモリに余裕があるのであれば、APCをインストールすることで高速化が期待できます。

  1. APCのportsディレクトリへ切り替える
    $ cd /usr/ports/www/pecl-APC
    $ 

  2. APCをインストールする
    $ make install clean
          :
          :
          :
    $ 

  3. Memcacheのportsディレクトリへ切り替える
    $ cd /usr/ports/databases/pecl-memcache
    $ 

  4. Memcacheをインストールする
    $ make install clean
          :
          :
          :
    $ 

  5. extensions.iniにAPCとMemcacheを下記のように追加します。
    $ vi /usr/local/etc/php/extensions.ini
          :
    extension=memcache.so
    extension=apc.so
          :

  6. 最後に動作しているかチェックする。
    $ php -r 'echo phpinfo();'
    phpinfo()
    PHP Version => 5.2.11
          :
          :
          :
          :
          :
    apc
    
    APC Support => disabled
    Version => 3.0.19
    MMAP Support => Enabled
    MMAP File Mask =>
          :
          :
          :

    apcが表示されれば、インストールはOKです。
    APC Support => disabledとなっていますが、apache経緯で表示させるとAPC Support => enableとなるはずです。


APCのキャッシュメモリの最大値は、デフォルトで 30MB になっています。
それを変更するには。php.iniを編集します。

[PHP]
apc.shm_size=128
このように指定してあげるとキャッシュメモリの最大値は、128MB まで増やせます。

他に、
apc.ttl=86400
apc.user_ttl=86400
apc.mmap_file_mask=/tmp/apc.XXXXXX
apc.enable_cli=1
ttl : キャッシュの有効期限(秒)
user_ttl : ユーザキャッシュの有効期限(秒)
mmap_file_mask : MMAPファイル名 キャッシュの置き場所に共有メモリを使わずにMMAPを使う場合に指定 メモリが不足しているマシンには有効
enable_cli : 最適化 それほどの効果はないので、あえて有効(=1)にしなくても良い


また、上記以外にもたくさんのオプションパラメータを指定できます。
詳しくは、 APC 実行時設定 を参照してください。


格安レンタルサーバーでは、このAPCは、もし、インストールできたとしても、ほとんど意味がありません。
それは、格安レンタルサーバーは、みんなで使う共有サーバーが基本ですから、自分が使うメモリを32MBや128MBなど、勝手に確保できないんですね。

しかし、自宅サーバーなら話は違います。
(このあたりが、自宅サーバーのおいしいところで)自宅サーバーは、自分が専有しているのですから、すべての権限は自分で決めれます。 ここで設定しているように128MBと設定すれば、メモリに余裕があれば、思う存分APCの効果を試せます。

実際に試すとわかるんですけど、このAPCは、かなり体感速度が向上します。是非、お試しを。

参考記事:
・「PHPの高速化
・「PHPの高速化(2)
ご利用のブラウザは、広告ブロック(AdBlockなど) が適用となっていませんか?
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない検索ができないことがあります。


関連記事 :

FreeBSDでportupgrade を使わないでPHPバージョンアップしてみる

先にphpのインストールを行いましたが、phpは、セキュリティホールの見つかりやすいので、アップデートが必要な場合がよくあります。 今回は、p ...

FreeBSDでmysqlをインストール

とりあえず、前回までで、サーバーのインストールの準備ができました。ここから、各サーバーをインストールしていきます。 データベース(my ...

FreeBSDでmysqlをバージョンアップする

前回、mysqlのインストールを行いました。 今回は、先のインストール手順の続編で、アップデート手順です。 他のサーバー(サービス)のバ ...

FreeBSDで日本語環境(UTF-8対応)を整える

FreeBSDでSSHを使えるようにする でSSHでログインまでできるようになりました。 さて、現状では、FreeBSDは、すべてが英語で ...

FreeBSDでバイナリ package を作って配布する方法

FreeBSDのソフトウェアのパッケージ管理システムは、ビルド済み( バイナリ )パッケージをインストールするpackageとソースをビルドする ...


1 件 コメントがあります。 コメントを投稿する

コメントを投稿 :

お名前 *

メールアドレス *
( メールアドレスが公開されることはありません。)

サイトアドレス

コメント *

* 印の項目は、入力が必要な項目です。




最近投稿の記事

[ 画像提供元 : Amazon ] 先日、1TBのディスクの入れ替え時にバックアップをとろうとディスクコピーを行いました。 その際 ...

Windows で Linux ファイルシステム Ext4 のディスクをマウントするには? Ext3Fsd が、おそらく、最も簡単なツール ...

今回は、Windows で Compass を使ってみました。 Compass とは、 Sass(サス、Syntactica ...

今回は、Anti Adblock を使ってみました。 Anti Adblock とは、 そもそも Adblock という ウェブ ...

デスクトップ環境でない サーバーで、Webページのキャプチャー画像をコマンドで撮る には、wkhtmltoimage, CutyCapt ...


さくらのVPS 全プラン リニューアルです。(石狩(北海道)も選択可)


root権限ありで ¥685 / 月 ~ と非常にリーズナブルな CPU 1(core)の 512 プランから、 最高 CPU 10(core), メモリ 32(GB), SSD容量 800(GB) までとプランが充実。
ディスクは、SSDとHDDの選択が可能になった他、データセンターは人気の東京、石狩(北海道)となりました。

また、どのプランでも好きなOSが選べます
( CentOS, Fedora, Scientific Linux, FreeBSD, Ubutu, Debian )

管理人もおすすめのVPSです。
試用期間がありますから、一度、お試しを!!

詳しくは、http://vps.sakura.ad.jp/さくらのVPSのサイトへ へどうぞ!!

カテゴリ


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。
最近、スワップにも対応した Serverman@VPS は、かなりリーズナブルかもです。

  • メモリ1GB~2GBのEntryプラン :月額:490円
  • メモリ2MB~4GBのStandardプラン :月額:980円
  • メモリ4GB~8GBのProプラン :月額:1,980円

新規申し込みで1ヶ月間完全無料となるキャンペーンを実施中です。
Serverman@VPSの特徴は、安さとIPv6対応です。また、初期設定費0円もポイントです。

IPv6でちょっと遊んでみたい方には、おすすめかもしれませんね。最低利用期間もありませんから、気に入らないときは即解約もできます。

Serverman@VPSの詳細については、 http://dream.jp/vps/ Serverman@VPSのサイトへへどうぞ。



KVM採用 ConoHa VPSは、時間単位で借りれる便利なVPSです。


ConoHa VPS は、初期設定費0円最低利用期間無し時間単位で清算可能、 さらに、Web APIを使って自動化を図ることもできる便利なVPSです。

海外サーバー設置も可能で、ローカル接続にも対応と、かなり、機能豊富なサーバーです。

新規ユーザ登録で、クーポンもらえますから、まずは、お試しですね。

ConoHa VPSの詳細については、
http://www.conoha.jp/ へどうぞ。

KVM採用 お名前.com VPS(KVM) 2G プラン 初期設定費無料 キャンペーン 実施です。


メモリ2GBプラン CPU:3core、Disk:200GB
月額:1,153円から (初期設定:1,680円0円)

さくらのVPSがリニューアルされてもなんのその。
1GBメモリ / 2Core を ¥834 – の格安価格で提供中です!
間違いなくスペックからすると割安感ありです。
年間割引時の途中解約で返金がないのは、 ちょっと残念ですが、それでもこの割安感は魅力です。

まずは、お試しですね。

お名前.com VPS(KVM)の詳細については、
http://www.onamae-server.com/vps/ へどうぞ。(お試し期間が15日あります。)



  • ソーシャルブックマーク

  • はてなブックマークへ追加するはてな登録数
ページトップへ
Time : 0.2140 [s]