• ベストアンサー

RedHatLinux7.1へのapache追加インストール等

質問が幾つかあります。(このような質問の仕方が正しいかどうかはわかりませんが・・) 1)RedHat Linux7.1で最初からapacheとPHPがインストールされている状態で、最新バージョンのapacheやPHPのtarからのバージョンアップはどうすればいいのでしょうか? (インストールされている状態で展開してコンパイルしインストールすれば上手く行きませんでした。)一度入っているものを削除するにしても依存関係があるものがあって、それが何か解らず削除することができません。 2)WEBサーバーなしでサーバーをインストールしてapache・PHP・postgresqlをインストールしたら、rpm -qでみるとインストールされていませんと表示されます。 (このときhttpdはntsysvにはあらわれません。Linuxがこれらを認識していないみたいです。よって自動起動もできません)これらをLinuxに認識させるのにはどうすればいいのですか? (なおapacheは正しく動作します) 3)apacheなどはバージョン(??)によって落ちるフォルダが違っていてbinフォルダやhttpd.confなどの場所もまちまちみたいですが(インストールのオプションによっては同じところに落とせるそうですが)それらはインストールが正しければどこにあっても問題ないのでしょうか? 4)PHPでpostgresqlをコンパイル時に指定していない状態でどこかの設定ファイルにpostgresqlの記述をしてやればコンパイルなしにPHPからpostgresqlを使用できるようになるのでしょうか? 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ken2
  • ベストアンサー率36% (86/235)
回答No.3

起動スクリプトは、皆さんの言っている通り/etc/rc.d/init.dの下に書きます。 以下にデフォルトで入っているhttpdのスクリプトを記述します。 [root@server init.d]# cat httpd #!/bin/sh # # Startup script for the Apache Web Server # # chkconfig: 345 85 15 # description: Apache is a World Wide Web server. It is used to serve \ # HTML files and CGI. # processname: httpd # pidfile: /var/run/httpd.pid # config: /etc/httpd/conf/access.conf # config: /etc/httpd/conf/httpd.conf # config: /etc/httpd/conf/srm.conf # Source function library. . /etc/rc.d/init.d/functions # Path to the httpd binary. httpd=/usr/sbin/httpd RETVAL=0 # Until glibc's locale support is working right again, work around it. LANG=C # Change the major functions into functions. moduleargs() { moduledir=/usr/lib/apache moduleargs= for module in ${moduledir}/*.so ; do if [ -x ${module} ] ; then module=`echo ${module} | awk '{\ gsub(".*/","");\ gsub("^mod_","");\ gsub("^lib","");\ gsub("\.so$","");\ print toupper($0)}'` moduleargs="${moduleargs} -D HAVE_$module" fi done echo ${moduleargs} } start() { echo -n "Starting httpd: " daemon ${httpd} `moduleargs` RETVAL=$? echo [ $RETVAL = 0 ] && touch /var/lock/subsys/httpd return $RETVAL } stop() { echo -n "Shutting down http: " killproc httpd RETVAL=$? echo [ $RETVAL = 0 ] && rm -f /var/lock/subsys/httpd /var/run/httpd.pid } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status ${httpd} ;; restart) stop start ;; reload) echo -n "Reloading httpd: " killproc ${httpd} -HUP RETVAL=$? echo ;; condrestart) if [ -f /var/run/httpd.pid ] ; then stop start fi ;; *) echo "Usage: $0 {start|stop|restart|reload|condrestart|status}" exit 1 esac exit $RETVAL こんな感じです。実行権をつけておくことが必要です。 これだけでは、自動起動しないので、自動起動するようにします。 chkconfig --add httpd もしくは chkconfig --level35 httpd on とするとrun-level 3,5で起動するようになります。

その他の回答 (2)

  • leiqunni
  • ベストアンサー率27% (8/29)
回答No.2

えー中途半端な返答で申し訳ないのですけど、rpmでアンインストールした場合は おそらく設定ファイルも削除されます。 自動起動させるためには、/etc/rc.d/init.d をいじります、 シェルスクリプトになっているので、httpd のパスを書き換えるだけです。 あとこちらも憶測なんですけど、ntsysv は /etc/rc.d を メンテナンスするツール(らしい)ので、rc.d にスクリプトを書いてやれば 出てくると思います。 http://www.redhat.co.jp/manual/Doc71/RHDOCS/rhl-cg-ja-7.1/p6312.html http://www.redhat.co.jp/manual/Doc71/RHDOCS/rhl-rg-ja-7.1/ch-configuration.html が参考になります。 # ここら辺のことは人に教えるのが難しいです(汗

  • leiqunni
  • ベストアンサー率27% (8/29)
回答No.1

1) えー、tarのソースからコンパイルしインストールで問題ありません。 それでうまくいかないのは、rcかなにかでシステムでインストール したapacheが立ち上がってるからだと思います。rpmコマンドでは、 依存関係も考慮して、削除してくれます。 2) すみません、ちょっと詳しくはわからないんですけど、rpmのカタログに 登録されるのはrpmからインストールしたものだけなので、自分で コンパイルしてインストールしたのはrpmとはかんけいありません。 3) コンパイルのときにルートディレクトリを指定できますが、 設定さえちゃんとしてあれば、どこにあってもかまいません。 /etc/httpd/httpd.conf でも、/usr/local/apache/conf/httpd.conf でも。 4) わかりません。

