#author("2016-09-11T23:05:06+09:00","default:nowsky","nowsky") #author("2016-09-17T00:08:06+09:00","default:nowsky","nowsky") *Joomla [#qeeb8c19] -[[Joomla! The CMS Trusted:+https://www.joomla.org/]] -[[Joomla! JAPAN:+http://www.joomla.jp/]] 大規模システム向けのCMSツール。設定次第でWebページ、ブログ、Wiki等を構築する事が出来る。 特長の一つとして、OSSのCMSなのに利用可能データベースの一つとして、&font(b){MS SQL Serverをサポートしている事。}; また、WebサーバにIISを用いても動作するので、IISとMSSQL連携時の技術検証用としても重宝する。 上記の様に、クロスプラットフォーム対応がfont(b){無料の範疇で進んでいる};為、 上記の様に、クロスプラットフォーム対応が&font(b){無料の範疇で進んでいる};為、 WebサーバはApache・DBサーバはMSSQL等の変則的な構成も作る事が出来る。 ~ *インストール [#e8782cba] &size(16){&font(b){0. 前提条件};}; -構築環境 [VM]: Hyper-V ver6.3.9600 [OS]: WindowsServer2012R2 64bit [MEM]: 4GB [HDD]: C:50GB / D:50GB [SQL]: SQL Server 2016 Express [IIS]: IIS 8.5.9600 [CMS]: Joomla! ver3.6.2 [DIR]: C:\inetpub\wwwroot\joomla ~ &size(16){&font(b){1. インストール作業};}; 事前に、[[IIS:+http://www.ns-lab.org/wiki/?Windows/Binary/IIS]]と[[MSSQL:+http://www.ns-lab.org/wiki/?Windows/Binary/MSSQL]]の設定を済ませておく。 日本語版についてはJoomla Japanで配布しているが、インストールしても日本語が反映されなかったので、 オフィシャル版をインストールした後に日本語ライブラリを追加する事で、日本語ローカライズを行う。 #region(Joomla インストール手順) >&ref(joomla_inst_01.png,left,nowrap,60%); Joomlaのパッケージを &font(b){"C:\inetpub\wwwroot\joomla"}; に展開したら、 インストール時限定で「IIS_IUSRS」に「フルコントロール権限」を付与する。 >&ref(joomla_inst_02.png,left,nowrap,50%); Webブラウザで &font(b){"http://{WebサーバIPアドレス}/joomla/"}; にアクセスする すると、インストール画面にリダイレクトされるので設定事項を画面に入力する。 この時、サイトオフラインは必要に応じてON/OFFを切り替える。 >&ref(joomla_inst_03.png,left,nowrap,50%); データベース種類に「Microsoft SQL Server」を選択した上で、データベースの接続情報を入力する。 この画面でSQL Serverが選択出来ない場合、PHPエクステンションの読込みに失敗しているので、 [[MSSQLの設定方法:+http://www.ns-lab.org/wiki/?Windows/Binary/MSSQL]]を参考に修正を行う。 >&ref(joomla_inst_04.png,left,nowrap,50%); FTPモードは今回使わないので、FTPモードを停止させる。 ちなみに、Windows ServerでFTPモードを使う場合、IISの設定変更が必要になる。 >&ref(joomla_inst_05.png,left,nowrap,50%); 今回はグローバル言語でインストールした後に、日本語へローカライズする為、 サンプルデータのインストールで「サイト 英語(GB)」を選択する。 >&ref(joomla_inst_06.png,left,nowrap,50%); インストーラが走り出すので暫く放置する。 完了したら、画面に従って「installationディレクトリを削除」のボタンを押してインストールを完了する。 管理画面には &font(b){"http://{WebサーバIPアドレス}/joomla/administrator/"}; でログイン出来る。 #endregion ~ &size(16){&font(b){2. ローカライズ};}; 現状では言語設定が英語になっているので日本語にローカライズを行う。 普通ならばエラー出ずに作業が完了する筈なのだが、言語データをインストールする時にDBエラーが出てしまう為、 &font(b){手動でDBの設定変更};をする事でエラーを回避し日本語化を完了させる。 DBの操作は全てSSMSで行う為、事前にSSMSのインストールを完了させておく。 #region(Joomlaの日本語化) -SQL Serverのテーブル設計変更制限を一時的に解除する [ツール] -> [オプション] -> [デザイナ] -> [テーブル デザイナおよびデータベース デザイナ] -> [テーブルの再生成を必要とする変更を保存できないようにする] の&font(b){チェックを外す}; >&ref(joomla_sql_01.png,left,nowrap,40%); [JoomlaDB] -> [dbo.***_extensions] -> [列:custom_data] -> [列名:custom_data / データ型:nvarchar(MAX)] の&font(b){NULLを許容にチェックを入れる}; -Joomlaの管理者画面を開き、 下記要領でローカライズデータをインストールする。 [Extensions] -> [Languages] -> [Installed] -> [Install Languages] -> [Japanese] -> [Install] >&ref(joomla_sql_02.png,left,nowrap,60%); |Title |English (UK)| |Title Native |English (UK)| |Language Tag |en-GB | |URL Language Code|en | |Image Prefix |en | |Status |Published | |Access |Registered | Joomlaの管理者画面を開き、既存のコンテンツローカライズ設定を変更する [Extensions] -> [Languages] -> [Content Languages] -> [New] >&ref(joomla_sql_03.png,left,nowrap,60%); |Title |日本語 (JP)| |Title Native |日本語 (JP)| |Language Tag |ja-JP | |URL Language Code|ja | |Image Prefix |ja | |Status |Published | |Access |Public | Joomlaの管理者画面を開き、 上記の通りにコンテンツのローカライズ設定を行う [Extensions] -> [Languages] -> [Content Languages] -> [New] >&ref(joomla_sql_04.png,left,nowrap,60%); Joomlaのデータベースを直接編集し、デフォルト言語を &font(b){"en-GB"}; から &font(b){"ja-JP"}; に書き換える。 [JoomlaDB] -> [dbo.***_extensions] -> [name:com_languages] -> [params:{"administrator":"ja-JP","site":"ja-JP"}] に&font(b){書き換える}; -一時的に変更した「テーブル設計変更制限」と「custom_dataのNULL許容」を元に戻す。 [テーブル デザイナおよびデータベース デザイナ] -> [テーブルの再生成を...] に&font(b){チェックを入れる}; [dbo.***_extensions] -> [列名:custom_data / データ型:nvarchar(MAX)] の&font(b){NULLを許容のチェックを図ス}; #endregion ~ &size(16){&font(b){3. 参照権限の修正};}; -参考サイト:[[COMPNET - Joomla! を弄ってみた [準備編]:+https://www.compnet.jp/archives/1231]] インストール時の処置としてIISにフルコントロール権限を付与しているので、参照権限を本来の値に修正する。 パーミッションについては、Joomlaのシステム情報から参照出来るので、確認しながら書き込み権限の付与を行う。 #region(パーミッション変更手順) -フルコントロール権限の削除 Joomlaのインストール先ディレクトリ &font(b){"C:\inetpub\wwwroot\joomla"}; に設定している、 「IIS_IUSRS」の「フルコントロール権限」を&font(b){全て削除};する >&ref(joomla_perm_01.png,left,nowrap,40%); Joomlaの管理画面を開きパーミッション情報を確認してリストを控えておく。 [システム] -> [システム情報] -> [フォルダ パーミッション] -> リストを全てコピー >&ref(joomla_perm_02.png,left,nowrap,45%); &ref(joomla_perm_03.png,left,nowrap,45%); ファイルとディレクトリのパーミッションを、設定例の様に変更する。 コマンドで一括変更する場合、管理者権限のコマンドプロンプトに下記を流し込む。 icacls C:\inetpub\wwwroot\joomla\administrator/components /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\administrator/language /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\administrator/language/en-GB /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\administrator/language/ja-JP /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\administrator/language/overrides /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\administrator/manifests/files /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\administrator/manifests/libraries /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\administrator/manifests/packages /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\administrator/modules /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\administrator/templates /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\components /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\images /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\images/banners /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\images/headers /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\images/sampledata /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\language /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\language/en-GB /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\language/ja-JP /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\language/overrides /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\libraries /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\media /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\modules /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\plugins /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\plugins/authentication /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\plugins/captcha /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\plugins/content /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\plugins/editors /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\plugins/editors-xtd /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\plugins/extension /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\plugins/finder /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\plugins/installer /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\plugins/quickicon /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\plugins/search /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\plugins/system /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\plugins/twofactorauth /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\plugins/user /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\templates /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\configuration.php /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\cache /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\administrator/cache /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\administrator/logs /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) icacls C:\inetpub\wwwroot\joomla\tmp /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) #endregion ~ &size(16){&font(b){4. PHPキャッシュの追加};}; 環境によっては、PHPキャッシュディレクトリを追加指定しないと、 Joomlaのテンプレートインストール機能が動かない場合がある。 構築した環境が該当するか調べるには、 [エクステンション] -> [管理] -> [警告] を確認する。 PHPキャッシュを &font(b){"C:\inetpub\temp\php"}; に作成する場合の例を参考までにメモしておく。 #region(PHPキャッシュ設定例) コマンドプロンプトで実行 --- mkdir C:\inetpub\temp\php icacls C:\inetpub\temp\php /grant:r IIS_IUSRS:(RX,W) IIS_IUSRS:(OI)(CI)(IO)(M) php.iniを編集 --- file_uploads = On memory_limit = 32M post_max_size = 32M upload_tmp_dir = "C:\inetpub\temp\php" upload_max_filesize = 16M #endregion