• I posted to know-the-world.com

    [LAMP] FreeBSDでLAMP環境(Apache,MySQL,PHP)の設置

    新しく開発用サーバを立てることになったのでメモを残します。 いわゆるLAMP環境の設置です。

    apache2.2のインストール apacheをportsからインストールします。

    Code:cd /usr/ports/www/apache22 make install apachectl start

    すると以下のようなエラーが。

    httpd: apr_sockaddr_info_get() failed for sabani.localhost httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName [Wed Nov 26 16:12:35 2008] [warn] (2)No such file or directory: Failed to enable the ‘httpready’ Accept Filter

    サーバのドメインネームが無い、ということなのでhostsファイルを編集。

    Code:vim /etc/hosts 127.0.0.1 yourdomain

    もう一度apacheを起動するとちゃんと動きました。

    php5のインストール

    cd /usr/ports/lang/php5 Code:make configure #apacheとmultibyteにチェック make install

    インストールが終わったら php.ini-distをコピーしてphp.iniを作る。 php.ini-recommendとはrecommendと言いつつ、phpの公式ページでは php.ini-distを使いなさいとある。なんのこっちゃ。 ちなみにdiffると違いがよくわかる。 error_reportingとかmagic_quoteとかが微妙に違うので注意。

    httpd.confに以下の一行があることを確認

    Code:LoadModule php5_module libexec/apache22/libphp5.so

    php5_moduleとlibexec/apache22/libphp5.soの間の変なタブが入っている場合は そのタブを消してスペースで区切る。 じゃないときちんとphpと認識されないことがあるみたいです。

    さらに以下の二行をhttpd.confに追加

    Code:AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps

    これでapacheのリスタートをかける。 適当にphpファイルを作ってブラウザから閲覧できればOK。

    さらに拡張する場合は /usr/ports/lang/php5-extensions に移動して Code:make configure make install

    multibyteはともかく、必要そうなものを欲張りに入れていく。 特にMySQLとかXML-RPCとか。

    参考URL http://www.php.net/manual/ja/install.unix.apache2.php

    mysqlのインストール phpの拡張でmysql-clientはすでにインストールされているので ここではmysql-serverのみをインストールする。

    Code:cd /usr/ports/database/mysql50-server make configure make install

    mysqlの公式サイトによると mysql_install_dbを実行する必要があるとのこと。 http://dev.mysql.com/doc/refman/5.1/ja/freebsd.html

    これに従って以下を実行 Code:cd /usr/local/mysql bin/mysql_install_db --user=mysql bin/mysqld_safe &

    topを見るとmysqldが動いているのが見えます。

    mysql_install_dbを実行した際に以下のメッセージが出るので これに従います。

    /usr/local/bin/mysqladmin -u root password ‘new-password’ /usr/local/bin/mysqladmin -u root -h yourdomain password ‘new-password’

    そしてこのメッセージでもマニュアルでも 起動コマンドはあくまでも mysqld_safe & にしてくれと書いてある。 なので、できるだけmysqld_safeを使うことにする。

    mysqld_safe は Unix や NetWare などの環境で、mysqld サーバ ( デーモン) を起動するときに推奨しているコマンドです。mysqld_safe は、エラー発生時にサーバを再起動したり、ランタイム情報をログ ファイルに記録するなどのセキュリティ機能が加わります。

    http://dev.mysql.com/doc/refman/5.1/ja/mysqld-safe.html

    ただし、以下の文章がよくわからなかったので、保留事項としておく。

    FreeBSD は非常に小さいデフォルトのファイル処理制限があることで知られています。項B.1.2.17. 「’File’ Not Found and Similar Errors」 参照。サーバを –open-files-limit オプションを使用して mysqld_safe に起動しするか、あるいは /etc/login.confg の mysql ユーザーの制限を上げそれを cap_mkdb /etc/login.conf で再度ビルドします。

    http://dev.mysql.com/doc/refman/5.1/ja/freebsd.htmlOriginal post blogged on b2evolution.

    November 26 2008, 7:12pm | Comments | [ original_link ]


blog comments powered by Disqus