Drupal

Drupal開発者および管理者向けのQ&A

5
Nginx対Apache-実際の使用法の比較と統計情報はありますか?
遊ぶための新しいサーバーがあり、空白のキャンバスを見つめています。好きなものを置くことができます。私はApacheに慣れていますが、nginxがApacheよりもはるかに多くのトラフィックを10、100倍、さらに多く処理できることを聞き続けています。それだけでなく、「はるかに高速」です。 記事を検索すると、Drupalに関係のないものがたくさん見つかります。または、Drupal関連の記事に出くわすと、1)構成ファイルのセットアップ方法を簡単に説明した構成ファイル、または2)「いいえ、nginxを使用しないで、PHPでApacheを使用する」と言います。 fcgid」と表示されますが、その理由についての説明はありません。 それで、Drupalに関しては、ここでの現実は何ですか? 例として、この2bits.comの記事に沿って何かを探しています。ここでは、著者はfcgidを使用してApache mod_phpとApacheをかなり詳細に調査し、それぞれの長所と短所を比較検討し、実世界での影響を示すケーススタディを提供しました。この記事には、自分の状況に最適なアプローチについて知識に基づいた決定を下すのに十分な情報があります。 その著者はmod_phpとfcgidを比較していますが、私はApacheとNginxの同じタイプの包括的で現実的な世界を探しています。 誰もがNginxに切り替えて、Apacheと比較した違いによって「吹き飛ばされ」ましたか?既にAPC、Memcache、およびVarnishのようなアグレッシブキャッシングを使用している高度に最適化された環境であっても、変更する変数がApacheをNginxに置き換えるだけである場合、この新しい代替テクノロジーへの投資に値するほどの違いをもたらします? このサーバーにアクセスするサイトは、1か月に平均200万PVを取得します。セントOS 6を実行するLAMPスタック。8コアのRAMを備えた4コアCPU。MemcachedとAPCはこのミックスの一部になります。Drupalのインストールについて特別なことはありません-基本的には、約50モジュールのバニラ7です。



