LoginSignup
18
16

More than 5 years have passed since last update.

UbuntuにLAMP環境(PHP5.6)を構築する(構築~xdebug,composerの導入まで)

Last updated at Posted at 2015-12-03

環境

PHP5.6+apache2のインストール

$ sudo apt-get update
$ sudo apt-get install -y python-software-properties
$ sudo apt-add-repository ppa:ondrej/php5-5.6

パッケージリストを最新化する

$ sudo apt-get update

インストールされるPHPバージョンの確認

$ sudo apt-cache policy php5
php5:
  インストールされているバージョン: (なし)
  候補:               5.6.16+dfsg-1+deb.sury.org~trusty+1
  バージョンテーブル:
     5.6.16+dfsg-1+deb.sury.org~trusty+1 0
...省略

インストール

$ sudo apt-get install -y php5
... 省略
以下の特別パッケージがインストールされます:
  apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php5 libapr1
  libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libonig2 libqdbm14
  libssl1.0.2 php5-cli php5-common php5-json php5-readline
提案パッケージ:
  apache2-doc apache2-suexec-pristine apache2-suexec-custom php-pear
  php5-user-cache
以下のパッケージが新たにインストールされます:
  apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php5 libapr1
  libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libonig2 libqdbm14
  libssl1.0.2 php5 php5-cli php5-common php5-json php5-readline
アップグレード: 0 個、新規インストール: 17 個、削除: 0 個、保留: 17 個。

どうやらapache2等も一緒に入れてくれるみたいです。

確認

$ php -v
PHP 5.6.16-1+deb.sury.org~trusty+1 (cli)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

$ apache2 -v
Server version: Apache/2.4.16 (Ubuntu)
Server built:   2015-09-08T00:00:00

MariaDBのインストール

今回はMySQLではなくMariaDBを入れます。最近では安定でしょう。
公式サイトのRepository Configuration Toolを利用することで簡単にインストール方法がわかるので便利です。
http://downloads.mariadb.org/mariadb/repositories/

$ sudo apt-get install software-properties-common
$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
$ sudo add-apt-repository 'deb [arch=amd64,i386] http://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/repo/10.1/ubuntu trusty main'

パッケージリストの最新化

$ sudo apt-get update

インストール

$ sudo apt-get install mariadb-server

実行すると、rootのパスワードを設定しろと出てくるので設定しておきましょう。

確認

$ mysql --version
mysql  Ver 15.1 Distrib 10.1.9-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

関連する物をインストール

phpがmysqlに接続できるようにするためのモジュールのセット

$ sudo apt-get install php5-mysql

xdebugの追加(必要な人だけ)

xdebugはデバッグツールです。

インストール

$ sudo apt-get install php5-xdebug

追加されたか確認

$ php -v
PHP 5.6.16-1+deb.sury.org~trusty+1 (cli)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
    with Xdebug v2.3.2, Copyright (c) 2002-2015, by Derick Rethans

上記のようにXdebugが追加されているので成功ですね。
/etc/php5/apache2/conf.d 以下にxdebug用の設定ファイルがあるので設定しておきましょう。

sudo vi /etc/php5/apache2/conf.d/20-xdebug.ini

初期状態では、モジュールのロードがされる記述のみとなっています。その後に追加しましょう。
内容は適宜環境に合わせてください。

xdebug.remote_enable=1
xdebug.remote_host="127.0.0.1"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.idekey="sample-key"

あとはapacheを再起動しておきましょう。

$ sudo service apache2 restart

composerの導入(必要な人だけ)

グローバルに使いたいので、グローバルに入れます。

$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer

入ったか確認

$ composer -V
You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug
Composer version 1.0-dev (feefd51565bb8ead38e355b9e501685b5254d0d5) 2015-12-03 16:17:58

xdebugが有効だと遅いよと怒られます。
一応、debian系だとphp5dismod xdebugで無効化、php5enmod xdebugで有効化のようです。
ただ無効化状態だと全体でデバッグができなくなってしまいます。

確認してみると/etc/php5/cli/conf.d/20-xdebug.iniはシンボリックリンクで成り立っているようなので、cliのやつだけ削除したら良さそうです。
一旦はこれで良いと思います。もし必要になった場合は公式のようにaliasをつけるのと、シンボリックリンクを消したので、元ファイルをコピー等して、cliのみzend_extensionの部分のコメントアウトをすると良いでしょう。

参考

http://qiita.com/kikurage__/items/404edc69b242eb9d3342
http://fideloper.com/ubuntu-install-php54-lamp

あとでcomposerの追加も記載する予定です。→記載しました。

18
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
16