お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2009-12-13 15:32:13

michi_gogo
メンバ
登録日: 2007-10-25

apache2ディレクトリを削除してしまった場合…

表題の件の事をしてしまいました@@;
LAMP構成で、MySQLはそのままにして、apacheとphpをまっさらな状態から再インストールしたいなーと思い、
sudo apt-get autoremove apache2
等実行し、ディレクトリもない方がいいのかなーーーと思い、
sudo rm -R apache2
とかやって、再度、
sudo apt-get -y install apache2
とインストール始めたんですが、
画面見ると、it worksと表示されない…
はて、
sudo a2enmod rewrite
みたいなことをちょっとやってみると、そんなモジュールありません!と叱られましたO_o
どーもディレクトリを削除したことがいけなかったようですが、
どーすればいいのでしょうか??@@;
どなたか、今後のアプローチ方法、ご伝授よろしくお願い致しますm(__)m

オフライン

 

#2 2009-12-13 18:55:02

ry
メンバ
登録日: 2008-07-30

Re: apache2ディレクトリを削除してしまった場合…

apt-get autoremove apache2 という使い方は間違い
特定のパッケージ (今回の場合は apache2) だけを削除するつもりなら apt-get remove apache2 になります
apt-get autoremove apache2 でもほぼ希望通りの動作はするみたいだけど...

復旧するには以下の2つのコマンドを実行すればいいと思います

コード:

sudo apt-get --purge remove apache2
sudo apt-get install apache2

以下余談
apache2 をインストールした環境で /etc/apache2 を削除してから apt-get --reinstall install apache2 としてみたのだけど、/etc/apache2 は作成されないのね orz.

オフライン

 

#3 2009-12-14 00:15:00

michi_gogo
メンバ
登録日: 2007-10-25

Re: apache2ディレクトリを削除してしまった場合…

うわーryさん、いつもありがとうございます!
で、
早速やってみたんですが、
ダメでした><
再インストールしかダメなのか…@@;

えーと、
背景を勝手に説明します!
実は、
Oracle Instant Clientをインストールしようとして、
いろいろジャパニーズWebサイトを検索していると、
apacheは、DSOが有効でないとダメだー!と、
ほとんどのサイトで書いてありまして、
ほとんどが、
apacheやらphpをソースからmake install しているようなのでした。

そこで、
パッケージでインストールされているApacheとphp5を
一旦削除して、
ソースから再度Apacheをインストールして、
Oracle Instant Clientをインストールして、
php5をインストールしたのですが、
なかなか上手くいかず、
出来たと思ってphpinfoみてみると、
何回やっても、
phpinfoはoci8関数をまったく表示してくれません…
これで数日間詰まっていたのですが、
apache2 -Vで、Ubuntuのdefault設定をよーく見て見ると、
あれれれれーーーー
これ、もしかして、defaultでDSO有効になってない???

と先日、Ubuntuが大変気のきいた設定をしていることに、
ハタと気付き、
他のLAMP設定してあるPCで、
パッケージは、そのままにして、
Oracle Instant Clientをインストールする方針に替えた所
上手くいったのでした><
長かった…

そこで改めて、
さんざんいじっくった私のメインマシンを直して、
同じ設定をしよーとしたところ、
最初の質問状態となってしまったのでした…

つまり、素人考えでぐちゃぐちゃにいじって、
ファイルも壊れているのかもしれず、
ryさんの方法では無理なのかもしれません><

Black Sundayな一日でした…
いつも親切にレスありがとうございますm(__)m

オフライン

 

#4 2009-12-14 00:34:03

STGSAGWAN
ゲスト

Re: apache2ディレクトリを削除してしまった場合…

#1のmichi_gogoさんへ

今回消してしまったのが /etc/apache2 なら、

コード:

sudo apt-get purge apache2.2-common
sudo apt-get install apache2

で直ります。(検証済み)

 

#5 2009-12-14 00:48:52

STGSAGWAN
ゲスト

Re: apache2ディレクトリを削除してしまった場合…

#1のmichi_gogoさんへ

付け足しです。

何の"apache2"を消したのか覚えていないなら、「全部やり直し」が無難でしょう

コード:

$ sudo apt-get purge apache2 apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common
$ sudo apt-get install apache2
 

#6 2009-12-14 08:11:41

ry
メンバ
登録日: 2008-07-30

