カテゴリー

アクセスカウンター


since 1996/06/14

アクセス状況

  • 0
  • 7
  • 137
  • 4,637

DNSの深堀りとセカンダリDNS

初めに

最近、色々サーバ設定や構築方法をネットで検索したりAIに聞いたりしているけど、気がつくと同じことを何度も聞いてる感じで、且つベストマッチな回答ってのもなかなか少ないので、自分でも少しメモを残すことにした。AIが主流になってくるとこういうメモを残す人も少なくなってきて、そう云うAIの情報源もズレが出てくる気もするので、その様なものの情報源になっても良いかなって思ってます。(自分用のメモという目的が達成できれば、あとは誰にどの様な目的で使われようが構わない派)

[…]

Alpine Linux

Linuxコンテナで使うようになったので、私的なコマンドメモです。

apk apk info … 導入済みパッケージ一覧を見るapk info <パッケージ名> … 導入済みパッケージの情報を見るapk info -L <パッケージ名> … 導入されたファイルや場所などを確認するapk update –no-cache … 最新化。no cacheは無くてもいいんだけど、基本新規構築で使うので、毎回付けてる。apk add –no-cache <パッケージ名> … パッケージを導入apk search –no-cache <パッケージ名> … パッケージを検索

あと、書くことが無いな。何かあれば追記します。

CentOS8サーバセットアップメモ

前に書いたCentOS7のメモのCentOS8版です。ほとんど内容は変わりません。相変わらずほとんど私的なメモです。

[…]

GCP(Google Cloud Platform)memo

GCPをちょっと無料枠で使ってみようと思いmemoを残しておきます。

気にしないで登録するとログイン中のGoogleアカウントで登録されるみたい。しかもどこぞのカード情報も利用される(Playストアの課金と連動してる?) ※GCPにしろ、AWSにしろ、無料枠でもカード情報の登録が必須。自動延長っていうか、課金が発生した途端に取られる仕組み。

[…]

テープ装置を使ってみる

USB接続できる外付けDATドライブを入手したので、試してみました。

[…]

CentOSサーバセットアップメモ

CentOSでオペレーションをしてるときによく調べる事をメモっておきます。細かい説明は極力省いてます。

[…]

ディスク操作(主にLVM)

サーバを再構築しているんですが、毎回調べるのが面倒なのでメモしておきます。

[…]

MT

このサイトの見直しをしようと考え初めて早2年くらい経ちましたがw、今はMovableTypeでの再構築を検討してます。 さすがにCGIを1から書くには労力が半端無いのと、たとえばスマホ対応など、日々の進化に自作で追っついて行くには厳しいかなという心境。 で、いろいろ検討した結果、MovableTypeを試していますが、結構大変ですね。 まず、インストール後に入っているサンプルブログなどが全く使い物になりません。というよりか、独自のカスタマイズ機能を活用するのが前提の構成なので、サンプルを応用なんて生やさしい世界では無い感じですね。 さらにカスタマイズ方法ですが、テンプレートページにコードを埋め込むと、それを元に参照用HTMLを作ってくれる仕組みですが、このテンプレートページを理解するのに大変です。 機能がわかりづらい訳では無いですが(むしろよくできてる)、どういう使い方を想定して作られているか(要するにMTの文化のようなもの)を知るまでが大変です。 ってことで、本を三冊くらい買ってやっとその辺が見えてきた本がありました。 Amazon:4883376958 この本は、MTの基本的なことしか書いていません。これを読むだけで複雑なサイトを構築することはできませんが、MTってこういう使い方をするのかってのがわかります。 ある程度HTMLやCSSの基礎知識があれば、1/3くらい読むだけで、だいたいMTの文化的なものが見えてきますね。 とは言え、MTはブログツールでは無く、CMSでありフレームワークだってことがわかりました。だから、基本を理解した上でサイト構成や運営を設計して、構築する必要があります。 逆にこれが理解できれば、非常に柔軟なサイト構築をすることができる感じですね。たとえばスマホや携帯対応サイトとかもプラグイン無しで作れるんじゃないでしょうか。 当然、ブログ構築に必要な機能や、ユーザ・権限の考え方がしっかり組み込まれているので、その辺が手軽に扱えるところはよいですね。 まとめると、前提知識としてHTML/CSSの知識が必要。複雑なページを作る場合はWebサイトの設計も必要(やらないと、後戻りが発生して大変)、そしてこの本を読んで文化を理解することで、やっとスタートラインという流れですね。 あとは、リファレンス系の本や応用方法を参考書などで調べれば、使いこなせるようになるんじゃないかなと思います。 とりあえず、まだ第一歩を踏み込んだレベルなので、もう少し勉強しないとという感じです。

