openSUSEはデスクトップでもサーバーでも使えるオールグラウンドなLinuxディストリビューションなので、もちろんWebサーバー用途にも適しています。今回はこのopenSUSEでLEMPサーバー (Linux, Nginx, MariaDB, PHP-FPM) をサクッと構築してみます。ちなみに僕の自宅鯖のOSは全てopenSUSEです!

作業はopenSUSE Tumbleweed(ローリングリリース版)で行っています。

1. 各種インストール

以下のコマンドを実行して各種パッケージをインストールします。

$ sudo zypper install nginx mariadb php5-fpm

なお、openSUSE 13.2などの通常リリース版では(たぶん)今のところNginxのパッケージがない(もしくは古い)ので、以下のサイトから1クリックインストールします。

https://software.opensuse.org/package/nginx

ページから使用中のOSバージョンを選択し、「不安定版を表示する」をクリックして確認した後、適当に(server:httpあたり)の1 Click Installボタンをクリックします。あとはYaSTのウィザードに従ってNginxのインストールを完了させればOKです。

openSUSE 13.2の場合
openSUSE 13.2の場合

 

2. Nginxの設定

設定ファイルを開きます。

$ sudo vim /etc/nginx/nginx.conf

バーチャルホストの設定。以下の部分のコードを編集します。

まず”location /”の部分のindexにindex.phpを追加:

location / {
            root   /srv/www/htdocs/;
            #index  index.html index.htm; 変更前
            index index.php index.html index.htm # 変更後
        }

つぎに、”location ~ \.php$”の部分のコメントアウトを外して、4行目の項目”fastcgi_param”を変更:

location ~ \.php$ {
             root           /srv/www/htdocs/;
             fastcgi_pass   127.0.0.1:9000;
             fastcgi_index  index.php;
             fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
             include        fastcgi_params;
         }

編集したら、保存して終了します。エラーがないか確認し、nginxを起動します。

$ sudo nginx -t
$ sudo systemctl start nginx

ディレクトリ「/srv/www/htdocs/」に適当なHTMLファイルを設置し、http://localhost/で表示できるか確認してみましょう。

 

3. PHPの設定

用意されているデフォルト設定ファイルをコピー(リネーム)します。

$ sudo cp /etc/php5/fpm/php-fpm.conf.default /etc/php5/fpm/php-fpm.conf

$ sudo cp /etc/php5/cli/php.ini /etc/php5/fpm/

php-fpm.confを開いてユーザー・グループの設定を変更します。

$ sudo vim /etc/php5/fpm/php-fpm.conf

だいたい149、150行目ぐらいにあります。

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = nginx ;変更
group = nginx ;変更

変更したら、保存して終了します。そして起動:

$ sudo systemctl start php-fpm

ついでにNginxを再起動:

$ sudo systemctl restart nginx

 

4. MariaDBの設定

MariaDBを起動します。

$ sudo systemctl start mysql

以下のコマンドで初期設定を行うことが出来ます。

$ sudo mysql_secure_installation

 

5. テスト

お馴染みのphpinfoを確認してみます。

$ sudo vim /srv/www/htdocs/phpinfo.php

以下のコードを追加:

<?php
phpinfo();
?>

追加したら保存し、http://localhost/phpinfo.phpを開いてみます。

phpinfo()
phpinfo()

YES!!