Re: apache2ディレクトリを削除してしまった場合…

#4 のSTGSAGWAN さんのコメントで #2 の間違いに気づきました

apt-get remove だと依存関係を考慮しません
/etc/apache2 のディレクトリを作成するパッケージは apache2.2-common なので、apt-get を使うならこのパッケージを直接指定する必要がありました

apt-get ではなく、aptitude や synaptic であれば依存関係を考慮するので、上位に位置する apache2 だけを指定しても apache2 → apache2-common → apache2.2-common のように、本来指定すべき apache2.2-common を含めた動作が可能です


# ちょっと急いでいるので乱文失礼

オフライン

 

#7 2009-12-14 16:29:11

michi_gogo
メンバ
登録日: 2007-10-25

Re: apache2ディレクトリを削除してしまった場合…

STGSAGWANさん、ryさん、どうもです!
なんか、it worksになりました!
しかし、/var/www/下に配置したphpinfo.phpをブラウザ上で指定しても、

Not Found
The requested URL /phpinfo.php was not found on this server.

となります…
ソースからインストールしたapacheを削除してないからかな?O_o
ということで、私のapacheの、見よう見まねでやったインストール方法を、
何を私はやってしまったのか!が分かる様に、
参考までに書きます…


-----------------------------------------------------------------------
ここから、私のやったソースからのapacheのインストール方法!
-----------------------------------------------------------------------
①ファイルを取得するディレクトリへ移動する
cd /usr/local/src

②ファイルを取得する
sudo wget http://archive.apache.org/dist/httpd/httpd-2.2.8.tar.gz

※上の例はapache2.2.8の取得

③解凍します
sudo gzip -d httpd-2.2.8.tar.gz

※元のファイルも無くなります。

④アーカイブを生成する。
sudo tar xvf httpd-2.2.8.tar

※httpd-2.2.8というディレクトリができて、
その内にインストール用ファイルが展開されます。

⑤出来たアーカイブに移動します。
cd httpd-2.2.8

⑥DSOを有効にしたapache2をインストールする下準備をします。
sudo ./configure --enable-so

※この時、普通にこれを実行するとエラーになります。
Ubuntuには、gccはインストールされていますが、
g++はインストールされておらず、
この2つが無いと、configureができないからだそうです。
よって次のコマンドで、g++をインストールしておきます。

sudo apt-get install g++

ちなみに、次のコマンドで、
Debian系で使う基本的な開発ツールがインストールできるようです。
Ubuntuでも有効だそうです。

apt-get install build-essential

※これは、以下のエラー対策になります。
configure: error: C compiler cannot create executables

⑦makeファイルを生成します。
sudo make

※予め、makeをインストールしておく必要があります。
sudo apt-get install make

⑧apache2のインストールを実行します。
sudo make install

⑨起動時にapacheが自動起動するように設定します。
まず、次の行を入力します。

sudo cp /usr/local/apache2/bin/apachectl /etc/init.d/apachectl
sudo chmod +x /etc/init.d/apachectl

⑩コピー先の/etc/init.d/apachectlの冒頭箇所を、
記述例になる様に編集し、保存します。
sudo vi /etc/init.d/apachectl

【記述例】
#!/bin/sh
#
# chkconfig: - 85 15
# description: Apache is a web server.

⑪上記をコピーをstart-up managerに登録します。
sudo /usr/sbin/update-rc.d apachectl defaults

⑫dedicate Apache system user accountを生成します。
これは、apacheのインストールをもっと安全にするらしいです。
sudo adduser --system apache

⑬⑫で設定したユーザーアカウントを、
/usr/local/apache2/conf/httpd.confの記述例にある場所を検索し、
編集、保存します。
sudo vi /usr/local/apache2/conf/httpd.conf

【記述例】
User daemon
Group daemon

User apache
Group nogroup

⑭以上で終了です。
次のようにコマンドを入力してチェックします。
sudo /usr/local/apache2/bin/apachectl start
ps -aux | grep httpd

ここにapacheの文字が表示されていて、
それが全て動いていればインストール成功です。
------------------------------------------------------------------------
ここまで、私のやったソースからのapacheのインストール方法!
------------------------------------------------------------------------


自動起動の設定を戻さないとダメなのかな@@;
がんばってみます~~~

オフライン

 

Board footer

Powered by FluxBB