11
ビュー-グループの周りにラッパーDIVを追加します
Drupal 7では、いくつかのフィールドをリストするビューを作成しました。フィールドは別のフィールド(フィールドの用語ID)によってグループ化されます。マークアップは次のようになります。 <h3>[Term 1]</h3> <div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div> <div class="views-row views-row-2 views-row-even"> [Field Content] </div> <div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div> <h3>[Term 2]</h3> <div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div> <div class="views-row views-row-2 views-row-even"> [Field Content] </div> <div class="views-row views-row-3 views-row-odd views-row-last"> [Field …
43 views 

15
ノードのfield_imageから画像URLを取得する
だから私はこのノードを持っています: object(Drupal\node\Entity\Node)[1862] protected 'values' => array (size=17) 'vid' => array (size=1) 'x-default' => string '7' (length=1) 'langcode' => array (size=1) 'x-default' => array (size=1) 0 => array (size=1) 'value' => string 'en' (length=2) ... (more fields) 'field_image' => array (size=1) 'x-default' => array (size=1) 0 => array (size=5) 'target_id' => …
42 media  8  theming 

11
延々とアカウントを登録しようとする虐待者をブロックするにはどうすればよいですか?
オープン登録の無料サイトがあります。誰でも登録できますが、変更することはできません。ただし、プロファイルを完了した後、アカウントは管理者によって承認される必要があるため、重複ユーザー(生年月日、「自己紹介」コメント、電子メールアドレス、写真、プロファイル内の報告場所、ジオロケーションIPを特定するためのさまざまな情報にアクセスできます、IPアドレスなど) 最近、このサイトは非常に虐待的で、複数のアカウントを登録する時間が無制限のように見える一人のユーザーの攻撃にさらされています。これらのアカウントは比較的簡単にブロックできますが、管理者(私)にとっては大変な作業であり、正当なアカウント(このユーザーは1日に約6個のアカウントを登録する)の1つを見逃すのではないかと思います。 私はすでに持っています: ユーザーの既知のIPアドレスを禁止しました 「使い捨て」メールアドレスに使用される既知のドメインからの登録をブロック ユーザーからの既知のアクセスパターンに基づいてアカウントを識別するのに役立つ特別なビューを追加しました このユーザーが登録するのをさらに難しくするために、クッキーなどでできることはありますか? これはDrupal 7サイトです。 編集:私の場合、これはボットではなく人間のユーザーです。しかし、ボットの回答は、スパマーの標的にされている人にとっては便利です。
41 users 

13
アクティブな構成から構成オブジェクトを削除するにはどうすればよいですか?
Drupal 8のカスタムモジュールを作成しています。これは、modules / mymod / config / install / field.storage.bloom_stem.bs_twitter_ac.ymlというファイルにフィールドストレージ構成オブジェクトを定義します。 問題は、モジュールをアンインストールしても削除されないことです。モジュールを再インストールするとクラッシュするので、明らかに取り残されています。 drush -y pm-uninstall mymod drush cr drush -y en mymod 例外 'Drupal \ Core \ Config \ PreExistingConfigException'とメッセージ 'mymodによって提供される構成オブジェクト(field.storage.bloom_stem.bs_twitter_ac)は既にアクティブな構成に存在しています' したがって、この構成オブジェクトを手動で削除する方法が必要なようです。モジュールがアンインストールされたときに削除するコードをさらに提供する必要がありますか?

4
dev-> stage-> productionから移行(CMI)構成に推奨されるワークフローは何ですか?
数か月前にdrupalcampがあり、誰かが新しい設定(CMI)システムを使用した展開の管理について質問しました。考えられる理想的なワークフローの1つは、構成をバージョン管理に保持し、チームメンバー間で構成を移行できるようにすることです。 部屋で私たちが理解できた最高の部分は(部分的にはDrupalConポートランドでのプレゼンテーションに基づいて)でした: アクティブな設定ディレクトリを無視するようバージョン管理に指示します。 すべての構成をステージングディレクトリにコピーし、バージョン管理にコミットします。 また、settings.phpを使用して、2つの環境間でアクティブ/ステージングディレクトリをリバースします。ただし、あるサーバーから次のサーバーへの展開ワークフローを把握することは複雑でありながら実行可能ですが、複数のローカル環境(つまり、複数の開発者)からdev(または相互)への推奨されるワークフローは何ですか?同じまたは類似の環境を共有している場合、あるチームメイトのマシンでの変更はどのように反映されますか?

7
プログラムでユーザーにログインするにはどうすればよいですか?
ユーザー名とパスワードを渡すことでユーザーにログインできるAPIを探しています。誰もこれを経験したことがありますか? 明確にするために、ホームページにポップアップとして表示されるAJAXログインボックスを作成し、ログインが正しい場合にのみ、間違った資格情報の場合にページを更新しようとしています。だからここに私がこれまでやったことがあります: 更新 ログインフォームをホームページに読み込み、送信時にAJAXリクエストを起動して、このスクリプトに認証情報を送信します。 function user_login_submit_try() { global $user; $uid = user_authenticate($_POST['name'],$_POST['pass']); $arr = array ('name'=>$_POST['name'],'pass'=>$_POST['pass']); if ($uid){ $user = user_load($uid); user_login_finalize($arr); } echo drupal_json_encode($uid); exit; }; これまでのところは動作しますが、私の心配は(googletorpによると)セキュリティの問題です。とにかく、このスクリプトで使用したAPIはどれもデータをサニタイズしなかったようです。 誰かがそうするより良い方法を見るでしょうか?
41 7  users 

1
サイトをバージョン管理し、継続的統合環境をセットアップする必要があります
私は、(開発者ごとに)バージョン管理を必要としないほど小さく始まったDrupal 6xプロジェクトの起業家ですが、今ではそれなしには方法がないと確信しています。JIRAに関する豊富なドキュメントがあり、すべてを網羅した適切に記述されたユーザーストーリーを備えています。私はこれをどのように行うことができるかについて少し読んで、次の計画を思いつきました- モジュールを使用してデータベースからサイトコードを分離する 状況 特徴 強い腕 プロファイラー SVNリポジトリにコードを配置し、ステージングサイトを作成します EC2実稼働サーバーでステージングサーバーのミラーを作成します Seleniumテストを作成し、Saucelabsを使用してクラウド上で実行します Elastic Bambooを使用してJIRA Studioでビルドワークフローを作成し、自動更新を実行します Drush Makeを使用してプロファイルを更新およびインストールする 実稼働サーバーで更新を実行します(方法はわかりません) まず、コンポーネント(ビュー、コンテンツタイプ、モジュールなど)を含む約50の「機能」のリストを作成しました。サイトには約12個のカスタムモジュールとWebサービスが含まれており、カスタムコード(ほとんどの場合、アップグレード可能なビューまたはモジュールに変換したい)を含むコンテンツタイプの「アプリケーション」のインスタンスが10個あるため、これは間違いなく困難です。良い点は、サイトがまだ運用されていないため、リスクがまだ限られていることです。 誰かが似たようなことをした経験はありますか?どのような落とし穴や制限に遭遇するでしょうか?上記の計画を改善/修正するための提案、またはそこにいる専門家が私に持っているかもしれない洞察やアドバイスをいただければ幸いです。

11
ノードタイトルの前にフィールドを表示する方法は?
D7でティーザーを表示するときに、ノードのタイトルの前に特定のフィールドをレンダリングしようとしています。 効果的に私はから行ってみたい、このに、この。 node.tpl.phpの更新を検討しましたが$title、$contentこれとは別のものであることに気づいたので、 これにどのようにアプローチするかわかりません。いくつかの検索の後、人々はCCKとConTemplateモジュールを使用してDrupal-6でこれを回避することを提案していることがわかりましたが、Drupal-7ソリューションがもっとあるのではないかと思っています。 助言がありますか?
41 7  entities  nodes 

1
hook_form_alter()がとても面倒なのはなぜですか?
ここに私が出会ったばかりの例があります。私は自分のフィールドのラベルにHTMLを入れようとしています。 $form['field_feedback']['und']['#title'] <- has the title $form['field_feedback']['und'][0]['#title'] <- has the title $form['field_feedback']['und'][0]['value']['#title'] <- has the title. (Works) 使用されているのが1つだけの#title属性が3つあるのはなぜですか?
40 7  forms 

3
新しいコンテンツを失うことなく、サイトの開発コピーからライブサイトに変更をマージするにはどうすればよいですか?
サイトの開発コピーで行われた作業をライブ運用コピーにマージするための最良の手順は何ですか?多くの場合、最新の機能の開発が開始されてから、サイトに多くの新しいコンテンツが追加されています。また、サイトへのほとんどの追加にはデータベースの変更が含まれます。新しいファイルをコピーするのは簡単ですが、データベースはどうですか?運用サイトを最後に更新してから追加された新しいコンテンツを失うことなく、既存の運用データベースに変更をどのようにマージしますか?これに役立つモジュールはありますか?

11
どのテーブルをクリアしても安全ですか?
理由もなく、非常に大きなデータベースを持つクライアントサイトを継承しました。中程度の量のコンテンツがあり、有効なモジュールはほとんどありません。ただし、データベースは大きすぎて簡単に移動できないため、クリーンアップする必要があります。 標準キャッシュテーブル、syslog、およびaccesslogを消去しました。 標準のDrupalサイトで安全に切り捨てることができる他のテーブルはありますか?
40 database 

7
Drupal SA-CORE-2014-005-サーバー/サイトが侵害されたかどうかを確認する方法
Drupal SA-CORE-2014-005エクスプロイトを解決するパッチ方式を使用して、すべてのサイトを更新しました。私は昨日、ロシアのIPからdrupalサイトに侵入している人がいるという報告を読みました。 https://www.drupal.org/SA-CORE-2014-005 私の主な関心事は次のとおりです。 サイトが構成されているかどうかを確認するにはどうすればよいですか? 私のサイトが被害者であったかどうかを検出するには、Apacheアクセスログで何を検索する必要がありますか? これまでのところ、これらのハッカーは構成サイトに対して何をしているのでしょうか?
40 7  security 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.