各種CMSの検証

自分のサイトを維持するのに、わざわざCGIを作るのは維持が大変なので、ツールでまかなえないか検証中。 検証しているツールが多すぎて訳がわからなくなってきているので、メモで残してみる。 一応条件としては、 主にblog、掲示板機能があり、画像もそれなりに楽に管理出来ること。 携帯やスマホ対応もしてるとなお良い。 グループ単位でアカウント管理が出来ること。 できればPerlがいい。ただ、ここは妥協してphp+mysqlでもいいや。 ツールの維持管理も容易であること。 という感じ。 以下の評価はだいぶ忘れている箇所もあるので、その点は「?」にしている。あと、評価の基準については、検証して無くても公式で出来ると記載がある・あるいは出来ているものについては○か△を付けてる。 機能が無い・あっても使いづらいのは×にしている。 geeklog 検証Ver1.7.? URLhttp://www.geeklog.jp/ 動作環境PHP+mysql 機能blog…△、掲示板…○、画像管理…△ 携帯対応○ アカウントグループ○ 管理の容易さ? 追加モジュールの充実さ△ 基本機能としては申し分無い気がするが、何故か公式サイトの解説にMediaWikiを使ってる。そういう機能は無いのか? blogが、blogというかニュース投稿だった。あと、テンプレ次第なんだろうけど、blogが見づらい。 joomla! 検証Ver1.5.22 URLhttp://joomla.jp/ 動作環境PHP+mysql 機能blog…○、掲示板…○、画像管理…? 携帯対応? アカウントグループ△ 管理の容易さ× 追加モジュールの充実さ○? とても良い感じだったが、アカウントグループ管理が独特で使いづらかった。 あと、PHPの要求Verが5.2で、CentOSの標準Verが5.0。joomla!はPHP5.0でも動くし、CentOSもPHP5.2に上げることは可能だけど、管理が面倒になる。 Xoops、Xoops cube legacy、ImpressCMS 検証VerImpressCMS 1.2 URLhttp://www.impresscms.me/ 動作環境PHP+mysql 機能blog…○、掲示板…○、画像管理…○? 携帯対応? アカウントグループ○ 管理の容易さ× 追加モジュールの充実さ? ツールとしては良くできているようだが、Xoops、Xoops cube legacy、ImpressCMSのそれぞれのコミュニティの関係性がわからないと運用出来ないというのが直感的な感想。 それぞれの間でモジュールの互換性がある物・無い物があるようだが、どれを使っていいのかわからない。少なくともImpressCMSのサイトに掲載されているImpressCMS用モジュールの掲載は多くないので、そういうのを自力で調べて運用しなければならないというのは面倒。 あと、相変わらずXoops、XoopsJP、Xoops cubeという複数のコミュニティが乱立しているので、部外者にとってはわかりづらい。 Movable Type 検証Ver5 […]

Linuxからメール転送

