FreeNAS+MySQL+phpMyAdmin+CGI

FreeNAS+MySQL+phpMyAdmin+CGIFreeNASの基本設定なら、難しくはないが、しかし、FreeNASについてないpkgを入れて設定するのはほんまにものすごく難しくて大変だった。

下記の中国サイトを見ると、FreeNASはMySQL5の対応できないのため、MySQL4の導入だと薦められてるけど。

[原创]FreeNas+php+MySql+phpMyAdmin 整合安装 – FreeNAS安装配置 – FreeNAS中文论坛 freenasfreebsdopenbsd – Powered by Discuz!

自分の使ってるFreeNASは0.7.1だし、Googleで海外の説明サイトを見たら、ちゃんとMySQL5でも動けそうに見えてるから、ネットでほかの説明の書いてるサイトを探ってみたら、このサイトの発見した。

Installing MySQL And phpMyAdmin On FreeNAS  HowtoForge – Linux Howtos and Tutorials

しかし、ちゃんと上記のにしたがって再起動したら、FreeNASのシステムは暴れて、もう入られなくなり、自分は上記の説明にはなんか欠けてるかと疑い、なんども繰り返してやってみても、同じくFreeNASに入られなくなり、めちゃくちゃだった。

なんと、下記のサイトで、ようやくphpとMySQLの導入をうまくいれた。

Low Cost NetWare Backup to Disk Using FreeNAS – Part II  Novell User Communities

それから、CGIの導入なら、下記の二つサイトで参考させてもらった。

Low Cost NetWare Backup to Disk Using FreeNAS  Novell User Communities

取捨選択 壱弐 – FreeNas構築覚書その3 –webサーバ編

それでは、上記のサイトをまとめて、こういう手順を語ってみる。

FreeNASのサイトで、最新のFreeNASのISOを落とし、CDにバーンする。

FreeNASの導入選択には”install ‘full’ OS on HDD + data + swap partition”或いは”install ‘full’ OS on HDD + data partition”を選ぶ。

OSには十分足りられる空間をつける。

FreeNASにはネットワークコネクションの確認。

PuTTY Download Pageでputtyをダウンロードする。(WindowsからFreeNASのShellに入られるアプリなのだ)

WinSCP::Free SFTP and FTP client for Windowsでwinscpをダウンロードする。(WindowsからSSHでrootのログインして自由にすべてファイルをいじられるアプリなのだ)

FreeNASのWebGUIでmysqlというグループもユーザーも作る。

MySQLのDB保存するためのフォルダーを作る。「僕の場合は/mnt/motokagadisk/db/mysql/だった」

FreeNASなかのShellでまたはputtyでFreeNASのShellに入って下記のコマンドを入力する。「puttyの場合なら、FreeNASのサービスにはSSHの有効して、ルーターの設定には必ず22ポートの開放して忘れず」

kaganas:/# mkdir /mnt/motokagadisk/db
kaganas:/# mkdir /mnt/motokagadisk/db/mysql
(mysql データベースためのフォルダを作る)

kaganas:~# ln -s /mnt/motokagadisk/db/mysql /var/db/mysql
(デフォルトのパスを新しいパスのに指定する)

kaganas:~# chown -R mysql:mysql /mnt/motokagadisk/db/mysql
(オーナーシップの設定する)

kaganas:~# chmod 777 /tmp
kaganas:~# chmod 777 /var/tmp
(/tmpのファイルシステムモードのチェンジ)

kaganas:~# setenv PACKAGESITE ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.2-release/Latest/
(パッケージサイトの環境の確認する)

kaganas:~# pkg_add -r mysql50-server
(MySQL 50 サーバーとその必要ものの導入)

kaganas:~# /usr/local/bin/mysql_install_db
(testデータベースの導入)

kaganas:~# chown -R mysql /mnt/motokagadisk/db/mysql
kaganas:~# chgrp -R mysql /mnt/motokagadisk/db/mysql
(オーナーシップとグループのファイルパーミッションのチェンジ)

kaganas:~# /usr/local/bin/mysqld_safe -user=mysql &
(loads mysql, mysql should now be running…..you may have to hit <return> after this command completes to get back to a prompt)

kaganas:~# ps ax
(プロセスの表示)

プロセスの表示のにはこういう似たような情報が見つかるはずだ。

/bin/sh /usr/local/bin/mysqld_safe -user=mysql
 /usr/local/libexec/mysqld --basedir=/usr/local --data
 ps ax

上記のをみれたら、MySQLはうまく動いていて、次に行く。

MySQLの"root"ユーザーのパスワードの設定する:
kaganas:~# /usr/local/bin/mysqladmin -u root password root
kaganas:~# /usr/local/bin/mysqladmin -u root -h freenas.local password root

(mysqlユーザー"root"のパスワードを"root"にするとよくないから。
絶対それを使わずに、本当の長くパスワードをいれてください。上記のは単なるサンプルだから。)

mysqlにマシンの再起動でも自動起動したもらうため、rc.confにmysql_enable=”YES”の追加登録する。FreeNASのWebGUIにシステム>アドバンス>rc.conf:には追加ボタンを押し、上記のコマンドの入力する。

上記の済ませたら、再起動して、MySQLのちゃんと起動してるのかを確かめる。

再起動になったら、またputtyでログインして、下記のコマンドの入力する:

kaganas:~# ps ax
(プロセス中のリスト表示)

表示中のにはこういう似たような情報を確認する:

/bin/sh /usr/local/bin/mysqld_safe --defaults-extra-f
/usr/local/libexec/mysqld --defaults-extra-file=/var/

もしも、上記のを見れたら、MySQLはもう自動的にスタートアップから起動できてるなのだ。

