FreeNAS+MySQL+phpMyAdmin+CGIFreeNAS+MySQL+phpMyAdmin+CGI
FreeNASの基本設定なら、難しくはないが、しかし、FreeNASについてないpkgを入れて設定するのはほんまにものすごく難しくて大変だった。
下記の中国サイトを見ると、FreeNASはMySQL5の対応できないのため、MySQL4の導入だと薦められてるけど。
自分の使ってる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本身沒有跟的pkg之安裝及設定就好煩好難.
下記的大陸網站,說FreeNAS不支援MySQL5,故推薦安裝MySQL4.
不過自己所用緊的係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で動かせるぞぉ。
於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生效,並於router設定把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
(ownership的設定)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/
(pkg的環境確認)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
(更改ownership及group的檔案屬性)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於system>advance>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即係可以自動StartUp啟動了.
於MySQL登入,確認其是否運作正常:
kaganas:~# /usr/local/bin//mysql -u root -p
(於my sql以”root”作登入)
mysql>use mysql;
(轉到mysql的數據資料)
mysql>show tables; (應可看到table list的,若睇得見的話,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能搵到pkg的路徑設定)
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(安埋呢個pkg的話,好似不作上記的libxml2.so.5都冇問題)
上記的指令把php5安裝之後會蓋上FreeNAS基本系統的部份pkg,所以安裝後會無法登入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的pkg都安裝埋的話,呢個複製可以跳過都好似冇問題」
咁樣WebGUI就可以回復正常.而MySQL及PHP都安裝好架啦.
(穩陣起見,確認是否全部正常運作,先重啟一次會好啲.)
係呢個時候,MySQL同PHP都安了入FreeNAS,為咗可管理佢哋,有需要安裝phpMyAdmin吧.
phpMyAdmin之安裝:
作一個為app而儲存的路徑,係返個disk內建便可以吧.
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的pkg)
用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內運行了.
コメントはまだありません »
RSS feed for comments on this post. TrackBack URL