FedoraにおいてPerlを勉強してみる
CPANについて
Perl において、既にある他の開発者が作ったモジュールを取得・利用する機構としてCPANというものが使われている。
CPANを使えば、他の開発者が作成した現状自分でもっていない機能などを追加することができる。
ただし、CPANで取得したモジュールと、パッケージの依存関係を管理するため、
CPANで取得管理するのではなく *cpan2rpm* を使ってcpanで取得するモジュールをパッケージにして追加できる。
cpan2rpm の利用方法
エラー発生時のケーススタディー
cpan2rpm の利用方法について 各環境にもよるが それ通りに行かなかった点について
"%_gpg_name"でエラー発生
エラー: マクロファイル内で "%_gpg_name" を設定しなければなりません。
��3669 cpan2rpmでGeo::IPfree - Web Patio - Fedoraで自宅サーバー構築
パスフレーズのチェックに失敗しました。
上記のエラーが発生した場合には、cpan2rpm パラメータとして 「--no-sign」を付けて実行してみる
module導入時に試験エラーの発生
根本的な解決方法ではないかもしれないが、cpan2rpm パラメータとして 「--make-no-test」を付けて実行してみる
cpan2rpm 利用時に発生するパッケージ依存
module インストール時に 以下のエラー文言が発生した場合には、そもそも rpm-buildパッケージが欠如しているおそれがあります。
>エラー: 依存性の欠如:
��598 Perlモジュールパッケージ管理システム導入 - Web Patio - CentOSで自宅サーバー構築
> rpm-build は cpan2rpm-2.027-1.noarch に必要とされています
そのため、
Fedoraインストール時のRPMパッケージインストール単位である「パッケージグループ」でRPMパッケージをインストールする
$ yum grouplist $ yum -y groupinstall "開発ツール"
依存関係の解決
感想
fedoraでCPANを利用するためには、様々な手段がある*1が結局は依存関係(パッケージとの依存関係?)を気にするよりは
、導入のしやすさや更新のしやすさを考えると、CPANから直接操作した方がはやいのではという意見。
ただし、モジュールをいろいろといれる場合には、依存関係が壊れた時が大変らしい。
皆さんが採用している CPAN の適切な管理方法を教えてください。… - 人力検索はてな
うーん。いろいろと、めんどくさい。
*1:いろいろありすぎる感
UI表示
できたー!
設定
最終的に、今ままでのschema.ymlからテーブルつくって、モデルつくってのながれまでを一発で実行してくれるコマンドがこれ
symfony doctrine:build --all --and-load
モデルをもとに、モジュールを作成することはできるらしい。
ymfony doctrine:generate-module --with-show --non-verbose-templates frontend job JobeetJob
注意事項
lib/vender/以下にsymfonyのサイトからcheckoutしたソースを配置していた場合に、
autoloadがインデックスを作成する際に、同ファイル名のBaseDocrinteForm.classが存在したため、上記コマンドを実行する際に、BaseDocrinteForm not Foundが発生していた。。。
4. データベース
まず、データベースの設定をします。
DBが未設定だったらまず確認する。
http://fedorasrv.com/mysql.shtml
先に、databaseを作成しておく。
mysqladmin -uroot -p create jobeet
生成されたSQLを使って、データベースにテーブルを作成する。
symfony doctrine:insert-sql
その他:セキュリティについて
ウェブアプリケーションを作成する上で知って置かなければいけないセキュリティ対策を学習する。
XSS攻撃
入力したデータ(フォーム入力など)を適切にエスケープしないままHTML中に出力することにより、入力中に存在するタグ等文字がそのままHTMLとして解釈される。ここでスクリプトを起動させる。
クロスサイトスクリプティング - Wikipedia
CSRF 攻撃
掲示板に意図しない書き込みをさせられたり、オンラインショップで買い物をさせられたりするなどの被害が起こる。また、設定用ウェブページを通して、ルーターや無線LAN等のあらゆる情報機器の設定の、意図しない変更をされる可能性もある。
クロスサイトリクエストフォージェリ - Wikipedia