MySQLにログインし、ちゃんと動いてるのかを確認する:

kaganas:~# /usr/local/bin//mysql -u root -p
(my sqlに”root”としてログインする)

mysql>use mysql;
(mysqlデータベースのにチェンジする)

mysql>show tables;
(テーブルリストのを見れるはずで、
もしも、見れたら、mysqlの設定用意で稼働中で、それからtestデータベースも読み込み済みだ。)
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| func                      |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| proc                      |
| procs_priv                |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
mysql>exit

これでMySQLの導入済みだ。

次はPHPの設定する。FreeNASデフォルトのPHPはあんまりにもシンプルすぎて、いろいろ制限がある。.

下記の手順を続ける前にちゃんとこの注意を読もう。PHPの導入はFreeNASのWebGUIを破ってしまうから、それを修正するのをちゃんとわからないと。

*****重要なステップ******
下記の手順に進む前に、”/usr/local/lib/libxml2.so.5″をwinscpでパソコンのにコピーする。

kaganas:~# setenv PACKAGESITE ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.2-release/Latest/
(FreeNASに探せるパッケージのパスの設定する)
kaganas:~# pkg_add -r php5
kaganas:~# pkg_add -r php5-extensions
kaganas:~# pkg_add -r php5-xmlrpc
kaganas:~# pkg_add -r php5-gettext
kaganas:~# pkg_add -r php5-mcrypt
kaganas:~# pkg_add -r php5-mysql
kaganas:~# pkg_add -r php5-mbstring
kaganas:~# pkg_add -r xmlstarlet(このパッケージも入れたら、上記の言っていたlibxml2.so.5バックアップしなくても問題なさそう)

上記のコマンドでphp5導入はFreeNAS基本システムのいくつパッケージに置き換えてしまうから、導入のあとFreeNASのWebGUIに入られなくなる、しかし、 焦らずにそれを下記のコマンドで修正しましょう:

*****重要なステップ******
kaganas:~# mv /usr/local/bin/php /usr/local/bin/php-cli
kaganas:~# cp /usr/local/bin/php-cgi /usr/local/bin/php
(phpをphp-cliに移動し、php-cgiのコンテンツをphpにコピーする。)

*****重要なステップ******
winscpで”libxml2.so.5″をパソコンから”/usr/local/lib/”にコピーする。
(すべてファイルを置き換えし、それから、ちゃんとWebGUIに入られるかを確かめる。)「もしも、上記のxmlstarletのパッケージでも導入したら、この手間はしなくても問題なさそうだった」

これでWebGUIはまた動けるようになる。MySQLサーバーとPHPの導入済み。
(念のため、すべても順調なのか、一度再起動して確認してほうがいい。)

この時点は、MySQLとPHPもFreeNASのに導入し、それらを管理するため、phpMyAdminを導入する必要があるだろうね。

phpMyAdminの導入:
アプリケーションの保存するためのディレクトリを作り、ディスクのにいればいいでしょうね。

kaganas:~# mkdir /mnt/motokagadisk/apps

http://sourceforge.net/projects/phpmyadmin/files/からphpMyAdminをダウンロードし、僕の場合は”phpMyAdmin-3.3.5.1-all-languages.gz”だった。

その圧縮ファイルをパソコンに解凍してから、”phpMyAdmin”のに改名し、winscpで/mnt/motokagadisk/appsのにアップロードする。

それから、phpMyAdminのデフォルトパスから新しいリンクを作る:
kaganas:~# ln -s /mnt/motokagadisk/apps/phpMyAdmin/ /mnt/motokagadiskl/web/phpMyAdmin

もしも、winscpで/mnt/motokagadisk/web/に入ったら、/mnt/motokagadisk/apps/phpMyAdminにしてるリンクを見れるはずだ。

ウェブブラウザでhttp://<freenasIP>/phpMyAdmin/index.phpにアクセスし
Login as username : root
password: root

上記の写真のようにphpMyAdminに入られ、これでphpMyAdminの導入も終わり。

その次にはCGIモジュールのも導入して設定する。

kaganas:~# pkg_add -r perl
(Perlのパッケージの導入する)

winscpで下記のパスのにアクセスし、いくつのところの編集する:

/etc/rc.d/websrv

最終行にある

cgi.assign = (".php" => "/usr/local/bin/php", )

に追記して

cgi.assign = (".php" => "/usr/local/bin/php", ".cgi" => "/usr/local/bin/perl" )

として、perlを動くように設定。

同ファイル上にある

index-file.names = ( "index.php", "index.html", "index.htm", "index.shtml", "default.htm" )

と書いてある行を

index-file.names = ( "index.php", "index.cgi", "index.html", "index.htm", "index.shtml", "default.htm" )

に書き換える。

後これはいらないかもしれないけれど、

static-file.exclude-extensions = ( ".pl", ".fcgi", ".php" )

の行を

static-file.exclude-extensions = ( ".cgi", ".pl", ".fcgi", ".php" )

に変更。

これで、FreeNAS+MySQL+phpMyAdmin+CGIとなりました。WordPressとかMovable Typeとかも自宅鯖このFreeNASで動かせるぞぉ。

|2|left
Share and Enjoy:
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • Add to favorites
  • Google Buzz
  • Live
  • MSN Reporter
  • MySpace
  • RSS
  • email
qrCode

Related posts:

  1. FreeNASのPHPにzlibの追加
  2. FreeNASの初体験
  3. カガブログが消えた。汗
  4. モバイル定額バケットでもbtやり放題方法「Transdroid」
  5. EeeBox B202をFreeNASにしろうかな。

About カガヤキ