家のサーバを仮想化してから、管理用のメールの扱いが面倒になりました。 解決しなければならない課題は2つ。 Linuxは管理用のメールを「root」へ送ろうとする。ドメインは自分のホスト名が補完されるが、仮想化したホストそれぞれが自分にメールをしてもしょうがないので、これをサーバ1カ所に集約させなければならない。 うちの環境はルーティングの問題で、WAN側の自分自身のサーバへ到達できない。 解決策はいくつかあるけど、この2つを同時に且つ手間のかからない変更で対応したいので、DNSでやっつけてみる。 メーラは、メールアドレスのドメイン名と、DNSのMXレコードから探して配送する。つまり、仮想サーバ毎のMXレコードを定義してやればそのサーバへメールを転送できる。 LAN側のPCからDNSを引くときは、WAN側のIPでは無く、LAN側のIPを引くようにする。 これで、DNSの設定変更のみで行ける。ちなみに、メールの転送先はsendmailなどの場合「/etc/mail/submit.cf」にSMTPサーバを指定できるので、それでも可能。 今回はWAN側のIPに到達できない問題を孕んでいる関係もあるので、submit.cfには手をつけない。 MXレコードを追加して、メールを転送する この方法は当然自分でDNSを立ててないと対応できない。 対応方法は簡単で、正引き設定ファイルにMXレコードを追加するだけ。 ただし、サーバ分の追加が必要。 送信元をvm.sample.com、送信先をsmtp.sample.comとした場合は、以下のような感じになる。 vm.sample.com. IN MX 10 smtp.sample.com. これで、たとえば「root@vm.sample.com」宛のメールはsmtp.sample.comサーバへ送られる。 ちなみに送信先(受信側)サーバでも「root@vm.sample.com」を自分自身宛と認識させなければならない。 たとえば、postfixの場合は、main.cfのmydestinationにvm.sample.comを追加することで解決する。 LAN側の名前引きの挙動を変える これは、bindの機能でできる。bind9のどこかのバージョンからできるようになったみたい(この機能は今回初めて使ったので、いつから使えるものだったのかはよくわからない)。 まず、ACLの定義。LAN側サブネットが「192.168.0.0」の場合。 acl "allowed-internal-hosts" { 192.168.0.0/24; 127.0.0.1; }; 次にviewの定義。 view "internal" { match-clients { allowed-internal-hosts; }; allow-query { allowed-internal-hosts; }; …(略) } これで、LAN側ホストからDNSへ問い合わせが来た場合は、このinternal viewを参照するようになる。 ちなみに、WANからのアクセスについては、以下のような定義にしておけばよいみたい。 view "external" { match-clients { any; […]

LAMPの設定

LAMPとは、Linux+Apache+Mysql+PHPというWebアプリケーションの実行環境の通称ですね。PをPerlやPythonと読む場合もありますが、元々の言葉の由来はPHPなんじゃないでしょうか。

で、個人的に、MySQL+PHP環境を好んで使うことが無かったので、あまり設定方法をしりません。しかし、いろいろ検証する度に設定方法を調べるのもアレなので、メモを残しておきます。

なお、環境としてはCentOSやFedoraなどの、yum、chkconfig、serviceコマンドが使える環境を想定しています。

Linux+Apache

あまりここでは書くことは無いでしょうが、検証環境を作る時はだいたいWebのDocument Rootを使わないので、その設定の書き方です。httpd.confに追記します。

Webアプリケーションのパスを「/path/to/web_apps」とし、Webからのアクセスを「http://example.com/web_apps/」としたい場合の書き方。

Alias /web_apps /path/to/web_apps <Directory /path/to/web_apps> Order allow,deny Allow from all #AllowOverride All </Directory>

.htaccessなどを有効にしたい場合は、「AllowOverride All」のコメントを外します。

最近、apacheやphpをyumなどでインストールすると、phpが既に有効になっていますので、その辺は省略します。

PHP

yumでの一般的なインストール方法の例です。

yum install php php-mbstring php-gd php-mysql

関係モジュールも含めてインストールします。

php php本体です。 php-mbstring マルチバイトを扱うモジュール。日本語環境を利用する場合によく要求されます。 php-gd 画像加工用のモジュールですね。WebでPhotoAlbumを使うときに要求されることが多いかな。 php-mysql PHPからMySQLへアクセスする為のモジュール。

PHPが正しく動作しているかは、アクセス先のディレクトリに、拡張子がphp(index.phpとか)のファイルを作成し、以下のような内容にします。

<?php phpinfo();?>

ブラウザからこのファイルへアクセスして、PHPのパラメータが出てくれば動作確認OKです。

ちなみに、確認後は速やかにファイルを消しましょう。

MySQL

まず、yumからのインストール&デーモンの起動方法。

yum install mysql-server chkconfig mysqld on service mysqld […]

RAID操作

なんかいろいろやらかしてしまったので、コマンドを調べたついでに備忘録として残しておきます・・・ 操作を誤るとデータがすっ飛ぶのでご注意ください。 パーテーションの作成 「/dev/vda」ディスク上のパーテーションを切るときコマンド。 fdisk /dev/vda 使い方は省略。RAIDパーテーションを作る時は領域タイプをfd(Linux raid 自動検出)を使う。 RAID1(ミラー)の作成。 たとえば、/dev/vda1と/dev/vdb1でミラーを組んで、/dev/md0を作る方法。 mdadm –create /dev/md0 –level=1 –raid-devices=2 /dev/vda1 /dev/vdb1 あるいは mdadm –create /dev/md0 –l1 –n2 /dev/vda1 /dev/vdb1 ※オプションを省略形で書いているだけで、どちらも同じ意味 作成後、マウントする前にファイルシステムを作成して空っぽのディスクにする(ファイルシステムがext3の場合)。 mkfs.ext3 /dev/md0 なお、ミラーディスクを作るとまずそれぞれのディスクが同期を始めます。これが終わらない状態でサーバを落としたりすると起動しなくなったりするので注意です。同期状態の確認方法は以下のコマンド。 cat /proc/mdstat RAIDを解除する 当然、mountを解除してから実行します。/(root)や/varなどはmount解除がそう簡単にはできないので注意(やり方は割愛します)。 以下、/dev/vda1・/dev/vdb1でRAIDパーテーションの/dev/md0ができている想定。 mdadm –misc –stop /dev/md0 この後、「cat /proc/mdstat」で確認すると「/dev/md0」が見えなくなってます。 mdadm –misc –zero-superblock /dev/vda1 /dev/vdb1

[…]

dovecotとSquirrelMailをいじる

今までずっとpostfix+pop3(apop+pop before SMTP)環境で運用をしてきたけど、さすがに時代遅れ感が出てきた(コンパイルが通るツールが無くなってきた)ので、最新環境を検証してみることにした。 とりあえず方針を決める まず関係するツール。 SMTP:postfix(Maildir環境) これは今までと変更せず。S25Rによる不正メールの除外もそのまま。受信したメールはmboxよりも安全性の高いMaildirで実装。また、pop before SMTPに変わって、SMTP Auth(SMTP認証)を使う。 pop3:dovecot 今までのteapopから変更。 MUA:SquirrelMail 時々DNSの応答がおかしかったり、そもそも家でしかメールを見れない状態から脱したいのでWebメールを使う。 自分だけのメールサーバでは無いので、いろいろポリシーも決めておく。 ユーザはサーバのUNIXユーザ。 これは非常に悩んだけど、それほど大規模ユーザではないので、LDAPとかを採用するよりも汎用性が高く、シンプル。 サーバにメールを溜め込まない IMAPは使いたくない使わない 機能が限定的になるし、IMAP長期保管に向かない(と個人的に感じてる)。 メールデータの蓄積に責任を持ちたくない Webメールはあくまで一時利用目的。 一時的なリモート閲覧用 セキュリティは堅く 以前はまだ歴史が浅くて対応を見合わせてきたプロトコルがたくさんあったけど、いつの間にか一般的になってきてるんだなぁ…と実感。 POP3S OutlookとBecky!が対応していることを確認したので採用。 SMTP認証 これも最近では一般的になってきた。 SPAM対策 存在しないユーザへのメールはUser Unknownで返す(当たり前なことなんだけど、qmailはできなかったのでw)。 当たり前だけど第三者転送は許可しない。 S25R。 当たり前だが、ユーザは/sbin/nologin設定 Maildirでデータの保守性を維持 Webメールは、個別FQDN運用でhttps。BASIC認証も併用するかも。Digest認証は携帯からだとダメな場合が多いので悩む。 メールユーザの作成はWebからさせない。 postfixをSMTP authに対応させる。 基本的なpostfixの設定方法は省きます。S25Rとかもどこかで書いてたと思うので略。 /etc/postfix/main.cfあたりに以下の行を追加。 # SMTP auth 2010.07.19 add smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $myhostname smtpd_recipient_restrictions […]

geeklogメモ

CentOSにgeeklog 1.6.1を突っ込むためのメモ。 どうでもいいが、VMWareを起動させるとWindows7のComputer Browserとかが再起動を繰り返してパフォーマンスがすごく落ちる。たぶんVMのネット設定のbrige接続あたりを変更すれば直ると思うが… php関連のインストール yum install php php-cli php-common php-mbstring php-mcrypt php-mysql php-pear 特に、php-mbstringはデフォでインストールされない?入れて無くても中途半端に動ごくが掲示板を使い始めるとmb_ereg_replace関数あたりで死んで画面が真っ白になる。 mysql関連のインストール /etc/my.iniに追加。 old_passwords=1 character-set-server = utf8 collation-server = utf8_general_ci init-connect=SET NAMES utf8 utf8_general_ciかの確認。 mysql -u root -p mysql> show character set like ‘utf8’; データベースとユーザの作成。 mysql> create database geeklog; mysql> grant all on geeklog.* to geeklog@localhost identified by ‘パスワード’; geeklogのインストール http://server/geeklog/admin/install […]

pop3サーバメモ

注意ここのページは書きかけで放置されています(汗 qmail系のpop3サーバ等については、「qmailでメールサーバ」を参考にしてください。  

dracのインストール

POP before SMTPができるらしい。  

入手方法

http://mail.cc.umanitoba.ca/drac/からダウンロード この辺↓ ftp://ftp.cc.umanitoba.ca/src/drac.tar.Z  

インストール手順 コンパイル準備とコンパイル

※解答するときにサブディレクトリを作らないので、事前に作っておかないとイタイ目にあう。

$ mkdir drac $ cd drac $ wget ftp://ftp.cc.umanitoba.ca/src/drac.tar.Z $ tar zxvf drac.tar.Z $ vi Makefile

FedoraCore5の場合は、Makefileの設定を以下のような感じにする。 ※ソースは後半の設定ほど優先なので、既存の「MANADM = 1m」の後ろあたりにコピペしてもオッケー。

INSTALL = install EBIN = /usr/local/sbin MAN = /usr/local/man/man DEFS = -DSOCK_RPC […]

LinuxでSELinuxやGUIとか

前のブログに書いたサーバリプレースの状況。 SELinux 使うのやめた。 情報が少なすぎるし、中途半端な理解で使うのも危険なので。 使わなくてもセキュリティツールは他にもあるしね。 っていうか、検索すると「SELinuxを無効にする方法」ばっかりヒットするんですが(^^; GUI Fedoraを使ってるんですが、VNC接続にいろいろ問題があります。 VNC上からroot権限が必要なGUIツールを起動すると以下のようなログをはき出してGUIツールが起動しません(GUI上にはメッセージも出ない)。 Aug 30 09:30:56 XXX userhelper[4323]: pam_timestamp(system-config-bind:auth): timestamp file `/var/run/sudo/XXXX/unknown:root’ is only 193 seconds old, allowing access to system-config-bind for user XXXX Aug 30 09:30:56 XXX userhelper[4323]: pam_timestamp(system-config-bind:session): updated timestamp file `/var/run/sudo/XXXX/unknown:root’ Aug 30 09:30:56 XXX userhelper[4325]: running ‘/usr/sbin/system-config-bind ‘ with root privileges on behalf of […]

apacheのVerUp

ソースからコンパイルしてインストールする際に以外と困るのが、前回のコンパイルオプションを忘れてしまう事だったりします。 apache2.2系なら、前回コンパイルしたディレクトリの以下のファイルあたりに残ってます。 config.log config.nice まぁ参考まで…

postfixでメールサーバ

ここのページはpostfixについて詳しく書こうと思ったけど、面倒になって来たので、他のネタは他のブログを見てください。

postfixとは Amazon:4756140513

ここはpostfixというMTAの設定の備忘録です。MTAとはつまりメールサーバで、インターネット上でメールの受送信の役割を担います(この辺の詳しい説明は省略)。

紹介している本は私が参考にした本です(既にVerが古いかも・・・汗)。 なぜpostfixか

メールサーバの代名詞から、セキュリティ問題の代名詞のような扱いにされて早数年のsendmailですが、それだけではなく設定の困難さから、今の世の中でも敬遠されている存在には代わりありません。 過去にqmailの調査と利用もしましたが、qmailは最新バージョン(1.03)が出てからかれこれ8年経過しており、ユーザグループのサポートで何とか生きながらえていると言う状態になっています。「シンプル且つ安全」と言われたqmailですが、既に1.03から追加機能とセキュリティ問題でパッチだらけになってしまい、もやは素人の手出しができない代物になりつつあります。

そんな中で注目されているメールサーバの一つとして、postfixがあります。性能・設定の容易さなどが特徴でしょう。注目されていること=セキュリティの問題も発見されやすいというのもありますが、公式サイトを見てもわかるとおり、頻繁にバージョンアップされていることから、信頼できるものに見えます。

ソースコードとrpm

このサイトは、以前からソースコートからコンパイルしでデーモンの構築を推奨してきました。これは、なるべく最新版を入手し運用すべきと考えたからです。 しかし、昨今はバイナリコードによる提供も良くなってきましたので、ここではソースコードからのコンパイルは解説しません(私ももう実際にコンパイルしてないし)。 FedoraCoreであれば(っていうかそれ以外は知らない)、「yum update postfix」などのコマンドで気軽にアップデートできるので、管理上それでよいと思います。

そんな訳で、ここではFedoraCore5のバイナリベースで解説しています。それ以外の方はパスなどを読み替えてください。

postfixとDNS

postfixに関わらず、インターネット上で稼働するメールサーバは通常DNSを参照しています。何を参照しているかというと、相手先ドメインのメールサーバがどこにあるかというのを参照しています。 たとえば、yahoo.co.jpドメインであれば、以下のコマンドで調べられます。

# dig yahoo.co.jp mx | grep MX | grep -v '^;' yahoo.co.jp.            384     IN      MX      10 mx2.mail.yahoo.co.jp. yahoo.co.jp.            384     IN      MX      10 mx3.mail.yahoo.co.jp. yahoo.co.jp.            384     IN      MX      10 […]

qmailでメールサーバ

はじめに Amazon:4756140017 ここでは、qmailを利用したメールサーバの構築方法を解説します。主な内容はqmailによるSMTPサーバの構築と、各種ツールの使い方、popサーバの構築方法です。 qmailはsendmailに比べるとシンプルだと言われますが、動くようになるまでは結構大変です(それこそsendmailとあまり変わりません)。 ちなみに私は「qmail メールサーバの構築」という本で勉強しました。qmailの公式サイトも見づらいので意外と役立つ情報が多いです。 このコンテンツでのソフトのバージョン 特に表記が無ければ、以下のバージョンに関して解説します。新しいバージョンが出てても設定方法はさほど変わらないと思いますので、なるべく最新のものを利用するように心がけてください。 ※一部、インストール中にソースファイルの内容を書き換えているところがありますが、それはバージョンに依存するかも。 qmail:qmail-1.03.tar.gz checkpassword:checkpassword-0.90.tar.gz ucspi-tcp:ucspi-tcp-0.88.tar.gz daemontools:daemontools-0.76.tar.gz relay-ctrl:relay-ctrl-3.1.1.tar.gz qpopper:qpopper4.0.4.tar.gz RedHat9でのエラーについて(2004/02/08) RedHat9でqmailを構築する際に、コンパイル中に以下のようなエラーが出ます。 : undefined reference to `errno’ collect2: ld はステータス 1 で終了しました make: *** auto-str エラー 1 ※qmail、checkpassword、ucspi-tcp、qmail-vida、daemontoolsでエラーが出ることを確認しましたが、基本的にdjb製のソフトは同様のエラーが発生するそうです。 これを解決するにはソースコードの修正が必要ですが、ftp://moni.csi.hu/pub/qmail/glibc-2.3.1/にパッチがありますので、それを適用することにより解決することも可能です。 ※以下の操作はすべてそれぞれのコンパイル前のソースが存在していることが前提です。 ※qmailの場合 $ wget ftp://moni.csi.hu/pub/qmail/glibc-2.3.1/qmail-1.03.errno.patch $ patch < qmail-1.03.errno.patch ※checkpasswordの場合 $ wget ftp://moni.csi.hu/pub/qmail/glibc-2.3.1/checkpassword-0.90.errno.patch $ patch < checkpassword-0.90.errno.patch ※ucspi-tcp場合 $ wget ftp://moni.csi.hu/pub/qmail/glibc-2.3.1/ucspi-tcp-0.88.errno.patch […]

apache2.0系

Apacheの概要

Apacheとはwwwサーバソフトウエアで、主にWebサイトを閲覧する為の機能が実装されています。同じようなwwwサーバで有名なものにMicrosoftのIIS(Internet Infomation Server)がありますが(有名な理由は機能よりも、、、以下略)、それらの前身はスイスの欧州粒子物理学研究所(CERN)や、アメリカのNCSAのWebサーバが有名です。5年くらい前にCGIをいじってた人なら、この辺のことを知ってるかと思いますが、今となってはもはや昔のこととなってしまいました。 ApacheはアメリカのNCSAベースのWebサーバにパッチをあてたことから始まり、一説によると名前の由来も「a pach」をもじってるそうです。 歴史はともかくとして、今や世界No1のシェアであり、ほとんどのOSを網羅している上にタダで利用出来るところがなんとも喜ばしいソフトウエアです。 NetCraftによるシェア情報

前置き

ここでの解説は特に明記されていない限り、apache2.0.43(httpd-2.0.43.tar.gz)を使用しています。バージョンの違いによる差異はほとんど無いアプリケーションですが、頻繁にバージョンアップ(主にセキュリティ関連)されていますので、なるべく最新のものを使用してください。

インストール

ここでは基本的なインストール方法を解説します。apacheはさまざまなモジュールを使えます。各モジュールの説明は後半の章で解説しますが、コンパイルの時点で記述しなければならない設定もあります。コンパイルの時点で書く内容は可能な限りここの章で解説しますが、他の機能を入れたい場合に再コンパイルが必要になる場合があることに注意してください。

ダウンロード&インストール

デフォルトインストール方法です。 まずはapacheをダウンロードします。apacheはApache Software Foundation(ASF:http://www.apache.org/)からダウンロードできます。現在はapache1.3.xx系とapache2.0.xx系をダウンロードできます。ここでは、apache2.0を落とします。 例)$ wget http://www.apache.org/dist/httpd/httpd-2.0.43.tar.gz ダウンロードが終わったら展開します。

$ tar zxvf httpd-2.0.43.tar.gz $ cd httpd-2.0.43.tar.gz

次に環境設定→コンパイル→インストールをします。大分大きいので時間がかかります。なお、インストール先は「/usr/local/apache2」なので、既にapache1.3系を運用していても上書きはされません(ポート番号が重複しなければ同時起動も可能です)。 ※実際は「./configure」でモジュール等の追加が必要になる場合があります。詳細は次の項で説明します。

$ ./configure $ make $ su # make install

これでインストールは完了です。

モジュールとDSO

[…]