jincyan
質問者

お礼

回答有難う御座います。 1)・2)は了解しました。 でもrpmでアンインストールした場合conf等の設定ファイルも削除されるのですね? 3)なんですが、そのとき自動起動させるためにはどこをどう設定すればいいのでしょうか?(インストールしたバージョンのapacheは本にはそこまで書いてありませんでした。他の本に書いてあるコマンドを実行しようとしましたがコマンドが無いと言っております。またntysysvにhttpdが表示されないのは何故でしょうか?)

関連するQ&A

  • Apacheのインストール

    相当初心者で申し訳ありませんが、Fedora Core5より 新規でApacheをインストールする事が出来ません。 tar zxvf apache_1.3.36.tar.gz mv apache_1.3.36 httpd cd ./httpd ./configure make make install としたところ、 make[1]: Entering directory '/usr/local/src/httpd' make[2]: Entering directory '/usr/local/src/httpd/src' make[2]: *** ターゲット 'all' を make するルールがありません。中止。 make[2]: Leaving directory 'usr/local/src/httpd/src' make[1]: *** [build-sstd] エラー 2 make[1]: Leaving directory 'usr/local/src/httpd' make: *** [build] エラー 2 というエラーが出てしまいます。 Makefileがおかしくてコンパイルエラーになるのは分かりますが、 何せ初めてLinuxを利用するもので、ネットに転がっていた インストール方法をそのまま試しただけでして、 対処法がさっぱり分かりません。 何をどうすれば良いのでしょうか? 例も挙げて頂けると助かります。 宜しくお願い致します。 因みにファイルのダウンロードからのセットアップに かかる時間を知りたいので、元々インストールされている Apacheのアップグレードとかはナシです。

  • Apacheのアップグレードについて

    今RedhatLinux7.1を使っています。 この前Apache+php+PostgreSQLの環境を作ったのですが、 ApacheをApache_1.3.26にアップグレードをしたいと思っています。 アップグレードするにはどのようにすればいいのですか? 前のバージョンのものは削除するのですか? また、phpやPostgreSQLはそのままでいいのですか? 卒業研究のために最近Linuxを始めたばかりでまだわからないことばかりです。 誰か教えてください。お願いします。

  • Apacheインストールについて

    CentOS7でメールサーバを構築しております。 yumでApacheのインストールを行う際に、インストール場所を変更する必要があったので コマンドを調べて以下のように実行しました。 yum -y --installroot=/usr/local/apache246 --releasever=7 install httpd するとApache以外のファイル?が100個ほどインストールされてしまったようなログが出ました。実際/usr/local/apache246の配下に沢山のフォルダが作成されていました。 Apacheをアンインストールすれば削除されるのかと思い、 yum -y --installroot=/usr/local/apache246 --releasever=7 remove httpd を実行しましたが、Apacheだけアンインストールされたようで、 フォルダは依然残ったままです。 お伺いしたいのは (1)インストールコマンドがおかしいのか? (2)Apacheは削除したので/usr/local/apache246配下のフォルダは削除しても良いのか? の2点になります。 ご回答よろしくお願いいたします。

  • RedHat9のインストールとアパッチ

    LinuxでPHP、Perl、PostgreSQL、MySQLを使用したいと思っているのですが、アパッチ(というのでしょうか?)を ダウンロード出来る場所がを探しているのですが、どこに落ちているのかがよく判りません・・・。 Linuxのインストールも今回が初めてで初心者です。 アパッチのダウンロードサイト Linuxとアパッチのインストール方法 知っている方いましたら、御教授お願い致します。

  • Apache1.3にmod_sslを追加インストール

    こんにちは。 まず、Apacheをインストールします。 tar zxvf apache1.3.33.tar.gz cd apache1.3.33 ./configure --enable-shared=max make make install このあとに、mod_sslを追加しようと思いインストールします。 tar zxvf mod_ssl-2.8.24-1.3.33.tar.gz cd mod_ssl-2.8.24-1.3.33 ./configure --with-apache=../apache1.3.33 --enable-ssl=/usr/local --enable-shared=max cd ../apache1.3.33 make make certificate make install そうすると下記のエラーになってしまいます。 [root@localhost apache_1.3.33]# /usr/local/apache/bin/apachectl startssl [Sat Sep 10 23:28:58 2005] [warn] Loaded DSO libexec/mod_mmap_static.so uses plain Apache 1.3 API, this module might crash under EAPI! (please recompile it with -DEAPI) ※途中削除 Syntax error on line 226 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/libexec/mod_rewrite.so into server: /usr/local/apache/libexec/mod_rewrite.so: undefined symbol: dbm_fetch /usr/local/apache/bin/apachectl startssl: httpd could not be started Apacheが入ってない状態で、mod_sslをインストールすれば上手くいくのですが。 どうしてこういうエラーが出てしまうのでしょうか? よろしくお願いします。

  • apacheの重複

    初心者ですが質問です。Fedora Linuxでサーバを構築しているのですがどうも既存でapacheが入っていたのを知らず、自分でapacheをインストールしてしまいました。サイトを見ていると既存のはrpm -eを使ってアンインストールできるとのことです。 しかし、httpd -versionとrpm -aq|grep httpdを使ってみると両方既存バージョンが確認されました。これは自分で入れたのがインストールされてないってことでしょうか?もし今、既存のをアンインストールしたら何もインストールされてないことになりますか? もう運用しているので再インストールはしたくないです。ちなみに訳あって既存のは2.0.47で自分で入れたのは1.3.28でrpmじゃなく、ソースからコンパイルしました。説明不足かもしれませんが回答お願いします。

  • Apacheが2つインストールされてしまった?

    実は、OpenBlockSなる市販の小型Linuxサーバを使っているのですが、 開発環境を入れようと思い、HDDを増設しました。 この商品、Linuxは64MBのROMに入っていて、必要に応じてHDDを増設できるものなのですが・・・。 Apacheをリビルドしようと思い、最初から入っていたApacheはバイナリだけだったので、ソースを落としてきてmake installしました。ご存知だとは思うのですが、古いApacheは/etc/httpdに、最近のは/usr/local/apacheにインストールされますよね。それが、両方のapacheが有効になっているようなんです。 起動時に init.d/httpd -> /sbin/httpd で起動されるのはいままでのapache、/usr/local/apache/bin/apachectl で起動するのは新しいapacheといった感じです。インストール場所が違うのがひっかかるのですが、いちいち古いのを止めて新しいのを起動するのが、激しく面倒なのですが(^-^; どうしたらいいのでしょうか。 手動で、init.d 内のhttpdを書き換えるしかないのでしょうか? 方法を含めてご教示いただけたらと思います。

  • apacheの再インストール

    お世話になってます。 現在、CentOs5.3にmySqlを入れた状態なのですが、 今度はphpを入れようとして悩んでいます。 php5.2.9のconfigureで -with-apxs2=/usr/local/apache2/bin/apxs を指定しているのですが、 No such file or directory とエラーになってしまいます。 そこで、インストールされていないと思い、 yum -y install httpd をすると Package httpd-2.2.3-22.el5.centos.2.i386 already installed and latest version Nothing to do となります。 確かに、/etc/rc.d/init.d/httpd startではOKになるのですが、 httpd -vでは bash: httpd: command not found となるので、入っているのかどうかも分からない状態です。 OSインストール時には入れていないと思うのですが・・・ どなたか、対処(apacheとphpを入れたい)が分かる方、 教えていただけると助かります。 よろしくお願いいたします。

  • SentOSでapacheとtomcatの連携

    いつもお世話になっております。 Linuxを始めて使っています。 仕事でapache2.2.4とtomcat5.5をインストールして連携させようしています。 ネットで色々とやり方を調べたところ Apache2.2よりmod_proxy-ajpモジュールとして提供されるようになり、別途設定ファイル を用意する事なくhttpd.confにて設定を行うだけということがわかりこの方法でやろうと思っています。 しかし、apache2.2.4をインストールしても/usr/local/apache2/modulesの中にはhttpd.expしか存在していません。 modulesの中にmod_proxy-ajpモジュールなどがあると思っているのですがこの考えは正しいでしょうか? 違っていればご指摘ください。 上記が正しかったとして私が行っているapache2.2.4のインストール手順を以下に記載します。 以下suを実行して管理者で行います。 (1)wgetでapacheをダウンロードする。 wget http://www.meisei-u.ac.jp/mirror/apache/httpd/httpd-2.2.4.tar.gz (2)/usr/local/srcでダウンロードしたファイルを展開する。 tar xvfz httpd-2.2.4.tar (3)コンパイル前設定を行う ./configure --prefix=/usr/local/apache2 --enable-proxy --enable-proxy-ajp --enable-so (4)makeでコンパイルする。 make (5)インストールする。 make install 以上です。 これで/usr/local/apache2/modulesにmod_proxy-ajpができると思っているのですが、存在しません。 ネットで調べると皆さんこのようにし上手くいっているようなのですが・・・。 全くの初心者ですのでLinuxを知っている方にとって常識なことでも わからない部分があるので色々とご教授いただければと思います。 よろしくお願いします。

  • MacOSX server の apacheとPHPのインストール後

    MAC OSX Server 10.2.3に apache1.3.27とPHP4.2をコンパイルしてインストールまではいけたのですが・・・。 apacheを再起動しなおそうとすると ---------------------------------------------- #apachectl graceful /usr/sbin/apachectl graceful: httpd not running, trying to start [Tue Jan 14 17:41:27 2003] [alert] apache: Could not determine the server's fully qualified domain n ame, using 127.0.0.1 for ServerName /usr/sbin/apachectl graceful: httpd could not be started ----------------------------------------------- と表示されてしまいます。 /etc/httpd/httpd.confのservernameを設定したのですが 変化ありません。 ご助言いただけると幸いです。 <インストールに参考にしたページ> http://php3.info/manual/ja/install.macosx.php

    • 締切済み
    • Mac