Ubuntu 12.04:LAMP環境構築

Ubuntu 12.04 (Precise Pangolin) にLAMP環境(Linux+Apache+MySQL+PHP)を構築します。(2014/01/25作成)

LAMP adamtepl / Pixabay

0.Ubuntu環境

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.4 LTS"

1.Apache

1)インストール

$ sudo apt-get install apache2

2)mod_rewriteを有効にする

$ sudo a2enmod rewrite

3).htaccessを有効にする

$ sudo vi /etc/apache2/sites-enabled
AllowOverride None
↓
AllowOverride All

4)Headerを有効にする

Invalid command ‘Header’, perhaps misspelled or defined by a module not included in the server configuration

/var/www/.htaccess: Invalid command 'Header', perhaps misspelled or defined by a module not included in the server configuration
$ sudo a2enmod headers

5)VirtualHost設定 (Ubuntu特有)

$ sudo vi /etc/apache2/sites-available/virtual.host

下記のような感じで記述します。
<VirtualHost *:80>
    ServerName sub.example.com
    ServerAdmin webmaster@virtual.host
    DocumentRoot  /path/to/sub/doc
    ErrorLog /var/log/apache2/virtual.host.error.log
    CustomLog /var/log/apache2/virtual.host.access.log combined
    LogLevel warn
</VirtualHost>

$ pwd
/etc/apache2/sites-available

$ sudo a2ensite virtual.host
Enabling site virtual.host.
To activate the new configuration, you need to run:
  service apache2 reload

※/etc/apache2/sites-enabledにsymlinkができる

6)Apache本体の設定ファイル

$ sudo vi /etc/apache2/apache2.conf 

7)Apache再起動

$ sudo service apache2 reload

2.PHP

1)インストール

$ sudo apt-get install php5

2)MySQL連携モジュールを追加

$ sudo apt-get install php5-mysql

3)cURLモジュールを追加

$ sudo apt-get install php5-curl

4)PHP設定ファイルは「apache版」「cli版」で分かれている

apache … /etc/php5/apache2/php.ini
cli … /etc/php5/apache2/php.ini

変更箇所:
# diff php.ini.20140120 php.ini
521c521
< error_reporting = E_ALL & ~E_DEPRECATED
---
> error_reporting E_ALL ^ E_NOTICE;
538c538
< display_errors = Off
---
> display_errors = On
1058c1058
< ;sendmail_path =
---
> sendmail_path = /var/tmp/mail_output_text.sh

3.MySQL

1)インストール

$ sudo apt-get install mysql-server

ウィザードで何度かMySQL「root」ユーザーのパスワードが求められますが、ひとまず「空」で構いません。

2)文字コードの設定

$ sudo vi /etc/mysql/my.cnf

[mysqld]
character-set-server=utf8
skip-character-set-client-handshake

$ mysql -u root

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

3)NySQLリモートホストから接続可能とする

$ sudo vi /etc/mysql/my.cnf

#bind-address            = 127.0.0.1
↓
bind-address            = 127.0.0.1

4)MySQLリスタート

$ sudo service mysql restart

4.LAMP確認方法

$ pwd
/var/www
$ sudo vi phpinfo.php
<?php phpinfo();

プラウザで「http://localhost/phpinfo.php」にアクセスします。

以上

About yoshimasa

埼玉県さいたま市在住、2男3女のパパです。Linux系の技術情報を中心にまとめています。1978年2月生まれ。